Skip to content
Snippets Groups Projects
Commit 23a0c847 authored by Kristin's avatar Kristin Committed by acpaquette
Browse files

Updates the Cassini test to the new format (#266)

* Update cassis driver test

* Deleted unneeded files

* Updated sliced kernels

* Updated cassini driver test for light-time correction re-added to sun position
parent 71bbe305
Branches
Tags
No related merge requests found
Showing
with 39704 additions and 57 deletions
......@@ -11,8 +11,6 @@ from ale.base.label_pds3 import Pds3Label
from ale.base.type_distortion import RadialDistortion
from ale.base.type_sensor import Framer
from ale.util import find_latest_metakernel
from ale.rotation import ConstantRotation
from ale.transformation import FrameChain
from scipy.spatial.transform import Rotation
......
This diff is collapsed.
Data was gathered from the Isis2 file: iss_parameters.def.1
The Default focal length is not being used, but was left in
from isis2.
The boresight of the instrument has been updated to the center
of the detector. Previous values were used along with specific
CK rotation angle frames that were propagated from ISIS2. These
values proved to be incorrect and have subsequently been corrected
so as to use the frames kernel directly as provided by NAIF. See
below for additional details pertaining to the SPICE frames
kernels as there is some special handling of this kernel.
(KJB, 2009-01-22)
\begindata
INS-82360_BORESIGHT_LINE=512.5
INS-82360_BORESIGHT_SAMPLE=512.5
INS-82360_DEFAULT_FOCAL_LENGTH=2003.44
INS-82360_BL1_CL2_FOCAL_LENGTH=2002.79
INS-82360_CL1_CL2_FOCAL_LENGTH=2002.88
INS-82360_CL1_GRN_FOCAL_LENGTH=2002.75
INS-82360_CL1_IR1_FOCAL_LENGTH=2002.74
INS-82360_RED_CL2_FOCAL_LENGTH=2002.69
INS-82360_CL1_IR3_FOCAL_LENGTH=2002.65
INS-82360_CL1_BL2_FOCAL_LENGTH=2002.37
INS-82360_CL1_CB1_FOCAL_LENGTH=2002.66
INS-82360_CL1_CB2_FOCAL_LENGTH=2002.66
INS-82360_CL1_CB3_FOCAL_LENGTH=2002.68
INS-82360_CL1_MT1_FOCAL_LENGTH=2002.88
INS-82360_CL1_MT2_FOCAL_LENGTH=2002.91
INS-82360_CL1_MT3_FOCAL_LENGTH=2002.87
INS-82360_CL1_UV3_FOCAL_LENGTH=2003.09
INS-82360_HAL_CL2_FOCAL_LENGTH=2002.94
INS-82360_IR2_CL2_FOCAL_LENGTH=2002.71
INS-82360_IR2_IR1_FOCAL_LENGTH=2002.56
INS-82360_IR2_IR3_FOCAL_LENGTH=2002.55
INS-82360_IR4_CL2_FOCAL_LENGTH=2002.89
INS-82360_IR4_IR3_FOCAL_LENGTH=2002.81
INS-82360_IRP0_CB2_FOCAL_LENGTH=2002.48
INS-82360_IRP0_CB3_FOCAL_LENGTH=2002.74
INS-82360_IRP0_IR1_FOCAL_LENGTH=2002.60
INS-82360_IRP0_IR3_FOCAL_LENGTH=2002.48
INS-82360_IRP0_MT2_FOCAL_LENGTH=2002.72
INS-82360_IRP0_MT3_FOCAL_LENGTH=2002.72
INS-82360_P0_BL2_FOCAL_LENGTH=2002.19
INS-82360_P0_CB1_FOCAL_LENGTH=2002.30
INS-82360_P0_GRN_FOCAL_LENGTH=2002.38
INS-82360_P0_IR1_FOCAL_LENGTH=2002.35
INS-82360_P0_MT1_FOCAL_LENGTH=2002.40
INS-82360_P0_UV3_FOCAL_LENGTH=2002.71
INS-82360_P120_BL2_FOCAL_LENGTH=2002.11
INS-82360_P120_CB1_FOCAL_LENGTH=2002.28
INS-82360_P120_GRN_FOCAL_LENGTH=2002.38
INS-82360_P120_IR1_FOCAL_LENGTH=2002.39
INS-82360_P120_MT1_FOCAL_LENGTH=2002.54
INS-82360_P120_UV3_FOCAL_LENGTH=2002.71
INS-82360_P60_BL2_FOCAL_LENGTH=2002.13
INS-82360_P60_CB1_FOCAL_LENGTH=2002.18
INS-82360_P60_GRN_FOCAL_LENGTH=2002.28
INS-82360_P60_IR1_FOCAL_LENGTH=2002.36
INS-82360_P60_MT1_FOCAL_LENGTH=2002.34
INS-82360_P60_UV3_FOCAL_LENGTH=2002.51
INS-82360_RED_GRN_FOCAL_LENGTH=2002.61
INS-82360_RED_IR1_FOCAL_LENGTH=2002.48
INS-82360_UV1_CL2_FOCAL_LENGTH=2003.03
INS-82360_UV2_CL2_FOCAL_LENGTH=2002.91
INS-82360_UV2_UV3_FOCAL_LENGTH=2002.90
INS-82360_PIXEL_PITCH=.012
INS-82360_TRANSX=(0.0 0.012 0.0)
INS-82360_TRANSY=(0.0 0.0 0.012)
INS-82360_ITRANSS=(0.0 83.333333333333333 0.0)
INS-82360_ITRANSL=(0.0 0.0 83.333333333333333)
INS-82360_K1=.000008
\begintext
The Cassini ISS NAC frames kernel is missing one final rotation in its
CK frames hierarchy. A 180 degree rotation about the detector center
(Z-axis) is required to map into the proper detector orientation. This
is not included in the NAIF SPICE frames kernel (cas_v??.tf). The following
frames definition applies the rotation into camera coordinates and must
be the frame used in the ISIS camera model converting from the s/c frame to
the instrument. (KJB, 2009-01-22)
\begindata
INS_-82360_FRAME_ID = 14082360
FRAME_CASSINI_ISS_NAC_USGS = 14082360
FRAME_14082360_NAME = 'CASSINI_ISS_NAC_USGS'
FRAME_14082360_CLASS = 4
FRAME_14082360_CLASS_ID = 14082360
FRAME_14082360_CENTER = -82
TKFRAME_14082360_SPEC = 'ANGLES'
TKFRAME_14082360_RELATIVE = 'CASSINI_ISS_NAC'
TKFRAME_14082360_ANGLES = (0.0, 0.0, 180.0)
TKFRAME_14082360_AXES = ( 1, 2, 3)
TKFRAME_14082360_UNITS = 'DEGREES'
\begintext
These are the parameters required for writing c-kernels. Isis will
create ck with the same frame endpoints as the mission ck. For
the Cassini spacecraft the ck frame is CASSINI_SC_COORD (-915240), and the
ck reference frame is J2000 (1).
\begindata
INS-82360_CK_FRAME_ID=-915240
INS-82360_CK_REFERENCE_ID=1
\begintext
This diff is collapsed.
PDS_VERSION_ID = PDS3
/* FILE CHARACTERISTICS */
RECORD_TYPE = FIXED_LENGTH
RECORD_BYTES = 1048
FILE_RECORDS = 1028
/* POINTERS TO DATA OBJECTS */
^IMAGE_HEADER = ("N1702360370_1.IMG",1)
^TELEMETRY_TABLE = ("N1702360370_1.IMG",4)
^LINE_PREFIX_TABLE = ("N1702360370_1.IMG",5)
^IMAGE = ("N1702360370_1.IMG",5)
/* IDENTIFICATION DATA ELEMENTS */
ANTIBLOOMING_STATE_FLAG = "OFF"
BIAS_STRIP_MEAN = 8.850293
CALIBRATION_LAMP_STATE_FLAG = "N/A"
COMMAND_FILE_NAME = "trigger_3618_1.ioi"
COMMAND_SEQUENCE_NUMBER = 3618
DARK_STRIP_MEAN = 0.269221
DATA_CONVERSION_TYPE = "TABLE"
DATA_SET_ID = "CO-S-ISSNA/ISSWA-2-EDR-V1.0"
DELAYED_READOUT_FLAG = "NO"
DESCRIPTION = "Incomplete product finalized due to truncated lines."
DETECTOR_TEMPERATURE = -89.243546 <DEGC>
EARTH_RECEIVED_START_TIME = 2011-346T22:30:08.981
EARTH_RECEIVED_STOP_TIME = 2011-346T22:30:49.765
ELECTRONICS_BIAS = 112
EXPECTED_MAXIMUM = (62.996498,69.454498)
EXPECTED_PACKETS = 576
EXPOSURE_DURATION = 4600.000000
FILTER_NAME = ("CL1","UV3")
FILTER_TEMPERATURE = 0.248629
FLIGHT_SOFTWARE_VERSION_ID = "1.4"
GAIN_MODE_ID = "29 ELECTRONS PER DN"
IMAGE_MID_TIME = 2011-346T05:02:22.073
IMAGE_NUMBER = "1702360370"
IMAGE_OBSERVATION_TYPE = {"SCIENCE"}
IMAGE_TIME = 2011-346T05:02:24.373
INSTRUMENT_DATA_RATE = 182.783997
INSTRUMENT_HOST_NAME = "CASSINI ORBITER"
INSTRUMENT_ID = "ISSNA"
INSTRUMENT_MODE_ID = "FULL"
INSTRUMENT_NAME = "IMAGING SCIENCE SUBSYSTEM - NARROW ANGLE"
INST_CMPRS_PARAM = ("N/A","N/A","N/A","N/A")
INST_CMPRS_RATE = (5.333330,3.631307)
INST_CMPRS_RATIO = 2.203063
INST_CMPRS_TYPE = "LOSSLESS"
LIGHT_FLOOD_STATE_FLAG = "ON"
METHOD_DESC = "ISSPT2.7;Enceladus;ISS_158EN_ENCEL001_PRIME"
MISSING_LINES = 31
MISSING_PACKET_FLAG = "NO"
MISSION_NAME = "CASSINI-HUYGENS"
MISSION_PHASE_NAME = "EXTENDED-EXTENDED MISSION"
OBSERVATION_ID = "ISS_158EN_ENCEL001_PRIME"
OPTICS_TEMPERATURE = (0.627499,1.905708)
ORDER_NUMBER = 16
PARALLEL_CLOCK_VOLTAGE_INDEX = 9
PREPARE_CYCLE_INDEX = 4
PRODUCT_CREATION_TIME = 2011-346T15:34:07.000
PRODUCT_ID = "1_N1702360370.120"
PRODUCT_VERSION_TYPE = "FINAL"
READOUT_CYCLE_INDEX = 6
RECEIVED_PACKETS = 523
SENSOR_HEAD_ELEC_TEMPERATURE = 1.633024
SEQUENCE_ID = "S71"
SEQUENCE_NUMBER = 16
SEQUENCE_TITLE = "ISS_158EN_ENCEL001_PRIME"
SHUTTER_MODE_ID = "NACONLY"
SHUTTER_STATE_ID = "ENABLED"
SOFTWARE_VERSION_ID = "ISS 11.00 05-24-2006"
SPACECRAFT_CLOCK_CNT_PARTITION = 1
SPACECRAFT_CLOCK_START_COUNT = "1702360365.220"
SPACECRAFT_CLOCK_STOP_COUNT = "1702360370.120"
START_TIME = 2011-346T05:02:19.773
STOP_TIME = 2011-346T05:02:24.373
TARGET_DESC = "Enceladus"
TARGET_LIST = "N/A"
TARGET_NAME = "ENCELADUS"
TELEMETRY_FORMAT_ID = "S&ER3"
VALID_MAXIMUM = (4095,4095)
OBJECT = IMAGE_HEADER
INTERCHANGE_FORMAT = ASCII
HEADER_TYPE = VICAR2
BYTES = 3144
RECORDS = 1
^DESCRIPTION = "../../label/vicar2.txt"
END_OBJECT = IMAGE_HEADER
OBJECT = TELEMETRY_TABLE
INTERCHANGE_FORMAT = BINARY
ROWS = 1
COLUMNS = 2
ROW_BYTES = 1048
^STRUCTURE = "../../label/tlmtab.fmt"
OBJECT = COLUMN
NAME = NULL_PADDING
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 61
BYTES = 987
END_OBJECT = COLUMN
END_OBJECT = TELEMETRY_TABLE
OBJECT = LINE_PREFIX_TABLE
INTERCHANGE_FORMAT = BINARY
ROWS = 1024
COLUMNS = 7
ROW_BYTES = 24
ROW_SUFFIX_BYTES = 1024
^LINE_PREFIX_STRUCTURE = "../../label/prefix3.fmt"
END_OBJECT = LINE_PREFIX_TABLE
OBJECT = IMAGE
LINES = 1024
LINE_SAMPLES = 1024
SAMPLE_BITS = 8
SAMPLE_TYPE = SUN_INTEGER
LINE_PREFIX_BYTES = 24
END_OBJECT = IMAGE
END
KPL/SCLK
This file is a SPICE spacecraft clock (SCLK) kernel. This file was generated
by the NAIF MOSPICE utility program MAKCLK, version 4.0.0, 11-MAR-2009. Please refer to the
SCLK Required Reading file, NAIF document number 222, and the MAKCLK User's
Guide, NAIF document number 267, for information regarding this kernel file.
\begindata
SCLK_KERNEL_ID = ( @2018-02-15/13:19:44.80 )
SCLK_DATA_TYPE_82 = ( 1 )
SCLK01_TIME_SYSTEM_82 = ( 2 )
SCLK01_N_FIELDS_82 = ( 2 )
SCLK01_MODULI_82 = ( 4294967296 256 )
SCLK01_OFFSETS_82 = ( 0 0 )
SCLK01_OUTPUT_DELIM_82 = ( 1 )
SCLK_PARTITION_START_82 = ( 1.7772134886400E+11 )
SCLK_PARTITION_END_82 = ( 1.0995116277750E+12 )
SCLK01_COEFFICIENTS_82 = (
0.0000000000000E+00 -6.3119514881600E+08 1.0000000000000E+00
1.2098765056000E+10 -5.8393434781600E+08 1.0000000000000E+00
2.0171981312000E+10 -5.5239834681600E+08 1.0000000000000E+00
2.8245197568000E+10 -5.2086234581600E+08 1.0000000000000E+00
4.4413748224000E+10 -4.5770394481600E+08 1.0000000000000E+00
6.4629966080000E+10 -3.7873434381600E+08 1.0000000000000E+00
8.0798516736000E+10 -3.1557594281600E+08 1.0000000000000E+00
8.8871732992000E+10 -2.8403994181600E+08 1.0000000000000E+00
1.0097049804800E+11 -2.3677914081600E+08 1.0000000000000E+00
1.0904371430400E+11 -2.0524313981600E+08 1.0000000000000E+00
1.1711693056000E+11 -1.7370713881600E+08 1.0000000000000E+00
1.2925993241600E+11 -1.2627353781600E+08 1.0000000000000E+00
1.4135869747200E+11 -7.9012736816000E+07 1.0000000000136E+00
1.4371165969200E+11 -6.9821478144000E+07 9.9968599998951E-01
1.4371191569200E+11 -6.9820478458000E+07 1.0076238381623E+00
1.4371217175200E+11 -6.9819470598000E+07 9.9999285198962E-01
1.4376222875800E+11 -6.9623936816000E+07 9.9999340091768E-01
1.4427835506700E+11 -6.7607831726000E+07 9.9999338314477E-01
1.4456588863600E+11 -6.6484661154000E+07 9.9999341549569E-01
1.4518538918000E+11 -6.4064753088000E+07 9.9999338512533E-01
1.4581326502100E+11 -6.1612129308000E+07 9.9999340390831E-01
1.4637252953300E+11 -5.9427516718000E+07 9.9999342291699E-01
1.4690348223600E+11 -5.7353496363000E+07 9.9999342405526E-01
1.4795575385200E+11 -5.3243087393000E+07 9.9999341797909E-01
1.5014434854000E+11 -4.4693945664000E+07 9.9999339294707E-01
1.5158397375600E+11 -3.9070446819000E+07 9.9999338505690E-01
1.5223069375600E+11 -3.6544213530000E+07 9.9999335402988E-01
1.5328982822000E+11 -3.2406997026000E+07 9.9999337415972E-01
1.5350176209400E+11 -3.1579135816000E+07 9.9999339242942E-01
1.5358465004700E+11 -3.1255356889000E+07 9.9999341459594E-01
1.5380447801600E+11 -3.0396659540000E+07 9.9999338843419E-01
1.5409042540800E+11 -2.9279684925000E+07 9.9999337115541E-01
1.5518882617700E+11 -2.4989085363000E+07 9.9999338849522E-01
1.5565081480200E+11 -2.3184454228000E+07 9.9999340571454E-01
1.5608336750500E+11 -2.1494806374000E+07 9.9999341570525E-01
1.5667423291300E+11 -1.9186753571000E+07 9.9999344055440E-01
1.5714565690000E+11 -1.7345265701000E+07 9.9999344771342E-01
1.5773452857900E+11 -1.5045000777000E+07 9.9999342849813E-01
1.5853664902300E+11 -1.1911738383000E+07 9.9999343611533E-01
1.5886851103900E+11 -1.0615410892000E+07 9.9999342290077E-01
1.5922374484600E+11 -9.2277879600000E+06 9.9999338285491E-01
1.5989481249500E+11 -6.6064473020000E+06 9.9999337107382E-01
1.6035055086300E+11 -4.8262311030000E+06 9.9999336170245E-01
1.6089565447900E+11 -2.6969342380000E+06 9.9999335098555E-01
1.6228208672000E+11 2.7187806940000E+06 9.9999338707521E-01
1.6303275244800E+11 5.6510493030000E+06 9.9999335095519E-01
1.6316273081700E+11 6.1587739310000E+06 9.9999340466742E-01
1.6352107756800E+11 7.5585566950000E+06 9.9999335002601E-01
1.6364703776000E+11 8.0505854230000E+06 9.9999340377342E-01
1.6397843692800E+11 9.3451048840000E+06 9.9999343974281E-01
1.6404692204800E+11 9.6126231290000E+06 9.9999335808735E-01
1.6437496249600E+11 1.0894022618000E+07 9.9999341413883E-01
1.6473549241600E+11 1.2302333343000E+07 9.9999345101747E-01
1.6488927264000E+11 1.2903033409000E+07 9.9999343038677E-01
1.6515487366400E+11 1.3940530593000E+07 9.9999344537683E-01
1.6541564960100E+11 1.4959179920000E+07 9.9999343267757E-01
1.6561757420800E+11 1.5747942736000E+07 9.9999345580960E-01
1.6573348281600E+11 1.6200707773000E+07 9.9999342611886E-01
1.6623081094400E+11 1.8143383002000E+07 9.9999339322813E-01
1.6631361568000E+11 1.8466836865000E+07 9.9999342523303E-01
1.6647960300800E+11 1.9115220602000E+07 9.9999288057138E-01
1.6704061881600E+11 2.1306673000000E+07 9.9999296993887E-01
1.6725073363200E+11 2.2127428230000E+07 9.9999299612926E-01
1.6746660512000E+11 2.2970670324000E+07 9.9999311025466E-01
1.6758577004700E+11 2.3436155113000E+07 9.9999298650571E-01
1.6764055814300E+11 2.3650169612000E+07 9.9999308033955E-01
1.6852428243100E+11 2.7102193725000E+07 9.9999307086494E-01
1.6907557894400E+11 2.9255680807000E+07 9.9999308237372E-01
1.6939668793600E+11 3.0510004130000E+07 9.9999305394834E-01
1.6948517792000E+11 3.0855665729000E+07 9.9999308660626E-01
1.6974416620700E+11 3.1867331731000E+07 9.9999308662526E-01
1.7034456531100E+11 3.4212624517000E+07 9.9999300667790E-01
1.7048761606500E+11 3.4771412617000E+07 9.9999308732681E-01
1.7186518560100E+11 4.0152506419000E+07 9.9999306751567E-01
1.7239011488000E+11 4.2202997200000E+07 9.9999302691473E-01
1.7253818706900E+11 4.2781400155000E+07 9.9999271188976E-01
1.7272279788800E+11 4.3502530911000E+07 9.9999282267274E-01
1.7276699372700E+11 4.3675169668000E+07 9.9999293140504E-01
1.7292180921800E+11 4.4279913405000E+07 9.9999304498093E-01
1.7345163321500E+11 4.6349523999000E+07 9.9999292633377E-01
1.7401938745600E+11 4.8567298315000E+07 9.9999289528856E-01
1.7446821075100E+11 5.0320501855000E+07 9.9999285350433E-01
1.7474392070600E+11 5.1397486170000E+07 9.9999306104687E-01
1.7510456531000E+11 5.2806244379000E+07 9.9999289832287E-01
1.7522179283000E+11 5.3264161127000E+07 9.9999291528135E-01
1.7548297017400E+11 5.4284377899000E+07 9.9999289029520E-01
1.7603409516600E+11 5.6437194593000E+07 9.9999301719456E-01
1.7635106003300E+11 5.7675329959000E+07 9.9999304720980E-01
1.7648291846300E+11 5.8190398370000E+07 9.9999301378467E-01
1.7663032531400E+11 5.8766202359000E+07 9.9999289998638E-01
1.7694935456100E+11 6.0012401507000E+07 9.9999308461401E-01
1.7786114054200E+11 6.3574040865000E+07 9.9999289152237E-01
1.7826199149000E+11 6.5139853750000E+07 9.9999300665410E-01
1.7844185503700E+11 6.5842440817000E+07 9.9999287895196E-01
1.8050859014600E+11 7.3915567347000E+07 9.9999297981103E-01
1.8064340589000E+11 7.4442187650000E+07 9.9999288993499E-01
1.8088551225600E+11 7.5387908918000E+07 9.9999287948379E-01
1.8119573920200E+11 7.6599724297000E+07 9.9999308969533E-01
1.8186420640000E+11 7.9210906245000E+07 9.9999299001626E-01
1.8220924115200E+11 8.0558688797000E+07 9.9999288379678E-01
1.8302618016000E+11 8.3749834088000E+07 9.9999287327769E-01
1.8379909536000E+11 8.6769012571000E+07 9.9999298442121E-01
1.8425894508800E+11 8.8565287969000E+07 9.9999288595838E-01
1.8475924691200E+11 9.0519578066000E+07 9.9999301856415E-01
1.8496532486400E+11 9.1324564446000E+07 9.9999291765817E-01
1.8516499667200E+11 9.2104526922000E+07 9.9999306113534E-01
1.8612847417600E+11 9.5868084807000E+07 9.9999296324589E-01
1.8633893484800E+11 9.6690191022000E+07 9.9999285078005E-01
1.8666490271800E+11 9.7963493911000E+07 9.9999272356781E-01
1.8707677599900E+11 9.9572362208000E+07 9.9999286782767E-01
1.8749317536000E+11 1.0119891061100E+08 9.9999273163930E-01
1.8767459948800E+11 1.0190759346000E+08 9.9999338220855E-01
1.8781668435200E+11 1.0246260878700E+08 9.9999342230193E-01
1.8817494099100E+11 1.0386203957800E+08 9.9999345783497E-01
1.8891564012900E+11 1.0675537665700E+08 9.9999346746488E-01
1.8951773164900E+11 1.0910728129300E+08 9.9999347900658E-01
1.9065935647900E+11 1.1356672420500E+08 9.9999346433363E-01
1.9134329836700E+11 1.1623835474400E+08 9.9999347079913E-01
1.9167421420800E+11 1.1753098630800E+08 9.9999346015249E-01
1.9198255289700E+11 1.1873542643500E+08 9.9999347947353E-01
1.9275434579100E+11 1.2175022276900E+08 9.9999348206891E-01
1.9322597152000E+11 1.2359249876500E+08 9.9999345862805E-01
1.9363654227200E+11 1.2519628027400E+08 9.9999348179745E-01
1.9530520352000E+11 1.3171444578700E+08 9.9999348699880E-01
1.9731201414300E+11 1.3955349872700E+08 9.9999347989034E-01
1.9774751724800E+11 1.4125467163900E+08 9.9999344727653E-01
1.9793762080000E+11 1.4199725877300E+08 9.9999348401111E-01
2.0008541574400E+11 1.5038702810500E+08 9.9999349427914E-01
2.0166583276700E+11 1.5656049193800E+08 9.9999348790008E-01
2.0212050515200E+11 1.5833654437600E+08 9.9999343082987E-01
2.0232256416000E+11 1.5912583219100E+08 9.9999349685268E-01
2.0298433849600E+11 1.6171087138000E+08 9.9999354566855E-01
2.0313743878400E+11 1.6230891552000E+08 9.9999359177870E-01
2.0373091641600E+11 1.6462717266400E+08 9.9999358153765E-01
2.0406128339200E+11 1.6591766038100E+08 9.9999360258599E-01
2.0446660716800E+11 1.6750094625200E+08 9.9999359411908E-01
2.0505618540800E+11 1.6980397149900E+08 9.9999361456206E-01
2.0534500256000E+11 1.7093215629500E+08 9.9999362822015E-01
2.0569752070300E+11 1.7230917151700E+08 9.9999360841878E-01
2.0653253536000E+11 1.7557092667300E+08 9.9999360371193E-01
2.0719576377500E+11 1.7816164609800E+08 9.9999360848612E-01
2.0790309792000E+11 1.8092465244200E+08 9.9999360191613E-01
2.0884301932800E+11 1.8459619695100E+08 9.9999361170063E-01
2.1005889096300E+11 1.8934566518400E+08 9.9999362905434E-01
2.1185434937700E+11 1.9635912993100E+08 9.9999363802070E-01
2.1229783148700E+11 1.9809147090200E+08 9.9999362314317E-01
2.1357725804700E+11 2.0308919903200E+08 9.9999361190384E-01
2.1535728134500E+11 2.1004237062200E+08 9.9999362109143E-01
2.1688740768000E+11 2.1601938849100E+08 9.9999364807125E-01
2.1846868486400E+11 2.2219621325600E+08 9.9999367237279E-01
2.1902667475200E+11 2.2437584746400E+08 9.9999366676611E-01
2.1988478675200E+11 2.2772782623500E+08 9.9999367010424E-01
2.2087293446300E+11 2.3158775379800E+08 9.9999365904173E-01
2.2150536505600E+11 2.3405817013700E+08 9.9999367345970E-01
2.2213114784000E+11 2.3650261867200E+08 9.9999366948350E-01
2.2251236665600E+11 2.3799174524500E+08 9.9999367969964E-01
2.2296864876800E+11 2.3977408598000E+08 9.9999365803685E-01
2.2388943494500E+11 2.4337088417300E+08 9.9999367728667E-01
2.2434129158500E+11 2.4513593801300E+08 9.9999286773105E-01
2.2458110419000E+11 2.4607269932000E+08 9.9999293556366E-01
2.2538075808000E+11 2.4919632526100E+08 9.9999294545372E-01
2.2603562655900E+11 2.5175438721100E+08 9.9999293221623E-01
2.2637236691200E+11 2.5306976991800E+08 9.9999301585174E-01
2.2646180716700E+11 2.5341914347400E+08 9.9999293873555E-01
2.2821914681700E+11 2.6028370300900E+08 9.9999296706436E-01
2.2846783955100E+11 2.6125515216900E+08 9.9999292043036E-01
2.2881787551800E+11 2.6262247048500E+08 9.9999295401279E-01
2.2927788089500E+11 2.6441935382800E+08 9.9999292089220E-01
2.2965921030500E+11 2.6590891129100E+08 9.9999300089801E-01
2.2985724371000E+11 2.6668247386500E+08 9.9999294888543E-01
2.3056499564700E+11 2.6944711037500E+08 9.9999293093937E-01
2.3087314182300E+11 2.7065079786600E+08 9.9999295127825E-01
2.3102067155000E+11 2.7122708180000E+08 9.9999290947443E-01
2.3113811615900E+11 2.7168584655100E+08 9.9999295736956E-01
2.3149226451400E+11 2.7306922882000E+08 9.9999302914270E-01
2.3201224761700E+11 2.7510039865700E+08 9.9999293071987E-01
2.3225571795000E+11 2.7605144792200E+08 9.9999289128811E-01
2.3247675040100E+11 2.7691484979600E+08 9.9999293838140E-01
2.3318911852600E+11 2.7969751813400E+08 9.9999288909010E-01
2.3430081873200E+11 2.8404006618400E+08 9.9999288874451E-01
2.3589897478400E+11 2.9028281886800E+08 9.9999279933122E-01
2.3598412243200E+11 2.9061542447300E+08 9.9999290831388E-01
2.3660610822200E+11 2.9304503923500E+08 9.9999289597981E-01
2.3849683820700E+11 3.0043065077100E+08 9.9999288334756E-01
2.3980934406400E+11 3.0555759028800E+08 9.9999300852856E-01
2.4042559545500E+11 3.0796480545400E+08 9.9999287591619E-01
2.4082672492900E+11 3.0953170629900E+08 9.9999289201689E-01
2.4181529452700E+11 3.1339327884300E+08 9.9999288153263E-01
2.4239619709900E+11 3.1566241336200E+08 9.9999286583429E-01
2.4262201411200E+11 3.1654450477600E+08 9.9999288775052E-01
2.4311335795600E+11 3.1846380301600E+08 9.9999286540817E-01
2.4395980862100E+11 3.2177022733600E+08 9.9999301760679E-01
2.4408972969200E+11 3.2227772797600E+08 9.9999285281394E-01
2.4470145911400E+11 3.2466727895200E+08 9.9999288175128E-01
2.4509449061800E+11 3.2620254733600E+08 9.9999285076798E-01
2.4623265035100E+11 3.3064845200800E+08 9.9999282669827E-01
2.4707976040300E+11 3.3395745191200E+08 9.9999280671108E-01
2.4777128830600E+11 3.3665871335200E+08 9.9999282485066E-01
2.4839072628400E+11 3.3907837559200E+08 9.9999278354215E-01
2.4859306045300E+11 3.3986873773600E+08 9.9999286189523E-01
2.4878707161400E+11 3.4062658842400E+08 9.9999279922639E-01
2.4914006479800E+11 3.4200545812000E+08 9.9999365964484E-01
2.4961776422000E+11 3.4387145965600E+08 9.9999368395042E-01
2.5229171916400E+11 3.5431653018400E+08 9.9999367788409E-01
2.5355399149700E+11 3.5924725031200E+08 9.9999367453176E-01
2.5441660084000E+11 3.6261679674400E+08 9.9999364026256E-01
2.5455296496100E+11 3.6314946570400E+08 9.9999367838064E-01
2.5522985354800E+11 3.6579354503200E+08 9.9999367111035E-01
2.5648365957600E+11 3.7069119383200E+08 9.9999367642414E-01
2.5678490811700E+11 3.7186793850400E+08 9.9999367099138E-01
2.5814532086300E+11 3.7718201716000E+08 9.9999366399383E-01
2.6048106480200E+11 3.8630595911200E+08 9.9999365818365E-01
2.6227179089100E+11 3.9330093853600E+08 9.9999365155339E-01
2.6254620636700E+11 3.9437286718400E+08 9.9999365479381E-01
2.6334495109600E+11 3.9749294398400E+08 9.9999365680292E-01
2.6420511923100E+11 4.0085295444800E+08 9.9999365093137E-01
2.6483749670700E+11 4.0332316328000E+08 9.9999369669014E-01
2.6500508865900E+11 4.0397781521600E+08 9.9999358247681E-01
2.6521094128400E+11 4.0478192187200E+08 9.9999365341335E-01
2.6607973963400E+11 4.0817564388800E+08 9.9999362662043E-01
2.6619183087000E+11 4.0861349748800E+08 9.9999364921016E-01
2.6766740670200E+11 4.1437742897600E+08 9.9999365298777E-01
2.6816384185800E+11 4.1631661649600E+08 9.9999364715962E-01
2.6967465960600E+11 4.2221821083200E+08 9.9999365001016E-01
2.7190971577900E+11 4.3094884356800E+08 9.9999364301114E-01
2.7337557583000E+11 4.3667482299200E+08 9.9999363679476E-01
2.7356052664400E+11 4.3739728251200E+08 9.9999364094255E-01
2.7593428975400E+11 4.4666973569600E+08 9.9999365751542E-01
2.7614202664200E+11 4.4748120276800E+08 9.9999364081238E-01
2.7847832758000E+11 4.5660732027200E+08 9.9999363703425E-01
2.8068082882900E+11 4.6521078603200E+08 9.9999363442010E-01
2.8176916455100E+11 4.6946207038400E+08 9.9999362305947E-01
2.8194487890800E+11 4.7014845021400E+08 9.9999364138973E-01
2.8232227206200E+11 4.7162263284800E+08 9.9999363319436E-01
2.8434928415300E+11 4.7954059841600E+08 9.9999363500239E-01
2.8649031245200E+11 4.8790393697600E+08 9.9999362794140E-01
2.8676600859800E+11 4.8898086818400E+08 9.9999363104202E-01
2.8815286654700E+11 4.9439824754400E+08 9.9999362414716E-01
2.8961535576000E+11 5.0011105960800E+08 9.9999361964106E-01
2.9063779103000E+11 5.0410492189900E+08 9.9999361088895E-01
2.9083443810400E+11 5.0487306962400E+08 9.9999359798729E-01
2.9398769644800E+11 5.1719040617400E+08 9.9999358846679E-01
2.9419847660800E+11 5.1801376089500E+08 9.9999360002793E-01
2.9620708537600E+11 5.2585983868000E+08 9.9999359397586E-01
2.9763242374400E+11 5.3142753101300E+08 9.9999360297215E-01
2.9846853203200E+11 5.3469355812000E+08 9.9999360975676E-01
2.9877684204800E+11 5.3589788642400E+08 9.9999359671737E-01
2.9893120662300E+11 5.3650086918400E+08 9.9999359770177E-01
2.9950603270500E+11 5.3874626919100E+08 9.9999358985534E-01
3.0118704188000E+11 5.4531266918900E+08 9.9999358004700E-01
3.0167364980400E+11 5.4721346918900E+08 9.9999358479558E-01
3.0304499940200E+11 5.5257026919100E+08 9.9999357800000E-01 )
\begintext
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
KPL/LSK
LEAPSECONDS KERNEL FILE
===========================================================================
Modifications:
--------------
2016, Jul. 14 NJB Modified file to account for the leapsecond that
will occur on December 31, 2016.
2015, Jan. 5 NJB Modified file to account for the leapsecond that
will occur on June 30, 2015.
2012, Jan. 5 NJB Modified file to account for the leapsecond that
will occur on June 30, 2012.
2008, Jul. 7 NJB Modified file to account for the leapsecond that
will occur on December 31, 2008.
2005, Aug. 3 NJB Modified file to account for the leapsecond that
will occur on December 31, 2005.
1998, Jul 17 WLT Modified file to account for the leapsecond that
will occur on December 31, 1998.
1997, Feb 22 WLT Modified file to account for the leapsecond that
will occur on June 30, 1997.
1995, Dec 14 KSZ Corrected date of last leapsecond from 1-1-95
to 1-1-96.
1995, Oct 25 WLT Modified file to account for the leapsecond that
will occur on Dec 31, 1995.
1994, Jun 16 WLT Modified file to account for the leapsecond on
June 30, 1994.
1993, Feb. 22 CHA Modified file to account for the leapsecond on
June 30, 1993.
1992, Mar. 6 HAN Modified file to account for the leapsecond on
June 30, 1992.
1990, Oct. 8 HAN Modified file to account for the leapsecond on
Dec. 31, 1990.
Explanation:
------------
The contents of this file are used by the routine DELTET to compute the
time difference
[1] DELTA_ET = ET - UTC
the increment to be applied to UTC to give ET.
The difference between UTC and TAI,
[2] DELTA_AT = TAI - UTC
is always an integral number of seconds. The value of DELTA_AT was 10
seconds in January 1972, and increases by one each time a leap second
is declared. Combining [1] and [2] gives
[3] DELTA_ET = ET - (TAI - DELTA_AT)
= (ET - TAI) + DELTA_AT
The difference (ET - TAI) is periodic, and is given by
[4] ET - TAI = DELTA_T_A + K sin E
where DELTA_T_A and K are constant, and E is the eccentric anomaly of the
heliocentric orbit of the Earth-Moon barycenter. Equation [4], which ignores
small-period fluctuations, is accurate to about 0.000030 seconds.
The eccentric anomaly E is given by
[5] E = M + EB sin M
where M is the mean anomaly, which in turn is given by
[6] M = M + M t
0 1
where t is the number of ephemeris seconds past J2000.
Thus, in order to compute DELTA_ET, the following items are necessary.
DELTA_TA
K
EB
M0
M1
DELTA_AT after each leap second.
The numbers, and the formulation, are taken from the following sources.
1) Moyer, T.D., Transformation from Proper Time on Earth to
Coordinate Time in Solar System Barycentric Space-Time Frame
of Reference, Parts 1 and 2, Celestial Mechanics 23 (1981),
33-56 and 57-68.
2) Moyer, T.D., Effects of Conversion to the J2000 Astronomical
Reference System on Algorithms for Computing Time Differences
and Clock Rates, JPL IOM 314.5--942, 1 October 1985.
The variable names used above are consistent with those used in the
Astronomical Almanac.
\begindata
DELTET/DELTA_T_A = 32.184
DELTET/K = 1.657D-3
DELTET/EB = 1.671D-2
DELTET/M = ( 6.239996D0 1.99096871D-7 )
DELTET/DELTA_AT = ( 10, @1972-JAN-1
11, @1972-JUL-1
12, @1973-JAN-1
13, @1974-JAN-1
14, @1975-JAN-1
15, @1976-JAN-1
16, @1977-JAN-1
17, @1978-JAN-1
18, @1979-JAN-1
19, @1980-JAN-1
20, @1981-JUL-1
21, @1982-JUL-1
22, @1983-JUL-1
23, @1985-JUL-1
24, @1988-JAN-1
25, @1990-JAN-1
26, @1991-JAN-1
27, @1992-JUL-1
28, @1993-JUL-1
29, @1994-JUL-1
30, @1996-JAN-1
31, @1997-JUL-1
32, @1999-JAN-1
33, @2006-JAN-1
34, @2009-JAN-1
35, @2012-JUL-1
36, @2015-JUL-1
37, @2017-JAN-1 )
\begintext
This diff is collapsed.
import pytest
import ale
from ale.drivers import co_drivers
from unittest.mock import PropertyMock, patch
import os
# 'Mock' the spice module where it is imported
from conftest import SimpleSpice, get_mockkernels
import numpy as np
from ale.drivers import co_drivers
import unittest
from unittest.mock import patch
simplespice = SimpleSpice()
co_drivers.spice = simplespice
from conftest import get_image_label, get_image_kernels, convert_kernels, compare_dicts
from ale.drivers.co_drivers import CassiniIssPds3LabelNaifSpiceDriver
from conftest import get_image_kernels, convert_kernels, get_image_label
@pytest.fixture()
def usgscsm_compare_dict():
return {'radii':
{'semimajor': 256.6,
'semiminor': 248.3,
'unit': 'km'},
'sensor_position':
{'positions': [np.array([ -2256954.95303959, -24306346.83742413, -639245.80662036])],
'velocities': [np.array([-6890.54418209, -2939.21925245, 21.83699238])],
'unit': 'm'},
'sun_position':
{'positions': [np.array([-2.30750862e+11, -1.39662303e+12, 3.09841240e+11])],
'velocities': [np.array([-7.41107317e+07, 1.22577658e+07, 3.91731010e+03])],
'unit': 'm'},
'sensor_orientation':
{'quaternions': [[-0.21183452, -0.66567547, -0.69966839, 0.14988809]]},
'detector_sample_summing': 1,
'detector_line_summing': 1,
'focal_length_model': {'focal_length': 2003.09},
'detector_center': {'line': 511.5, 'sample': 511.5},
'starting_detector_line': 0,
'starting_detector_sample': 0,
'focal2pixel_lines': [0.0, 0.0, 83.33333333333333],
'focal2pixel_samples': [0.0, 83.33333333333333, 0.0],
'optical_distortion':
{'radial':
{'coefficients': [-8e-06, 0, 0]}},
'image_lines': 1024,
'image_samples': 1024,
'name_platform': 'CASSINI ORBITER',
'name_sensor': 'IMAGING SCIENCE SUBSYSTEM - NARROW ANGLE',
'reference_height':
{'maxheight': 1000,
'minheight': -1000,
'unit': 'm'},
'name_model': 'USGS_ASTRO_FRAME_SENSOR_MODEL',
'center_ephemeris_time': 376938208.24072826}
@pytest.fixture()
def test_kernels(scope="module", autouse=True):
kernels = get_image_kernels("N1702360370_1")
updated_kernels, binary_kernels = convert_kernels(kernels)
yield updated_kernels
for kern in binary_kernels:
os.remove(kern)
def test_cassini_load(test_kernels, usgscsm_compare_dict):
label_file = get_image_label("N1702360370_1")
usgscsm_isd = ale.load(label_file, props={'kernels': test_kernels}, formatter='usgscsm')
assert compare_dicts(usgscsm_isd, usgscsm_compare_dict) == []
# ========= Test cassini pds3label and naifspice driver =========
class test_cassini_pds3_naif(unittest.TestCase):
def setUp(self):
label = get_image_label("N1702360370_1", "pds3")
self.driver = CassiniIssPds3LabelNaifSpiceDriver(label)
def test_short_mission_name(self):
assert self.driver.short_mission_name == "co"
def test_spacecraft_name(self):
assert self.driver.spacecraft_name == "CASSINI"
def test_focal2pixel_samples(self):
with patch('ale.drivers.co_drivers.spice.gdpool', return_value=[12.0]) as gdpool, \
patch('ale.base.data_naif.spice.bods2c', return_value=-12345) as bods2c:
assert self.driver.focal2pixel_samples == [0.0, 83.33333333333333, 0.0]
gdpool.assert_called_with('INS-12345_PIXEL_SIZE', 0, 1)
def test_focal2pixel_lines(self):
with patch('ale.drivers.co_drivers.spice.gdpool', return_value=[12.0]) as gdpool, \
patch('ale.base.data_naif.spice.bods2c', return_value=-12345) as bods2c:
assert self.driver.focal2pixel_lines == [0.0, 0.0, 83.33333333333333]
gdpool.assert_called_with('INS-12345_PIXEL_SIZE', 0, 1)
def test_odtk(self):
assert self.driver.odtk == [-8e-06, 0, 0]
def test_instrument_id(self):
assert self.driver.instrument_id == "CASSINI_ISS_NAC"
def test_focal_epsilon(self):
with patch('ale.drivers.co_drivers.spice.gdpool', return_value=[0.03]) as gdpool, \
patch('ale.base.data_naif.spice.bods2c', return_value=-12345) as bods2c:
assert self.driver.focal_epsilon == 0.03
gdpool.assert_called_with('INS-12345_FL_UNCERTAINTY', 0, 1)
def test_focal_length(self):
# This value isn't used for anything in the test, as it's only used for the
# default focal length calculation if the filter can't be found.
with patch('ale.drivers.co_drivers.spice.gdpool', return_value=[10.0]) as gdpool, \
patch('ale.base.data_naif.spice.bods2c', return_value=-12345) as bods2c:
assert self.driver.focal_length == 2003.09
def test_detector_center_sample(self):
with patch('ale.drivers.co_drivers.spice.gdpool', return_value=[511.5, 511.5]) as gdpool, \
patch('ale.base.data_naif.spice.bods2c', return_value=-12345) as bods2c:
assert self.driver.detector_center_sample == 511.5
gdpool.assert_called_with('INS-12345_FOV_CENTER_PIXEL', 0, 2)
def test_detector_center_line(self):
with patch('ale.drivers.co_drivers.spice.gdpool', return_value=[511.5, 511.5]) as gdpool, \
patch('ale.base.data_naif.spice.bods2c', return_value=-12345) as bods2c:
assert self.driver.detector_center_sample == 511.5
gdpool.assert_called_with('INS-12345_FOV_CENTER_PIXEL', 0, 2)
def test_sensor_model_version(self):
assert self.driver.sensor_model_version == 1
def test_sensor_frame_id(self):
assert self.driver.sensor_frame_id == 14082360
CassiniIssPds3LabelNaifSpiceDriver.metakernel = get_mockkernels
@pytest.fixture
def driver():
return CassiniIssPds3LabelNaifSpiceDriver("")
def test_short_mission_name(driver):
assert driver.short_mission_name=='co'
def test_instrument_id(driver):
with patch('ale.base.label_pds3.Pds3Label.instrument_id', new_callable=PropertyMock) as mock_instrument_id:
mock_instrument_id.return_value = 'ISSNA'
assert driver.instrument_id == 'CASSINI_ISS_NAC'
mock_instrument_id.return_value = 'ISSWA'
assert driver.instrument_id == 'CASSINI_ISS_WAC'
@patch('ale.base.data_naif.NaifSpice.ikid', 123)
def test_focal_epsilon(driver):
assert driver.focal_epsilon == 1
def test_spacecraft_name(driver):
assert driver.spacecraft_name == 'CASSINI'
@patch('ale.base.data_naif.NaifSpice.ikid', 123)
def test_focal2pixel_samples(driver):
assert driver.focal2pixel_samples == [0,1000,0]
@patch('ale.base.data_naif.NaifSpice.ikid', 123)
def test_focal2pixel_lines(driver):
assert driver.focal2pixel_lines == [0,0,1000]
def testodtk(driver):
with patch('ale.base.label_pds3.Pds3Label.instrument_id', new_callable=PropertyMock) as mock_instrument_id:
mock_instrument_id.return_value = 'ISSNA'
assert driver.odtk == [float('-8e-6'), 0, 0]
mock_instrument_id.return_value = 'ISSWA'
assert driver.odtk == [float('-6.2e-5'), 0, 0]
@patch('ale.base.data_naif.NaifSpice.ikid', 123)
def test_detector_center_line(driver):
assert driver.detector_center_line == 1
@patch('ale.base.data_naif.NaifSpice.ikid', 123)
def test_detector_center_sample(driver):
assert driver.detector_center_sample == 1
def test_sensor_model_version(driver):
assert driver.sensor_model_version == 1
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment