Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
A
Ale
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
aflab
astrogeology
Ale
Commits
dce1f1a3
Commit
dce1f1a3
authored
Apr 11, 2019
by
Adam Paquette
Browse files
Options
Downloads
Patches
Plain Diff
Added dawn test and updated conftest
parent
8f141215
No related branches found
No related tags found
No related merge requests found
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
tests/pytests/conftest.py
+2
-0
2 additions, 0 deletions
tests/pytests/conftest.py
tests/pytests/test_dawn_driver.py
+432
-0
432 additions, 0 deletions
tests/pytests/test_dawn_driver.py
with
434 additions
and
0 deletions
tests/pytests/conftest.py
+
2
−
0
View file @
dce1f1a3
...
...
@@ -25,6 +25,8 @@ class SimpleSpice():
return
"
SPACE
"
def
sct2e
(
self
,
*
args
):
return
0.1
def
scs2e
(
self
,
*
args
):
return
0.1
def
get_mockkernels
(
self
,
*
args
):
return
"
some_metakernel
"
This diff is collapsed.
Click to expand it.
tests/pytests/test_dawn_driver.py
0 → 100644
+
432
−
0
View file @
dce1f1a3
from
collections
import
namedtuple
from
unittest
import
mock
import
pytest
import
ale
from
ale.drivers
import
dawn_driver
,
base
from
ale.drivers.dawn_driver
import
DawnPDS3Driver
# 'Mock' the spice module where it is imported
from
conftest
import
SimpleSpice
,
get_mockkernels
simplespice
=
SimpleSpice
()
base
.
spice
=
simplespice
dawn_driver
.
spice
=
simplespice
DawnPDS3Driver
.
metakernel
=
get_mockkernels
@pytest.fixture
def
dawn_label
():
return
"""
PDS_VERSION_ID = PDS3
LABEL_REVISION_NOTE =
"
20080201, PGM, DAWN FC V1.5
"
/* FILE CHARACTERISTICS */
RECORD_TYPE = FIXED_LENGTH
RECORD_BYTES = 512
FILE_RECORDS = 4303
LABEL_RECORDS = 26
FILE_NAME =
"
FC21A0004515_11226150724F1F.IMG
"
/* POINTERS TO DATA OBJECTS */
^IMAGE = 28
^FRAME_2_IMAGE = 4124
^FRAME_3_IMAGE = 4207
^FRAME_4_IMAGE = 4240
^FRAME_5_IMAGE = 4272
^HISTORY = 27
/* SOFTWARE */
SOFTWARE_DESC =
"
TRAP.EXE
"
SOFTWARE_LICENSE_TYPE =
"
COMMERCIAL
"
SOFTWARE_ID =
"
TRAP
"
SOFTWARE_NAME =
"
TRAP
"
SOFTWARE_VERSION_ID =
"
Trap v3.22
"
SOFTWARE_RELEASE_DATE = 2012-10-19
/* TELEMETRY IDENTIFICATION */
TELEMETRY_FORMAT_ID =
"
305
"
/* PRODUCT IDENTIFICATION */
DATA_SET_NAME =
"
DAWN FC2 RAW (EDR) VESTA IMAGES V1.0
"
DATA_SET_ID =
"
DAWN-A-FC2-2-EDR-VESTA-IMAGES-V1.0
"
PRODUCT_ID =
"
0004515
"
PRODUCT_TYPE =
"
DATA
"
STANDARD_DATA_PRODUCT_ID =
"
FC_IMAGE
"
PRODUCER_FULL_NAME =
"
PABLO GUTIERREZ-MARQUES
"
PRODUCER_INSTITUTION_NAME =
"
MAX PLANCK INSTITUT FUER SONNENSYSTEMFORSCHUNG
"
PRODUCT_CREATION_TIME = 2013-10-29T11:20:13.000
PRODUCT_VERSION_ID =
"
F
"
RELEASE_ID =
"
0001
"
/* MISSION IDENTIFICATION */
INSTRUMENT_HOST_ID =
"
DAWN
"
INSTRUMENT_HOST_NAME =
"
DAWN
"
MISSION_ID =
"
DAWN
"
MISSION_NAME =
"
DAWN MISSION TO VESTA AND CERES
"
MISSION_PHASE_NAME =
"
VESTA SCIENCE SURVEY (VSS)
"
/* INSTRUMENT DESCRIPTION */
INSTRUMENT_ID =
"
FC2
"
INSTRUMENT_NAME =
"
FRAMING CAMERA 2
"
OBSERVATION_ID =
"
NAV_VSS_C2OpNav_001
"
OBSERVATION_TYPE =
"
N/A
"
INSTRUMENT_TYPE =
"
FRAME CCD REFRACTING TELESCOPE
"
DETECTOR_DESC =
"
1092x1056 PIXELS FRONTLIT FRAMETRANSFER CCD
"
DETECTOR_TYPE =
"
SI CCD
"
DETECTOR_TEMPERATURE = 219.158 <kelvin>
/* TIME IDENTIFICATION */
SPACECRAFT_CLOCK_START_COUNT =
"
366606510:071
"
SPACECRAFT_CLOCK_STOP_COUNT =
"
366606510:126
"
START_TIME = 2011-226T15:07:24.316
DAWN:ALT_START_TIME = 2011-08-14T15:07:24.316
STOP_TIME = 2011-226T15:07:24.531
DAWN:ALT_STOP_TIME = 2011-08-14T15:07:24.531
/* SYSTEM HARDWARE AND SOFTWARE CONFIGURATION */
DAWN:DPU_HARDWARE_ID =
"
1.04
"
DAWN:DPU_SOFTWARE_VERSION =
"
3.05
"
DAWN:UDPLIB_SOFTWARE_VERSION =
"
3.05.01
"
DAWN:PCU_HARDWARE_ID = 2.02
DAWN:FEE_HARDWARE_ID =
"
017.09.09
"
DAWN:MCU_HARDWARE_ID =
"
12
"
/* MECHANISM STATUS */
DAWN:FILTER_ENCODER = 62
FILTER_NUMBER =
"
1
"
DAWN:FRONT_DOOR_ENCODER = 53
DAWN:FRONT_DOOR_STATUS_ID = OPEN
/* IMAGE ACQUISITION OPTIONS */
DAWN:DATA_ROUTING_ID =
"
OP-NAV
"
EXPOSURE_DURATION = 20.000 <millisecond>
DAWN:USE_PRE_CLEAR = ON
DAWN:IMAGE_ACQUIRE_MODE = NORMAL
DAWN:CALLAMP_STROBE_TIME =
"
N/A
"
DAWN:CALLAMP_DELAY_TIME =
"
N/A
"
DAWN:CALLAMP_FREQUENCY =
"
N/A
"
DAWN:CALLAMP_DUTY =
"
N/A
"
/* POWER CONVERTER SWITCH STATUS */
DAWN:FEE_FLAG = ON
DAWN:HEATER0_FLAG = OFF
DAWN:HEATER1_FLAG = OFF
DAWN:CALLAMP_ENABLE_FLAG = OFF
DAWN:MCU_MOTOR_POWER_FLAG = ON
DAWN:MCU_FLAG = ON
DAWN:FSA_SHOOT_FLAG = OFF
DAWN:FSA_SHOOT_ENABLE_FLAG = OFF
/* POWER SYSTEM STATUS */
DAWN:V_28 = 29.720 <volt>
DAWN:V_16 = 16.234 <volt>
DAWN:V_12 = 12.131 <volt>
DAWN:V_5 = 5.195 <volt>
DAWN:V_M5 = -5.080 <volt>
DAWN:V_5_ANALOG = 5.292 <volt>
DAWN:V_M5_ANALOG = -5.163 <volt>
DAWN:V_3_3 = 3.337 <volt>
DAWN:V_2_5 = 2.502 <volt>
DAWN:I_28 = 803.200 <milliampere>
DAWN:I_16 = 35.613 <milliampere>
DAWN:I_12 = 64.200 <milliampere>
DAWN:I_5 = 269.200 <milliampere>
DAWN:I_M5 = -74.895 <milliampere>
DAWN:I_5_ANALOG = 213.000 <milliampere>
DAWN:I_M5_ANALOG = -27.255 <milliampere>
DAWN:I_3_3 = 235.800 <milliampere>
DAWN:I_2_5 = 636.000 <milliampere>
/* CALIBRATED TEMPERATURES */
DAWN:T_CCD = 219.158 <kelvin>
DAWN:T_DPU = 292.874 <kelvin>
DAWN:T_DCDC = 284.410 <kelvin>
DAWN:T_F12 = 289.405 <kelvin>
DAWN:T_CSC = 289.596 <kelvin>
DAWN:T_COVER_MOTOR = 246.290 <kelvin>
DAWN:T_LENS_BARREL = 250.280 <kelvin>
DAWN:T_BAFFLE = 244.292 <kelvin>
DAWN:T_FILTER_MOTOR = 255.267 <kelvin>
DAWN:T_STRUCTURE = 256.265 <kelvin>
DAWN:T_RAD_MOTOR = 202.397 <kelvin>
/* TEST SETUP CONFIGURATION */
DAWN:PURPOSE =
"
N/A
"
DAWN:OPERATOR =
"
N/A
"
DAWN:SUBJECT =
"
N/A
"
DAWN:TEST_LAMP =
"
N/A
"
DAWN:TARGET =
"
N/A
"
DAWN:CHAMBER =
"
N/A
"
/* POINTING */
RIGHT_ASCENSION = 133.615 <degree>
DECLINATION = -80.357 <degree>
TWIST_ANGLE = 84.902 <degree>
CELESTIAL_NORTH_CLOCK_ANGLE = 264.902 <degree>
QUATERNION = (
0.0757133859
,0.3512995579
,0.9324823890
,0.0365061358
)
/* SPICE KERNELS */
SPICE_FILE_NAME = (
"
sclk\DAWN_203_SCLKSCET.00033.tsc
"
,
"
lsk
\n
aif0010.tls
"
,
"
spk\dawn_rec_110802-110831_110922_v1.bsp
"
,
"
ck\dawn_sc_110808_110814.bc
"
,
"
ik\dawn_fc_v02.ti
"
,
"
fk\dawn_v11.tf
"
,
"
fk\dawn_vesta_v00.tf
"
,
"
pck\pck00010.tpc
"
,
"
spk\de421.bsp
"
,
"
pck\dawn_vesta_v06.tpc
"
,
"
spk\sb_vesta_110211.bsp
"
,
"
fk\dawn_vesta_v00.tf
"
)
/* COORDINATE SYSTEM */
COORDINATE_SYSTEM_NAME =
"
VESTA_FIXED
"
COORDINATE_SYSTEM_CENTER_NAME =
"
VESTA
"
DESCRIPTION =
"
Geometry in this label is provided in the
'
Claudia Double-Prime
'
coordinate system. This coordinate system is described in the Coordinate
System Document a copy of which is provided in the DOCUMENT directory of
the volume containing these data.
"
/* ORBIT GEOMETRY */
SUB_SPACECRAFT_LATITUDE = 52.0476417161 <degree>
SUB_SPACECRAFT_LONGITUDE = -72.0222917248 <degree>
SUB_SPACECRAFT_AZIMUTH = 343.7032379078 <degree>
SPACECRAFT_ALTITUDE = 2748.861 <kilometer>
TARGET_CENTER_DISTANCE = 2993.912 <kilometer>
ORBIT_NUMBER = 0
SC_TARGET_POSITION_VECTOR = (
-352.294 <kilometer>
,371.618 <kilometer>
,-2949.796 <kilometer>
)
SC_TARGET_VELOCITY_VECTOR = (
0.0447333628 <kilometer per second>
,-0.0600644712 <kilometer per second>
,-0.0129574262 <kilometer per second>
)
LOCAL_HOUR_ANGLE = 312.3750000000 <degree>
SUB_SOLAR_LATITUDE = -27.2818892230 <degree>
SUB_SOLAR_LONGITUDE = -60.3555523516 <degree>
SUB_SOLAR_AZIMUTH = 359.7927987788 <degree>
SOLAR_LONGITUDE = 4.6047962270 <degree>
SOLAR_ELONGATION = 100.0931056462 <degree>
TARGET_NAME =
"
4 VESTA
"
TARGET_TYPE =
"
ASTEROID
"
/* SOLAR GEOMETRY */
SPACECRAFT_SOLAR_DISTANCE = 336379980.155 <kilometer>
SC_SUN_POSITION_VECTOR = (
-238402563.791 <kilometer>
,208107845.933 <kilometer>
,114047503.646 <kilometer>
)
SC_SUN_VELOCITY_VECTOR = (
-15.1210487072 <kilometer per second>
,-13.2045253747 <kilometer per second>
,-3.2678570132 <kilometer per second>
)
/* ILLUMINATION */
INCIDENCE_ANGLE = 92.3329483506 <degree>
EMISSION_ANGLE = 12.6898534751 <degree>
PHASE_ANGLE = 79.7855437535 <degree>
/* IMAGE PARAMETERS */
SAMPLE_DISPLAY_DIRECTION =
"
RIGHT
"
LINE_DISPLAY_DIRECTION =
"
UP
"
SLANT_DISTANCE = 2794.081 <kilometer>
MINIMUM_LATITUDE = 15.7892321376 <degree>
CENTER_LATITUDE = 54.3788837542 <degree>
MAXIMUM_LATITUDE = 59.4028905299 <degree>
WESTERNMOST_LONGITUDE = 44.3396847907 <degree>
CENTER_LONGITUDE = 288.0742730899 <degree>
EASTERNMOST_LONGITUDE = 325.4891695146 <degree>
HORIZONTAL_PIXEL_SCALE = 0.256 <kilometer>
VERTICAL_PIXEL_SCALE = 0.256 <kilometer>
RETICLE_POINT_RA = (
133.615 <degree>
,122.409 <degree>
,111.070 <degree>
,154.022 <degree>
,147.457 <degree>
)
RETICLE_POINT_DECLINATION = (
-80.357 <degree>
,-77.153 <degree>
,-82.253 <degree>
,-82.881 <degree>
,-77.523 <degree>
)
RETICLE_POINT_LONGITUDE = (
288.074 <degree>
,264.365 <degree>
,197.453 <degree>
,44.340 <degree>
,325.489 <degree>
)
RETICLE_POINT_LATITUDE = (
54.379 <degree>
,15.789 <degree>
,50.420 <degree>
,59.403 <degree>
,21.960 <degree>
)
NORTH_AZIMUTH = 190.5945144433 <degree>
/* IMAGE OBJECT */
OBJECT = IMAGE
INTERCHANGE_FORMAT = BINARY
LINE_SAMPLES = 1024
LINES = 1024
BANDS = 1
SAMPLE_BITS = 16
SAMPLE_TYPE =
"
LSB_UNSIGNED_INTEGER
"
FIRST_LINE = 17
FIRST_LINE_SAMPLE = 35
UNIT =
"
DU
"
INST_CMPRS_NAME =
"
SET PARTITIONING IN HIERARCHICAL TREES (SPIHT TAP)
"
INST_CMPRS_RATIO = 2.63
INST_CMPRS_TYPE =
"
LOSSLESS
"
PIXEL_AVERAGING_WIDTH = 1
PIXEL_AVERAGING_HEIGHT = 1
END_OBJECT = IMAGE
/* FRAME_2_IMAGE OBJECT */
OBJECT = FRAME_2_IMAGE
INTERCHANGE_FORMAT = BINARY
LINE_SAMPLES = 10
LINES = 1054
BANDS = 1
SAMPLE_BITS = 32
SAMPLE_TYPE =
"
PC_REAL
"
FIRST_LINE = 2
FIRST_LINE_SAMPLE = 2
UNIT =
"
DU
"
INST_CMPRS_NAME =
"
N/A
"
INST_CMPRS_RATIO = 0.00
INST_CMPRS_TYPE =
"
LOSSLESS
"
PIXEL_AVERAGING_WIDTH = 1
PIXEL_AVERAGING_HEIGHT = 1
END_OBJECT = FRAME_2_IMAGE
/* FRAME_3_IMAGE OBJECT */
OBJECT = FRAME_3_IMAGE
INTERCHANGE_FORMAT = BINARY
LINE_SAMPLES = 8
LINES = 1054
BANDS = 1
SAMPLE_BITS = 16
SAMPLE_TYPE =
"
LSB_UNSIGNED_INTEGER
"
FIRST_LINE = 2
FIRST_LINE_SAMPLE = 16
UNIT =
"
DU
"
INST_CMPRS_NAME =
"
N/A
"
INST_CMPRS_RATIO = 0.00
INST_CMPRS_TYPE =
"
LOSSLESS
"
PIXEL_AVERAGING_WIDTH = 1
PIXEL_AVERAGING_HEIGHT = 1
END_OBJECT = FRAME_3_IMAGE
/* FRAME_4_IMAGE OBJECT */
OBJECT = FRAME_4_IMAGE
INTERCHANGE_FORMAT = BINARY
LINE_SAMPLES = 1024
LINES = 8
BANDS = 1
SAMPLE_BITS = 16
SAMPLE_TYPE =
"
LSB_UNSIGNED_INTEGER
"
FIRST_LINE = 3
FIRST_LINE_SAMPLE = 35
UNIT =
"
DU
"
INST_CMPRS_NAME =
"
N/A
"
INST_CMPRS_RATIO = 0.00
INST_CMPRS_TYPE =
"
LOSSLESS
"
PIXEL_AVERAGING_WIDTH = 1
PIXEL_AVERAGING_HEIGHT = 1
END_OBJECT = FRAME_4_IMAGE
/* FRAME_5_IMAGE OBJECT */
OBJECT = FRAME_5_IMAGE
INTERCHANGE_FORMAT = BINARY
LINE_SAMPLES = 1024
LINES = 8
BANDS = 1
SAMPLE_BITS = 16
SAMPLE_TYPE =
"
LSB_UNSIGNED_INTEGER
"
FIRST_LINE = 1047
FIRST_LINE_SAMPLE = 35
UNIT =
"
DU
"
INST_CMPRS_NAME =
"
N/A
"
INST_CMPRS_RATIO = 0.00
INST_CMPRS_TYPE =
"
LOSSLESS
"
PIXEL_AVERAGING_WIDTH = 1
PIXEL_AVERAGING_HEIGHT = 1
END_OBJECT = FRAME_5_IMAGE
END
OBJECT = HISTORY
GROUP = LEVEL_1A_GENERATION
VERSION_DATE = 2012-10-19
DATE_TIME = 2012-10-19T21:31:16.000Z
SOFTWARE_DESC =
"
TRAP.EXE
"
GROUP = PARAMETERS
FILENAME =
"
FC21A0004515_11226150724F1E.IMG
"
END_GROUP = PARAMETERS
END_GROUP = LEVEL_1A_GENERATION
END_OBJECT = HISTORY
END
"""
def
test_mdis_creation
(
dawn_label
):
with
DawnPDS3Driver
(
dawn_label
)
as
m
:
d
=
m
.
to_dict
()
print
(
d
)
assert
d
[
'
instrument_id
'
]
==
'
DAWN_FC2_FILTER_1
'
assert
d
[
'
spacecraft_name
'
]
==
'
DAWN
'
assert
d
[
'
target_name
'
]
==
'
VESTA
'
assert
pytest
.
approx
(
d
[
'
starting_ephemeris_time
'
],
1e-6
)
==
0.293
assert
isinstance
(
d
,
dict
)
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
sign in
to comment