Skip to content
Snippets Groups Projects
Unverified Commit e3b40c4a authored by Amy Stamile's avatar Amy Stamile Committed by GitHub
Browse files

Osirisrex Driver (#476)

* OsirisRex driver

* Added kernels

* Added tests

* Removed absolute paths.

* Cleared notebook cells.

* removed print.prt

* Fixes kernel load issues with iks.

* Added doc strings.
parent 18813191
No related branches found
No related tags found
No related merge requests found
Showing
with 25604 additions and 0 deletions
import spiceypy as spice
import ale
from ale.base.data_naif import NaifSpice
from ale.base.label_isis import IsisLabel
from ale.base.type_sensor import Framer
from ale.base.base import Driver
from ale.base.type_distortion import RadialDistortion
class OsirisRexCameraIsisLabelNaifSpiceDriver(Framer, IsisLabel, NaifSpice, RadialDistortion, Driver):
@property
def instrument_id(self):
"""
Returns an instrument id for uniquely identifying the instrument, but often
also used to be piped into Spice Kernels to acquire IKIDs. Therefore they
the same ID the Spice expects in bods2c calls.
Returns
-------
: str
instrument id
"""
sensor_lookup = {
"MapCam" : "MAPCAM",
"PolyCam" : "POLYCAM",
"SamCam" : "SAMCAM"
}
return 'ORX_OCAMS_' + sensor_lookup[super().instrument_id]
@property
def sensor_name(self):
"""
Returns the name of the instrument
Returns
-------
: str
Name of the sensor
"""
return self.label['IsisCube']['Instrument']['InstrumentId']
@property
def exposure_duration(self):
"""
The exposure duration of the image, in seconds. Unit is "Millisec" in label
therefore failing in the label_isis exposure duration checks.
Returns
-------
: float
Exposure duration in seconds
"""
return self.label['IsisCube']['Instrument']['ExposureDuration'].value * 0.001
@property
def sensor_frame_id(self):
"""
Returns the Naif ID code for the sensor reference frame.
This is the frame of the OsirisRex instrument itself, and is not dependent on filter.
Returns
-------
: int
Naif ID code for the sensor frame
"""
return -64000
@property
def detector_center_line(self):
"""
Returns the center detector line. Expects ikid to be defined. This should
be an integer containing the Naif Id code of the instrument.
Returns
-------
: int
The detector line of the principle point
"""
return float(spice.gdpool('INS{}_CCD_CENTER'.format(self.ikid), 0, 2)[1])
@property
def detector_center_sample(self):
"""
Returns the center detector sample. Expects ikid to be defined. This should
be an integer containing the Naif Id code of the instrument.
Returns
-------
: int
The detector sample of the principle point
"""
return float(spice.gdpool('INS{}_CCD_CENTER'.format(self.ikid), 0, 2)[0])
@property
def filter_name(self):
"""
The name of the filter used to capture the image
Returns
-------
: string
The name of the filter
"""
return self.label['IsisCube']['BandBin']['FilterName'].strip().upper()
@property
def odtk(self):
"""
The coefficients for the radial distortion model
Expects ikid to be defined. This must be the integer Naif id code of the instrument
Returns
-------
: list
Radial distortion coefficients
"""
if self.filter_name == "UNKNOWN":
return spice.gdpool('INS{}_OD_K'.format(self.ikid),0, 3).tolist()
else:
return spice.gdpool('INS{ikid}_OD_K_{filter}'.format(ikid = self.ikid, filter = self.filter_name),0, 3).tolist()
...@@ -16,6 +16,7 @@ except ImportError: ...@@ -16,6 +16,7 @@ except ImportError:
from itertools import chain from itertools import chain
from datetime import datetime from datetime import datetime
import pytz import pytz
import numpy as np
import subprocess import subprocess
import re import re
...@@ -257,6 +258,10 @@ def get_kernels_from_isis_pvl(kernel_group, expand=True, format_as="list"): ...@@ -257,6 +258,10 @@ def get_kernels_from_isis_pvl(kernel_group, expand=True, format_as="list"):
mk_paths['Clock'] = [kernel_group.get('Clock', None)] mk_paths['Clock'] = [kernel_group.get('Clock', None)]
mk_paths['Extra'] = [kernel_group.get('Extra', None)] mk_paths['Extra'] = [kernel_group.get('Extra', None)]
# handles issue with OsirisRex instrument kernels being in a 2d list
if isinstance(mk_paths['Instrument'][0], list):
mk_paths['Instrument'] = np.concatenate(mk_paths['Instrument']).flat
if (format_as == 'list'): if (format_as == 'list'):
# get kernels as 1-d string list # get kernels as 1-d string list
kernels = [kernel for kernel in chain.from_iterable(mk_paths.values()) if isinstance(kernel, str)] kernels = [kernel for kernel in chain.from_iterable(mk_paths.values()) if isinstance(kernel, str)]
......
%% Cell type:code id: tags:
``` python
fileName = '/osirisrex/tsts/mapcam/truth/20190303T100344S990_map_iofL2pan_V001-spiceinit.cub'
import os
os.environ["ISISDATA"] = "/isis3/isis_data"
os.environ["ISISTESTDATA"] = "/pkgs/isis_testData"
os.environ["ISISROOT"] = "/isis/ISIS3/build"
import ale
from ale.drivers.osirisrex_drivers import OsirisRexCameraIsisLabelNaifSpiceDriver
from ale.formatters.formatter import to_isd
import spiceypy as spice
from ale.drivers import AleJsonEncoder
```
%% Cell type:code id: tags:
``` python
from ale.util import generate_kernels_from_cube
kernels = generate_kernels_from_cube(fileName, expand=True, format_as='list')
```
%% Cell type:code id: tags:
``` python
with OsirisRexCameraIsisLabelNaifSpiceDriver(fileName, props = {"kernels": kernels}) as driver:
isisString = to_isd(driver)
```
%% Cell type:code id: tags:
``` python
isisString
```
%% Cell type:code id: tags:
``` python
import json
isis_dict = isisString
json_file = os.path.splitext(fileName)[0] + '.json'
with open(json_file, 'w') as fp:
json.dump(isis_dict, fp, cls = AleJsonEncoder)
with open(json_file, 'r') as fp:
isis_dict = json.load(fp)
isis_dict.keys()
```
%% Cell type:code id: tags:
``` python
```
DAFETF NAIF DAF ENCODED TRANSFER FILE
'DAF/SPK '
'2'
'6'
'SPKMERGE '
BEGIN_ARRAY 1 48
'1999RQ36 '
'240DC53B1660A8^8'
'240DC633C3B08A^8'
'2012C3'
'A'
'1'
'2'
48
'23F571C^8'
'2A3^6'
'-289EC3D879217^7'
'-522CDA5729194C^7'
'3AD74D081D7352^6'
'121B9367A79B43^6'
'-1A52A7A0F93D2E^5'
'-1B34DB8D17BB72^4'
'8358E119D8C1F^3'
'-4475046C744454^2'
'-1E23DDF7C36B63^2'
'3FDC61E17EA6A6^1'
'36D5EA30F174DC^0'
'-1A36C62CF3739A^0'
'964BB692A94E4^-2'
'7039AC6CA86F18^-2'
'63A1AED03C2A64^7'
'-F4A1ED328AE59^6'
'-9CAF4CC383A308^6'
'945B0CB5243D88^5'
'15813689D6757^5'
'-356DD775C7C0CC^4'
'-8F347F102029F8^2'
'E609FF5E9082A^2'
'-11C953D506A8A8^2'
'-2963FC26CB887C^1'
'95E3D65FEC2348^0'
'268ADF13A0DD72^-2'
'-3545E7E3A373D4^-1'
'-15859424B5A833^-2'
'3878E471D9CA48^7'
'-84A5CA91F7AB28^6'
'-58CA267FD89DC4^6'
'5299E5EBCD646^5'
'C438C1D67F01A^4'
'-1E1378F90741BA^4'
'-59D8A29E1F23F^2'
'824AAB5205017^2'
'-9EC5D7DB6538C8^1'
'-17B454CF4A16D1^1'
'5446E23D98F4F4^0'
'4DC803CF17819C^-2'
'-1CDFCE35EA4F8B^-1'
'-B7D86A8C03F48^-3'
'23CB41C^8'
'546^6'
'2C^2'
'1^1'
END_ARRAY 1 48
BEGIN_ARRAY 2 505
' '
'240DC53B1660A8^8'
'240DC633C3B08A^8'
'-40'
'2012C3'
'1'
'1'
505
'240DC56CBE7FD^8'
'14DC1851470108^2'
'2D13EEE3E2BA48^2'
'3A8467245A3B18^2'
'46769924C474B8^2'
'4EDA776ECDBE9^2'
'54BEFBACA277E^2'
'5AA37FEA77313^2'
'75E0C72B8718A^2'
'C5535CE3D3E35^3'
'DE62031923A34^3'
'EE06A5638BFB9^3'
'0^0'
'0^0'
'0^0'
'0^0'
'64609568DDAC4^1'
'-110900FE783EC8^-3'
'-2E66412AA8FEAC^0'
'63211C10060464^-4'
'-20A0A6872666C^1'
'-1773C9119D875B^-3'
'-9D800527C0141^-8'
'-97D7E393425AC^-A'
'-47227D0DA86E5^-C'
'56371CBF825828^-C'
'14F56AFC89^-B'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'3417FA22E3C782^-8'
'A32CAAB8395D6^-A'
'-20B36CB37ED49^-B'
'-9BE056C769AE98^-C'
'-177AE256472^-B'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'42819B15E3BD34^-8'
'95C3062FF9527^-A'
'84298EC823EE58^-B'
'-1E73EEEE34D76^-C'
'-12D014B917C^-B'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'5^1'
'4^1'
'4^1'
'4^1'
'240DC59912337E^8'
'17779B5B6FF128^2'
'2C53B3ACB6F23^2'
'412FCBFDFDF338^2'
'5967A29099AC78^2'
'66D81AD1112D48^2'
'72CA4CD17B66E8^2'
'7B2E2B1B84B0C^2'
'75E0C72B8718A^2'
'C5535CE3D3E35^3'
'DE62031923A34^3'
'EE06A5638BFB9^3'
'0^0'
'0^0'
'0^0'
'0^0'
'645DA224F136B4^1'
'-110AB71398626E^-3'
'-2E551646E9E52E^0'
'632A3E79210F6C^-4'
'-20A4B608A70FF6^1'
'-17730EFF5FDC4^-3'
'-9EC0CCBE99B6E^-8'
'-A96A54B3F9659^-A'
'DE95B665A050C^-C'
'-46B438A75DD678^-C'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'356699CF08C4AC^-8'
'AEB522F860F58^-A'
'-532B759CF3FADC^-B'
'-14DAB40ED6033D^-B'
'4FCE00EDD4^-C'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'43D6F98113C444^-8'
'B87EB951718B3^-A'
'803113708DDF98^-B'
'-7D33FFADDE9588^-C'
'23F6D03448^-C'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'5^1'
'3^1'
'4^1'
'4^1'
'240DC5B089CED8^8'
'17779B5B6FF128^2'
'2EEF36B6DFE25^2'
'43CB4F0826E358^2'
'58A767596DE46^2'
'70DF3DEC099DA^2'
'7E4FB62C811E7^2'
'8A41E82CEB581^2'
'75E0C72B8718A^2'
'C5535CE3D3E35^3'
'DE62031923A34^3'
'EE06A5638BFB9^3'
'0^0'
'0^0'
'0^0'
'0^0'
'645C122D7BE5A^1'
'-110BA0676B2C13^-3'
'-2E4BFEECCEFE9^0'
'632F2B62553AF^-4'
'-20A6DC4F233FB4^1'
'-1772AAF3179C3^-3'
'-9F69BF3838B7A8^-8'
'-A8F2799F00CB1^-A'
'77DB14F89A82F8^-C'
'-73D27EFA88^-C'
'-25F6F54C7871F4^-C'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'360E36643C5BCC^-8'
'A79C9533971FB8^-A'
'-7188DC4C9D5C54^-B'
'-1978F65B2272B2^-B'
'-2821B99B4A^-C'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'449749D058BEAC^-8'
'C0504F44FA67F8^-A'
'7D195F388DCCBC^-B'
'-AA21EC626B4F48^-C'
'-2043043AC^-C'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'5^1'
'4^1'
'4^1'
'4^1'
'240DC5AB1E412A^8'
'2EEF36B6E0E28^1'
'2EEF36B6E0E28^1'
'2EEF36B6E0E28^1'
'58A767596DE46^2'
'70DF3DEC099DA^2'
'7E4FB62C811E7^2'
'8A41E82CEB581^2'
'75E0C72B8718A^2'
'C5535CE3D3E35^3'
'DE62031923A34^3'
'EE06A5638BFB9^3'
'0^0'
'0^0'
'0^0'
'0^0'
'645C6E9056B96C^1'
'-110B6A6DCAF509^-3'
'-2E4E18812AA0EA^0'
'632E06C826B9AC^-4'
'-20A65D37A5EE12^1'
'-1772C227EE88CC^-3'
'-9F4728D7AFBA1^-8'
'-198CAB935838^-A'
'-198CAB935838^-A'
'0^0'
'-9F4728D7AFBA1^-8'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'35E57CEC7DF00A^-8'
'12047FA50FC6^-A'
'12047FA50FC6^-A'
'0^0'
'35E57CEC7DF00A^-8'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'4468BA978F5648^-8'
'16BCCF8815AC^-A'
'16BCCF8815AC^-A'
'0^0'
'4468BA978F5648^-8'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'3^1'
'2^1'
'2^1'
'2^1'
'240DC5B3FF9914^8'
'5F2647EBB33D8^1'
'8E157EA2942^1'
'BD04B55975028^1'
'BD04B55975028^1'
'BD04B55975028^1'
'7E4FB62C811E7^2'
'8A41E82CEB581^2'
'75E0C72B8718A^2'
'C5535CE3D3E35^3'
'DE62031923A34^3'
'EE06A5638BFB9^3'
'0^0'
'0^0'
'0^0'
'0^0'
'645BD7329784EC^1'
'-110BC2EA1B0DFC^-3'
'-2E4AA7BB212C4C^0'
'632FE654C6EC0C^-4'
'-20A72D70F8772^1'
'-17729C1CDB7FA5^-3'
'-9F94871AD12798^-8'
'-33D0F6843AD9AA^-A'
'-3E003693558FC8^-D'
'-1F1DA3A28^-D'
'-9F4728D7AFBA1^-8'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'361B36F8D818B2^-8'
'23D7491E534E22^-A'
'-6B2D9D9D88A6C^-C'
'-3A805EFB6^-D'
'35E57CEC7DF00A^-8'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'44AE396C2D4FA4^-8'
'2EA5BF62DC2DFC^-A'
'53FB06145A3DC4^-C'
'-2C67F7808^-D'
'4468BA978F5648^-8'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'4^1'
'3^1'
'3^1'
'3^1'
'240DC6011A0804^8'
'1B7EF9B087E1C^2'
'3138A287DCECA^2'
'42630854C4837^2'
'4D1A6EF12C1FC^2'
'530CD36FE75398^2'
'55FBC6DB5561C^2'
'58EABA46C36FE8^2'
'75E0C72B8718A^2'
'C5535CE3D3E35^3'
'DE62031923A34^3'
'EE06A5638BFB9^3'
'0^0'
'0^0'
'0^0'
'0^0'
'6456B471F03228^1'
'-110ECA4D4A8D8B^-3'
'-2E2CC59A367CBE^0'
'634071D37C7F44^-4'
'-20AE3D234C902C^1'
'-17714B42E0B4C1^-3'
'-A23F0DC3EF6B2^-8'
'-F70A73071F3408^-A'
'-452DFF7FEAB774^-B'
'-1B4CE18B0663BA^-B'
'-22CC2ED12CD338^-C'
'2322A51128^-C'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'37AD1795DDCCCC^-8'
'805E8C422F54A^-A'
'-F92ED2BD905598^-B'
'-1BED0F2C544D07^-B'
'345FD40511A43A^-C'
'1758AC9AD6^-C'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'47242FAC7367B^-8'
'E37F9D308365A^-A'
'16BE4A616C81DF^-B'
'-3749270D252A6E^-B'
'-D5BFA1A63386E^-C'
'-1381EB758C^-C'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'6^1'
'5^1'
'5^1'
'5^1'
'240DC63EF7B9D2^8'
'1EEED8E6991E^2'
'3DDDB1CD323C^2'
'595CAB7DBA1DC^2'
'6F1654550F28A^2'
'8040BA21F6BF7^2'
'8AF820BE5E5BC^2'
'90EA853D198F98^2'
'93D978A8879DC^2'
'C5535CE3D3E35^3'
'DE62031923A34^3'
'EE06A5638BFB9^3'
'0^0'
'0^0'
'0^0'
'0^0'
'645294D9F77FCC^1'
'-111141FD7DE48C^-3'
'-2E14C7A8F6148C^0'
'634E028AA58824^-4'
'-20B3E74DC6DB5A^1'
'-177034734F42B6^-3'
'-A484962A41CCE8^-8'
'-127A6245DA10A7^-9'
'-9C3E268E048478^-B'
'-155786A742BEC8^-B'
'13FF7823A30A66^-B'
'-5BAD0157004BF^-C'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'3885A239355F34^-8'
'5F48542CBB3478^-A'
'-19F9FAFE1BFF32^-A'
'-17536CD917160A^-B'
'209911125DF14C^-B'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'4906EFF76CFCB4^-8'
'E8A189C679EAA8^-A'
'-117D376CA12EDD^-A'
'-B54D40AD3D9DF8^-B'
'-239B1C87440606^-B'
'2083EE34BA00D2^-B'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'6^1'
'5^1'
'4^1'
'5^1'
'240DC56CBE7FD^8'
'240DC59912337E^8'
'240DC5A82F4DBE^8'
'240DC5AB1E412A^8'
'240DC5B3FF9914^8'
'240DC6011A0804^8'
'240DC63E2F4DBE^8'
'7^1'
END_ARRAY 2 505
BEGIN_ARRAY 3 39
'DE-0424LE-0424 '
'240DC53B1660A8^8'
'240DC633C3B08A^8'
'A'
'0'
'1'
'2'
39
'2416674^8'
'A8C^5'
'-2F8F0002B54CAA^5'
'-2650DF4268D3D8^4'
'-AE634854CB0A6^1'
'1F35EB9A06979D^0'
'3ABC5452BD3F56^-1'
'-550CCC25DD6D9C^-2'
'-1DFC1D4FBB3DE7^-3'
'1D8C94D4E6D3A^-3'
'-42068C1E04F1FC^-4'
'3CFA272C7E2F2^-6'
'16FD1DDCA9E195^-5'
'FD5A183FBD6578^5'
'543FBD1678B4^3'
'-1895A1E0CB0041^2'
'-31AE596860FE84^0'
'1ADF95731E4B7A^-1'
'3C31B710F9C89E^-2'
'-CEF0658246DFC^-3'
'E08EC78BFD7A1^-4'
'201E2D9C42CECA^-4'
'-A20B79FBC3B298^-5'
'F19094ECE0457^-6'
'6C1E50AD3D9504^5'
'35E4A8CF0CC282^3'
'-A36179FD4F3EC8^1'
'-19A68E419F3A21^0'
'7D6F688A26D07^-2'
'289CEDB4258D84^-2'
'-6B5B7A9D216208^-3'
'46F77BEFD913F8^-4'
'18006AD016CB85^-4'
'-56F5909C729294^-5'
'5AE98DB8A0B92C^-6'
'240BDB4^8'
'1518^6'
'23^2'
'1^1'
END_ARRAY 3 39
TOTAL_ARRAYS 3
~NAIF/SPC BEGIN COMMENTS~
; /ale/osirisrex/20190303T100344S990_map_iofL2pan_V001-spiceinit_0.bsp LOG FILE
; Created 2022-07-20/11:45:35.00.
;
; BEGIN SPKMERGE COMMANDS
LEAPSECONDS_KERNEL = /base/kernels/lsk/naif0012.tls
SPK_KERNEL = /ale/osirisrex/20190303T100344S990_map_iofL2pan_V001-spiceinit_0.bsp
SOURCE_SPK_KERNEL = /osirisrex/kernels/spk/orx_190301_190424_190412_od125_v1.bsp
INCLUDE_COMMENTS = NO
BODIES = -64, 2101955
BEGIN_TIME = 2019 MAR 03 10:49:25.902
END_TIME = 2019 MAR 03 10:53:34.579
SOURCE_SPK_KERNEL = /osirisrex/kernels/tspk/de424.bsp
INCLUDE_COMMENTS = NO
BODIES = 10
BEGIN_TIME = 2019 MAR 03 10:49:25.902
END_TIME = 2019 MAR 03 10:53:34.579
; END SPKMERGE COMMANDS
~NAIF/SPC END COMMENTS~
DAFETF NAIF DAF ENCODED TRANSFER FILE
'DAF/SPK '
'2'
'6'
'SPKMERGE '
BEGIN_ARRAY 1 48
'1999RQ36 '
'240DC7296E2F84^8'
'240DC81ED7A85A^8'
'2012C3'
'A'
'1'
'2'
48
'23F571C^8'
'2A3^6'
'-289EC3D879217^7'
'-522CDA5729194C^7'
'3AD74D081D7352^6'
'121B9367A79B43^6'
'-1A52A7A0F93D2E^5'
'-1B34DB8D17BB72^4'
'8358E119D8C1F^3'
'-4475046C744454^2'
'-1E23DDF7C36B63^2'
'3FDC61E17EA6A6^1'
'36D5EA30F174DC^0'
'-1A36C62CF3739A^0'
'964BB692A94E4^-2'
'7039AC6CA86F18^-2'
'63A1AED03C2A64^7'
'-F4A1ED328AE59^6'
'-9CAF4CC383A308^6'
'945B0CB5243D88^5'
'15813689D6757^5'
'-356DD775C7C0CC^4'
'-8F347F102029F8^2'
'E609FF5E9082A^2'
'-11C953D506A8A8^2'
'-2963FC26CB887C^1'
'95E3D65FEC2348^0'
'268ADF13A0DD72^-2'
'-3545E7E3A373D4^-1'
'-15859424B5A833^-2'
'3878E471D9CA48^7'
'-84A5CA91F7AB28^6'
'-58CA267FD89DC4^6'
'5299E5EBCD646^5'
'C438C1D67F01A^4'
'-1E1378F90741BA^4'
'-59D8A29E1F23F^2'
'824AAB5205017^2'
'-9EC5D7DB6538C8^1'
'-17B454CF4A16D1^1'
'5446E23D98F4F4^0'
'4DC803CF17819C^-2'
'-1CDFCE35EA4F8B^-1'
'-B7D86A8C03F48^-3'
'23CB41C^8'
'546^6'
'2C^2'
'1^1'
END_ARRAY 1 48
BEGIN_ARRAY 2 1225
' '
'240DC7296E2F84^8'
'240DC81ED7A85A^8'
'-40'
'2012C3'
'1'
'1'
1024
'240DC72EAFDECE^8'
'52ADB053043C^1'
'A55B60A60878^1'
'F80910F90CB4^1'
'F80910F90CB4^1'
'F80910F90CB4^1'
'47D2477F9D8638^2'
'3F8C435314416^2'
'86ED7E2DB4DAC^2'
'C5535CE3D3E35^3'
'DE62031923A34^3'
'EE06A5638BFB9^3'
'0^0'
'0^0'
'0^0'
'0^0'
'644294DD37FC3^1'
'-111B29DE103B54^-3'
'-2DB7B170A19514^0'
'638367E95FA01C^-4'
'-20C9D7E72BCF6E^1'
'-176BEE1ADBC0A^-3'
'-AC78C5D8DC9B18^-8'
'-2DA0E0B4138^-B'
'14907791F5^-B'
'-4066C3DC2^-C'
'-AC71C8B54CF958^-8'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'39373E6901878E^-8'
'-13B6C812226^-B'
'-20D0BB5414^-C'
'-4DCD3856^-E'
'393994714877C6^-8'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'467095E56CA49C^-8'
'-1BDAEB9CAEC4^-A'
'327D6FF4CF8^-B'
'A6DDA5734^-C'
'46AB7393A54F1C^-8'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'4^1'
'3^1'
'3^1'
'3^1'
'240DC74CCE10EE^8'
'92A94D1F59A28^1'
'13A46378C5381^2'
'1E1E321F94D5F8^2'
'23490D24C519B8^2'
'2873E829F55D78^2'
'2D9EC32F25A138^2'
'3F8C435314416^2'
'86ED7E2DB4DAC^2'
'C5535CE3D3E35^3'
'DE62031923A34^3'
'EE06A5638BFB9^3'
'0^0'
'0^0'
'0^0'
'0^0'
'64409196AE617C^1'
'-111C6E8C2B332F^-3'
'-2DABFBE83921CA^0'
'638A22A6CE8054^-4'
'-20CC99488663EA^1'
'-176B69E4F3B25A^-3'
'-AC7FAE13F440E8^-8'
'-32E0BB63B37B1^-B'
'-278A75F18EEB18^-B'
'-6C41CD298C7D^-B'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'393116C04A8C3E^-8'
'1AAB6C90FDEF^-C'
'30A5C239C933F8^-B'
'6BCCA61B3FA358^-B'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'461FAE06D8B08C^-8'
'-9EFEAC08CB8FA^-B'
'D7D2FE0D4C034^-B'
'-CDA433FED1EE^-C'
'-1BBB2DED494^-B'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'5^1'
'3^1'
'3^1'
'4^1'
'240DC753D2AADE^8'
'70499F0BFFC^1'
'102F2EC2B59628^2'
'1AA8FD6985341^2'
'2522CC1054D1F8^2'
'2A4DA7158515B8^2'
'2F78821AB55978^2'
'3F8C435314416^2'
'86ED7E2DB4DAC^2'
'C5535CE3D3E35^3'
'DE62031923A34^3'
'EE06A5638BFB9^3'
'0^0'
'0^0'
'0^0'
'0^0'
'6440197FE33C4C^1'
'-111CBA360A4C0B^-3'
'-2DA94151C276C8^0'
'638BB40445E59C^-4'
'-20CD3DA3C29A7C^1'
'-176B4B2393E4F9^-3'
'-AC811F4E842D5^-8'
'-1713A8FEC6BF7^-B'
'2C21BDF4918^-B'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'393045466A8FE2^-8'
'-D179DFFC5C9EC^-C'
'-31219188DE6^-B'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'461D0CDF2F9594^-8'
'-2A127A91AF8B4E^-B'
'4FA881250B5B6^-B'
'-387E33E9F1C144^-B'
'-3150DDF36AC^-B'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'5^1'
'2^1'
'2^1'
'4^1'
'240DC75AD744CE^8'
'3824CF85FFE^1'
'70499F0BFFC^1'
'E0933E17FF8^1'
'1733C8B3759228^2'
'21AD975A45301^2'
'2C27660114CDF8^2'
'3F8C435314416^2'
'86ED7E2DB4DAC^2'
'C5535CE3D3E35^3'
'DE62031923A34^3'
'EE06A5638BFB9^3'
'0^0'
'0^0'
'0^0'
'0^0'
'643FA1670514B4^1'
'-111D05E0189E28^-3'
'-2DA686B04B2C7A^0'
'638D4554C39C24^-4'
'-20CDE1FE26FCCA^1'
'-176B2C62DE6A1A^-3'
'-AC80AA4485B4E^-8'
'6A099F94AF59D^-C'
'5F0940B0ED555^-C'
'-235FD935B8^-C'
'-1334FE8A7625DD^-C'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'392D974098F6CA^-8'
'-18469811025A4B^-B'
'-5ACD308733555^-C'
'25C7BA7FFA^-C'
'7F2DAE8A9B42B^-D'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'461C94F5139AA4^-8'
'-52218C88D623^-D'
'6DA5EA69D6FC08^-C'
'F223E460853E4^-D'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'5^1'
'4^1'
'4^1'
'3^1'
'240DC761F461B2^8'
'71D1CE2E9D888^1'
'A9F69DB49D688^1'
'E21B6D3A9D488^1'
'152650C469D088^2'
'1E50E5965F6AB^2'
'28CAB43D2F0898^2'
'3F8C435314416^2'
'86ED7E2DB4DAC^2'
'C5535CE3D3E35^3'
'DE62031923A34^3'
'EE06A5638BFB9^3'
'0^0'
'0^0'
'0^0'
'0^0'
'643F27A8932678^1'
'-111D5291F1DC5A^-3'
'-2DA3C27B82AD66^0'
'638EDC07A87018^-4'
'-20CE8895B75298^1'
'-176B0D36A43D4C^-3'
'-AC7F1DAB174DB8^-8'
'18C996E6728B51^-B'
'B5A17984D36AC8^-C'
'-6DFEFE29E00A94^-C'
'-B4C15BA8^-E'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'3929E329FD2F98^-8'
'-3B4169BC732F12^-B'
'-A0AA67AB2873B^-C'
'75F784CE199724^-C'
'13E81B6DA^-D'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'461D66EE24982C^-8'
'D1F910FD86F18^-C'
'684B36027874B^-C'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'5^1'
'4^1'
'4^1'
'2^1'
'240DC775E332EC^8'
'CD1B457DFD1D8^1'
'13EED13AC9AA6^2'
'1B0BEE1DB382E8^2'
'1E8E3B161380E8^2'
'2210880E737EE8^2'
'291521FF337AE8^2'
'323FB6D129151^2'
'86ED7E2DB4DAC^2'
'C5535CE3D3E35^3'
'DE62031923A34^3'
'EE06A5638BFB9^3'
'0^0'
'0^0'
'0^0'
'0^0'
'643DD27BD4FFE8^1'
'-111E297511946^-3'
'-2D9C01D4A58908^0'
'63934F196BE3A4^-4'
'-20D05B5CF5D2E8^1'
'-176AB5DB592971^-3'
'-AC7C644B0A176^-8'
'F237AFD6659C7^-C'
'-241FDCB3D44ED6^-B'
'-2D5D50E1B20B98^-B'
'-EB8F50A5^-D'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'392213817C23EE^-8'
'-409060AD7B5BA^-B'
'2C4E2240DB7F74^-B'
'2F3B4EF7AC400E^-B'
'-157AB2074^-D'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'461FA811036DEC^-8'
'10998D0C93B7AE^-B'
'-3500940CCD5B3^-B'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'5^1'
'4^1'
'4^1'
'2^1'
'240DC7811AB0BA^8'
'B377DCCE3E7A^1'
'18093224C3B978^2'
'1F264F07AD92^2'
'26436BEA976A88^2'
'29C5B8E2F76888^2'
'2D4805DB576688^2'
'344C9FCC176288^2'
'86ED7E2DB4DAC^2'
'C5535CE3D3E35^3'
'DE62031923A34^3'
'EE06A5638BFB9^3'
'0^0'
'0^0'
'0^0'
'0^0'
'643D12778275E4^1'
'-111EA26111869E^-3'
'-2D97A4DCA0D462^0'
'6395CFE9F7AEAC^-4'
'-20D16205217516^1'
'-176A84B25E71A1^-3'
'-AC7D01714B7A6^-8'
'-9D26416302208^-C'
'-17116FB3E9C38^-B'
'55386B383806D8^-B'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'3920709D5CE68E^-8'
'-1A2E41F3D5F3FC^-B'
'1E5012A3F64CD4^-B'
'-5A4360197ED6^-B'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'461F8767F18E08^-8'
'-20A911DFE2A8C^-C'
'-1090EC88FF8^-B'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'4^1'
'3^1'
'3^1'
'2^1'
'240DC786B66FA^8'
'59BBEE671F3D^1'
'10D33CB355DB7^2'
'1DA4F10B35AD48^2'
'24C20DEE1F85D^2'
'2BDF2AD1095E58^2'
'2F6177C9695C58^2'
'344C9FCC176288^2'
'86ED7E2DB4DAC^2'
'C5535CE3D3E35^3'
'DE62031923A34^3'
'EE06A5638BFB9^3'
'0^0'
'0^0'
'0^0'
'0^0'
'643CB2735C8E78^1'
'-111EDED73A6AF7^-3'
'-2D957656171F94^0'
'6397104BC2DEA^-4'
'-20D1E558687E6E^1'
'-176A6C1DFAD9FD^-3'
'-AC7D6E9DCA71C8^-8'
'-6D2C7EF766863^-C'
'43FBB4FD128A1^-C'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'391FDB2DD3F5FE^-8'
'-956F88F0903D38^-C'
'-31BB5B06DC9D58^-C'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'461F372E1EA13C^-8'
'-5039D2ECCD546^-C'
'-3FE549FCDC^-C'
'1CDFE29BEE46A^-C'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'4^1'
'2^1'
'2^1'
'3^1'
'240DC78C522E86^8'
'59BBEE671F3D^1'
'B377DCCE3E7A^1'
'166EFB99C7CF4^2'
'2340AFF1A7A118^2'
'2A5DCCD49179A^2'
'317AE9B77B5228^2'
'344C9FCC176288^2'
'86ED7E2DB4DAC^2'
'C5535CE3D3E35^3'
'DE62031923A34^3'
'EE06A5638BFB9^3'
'0^0'
'0^0'
'0^0'
'0^0'
'643C526DE38F3^1'
'-111F1B4D8BB1D3^-3'
'-2D9347C888A056^0'
'639850AA966B44^-4'
'-20D268AB25AE^1'
'-176A5389B8168B^-3'
'-AC7DEC6BA83C8^-8'
'-7DCDDDCAB6863^-C'
'-10A15ED35^-C'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'391F663C5A6826^-8'
'-74F1798DD83D38^-C'
'207E0F62B8^-C'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'461ED0C555F088^-8'
'-6668C8B0B5546^-C'
'-162EF5C3E8^-C'
'1469E63A^-C'
'5D8A8F2404215^-D'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'5^1'
'2^1'
'2^1'
'4^1'
'240DC7A47B59E^8'
'CCA805CC9C0C^1'
'18292B59EEDDE^2'
'1DC4EA4060D1B^2'
'2360A926D2C58^2'
'2E9826F3B6AD2^2'
'3B69DB4B967EF8^2'
'344C9FCC176288^2'
'86ED7E2DB4DAC^2'
'C5535CE3D3E35^3'
'DE62031923A34^3'
'EE06A5638BFB9^3'
'0^0'
'0^0'
'0^0'
'0^0'
'643AB4B6280408^1'
'-11201FC82C2C55^-3'
'-2D89E13B961C3^0'
'639DB4BD799A98^-4'
'-20D49E61F9F524^1'
'-1769E9A8438BE2^-3'
'-AC8097F2052E4^-8'
'-185D4FB5A95974^-B'
'-3B6D6D90890564^-C'
'2739475F^-D'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'391E7374DDE1E4^-8'
'-5218EE472A1628^-C'
'62AB71BFD1F04^-C'
'-17A2732D18^-C'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'461D94A0D05548^-8'
'-66EECF7F2B0618^-C'
'88ED9D606D2628^-C'
'91E365823108E8^-C'
'E1046916C^-D'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'5^1'
'3^1'
'3^1'
'4^1'
'240DC7B4ABA456^8'
'10304A756F47F^2'
'1CFACAD23908B^2'
'285975CF5E25D^2'
'2DF534B5D019A^2'
'3390F39C420D7^2'
'3EC8716925F51^2'
'344C9FCC176288^2'
'86ED7E2DB4DAC^2'
'C5535CE3D3E35^3'
'DE62031923A34^3'
'EE06A5638BFB9^3'
'0^0'
'0^0'
'0^0'
'0^0'
'64399F73A5A23C^1'
'-1120CE52530F2A^-3'
'-2D83947882876A^0'
'63A1516758920C^-4'
'-20D619690168A^1'
'-1769A2B6DAAF81^-3'
'-AC824F4DC9E938^-8'
'-1B75BC4BAF7A56^-B'
'3605C963ABC60C^-C'
'903C8FE8B^-C'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'391DE68F65DB3^-8'
'-8CE57806B3ED^-C'
'-DFC4FB9ABF0FB8^-C'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'461E287D938AE8^-8'
'93DCC3359F7FF^-C'
'1162301D29172D^-B'
'-9FA1BE0F5BD12^-C'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'4^1'
'3^1'
'2^1'
'3^1'
'240DC7C4DBEECA^8'
'10304A756F47F^2'
'206094EADE8FE^2'
'2D2B1547A850A^2'
'3889C044CD6DC^2'
'3E257F2B3F619^2'
'43C13E11B1556^2'
'344C9FCC176288^2'
'86ED7E2DB4DAC^2'
'C5535CE3D3E35^3'
'DE62031923A34^3'
'EE06A5638BFB9^3'
'0^0'
'0^0'
'0^0'
'0^0'
'64388A2619A364^1'
'-11217CDE39FC59^-3'
'-2D7D477AF62D92^0'
'63A4EE09439F88^-4'
'-20D7946B8C5E8C^1'
'-17695BC4E28DFD^-3'
'-AC8437758D912^-8'
'-1E827C3A7E9B65^-B'
'-9DF3339A1A10F^-C'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'391D9BDAD4978E^-8'
'-4AB49143A1ED^-C'
'4230E6C312^-C'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'461E4CA69AFA^-8'
'2429076F1775^-C'
'-6FB3BBC6880AF^-C'
'-1A672ADEC0C^-B'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'4^1'
'2^1'
'2^1'
'3^1'
'240DC7D50C394^8'
'10304A756F47F^2'
'206094EADE8FE^2'
'3090DF604DD7D^2'
'3D5B5FBD17989^2'
'48BA0ABA3CB5B^2'
'4E55C9A0AEA98^2'
'344C9FCC176288^2'
'86ED7E2DB4DAC^2'
'C5535CE3D3E35^3'
'DE62031923A34^3'
'EE06A5638BFB9^3'
'0^0'
'0^0'
'0^0'
'0^0'
'643774CD83E918^1'
'-11222B6C1FA73A^-3'
'-2D76FA42F1693^0'
'63A88AA79FB7B8^-4'
'-20D90F699AD382^1'
'-176914D30F0235^-3'
'-AC86320A8861E8^-8'
'-1FA94FAD0C9B65^-B'
'-126D3728E^-C'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'391D70270F6814^-8'
'-2BB3C52F79ED^-C'
'1F00CC1428^-C'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'461E07AA0BB3B^-8'
'-44FC8F465095F^-C'
'-629771A4640AF^-C'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'3^1'
'2^1'
'2^1'
'2^1'
'240DC7E53C83B6^8'
'10304A756F47F^2'
'206094EADE8FE^2'
'3090DF604DD7D^2'
'40C129D5BD1FC^2'
'4D8BAA3286E08^2'
'58EA552FABFDA^2'
'344C9FCC176288^2'
'86ED7E2DB4DAC^2'
'C5535CE3D3E35^3'
'DE62031923A34^3'
'EE06A5638BFB9^3'
'0^0'
'0^0'
'0^0'
'0^0'
'64365F69E452C4^1'
'-1122D9FC09FF3C^-3'
'-2D70ACD07467E^0'
'63AC2743B6A62C^-4'
'-20DA8A632CCBA6^1'
'-1768CDE18453C7^-3'
'-AC8832B707FFE^-8'
'-200AC7F9DF9B64^-B'
'-61784CD3^-D'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'391D50F9F633D8^-8'
'-1F2D19343BED^-C'
'C86ABFB3E^-D'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'461DCFC822B494^-8'
'-37E1E8FF1C95F^-C'
'D1AA64734^-D'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'3^1'
'2^1'
'2^1'
'2^1'
'240DC7F56CCE2C^8'
'10304A756F47F^2'
'206094EADE8FE^2'
'3090DF604DD7D^2'
'40C129D5BD1FC^2'
'50F1744B2C67B^2'
'5DBBF4A7F6287^2'
'344C9FCC176288^2'
'86ED7E2DB4DAC^2'
'C5535CE3D3E35^3'
'DE62031923A34^3'
'EE06A5638BFB9^3'
'0^0'
'0^0'
'0^0'
'0^0'
'643549FB3ABFA8^1'
'-1123888DF9383^-3'
'-2D6A5F237F4A94^0'
'63AFC3DDDA6A58^-4'
'-20DC055842495C^1'
'-176886EFDD18A5^-3'
'-AC8A2DCEA6E39^-8'
'-1FB179EE3B1B64^-B'
'594E0BA48^-D'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
201
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'391D301D927616^-8'
'-20DC63BDC1ED^-C'
'-1AF4A8986^-D'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'461E5F1DFC1FFC^-8'
'8F55D96B676A1^-C'
'C737C26A84^-C'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'3^1'
'2^1'
'2^1'
'2^1'
'240DC815CD6316^8'
'10304A756F47F^2'
'206094EADE8FE^2'
'3090DF604DD7D^2'
'40C129D5BD1FC^2'
'50F1744B2C67B^2'
'6121BEC09BAFA^2'
'6DEC3F1D65706^2'
'86ED7E2DB4DAC^2'
'C5535CE3D3E35^3'
'DE62031923A34^3'
'EE06A5638BFB9^3'
'0^0'
'0^0'
'0^0'
'0^0'
'64331EFCC921DC^1'
'-1124E5B7C6031E^-3'
'-2D5DC31A2D44FC^0'
'63B6FD0B56D27^-4'
'-20DEFB34F79FCA^1'
'-1767F908657143^-3'
'-AC8E0BF546C62^-8'
'-1EBE5626271B64^-B'
'65BDB1DB^-D'
'-27A8645E^-D'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'391CE263785628^-8'
'-2980D560DFED^-C'
'-54790A1D2^-D'
'-1EAAFA086^-D'
'-3D1928C^-E'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'46221B52F229F^-8'
'214BCEA851F6A^-B'
'-3D987419D^-C'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'5^1'
'3^1'
'4^1'
'2^1'
'240DC83834015^8'
'123653C41D10F^2'
'22669E398C58E^2'
'3296E8AEFBA0D^2'
'42C733246AE8C^2'
'52F77D99DA30B^2'
'6327C80F4978A^2'
'6DEC3F1D65706^2'
'86ED7E2DB4DAC^2'
'C5535CE3D3E35^3'
'DE62031923A34^3'
'EE06A5638BFB9^3'
'0^0'
'0^0'
'0^0'
'0^0'
'6430D11E0CFAB8^1'
'-112658BCB1ADA7^-3'
'-2D505C5005B544^0'
'63BEA9BEFF475C^-4'
'-20E2205BCD8FB4^1'
'-1767623A6A26A5^-3'
'-AC921DBAC87FA8^-8'
'-2289B827E3F262^-B'
'-24C435B8FFFC9^-D'
'-5903FE05DC703^-D'
'-10C328228^-D'
'6D3C2202D1D67^-E'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'391C6FFA8D08F4^-8'
'-41C62025AD8EF^-C'
'-B0EFB9937446F8^-D'
'-28863D1C4EF578^-D'
'-39B6622A^-E'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'4624D624DDCF88^-8'
'E75563D75E3CE^-C'
'-1FF2E73E4147E7^-B'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'0^0'
'6^1'
'5^1'
'4^1'
'2^1'
'240DC72EAFDECE^8'
'240DC74CCE10EE^8'
'240DC753D2AADE^8'
'240DC75AD744CE^8'
'240DC761F461B2^8'
'240DC775E332EC^8'
'240DC7811AB0BA^8'
'240DC786B66FA^8'
'240DC78C522E86^8'
'240DC7A47B59E^8'
'240DC7B4ABA456^8'
'240DC7C4DBEECA^8'
'240DC7D50C394^8'
'240DC7E53C83B6^8'
'240DC7F56CCE2C^8'
'240DC815CD6316^8'
'240DC83834015^8'
'11^2'
END_ARRAY 2 1225
BEGIN_ARRAY 3 39
'DE-0424LE-0424 '
'240DC7296E2F84^8'
'240DC81ED7A85A^8'
'A'
'0'
'1'
'2'
39
'2416674^8'
'A8C^5'
'-2F8F0002B54CAA^5'
'-2650DF4268D3D8^4'
'-AE634854CB0A6^1'
'1F35EB9A06979D^0'
'3ABC5452BD3F56^-1'
'-550CCC25DD6D9C^-2'
'-1DFC1D4FBB3DE7^-3'
'1D8C94D4E6D3A^-3'
'-42068C1E04F1FC^-4'
'3CFA272C7E2F2^-6'
'16FD1DDCA9E195^-5'
'FD5A183FBD6578^5'
'543FBD1678B4^3'
'-1895A1E0CB0041^2'
'-31AE596860FE84^0'
'1ADF95731E4B7A^-1'
'3C31B710F9C89E^-2'
'-CEF0658246DFC^-3'
'E08EC78BFD7A1^-4'
'201E2D9C42CECA^-4'
'-A20B79FBC3B298^-5'
'F19094ECE0457^-6'
'6C1E50AD3D9504^5'
'35E4A8CF0CC282^3'
'-A36179FD4F3EC8^1'
'-19A68E419F3A21^0'
'7D6F688A26D07^-2'
'289CEDB4258D84^-2'
'-6B5B7A9D216208^-3'
'46F77BEFD913F8^-4'
'18006AD016CB85^-4'
'-56F5909C729294^-5'
'5AE98DB8A0B92C^-6'
'240BDB4^8'
'1518^6'
'23^2'
'1^1'
END_ARRAY 3 39
TOTAL_ARRAYS 3
~NAIF/SPC BEGIN COMMENTS~
; /ale/osirisrex/20190303T100344S990_map_iofL2pan_V001-spiceinit_1.bsp LOG FILE
; Created 2022-07-20/11:45:40.00.
;
; BEGIN SPKMERGE COMMANDS
LEAPSECONDS_KERNEL = /Volumes/pkgs/isis3/isis_data/base/kernels/lsk/naif0012.tls
SPK_KERNEL = /ale/osirisrex/20190303T100344S990_map_iofL2pan_V001-spiceinit_1.bsp
SOURCE_SPK_KERNEL = /osirisrex/kernels/spk/orx_190301_190424_190412_od125_v1.bsp
INCLUDE_COMMENTS = NO
BODIES = -64, 2101955
BEGIN_TIME = 2019 MAR 03 10:57:40.245
END_TIME = 2019 MAR 03 11:01:45.657
SOURCE_SPK_KERNEL = /osirisrex/kernels/tspk/de424.bsp
INCLUDE_COMMENTS = NO
BODIES = 10
BEGIN_TIME = 2019 MAR 03 10:57:40.245
END_TIME = 2019 MAR 03 11:01:45.657
; END SPKMERGE COMMANDS
~NAIF/SPC END COMMENTS~
Object = IsisCube
Object = Core
StartByte = 65537
Format = Tile
TileSamples = 512
TileLines = 512
Group = Dimensions
Samples = 1024
Lines = 1024
Bands = 1
End_Group
Group = Pixels
Type = Real
ByteOrder = Lsb
Base = 0.0
Multiplier = 1.0
End_Group
End_Object
Group = Instrument
MissionName = OSIRIS-REx
SpacecraftName = OSIRIS-REX
InstrumentId = MapCam
TargetName = Bennu
StartTime = 2019-03-03T10:59:40.279
ExposureDuration = 5.285275 <Millisec>
SpacecraftClockStartCount = 3/0604882742.23115
FocusPosition = 270
PolyCamFocusPositionNaifId = None
End_Group
Group = BandBin
FilterName = PAN
Center = 650
End_Group
Group = Kernels
NaifFrameCode = -64361
LeapSecond = $base/kernels/lsk/naif0012.tls
TargetAttitudeShape = $osirisrex/kernels/pck/bennu_v16.tpc
TargetPosition = (Table, $osirisrex/kernels/tspk/de424.bsp,
$osirisrex/kernels/tspk/bennu_refdrmc_v1.bsp,
$osirisrex/kernels/tspk/sb-101955-76.bsp,
$osirisrex/kernels/pck/pck00010.tpc)
InstrumentPointing = (Table,
$osirisrex/kernels/ck/orx_sc_rel_190225_19030-
3_v01.bc, $osirisrex/kernels/fk/orx_v14.tf)
Instrument = ($osirisrex/kernels/ik/orx_ocams_v07.ti,
$osirisrex/kernels/fk/orx_struct_mapcam_v01.b-
c)
SpacecraftClock = $osirisrex/kernels/sclk/orx_sclkscet_00065.tsc
InstrumentPosition = (Table,
$osirisrex/kernels/spk/orx_190301_190424_1904-
12_od125_v1.bsp)
InstrumentAddendum = $osirisrex/kernels/iak/orex_ocams_addendum_v1-
0.ti
ShapeModel = Null
InstrumentPositionQuality = Reconstructed
InstrumentPointingQuality = Reconstructed
CameraVersion = 1
Source = isis
End_Group
End_Object
Object = Label
Bytes = 65536
End_Object
Object = Table
Name = InstrumentPointing
StartByte = 4268537
Bytes = 64
Records = 1
ByteOrder = Lsb
TimeDependentFrames = (-64361, -64000, 1)
CkTableStartTime = 604882849.43279
CkTableEndTime = 604882849.43279
CkTableOriginalSize = 1
FrameTypeCode = 3
Description = "Created by spiceinit"
Kernels = ($osirisrex/kernels/ck/orx_sc_rel_190225_190303_v01.b-
c, $osirisrex/kernels/fk/orx_v14.tf)
Group = Field
Name = J2000Q0
Type = Double
Size = 1
End_Group
Group = Field
Name = J2000Q1
Type = Double
Size = 1
End_Group
Group = Field
Name = J2000Q2
Type = Double
Size = 1
End_Group
Group = Field
Name = J2000Q3
Type = Double
Size = 1
End_Group
Group = Field
Name = AV1
Type = Double
Size = 1
End_Group
Group = Field
Name = AV2
Type = Double
Size = 1
End_Group
Group = Field
Name = AV3
Type = Double
Size = 1
End_Group
Group = Field
Name = ET
Type = Double
Size = 1
End_Group
End_Object
Object = Table
Name = InstrumentPosition
StartByte = 4268601
Bytes = 56
Records = 1
ByteOrder = Lsb
CacheType = Linear
SpkTableStartTime = 604882849.43279
SpkTableEndTime = 604882849.43279
SpkTableOriginalSize = 1.0
Description = "Created by spiceinit"
Kernels = $osirisrex/kernels/spk/orx_190301_190424_190412_od12-
5_v1.bsp
Group = Field
Name = J2000X
Type = Double
Size = 1
End_Group
Group = Field
Name = J2000Y
Type = Double
Size = 1
End_Group
Group = Field
Name = J2000Z
Type = Double
Size = 1
End_Group
Group = Field
Name = J2000XV
Type = Double
Size = 1
End_Group
Group = Field
Name = J2000YV
Type = Double
Size = 1
End_Group
Group = Field
Name = J2000ZV
Type = Double
Size = 1
End_Group
Group = Field
Name = ET
Type = Double
Size = 1
End_Group
End_Object
Object = Table
Name = BodyRotation
StartByte = 4268657
Bytes = 64
Records = 1
ByteOrder = Lsb
TimeDependentFrames = (10106, 1)
CkTableStartTime = 604882849.43279
CkTableEndTime = 604882849.43279
CkTableOriginalSize = 1
FrameTypeCode = 2
PoleRa = (85.46097, 0.0, 0.0)
PoleDec = (-60.3586, 0.0, 0.0)
PrimeMeridian = (140.68835, 2011.1457553368, 1.815e-06)
Description = "Created by spiceinit"
Kernels = ($osirisrex/kernels/tspk/de424.bsp,
$osirisrex/kernels/tspk/bennu_refdrmc_v1.bsp,
$osirisrex/kernels/tspk/sb-101955-76.bsp,
$osirisrex/kernels/pck/pck00010.tpc,
$osirisrex/kernels/pck/bennu_v16.tpc)
SolarLongitude = 37.803673453056
Group = Field
Name = J2000Q0
Type = Double
Size = 1
End_Group
Group = Field
Name = J2000Q1
Type = Double
Size = 1
End_Group
Group = Field
Name = J2000Q2
Type = Double
Size = 1
End_Group
Group = Field
Name = J2000Q3
Type = Double
Size = 1
End_Group
Group = Field
Name = AV1
Type = Double
Size = 1
End_Group
Group = Field
Name = AV2
Type = Double
Size = 1
End_Group
Group = Field
Name = AV3
Type = Double
Size = 1
End_Group
Group = Field
Name = ET
Type = Double
Size = 1
End_Group
End_Object
Object = Table
Name = SunPosition
StartByte = 4268721
Bytes = 56
Records = 1
ByteOrder = Lsb
CacheType = Linear
SpkTableStartTime = 604882849.43279
SpkTableEndTime = 604882849.43279
SpkTableOriginalSize = 1.0
Description = "Created by spiceinit"
Kernels = ($osirisrex/kernels/tspk/de424.bsp,
$osirisrex/kernels/tspk/bennu_refdrmc_v1.bsp,
$osirisrex/kernels/tspk/sb-101955-76.bsp,
$osirisrex/kernels/pck/pck00010.tpc)
Group = Field
Name = J2000X
Type = Double
Size = 1
End_Group
Group = Field
Name = J2000Y
Type = Double
Size = 1
End_Group
Group = Field
Name = J2000Z
Type = Double
Size = 1
End_Group
Group = Field
Name = J2000XV
Type = Double
Size = 1
End_Group
Group = Field
Name = J2000YV
Type = Double
Size = 1
End_Group
Group = Field
Name = J2000ZV
Type = Double
Size = 1
End_Group
Group = Field
Name = ET
Type = Double
Size = 1
End_Group
End_Object
Object = History
Name = IsisCube
StartByte = 4272596
Bytes = 2300
End_Object
Object = OriginalLabel
Name = IsisCube
StartByte = 4260464
Bytes = 8073
End_Object
Object = NaifKeywords
BODY_CODE = 2101955
BODY2101955_RADII = (0.283065, 0.271215, 0.24972)
BODY_FRAME_CODE = 10106
INS-64361_SWAP_OBSERVER_TARGET = TRUE
INS-64361_LIGHTTIME_CORRECTION = LT+S
INS-64361_LT_SURFACE_CORRECT = FALSE
INS-64361_FOCAL_LENGTH = 125.2
INS-64361_PIXEL_SIZE = 8.5
CLOCK_ET_-64_3/0604882742.23115_COMPUTED = 350fb7d0e306c241
INS-64361_TRANSX = (0.0, 0.0, 0.0085)
INS-64361_TRANSY = (0.0, 0.0085, 0.0)
INS-64361_ITRANSS = (0.0, 0.0, 117.64705882353)
INS-64361_ITRANSL = (0.0, 117.64705882353, 0.0)
INS-64361_CCD_CENTER = (511.5, 511.5)
INS-64361_OD_K_PAN = (2.21e-05, 1.71e-04, 5.96e-05,
0.0, 0.0)
INS-64361_OD_CENTER_PAN = (486.2, 450.3)
End_Object
Object = Polygon
Name = Footprint
StartByte = 4270325
Bytes = 2271
End_Object
End
KPL/PCK
Asteroid Bennu P_constants (PcK) SPICE kernel file
=======================================================================
This text PCK contains rotational and ellipsoidal shape constants
for asteroid Bennu.
Version and Date
--------------------------------------------------------
Version 1.6 -- September 14, 2020 -- Michael Nolan, LPL/UA
Jason Leonard, KinetX
Updated rotational constants based on FDS / nav pole solution
in [9] and shape model v042 [8].
Version 1.5 -- September 16, 2019 -- Michael Nolan, LPL/UA
Jason Leonard, KinetX
Updated rotational and ellipsoid constants based on FDS / nav
pole solution in [7] and shape model v042 [8].
Version 1.4 -- February 15, 2019 -- Michael Nolan, LPL/UofA
Updated rotational constants based on FDS pole solution in
[6] along with the acceleration determined in [5]. It matches
the solution in [6] at 2019 Jan 01 12:00:00 TDB to within
0.0001 degrees
Version 1.3 -- February 3, 2019 -- Michael Nolan, LPL/UofA
Updated rotational constants based on shape modelling in [4]
along with the acceleration determined in [5]. It matches
the solution in [4] at 2019 Jan 01 12:00:00 TDB
Version 1.2 -- January 11, 2019 -- Michael Nolan, LPL/UofA
Boris Semenov, NAIFJPL
Updated prime meridian location (W0) and rotation terms (W1, W2)
based on [2], [3], and Bennu lightcurve observations in flight.
Updated ellipsoid parameters based on shape modelling in [3].
Version 1.1 -- October 22, 2018 -- Michael Nolan, LPL/UofA
Boris Semenov, NAIF/JPL
Updated prime meridian location (W0) and rotation terms (W1, W2)
based on [2] and Bennu lightcurve observations in flight.
Version 1.0 -- November 4, 2014 -- Boris Semenov, NAIF/JPL
Initial version released for official use by OSIRIS-Rex project,
containing values for the pole direction, rotation period and
shape from [1].
Disclaimer
--------------------------------------------------------
This constants file may not contain the parameter values that you
prefer. Note that this file may be readily modified by you or anyone
else. NAIF suggests that you inspect this file visually before
proceeding with any critical or extended data processing.
NAIF requests that you update the ``by line'' and date if you modify
the file.
Sources
--------------------------------------------------------
The sources for the constants listed in this version of this file
are:
1) (101955) Bennu Design Reference Asteroid,
Document Number: OREX-XLSX-04.00-00001, Rev_10,
Version: 2014 October 10
(OREX-XLSX-04.00-00001_Rev_10_Bennu_DRA_Final.xlsx)
2) M.C. Nolan et al. (2018). Detection of YORP on
Bennu using HST Lightcurve Observations. Submitted
to Geophysical Research Letters.
3) O.S. Barnouin et al. (2019) Exploring the Shape of
(101955) Bennu with OSIRIS-REx. Submitted to Nature.
4) Product report for OSIRIS-REx shape model v020
5) C.W. Hergenrother at al. (2019). Photometric Properties,
Rotation State, and Operational Environment of Asteroid
(101955) Bennu from OSIRIS-REx Observations. Submitted to
Nature Communications.
6) 190215_Pole_Final in the OSIRIS-REx FDS to ALTWG/JPL/SPOC
POLE PRODUCT FILE RELEASE FORM
7) bennu_pck_fds_v42_final.tpc in the OSIRIS-REx INTERNAL FDS
to ALTWG ITERATION PRODUCT FILE RELEASE FORM FOR V42
8) Product report for OSIRIS-REx shape mode v042
9) bennu_pck_fds_v42_final_v3.tpc in the OSIRIS-REx FDS
FILE RELEASE FORM FOR UPDATED V42 PCK (V3)
Orientation constants for asteroid Bennu
--------------------------------------------------------
The inertial reference frame for the Bennu rotation constants is
J2000; this is the default reference frame for PCK orientation data.
The epoch of the Bennu rotation constants is J2000; this is Julian
ephemeris date (JED) 2451545.0.
The NAIF integer code for Bennu is 2101955. See the NAIF_IDs
required reading for further information on NAIF integer codes.
The LONG_AXIS keyword providing the offset between the longest axis
of the triaxial ellipsoid used to model Bennu and the Bennu prime
meridian is not used by SPICE geometry software. It is considered
deprecated and provided solely for backwards compatibility.
Values in the Version 1.0
The pole direction, prime meridian location, and rotation period in
this version are set to the following values from [1]:
"
3.1.1 Rotation Period 4.297461 hours
3.1.6 Pole Position (J200 RA/DEC) (+86.6388, -65.1086) deg
3.1.7 Location of Prime Meridian 89.6456 deg
(epoch J2000)
"
The rotation rate (W1) below was derived from the period and is
provided in degrees/day.
The corresponding keywords were set as follows (saved in comments
for trace-ability, lower-cased to prevent accidental use):
body2101955_pole_ra = ( 86.6388 0. 0. )
body2101955_pole_dec = ( -65.1086 0. 0. )
body2101955_pm = ( 89.6456 2010.4894494679531 0. )
body2101955_long_axis = ( 0. )
Values in the Version 1.1
The pole direction in this version is the same as in the version 1.0,
based on [1].
The prime meridian location (W0) and rotation terms (W1 and W2) in
this version are from [2], computed from fitting lightcurves, and
adjusting W0 until the phase at 2005 Sep 14 (epoch of Radar model)
matches the version 1.0 based on the phase difference between
rq36.v.mod1002-submitted and rq36.p5.pdot30.mod models.
The corresponding keywords were set as follows (saved in comments
for traceability, lower-cased to prevent accidental use):
body2101955_pole_ra = ( 86.6388 0. 0. )
body2101955_pole_dec = ( -65.1086 0. 0. )
body2101955_pm = ( 154.9182 2011.14576050637 1.5e-06 )
body2101955_long_axis = ( 0. )
Values in the Version 1.2
The pole direction in this version is from [3], based on the Nav
solution from 2019 Jan 09.
The rotation terms (W1 and W2) use the method of [2] but include
data through approach. The prime meridian location (W0) was
determined by fixing W1 and W2 and then adjusting W0 in ISIS until
rendered Approach images visually showed the chosen Prime Meridian
feature from [3] at 0 longitude.
The corresponding keywords were set as follows (saved in comments
for traceability, lower-cased to prevent accidental use):
body2101955_pole_ra = ( 85.3400 0. 0. )
body2101955_pole_dec = ( -60.1600 0. 0. )
body2101955_pm = ( 146.8404 2011.146953279 1.5e-06 )
body2101955_long_axis = ( 0. )
Values in Version 1.3
The rotation terms and pole directon in this version are from [4],
based on the Nav solution from 2019 Jan 16, OD90. These rotation
coefficients were used in creating shape model v020. The rotation
terms use the acceleration from [5] along with the rotation phase
and rate from [4] recast to give the same rate and phase as [4] at
2019 Jan 01 12:00:00 TDB ("J2019").
[4] has rotation constants of ( 45.6089 2011.17201568 0 ). J2019 is
6940 days later than J2000. The T^2 term W2 from [5] is 0.000001815.
W1 = 2011.17201568 - (2 * W2 * 6940) = 2011.14682348
W0 = 45.6089 + (2011.17201568 - 2011.14682348) * 6940
- 0.000001815 * 6940 * 6940 = 133.0258
The corresponding keywords were set as follows (saved in comments
for traceability, lower-cased to prevent accidental use):
body2101955_pole_ra = ( 85.6474 0. 0. )
body2101955_pole_dec = ( -60.1697 0. 0. )
body2101955_pm = ( 133.0258 2011.14682348 1.815e-06 )
body2101955_long_axis = ( 0. )
Values in Version 1.4
The rotation terms and pole directon in this version are from [6],
Delivered from FDS to SPOC on 2019 Feb 15.
The rotation terms use the acceleration from [5] along with the
rotation phase and rate from [6] recast to give the same rate
and phase as [6] at 2019 Jan 01 12:00:00 TDB ("J2019").
[6] has rotation constants of:
Pole_RA : 8.545674147094455E+01 deg
Pole_Dec :-6.035739923373426E+01 deg
PM : 4.839868214726448E+01 deg (j2000)
Rotation_Rate : 2.011171643153616E+03 deg/day
J2019 is 6940 days later than J2000. The T^2 term W2 from [5]
is 0.000001815. W2 is half the acceleration rate.
W1 = 2011.17164315 - (2 * .000001815 * 6940) = 2011.14645095
W0 = 48.3987 + (2011.17164315 - 2011.14645095) * 6940
- 0.000001815 * 6940 * 6940 = 135.8156
The corresponding keywords were set as follows (saved in
comments for traceability, lower-cased to prevent accidental use):
body2101955_pole_ra = ( 85.4567 0. 0. )
body2101955_pole_dec = ( -60.3574 0. 0. )
body2101955_pm = ( 135.8156 2011.14645095 1.815e-06 )
body2101955_long_axis = ( 0. )
Values in Previous Version 1.5
The rotation terms and pole directon in this version are from [7],
Delivered from FDS to SPOC on 2019 Sep 15.
The rotation terms include the acceleration from [5] as part of
the solution in [7], however it was not fit and no uncertainty was
calculated. The additional corrections used in Version 1.4 were
therefore not needed or applied.
From [7], the uncertainties in the rotational constants are:
"
SIG_Pole_RA : 0.00034 deg
SIG_Pole_Dec : 0.00010 deg
SIG_PM : 0.00034 deg
SIG_Rotation_Rate : 2.778e-11 deg/sec
"
The rotation sigma converted to deg/day is 2.778E-11 * 86400
= 0.000002400 deg/day
Those are all formal fit uncertainties. Estimated actual
uncertainties are:
SIG_RA = 0.005 deg
SIG_Dec = 0.010 deg
SIG_Spin = 1.0e-08 deg/s (0.00086 deg/day)
SIG_PM = 0.1 deg (~50 cm)
The corresponding keywords were set as follows (saved in comments
for traceability, lower-cased to prevent accidental use):
body2101955_pole_ra = ( 85.45218 0. 0. )
body2101955_pole_dec = ( -60.36780 0. 0. )
body2101955_pm = ( 139.13621 2011.1459760340 1.815e-06 )
body2101955_long_axis = ( 0. )
Values in Current Version 1.6
The rotation terms and pole directon in this version are from [9],
Delivered from FDS to SPOC via the orx FOB on 2020 Sep 4.
The rotation terms include the acceleration from [5] as part of
the solution in [9], however it was not fit and no uncertainty was
calculated. The additional corrections used in Version 1.4 were
therefore not needed or applied.
From [9], the formal fit uncertainties in the rotational constants
are:
SIG_Pole_RA : 0.0013 deg
SIG_Pole_Dec : 0.00058 deg
SIG_PM : 0.0012 deg
SIG_Rotation_Rate : 2.5e-06 deg/day
Estimated actual uncertainties are:
SIG_Pole_RA : 0.005 deg (same as v15)
SIG_Pole_Dec : 0.010 deg (same as v15)
SIG_PM(j2000) : 0.025 deg
SIG_Rotation_Rate : 2.5e-06 deg/day
The rotational acceleration is from [5] and was not fit; no
uncertainty was estimated.
These updated pck Bennu orientation parameters are based on combined
OD filter of Detailed Survey, Recon B, CP/R and MP/R. This OD
solution assumed the V42 shape model with landmarks scaled at
0.99896 and radio/landmark tracking spans as follows:
Detailed Survey March 5-30, 2019, April 2-20, 2019
Recon-B Jan 14-23, 2020
CP Rehearsal Apr 1-18, 2020
MP Rehearsal July 9-August 11, 2020
\begindata
BODY2101955_POLE_RA = ( 85.46097 0. 0. )
BODY2101955_POLE_DEC = ( -60.35860 0. 0. )
BODY2101955_PM = ( 140.68835 2011.145755336826 1.815E-06 )
BODY2101955_LONG_AXIS = ( 0. )
\begintext
Radii for asteroid Bennu
--------------------------------------------------------
Values in Versions 1.0 and 1.1
The radii in this version are set based on following values from [1]:
"
2.1.2 Polar Dimension 508 meters
2.1.3 Equatorial Dimensions 565 x 535 meters
"
The radii below are 1/2s of the polar and equatorial dimensions
provided in kilometers. The corresponding keywords were set as
follows (saved in comments for trace-ability, lower-cased to
prevent accidental use):
body2101955_radii = ( 0.2825 0.2675 0.254 )
Values in Version 1.2 and Version 1.3
The radii in this version are set based on following values from [3]:
"The extent of the GDTM is (563.87 +/- 0.17) x (536.09 +/- 0.17)
x (498.42 +/- 0.17) m."
The radii below are 1/2s of the polar and equatorial dimensions
provided in kilometers.
The corresponding keywords were set as
follows (saved in comments for trace-ability, lower-cased to
prevent accidental use):
body2101955_radii = ( 0.281935 0.268045 0.24921 )
Values in Version 1.4
From [4]:
"Extent (km):
X: [-0.27915000915527344, 0.28558000922203064]
Y: [-0.263949990272522, 0.2721500098705292]
Z: [-0.2445800006389618, 0.25391000509262085]
"
The radii below are the mean of the + and - extents, ignoring the
floating point rounding errors.
The corresponding keywords were set as
follows (saved in comments for trace-ability, lower-cased to
prevent accidental use):
body2101955_radii = ( 0.282365 0.268050 0.249245 )
Values in the Version 1.5 and Current Version 1.6
From [8]:
"Extent (km):
X: [-0.27955999970436096, 0.2865700125694275]
Y: [-0.2648099958896637, 0.27761998772621155]
Z: [-0.2448599934577942, 0.25457999110221863]
"
The radii below are the mean of the + and - extents, ignoring the
floating point rounding errors.
\begindata
BODY2101955_RADII = ( 0.283065 0.271215 0.249720 )
\begintext
End of PCK file.
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.
KPL/SCLK
OSIRIS-REx SCLK File
===========================================================================
This file is a SPICE spacecraft clock (SCLK) kernel containing
information required for OSIRIS-REx (ORX) spacecraft on-board clock
to UTC conversion.
Production/History of this SCLK file
--------------------------------------------------------
This file was generated by the NAIF utility program MAKCLK, version
5.0.0, from the most recent ORX spacecraft SCLKvSCET file (see
corresponding sections of these comments for a copy of the source
SCLKvSCET file and MAKCLK setup file).
Usage
--------------------------------------------------------
This file must be loaded into the user's program by a call to the
FURNSH subroutine
CALL FURNSH ( 'this_file_name; ) -- FORTRAN
furnsh_c ( "this_file_name" ); -- C
cspice_furnsh, 'this_file_name' -- IDL
cspice_furnsh( 'this_file_name' ) -- MATLAB
in order to use the SPICELIB SCLK family of subroutines to convert
ORX spacecraft on-board clock to ET and vice versa.
SCLK Format
--------------------------------------------------------
The on-board clock, the conversion for which is provided by this SCLK
file, consists of two fields:
SSSSSSSSSS.FFFFF
where:
SSSSSSSSSS -- count of on-board seconds
FFFFF -- count of fractions of a second with one fraction
being 1/65536 of a second; normally this field value
is within 0..65535 range.
References
--------------------------------------------------------
1. SCLK Required Reading Document
2. MAKCLK User's Guide Document
3. SFOC SCLKvSCET SIS Document
Inquiries
--------------------------------------------------------
If you have any questions regarding this file contact NAIF at JPL
Charles H. Acton, Jr
(818) 354-3869
Chuck.Acton@jpl.nasa.gov
Boris V. Semenov
(818) 354-8136
Boris.Semenov@jpl.nasa.gov
Source SCLKvSCET File
--------------------------------------------------------
CCSD3ZS00001$$sclk$$NJPL3KS0L015$$scet$$
MISSION_NAME=OSIRIS_REX;
SPACECRAFT_NAME=OSIRIS_REX;
DATA_SET_ID=SCLK_SCET;
FILE_NAME=ORX_SCLKSCET.00065;
PRODUCT_CREATION_TIME=2021-01-27T23:30:00;
PRODUCT_VERSION_ID=65;
PRODUCER_ID=SCT;
APPLICABLE_START_TIME=2000-001T00:00:00;
APPLICABLE_STOP_TIME=2030-001T00:00:00;
MISSION_ID=24;
SPACECRAFT_ID=64;
CCSD3RE00000$$scet$$NJPL3IS00613$$data$$
*____SCLK0_______ ____SCET0____________ _DUT__ _SCLKRATE___
0000000000.000 2000-001T12:00:00.000 64.184 01.000000000
0189345600.000 2005-365T23:59:59.999 64.184 00.000010000
0189345601.000 2006-001T00:00:00.000 65.184 01.000000000
0284040001.000 2009-001T00:00:00.000 65.184 00.000010000
0284040002.000 2009-001T00:00:00.001 66.184 01.000000000
0394372802.000 2012-183T00:00:00.000 66.184 00.000010000
0394372803.000 2012-183T00:00:00.001 67.184 01.000000000
0488980803.000 2015-182T00:00:00.000 67.184 00.000010000
0488980804.000 2015-182T00:00:00.001 68.184 01.000000000
0526739389.000 2016-254T00:29:45.714 68.184 01.000000430
0527616004.000 2016-264T04:00:01.098 68.184 01.000000518
0528836978.000 2016-278T07:09:35.732 68.184 01.000000579
0530193245.000 2016-293T23:54:03.543 68.184 01.000000673
0532728306.000 2016-323T08:05:06.257 68.184 01.000000692
0536500798.000 2017-001T00:00:00.868 68.184 00.000010000
0536500799.000 2017-001T00:00:00.869 69.184 01.000000692
0536864089.000 2017-005T04:54:51.111 69.184 01.000000662
0538228125.000 2017-020T23:48:48.003 69.184 01.000000622
0539066532.000 2017-030T16:42:15.529 69.184 01.000000641
0539930246.000 2017-040T16:37:30.080 69.184 01.000000564
0542652700.000 2017-072T04:51:45.612 69.184 01.000000633
0543326635.000 2017-080T00:04:01.028 69.184 01.000000515
0544429511.000 2017-092T18:25:17.574 69.184 01.000000645
0545117594.000 2017-100T17:33:20.956 69.184 01.000000553
0545731054.000 2017-107T19:57:41.291 69.184 01.000000371
0546276287.000 2017-114T03:24:54.488 69.184 01.000000392
0548179136.000 2017-136T03:59:04.219 69.184 01.000000312
0549510957.000 2017-151T13:56:05.636 69.184 01.000000359
0550907027.000 2017-167T17:43:56.134 69.184 01.000000389
0553917053.000 2017-202T13:51:03.314 69.184 01.000000489
0554606432.000 2017-210T13:20:42.656 69.184 01.000000619
0555129307.000 2017-216T14:35:17.978 69.184 01.000000552
0555990271.000 2017-226T13:44:42.450 69.184 01.000000656
0556267441.000 2017-229T18:44:12.632 69.184 01.000000535
0559745979.000 2017-270T00:59:52.494 69.184 01.000000675
0560348024.000 2017-277T00:13:57.896 69.184 01.000000603
0563499210.000 2017-313T11:33:45.795 69.184 01.000000644
0569288577.000 2018-015T11:43:16.526 69.184 01.000000550
0575685011.000 2018-089T12:30:34.043 69.184 01.000000293
0579136157.000 2018-129T11:09:41.055 69.184 01.000000182
0581713869.000 2018-159T07:11:33.523 69.184 01.000000220
0582733057.000 2018-171T02:18:01.747 69.184 01.000000371
0583752597.000 2018-182T21:30:22.124 69.184 01.000000269
0583752597.000 2018-182T21:30:22.124 69.184 01.000000207
0584428105.000 2018-190T17:08:50.263 69.184 01.000000342
0586152850.000 2018-210T16:14:35.852 69.184 01.000000300
0586943999.000 2018-219T20:00:25.089 69.184 01.000000368
0587795095.000 2018-229T16:25:21.402 69.184 01.000000532
0589352730.000 2018-247T17:05:57.229 69.184 01.000000555
0591504062.000 2018-272T14:41:30.426 69.184 01.000000619
0592212796.000 2018-280T19:33:44.864 69.184 01.000000679
0593420891.000 2018-294T19:08:40.684 69.184 01.000000743
0594719293.000 2018-309T19:48:43.648 69.184 01.000000690
0599111100.000 2018-360T15:45:33.678 69.184 01.000000736
0600746880.000 2019-014T14:08:34.881 69.184 01.000000728
0605243947.000 2019-066T15:19:45.155 69.184 01.000000706
0608865774.000 2019-108T13:23:34.718 69.184 01.000000741
0609645774.000 2019-117T14:03:35.295 69.184 01.000000734
0611719372.000 2019-141T14:03:34.816 69.184 01.000000673
0613297039.000 2019-159T20:18:02.878 69.184 01.000000517
0615089285.000 2019-180T14:08:49.804 69.184 01.000000707
0618394636.000 2019-218T20:18:03.135 69.184 01.000000421
0619168399.000 2019-227T19:14:06.461 69.184 01.000000337
0620890586.000 2019-247T17:37:14.038 69.184 01.000000317
0622174066.000 2019-262T14:08:34.444 69.184 01.000000594
0623038066.000 2019-272T14:08:34.954 69.184 01.000000643
0623480472.000 2019-277T17:02:01.238 69.184 01.000000662
0625553890.000 2019-301T16:59:00.610 69.184 01.000000584
0626765577.000 2019-315T17:33:48.317 69.184 01.000000719
0627975076.000 2019-329T17:32:08.187 69.184 01.000000529
0629701578.000 2019-349T17:07:11.102 69.184 01.000000660
0630122856.000 2019-354T14:08:29.382 69.184 01.000000712
0632297501.000 2020-014T18:12:35.932 69.184 01.000000761
0634544326.000 2020-040T18:19:42.642 69.184 01.000000729
0636084458.000 2020-058T14:08:35.764 69.184 01.000000672
0638259523.000 2020-083T18:19:42.225 69.184 01.000000640
0640505921.000 2020-109T18:19:41.658 69.184 01.000000755
0643875519.000 2020-148T18:19:42.199 69.184 01.000000703
0646020451.000 2020-173T14:08:35.706 69.184 01.000000574
0646452451.000 2020-178T14:08:35.953 69.184 01.000000689
0646884698.000 2020-183T14:12:43.249 69.184 01.000000645
0648542169.000 2020-202T18:37:15.318 69.184 01.000000601
0650945248.000 2020-230T14:08:35.739 69.184 01.000000276
0651290848.000 2020-234T14:08:35.835 69.184 01.000000555
0652003114.000 2020-242T19:59:42.230 69.184 01.000000519
0653204930.000 2020-256T17:49:58.846 69.184 01.000000466
0655351347.000 2020-281T14:03:36.846 69.184 01.000000441
0656841511.000 2020-298T19:59:41.503 69.184 01.000000338
0657621511.000 2020-307T20:39:41.766 69.184 01.000000015
0661253909.000 2020-349T21:39:39.820 69.184 01.000000065
0663052945.000 2021-004T17:23:35.937 69.184 01.000000128
0664176505.000 2021-017T17:29:36.081 69.184 01.000000216
CCSD3RE00000$$data$$CCSD3RE00000$$sclk$$
MAKCLK Setup file
--------------------------------------------------------
SCLKSCET_FILE = ORX_SCLKSCET.00065.clean
OLD_SCLK_KERNEL = /sdma/naif/ops/projects/ORX/scet/bin/orx_template.tsc
FILE_NAME = ORX_SCLKSCET.00065.tsc
NAIF_SPACECRAFT_ID = -64
LEAPSECONDS_FILE = /sdma/naif/ops/projects/ORX/lsk/orx.tls
PARTITION_TOLERANCE = 2560
LOG_FILE = ORX_SCLKSCET.00065.log
Kernel DATA
--------------------------------------------------------
\begindata
SCLK_KERNEL_ID = ( @2021-02-01/21:55:03.00 )
SCLK_DATA_TYPE_64 = ( 1 )
SCLK01_TIME_SYSTEM_64 = ( 2 )
SCLK01_N_FIELDS_64 = ( 2 )
SCLK01_MODULI_64 = ( 4294967296 65536 )
SCLK01_OFFSETS_64 = ( 0 0 )
SCLK01_OUTPUT_DELIM_64 = ( 1 )
SCLK_PARTITION_START_64 = ( 0.0000000000000E+00
3.4520392597504E+13
3.5724826640384E+13 )
SCLK_PARTITION_END_64 = ( 3.4520392644231E+13
3.5724826636333E+13
2.8147497671065E+14 )
SCLK01_COEFFICIENTS_64 = (
0.0000000000000E+00 6.4184000000000E+01 1.0000000000000E+00
1.2408953307136E+13 1.8934566518400E+08 1.0000000000106E+00
1.8614845571072E+13 2.8404006618500E+08 1.0000000000000E+00
2.5845616017408E+13 3.9437286718500E+08 1.0000000000000E+00
3.2045845970944E+13 4.8898086818500E+08 1.0000000000001E+00
3.4520392644231E+13 5.2673945389800E+08 1.0000004380486E+00
3.4577842484871E+13 5.2761606928200E+08 1.0000005192576E+00
3.4657860236935E+13 5.2883704391600E+08 1.0000005979648E+00
3.4746744551047E+13 5.3019331172700E+08 1.0000006761178E+00
3.4912882308743E+13 5.3272837444100E+08 1.0000006923804E+00
3.5160116409991E+13 5.3650087005300E+08 1.0000006661344E+00
3.5183924983431E+13 5.3686416029500E+08 1.0000006539417E+00
3.5273318446727E+13 5.3822819718700E+08 1.0000006273803E+00
3.5328264287879E+13 5.3906660471300E+08 1.0000006379427E+00
3.5384868648583E+13 5.3993031926400E+08 1.0000005627276E+00
3.5563287393927E+13 5.4265277479600E+08 1.0000006172702E+00
3.5607454398087E+13 5.4332671021200E+08 1.0000004950693E+00
3.5679732479623E+13 5.4442958675800E+08 1.0000006449998E+00
3.5724826683060E+13 5.4511767014000E+08 1.0000005460829E+00
3.5765030397620E+13 5.4573113047500E+08 1.0000003613135E+00
3.5800762787508E+13 5.4627636367200E+08 1.0000003841608E+00
3.5925467899572E+13 5.4817921340300E+08 1.0000003131052E+00
3.6012750120628E+13 5.4951103482000E+08 1.0000003567156E+00
3.6104242964148E+13 5.5090710531800E+08 1.0000003920232E+00
3.6301508028084E+13 5.5391713249800E+08 1.0000004960987E+00
3.6346687170228E+13 5.5460651184000E+08 1.0000006158260E+00
3.6380954306228E+13 5.5512938716200E+08 1.0000005482227E+00
3.6437378442932E+13 5.5599035163400E+08 1.0000006566364E+00
3.6455543056052E+13 5.5626752181600E+08 1.0000005352823E+00
3.6683512522420E+13 5.5974606167800E+08 1.0000006677243E+00
3.6722968143540E+13 5.6034810708000E+08 1.0000006026302E+00
3.6929484269236E+13 5.6349929497900E+08 1.0000006444573E+00
3.7308896224948E+13 5.6928866571000E+08 1.0000005498376E+00
3.7728092923572E+13 5.7568510322700E+08 1.0000002932359E+00
3.7954267227828E+13 5.7913625023900E+08 1.0000001815564E+00
3.8123200161460E+13 5.8171396270700E+08 1.0000002197828E+00
3.8189993666228E+13 5.8273315093100E+08 1.0000003697746E+00
3.8256810239668E+13 5.8375269130800E+08 1.0000002057712E+00
3.8301080331956E+13 5.8442819944700E+08 1.0000003414998E+00
3.8414113220276E+13 5.8615294503600E+08 1.0000002995643E+00
3.8465961961140E+13 5.8694409427300E+08 1.0000003677611E+00
3.8521739388596E+13 5.8779519058600E+08 1.0000005309331E+00
3.8623820555956E+13 5.8935282641300E+08 1.0000005563995E+00
3.8764810249908E+13 5.9150415961000E+08 1.0000006180033E+00
3.8811257841332E+13 5.9221289404800E+08 1.0000006787546E+00
3.8890431555252E+13 5.9342098986800E+08 1.0000007424511E+00
3.8975523628724E+13 5.9471939283200E+08 1.0000006899210E+00
3.9263345092276E+13 5.9911120286200E+08 1.0000007354290E+00
3.9370547570356E+13 6.0074698406500E+08 1.0000007280301E+00
3.9665267353268E+13 6.0524405433900E+08 1.0000007076539E+00
3.9902627407540E+13 6.0886588390200E+08 1.0000007397436E+00
3.9953745487540E+13 6.0964588447900E+08 1.0000007335077E+00
4.0089640806068E+13 6.1171948400000E+08 1.0000006731459E+00
4.0193034790580E+13 6.1329715206200E+08 1.0000005166701E+00
4.0310491424436E+13 6.1508939898800E+08 1.0000007052201E+00
4.0527110907572E+13 6.1839475231900E+08 1.0000004213176E+00
4.0577820239540E+13 6.1916851564500E+08 1.0000003350391E+00
4.0690685486772E+13 6.2089070322200E+08 1.0000003163275E+00
4.0774799632052E+13 6.2217418362800E+08 1.0000005902778E+00
4.0831422736052E+13 6.2303818413800E+08 1.0000006419444E+00
4.0860416255668E+13 6.2348059042200E+08 1.0000006617093E+00
4.0996299777716E+13 6.2555400979400E+08 1.0000005834840E+00
4.1075708896948E+13 6.2676569750100E+08 1.0000007193061E+00
4.1154974623412E+13 6.2797519737100E+08 1.0000005299733E+00
4.1268122658484E+13 6.2970170028600E+08 1.0000006646442E+00
4.1295731533492E+13 6.3012297856600E+08 1.0000007127600E+00
4.1438249068212E+13 6.3229762511600E+08 1.0000007610739E+00
4.1585496991412E+13 6.3454445182600E+08 1.0000007285090E+00
4.1686431082164E+13 6.3608458494800E+08 1.0000006717041E+00
4.1828976142004E+13 6.3825965140900E+08 1.0000006379101E+00
4.1976196081332E+13 6.4050605084200E+08 1.0000007540959E+00
4.2197026055860E+13 6.4387565138300E+08 1.0000007025864E+00
4.2337596319412E+13 6.4602058489000E+08 1.0000005717592E+00
4.2365907871412E+13 6.4645258513700E+08 1.0000006847937E+00
4.2394235610804E+13 6.4688483243300E+08 1.0000006449585E+00
4.2502859630260E+13 6.4854230450200E+08 1.0000005913247E+00
4.2660347815604E+13 6.5094538492300E+08 1.0000002777780E+00
4.2682997057204E+13 6.5129098501900E+08 1.0000005545681E+00
4.2729676121780E+13 6.5200325141400E+08 1.0000005125576E+00
4.2808438335156E+13 6.5320506803000E+08 1.0000004658927E+00
4.2949105919668E+13 6.5535148603000E+08 1.0000004408911E+00
4.3046765307572E+13 6.5684165068700E+08 1.0000003371795E+00
4.3097883387572E+13 6.5762165095000E+08 1.0000000148662E+00
4.3335936222900E+13 6.6125404900400E+08 1.0000000650349E+00
4.3453837846196E+13 6.6305308512100E+08 1.0000001281640E+00
4.3527471474356E+13 6.6417664526500E+08 1.0000002160000E+00 )
\begintext
End of SCLK file.
DAFETF NAIF DAF ENCODED TRANSFER FILE
'DAF/CK '
'2'
'6'
'ORX MAPCAM ALIGNMENT '
BEGIN_ARRAY 1 10
'ORX MAPCAM ALIGNMENT '
'240DC4D0A941^C'
'240DC5C95694^C'
'-FB69'
'-FA00'
'2'
'1'
10
'FFFFD2DAEBC3D8^0'
'30F58E67A0558A^-2'
'-5C3D183B0362FC^-2'
'6E7EBB274E29FC^-2'
'0^0'
'0^0'
'0^0'
'100000C55B42EA^-3'
'240DC4D0A941^C'
'240DC5C95694^C'
END_ARRAY 1 10
TOTAL_ARRAYS 1
~NAIF/SPC BEGIN COMMENTS~
This CK is for testing with the image: /osirisrex/tsts/mapcam/truth/20190303T100344S990_map_iofL2pan_V001-spiceinit.cub
This CK was generated using the following command: {}
~NAIF/SPC END COMMENTS~
DAFETF NAIF DAF ENCODED TRANSFER FILE
'DAF/CK '
'2'
'6'
'ORX MAPCAM ALIGNMENT '
BEGIN_ARRAY 1 10
'ORX MAPCAM ALIGNMENT '
'240DC6BF0105^C'
'240DC7B46A7A^C'
'-FB69'
'-FA00'
'2'
'1'
10
'FFFFD2DAEBC3D8^0'
'30F58E67A0558A^-2'
'-5C3D183B0362FC^-2'
'6E7EBB274E29FC^-2'
'0^0'
'0^0'
'0^0'
'100000C55B42EA^-3'
'240DC6BF0105^C'
'240DC7B46A7A^C'
END_ARRAY 1 10
TOTAL_ARRAYS 1
~NAIF/SPC BEGIN COMMENTS~
This CK is for testing with the image: /osirisrex/tsts/mapcam/truth/20190303T100344S990_map_iofL2pan_V001-spiceinit.cub
This CK was generated using the following command: {}
~NAIF/SPC END COMMENTS~
This diff is collapsed.
This diff is collapsed.
{"isis_camera_version": 1, "image_lines": 1024, "image_samples": 1024, "name_platform": "OSIRIS-REX", "name_sensor": "MapCam", "reference_height": {"maxheight": 1000, "minheight": -1000, "unit": "m"}, "name_model": "USGS_ASTRO_FRAME_SENSOR_MODEL", "center_ephemeris_time": 604882849.4327942, "radii": {"semimajor": 0.283065, "semiminor": 0.24972, "unit": "km"}, "body_rotation": {"time_dependent_frames": [10106, 1], "ck_table_start_time": 604882849.4327942, "ck_table_end_time": 604882849.4327942, "ck_table_original_size": 1, "ephemeris_times": [604882849.4327942], "quaternions": [[-0.24468662154888665, -0.8995476917306681, 0.3540944064834505, 0.07456244922312974]], "angular_velocities": [[1.5901075118354376e-05, 0.00020029780775859552, -0.0003531029098106748]], "reference_frame": 1}, "instrument_pointing": {"time_dependent_frames": [-64000, 1], "ck_table_start_time": 604882849.4327942, "ck_table_end_time": 604882849.4327942, "ck_table_original_size": 1, "ephemeris_times": [604882849.4327942], "quaternions": [[-0.49481036455664573, 0.4609332756246706, -0.3664592415687433, -0.6390702956780986]], "angular_velocities": [[5.395053026508693e-06, -5.108637996042997e-06, 2.277063782852625e-06]], "reference_frame": 1, "constant_frames": [-64000], "constant_rotation": [1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0]}, "naif_keywords": {"BODY2101955_RADII": [0.283065, 0.271215, 0.24972], "BODY_FRAME_CODE": 10106, "BODY_CODE": 2101955, "INS-64361_TOLERANCE": 1e-10, "INS-64361_ITRANSL": [0.0, 117.64705882353, 0.0], "INS-64361_ITRANSS": [0.0, 0.0, 117.64705882353], "FRAME_-64361_CLASS": 3.0, "INS-64361_FOCAL_LENGTH": 125.2, "FRAME_-64361_CENTER": -64.0, "INS-64361_WAVELENGTH_RANGE": [440.0, 890.0], "CK_-64361_SPK": -64.0, "INS-64361_OD_CENTER_PAN": [486.2, 450.3], "INS-64361_PIXEL_LINES": 1024.0, "INS-64361_OD_CENTER_B": [497.3, 456.8], "INS-64361_TRANSX": [0.0, 0.0, 0.0085], "INS-64361_TRANSY": [0.0, 0.0085, 0.0], "INS-64361_OD_CENTER_V": [494.3, 473.8], "INS-64361_OD_CENTER_W": [510.3, 461.2], "INS-64361_OD_CENTER_X": [504.5, 450.5], "INS-64361_F/NUMBER": 3.295, "INS-64361_LT_SURFACE_CORRECT": "FALSE", "INS-64361_FOV_ANGLE_UNITS": "DEGREES", "INS-64361_SWAP_OBSERVER_TARGET": "TRUE", "INS-64361_FOV_REF_ANGLE": 1.9849999999999999, "INS-64361_DEBUG_MODEL": "FALSE", "INS-64361_BORESIGHT": [0.0, 0.0, 1.0], "INS-64361_LIGHTTIME_CORRECTION": "LT+S", "INS-64361_FOV_CLASS_SPEC": "ANGLES", "INS-64361_FOV_REF_VECTOR": [1.0, 0.0, 0.0], "INS-64361_IFOV": 67.675, "INS-64361_FOV_CENTER_PIXEL": [511.5, 511.5], "INS-64361_DISTORTION_MODEL": "OPENCV", "INS-64361_FOV_SHAPE": "RECTANGLE", "INS-64361_FOV_CROSS_ANGLE": 1.9849999999999999, "INS-64361_PIXEL_SIZE": 8.5, "INS-64361_FL_UNCERTAINTY": 0.5, "INS-64361_FOV_FRAME": "ORX_OCAMS_MAPCAM", "INS-64361_OD_K_PAN": [2.21e-05, 0.000171, 5.96e-05, 0.0, 0.0], "FRAME_-64361_NAME": "ORX_OCAMS_MAPCAM", "INS-64361_OD_K_B": [5.06e-05, 0.00016299999999999998, 6e-05, 0.0, 0.0], "INS-64361_PIXEL_SAMPLES": 1024.0, "INS-64361_OD_K_V": [7.450000000000001e-05, 0.00022, 6.22e-05, 0.0, 0.0], "INS-64361_OD_K_W": [2.21e-05, 0.000132, 6.08e-05, 0.0, 0.0], "INS-64361_OD_K_X": [2.44e-05, -3.6099999999999997e-05, 8.869999999999999e-05, 0.0, 0.0], "INS-64361_CCD_CENTER": [511.5, 511.5], "FRAME_-64361_CLASS_ID": -64361.0, "CK_-64361_SCLK": -64.0, "INS-64361_SPOC_FITS_NAXIS1": [0.0, 1.0, 0.0], "INS-64361_SPOC_FITS_NAXIS2": [1.0, 0.0, 0.0], "BODY2101955_PM": [140.68835, 2011.145755336826, 1.815e-06], "BODY2101955_POLE_DEC": [-60.3586, 0.0, 0.0], "BODY2101955_POLE_RA": [85.46097, 0.0, 0.0], "BODY2101955_LONG_AXIS": 0.0, "OBJECT_2101955_FRAME": "IAU_BENNU"}, "detector_sample_summing": 1, "detector_line_summing": 1, "focal_length_model": {"focal_length": 125.2}, "detector_center": {"line": 511.5, "sample": 511.5}, "focal2pixel_lines": [0.0, 117.64705882353, 0.0], "focal2pixel_samples": [0.0, 0.0, 117.64705882353], "optical_distortion": {"radial": {"coefficients": [2.21e-05, 0.000171, 5.96e-05]}}, "starting_detector_line": 0, "starting_detector_sample": 0, "instrument_position": {"spk_table_start_time": 604882849.4327942, "spk_table_end_time": 604882849.4327942, "spk_table_original_size": 1, "ephemeris_times": [604882849.4327942], "positions": [[6.263896259086776, -0.17789034115912727, -2.0516825743917164]], "velocities": [[-1.6329228503551952e-05, 5.936927842752571e-06, -2.2327914272865625e-05]], "reference_frame": 1}, "sun_position": {"spk_table_start_time": 604882849.4327942, "spk_table_end_time": 604882849.4327942, "spk_table_original_size": 1, "ephemeris_times": [604882849.4327942], "positions": [[94633635.43566033, -98012563.34059505, -55786970.073704116]], "velocities": [[27.39074526770413, 14.215569043304772, 7.916498653173447]], "reference_frame": 1}}
\ No newline at end of file
import os
import unittest
from unittest.mock import PropertyMock, patch
import pytest
import json
import pvl
import numpy as np
import ale
from ale.drivers.osirisrex_drivers import OsirisRexCameraIsisLabelNaifSpiceDriver
from conftest import get_image_label, get_image_kernels, get_isd, convert_kernels, compare_dicts, get_table_data
@pytest.fixture()
def test_kernels(scope="module"):
kernels = get_image_kernels('20190303T100344S990_map_iofL2pan_V001')
updated_kernels, binary_kernels = convert_kernels(kernels)
yield updated_kernels
for kern in binary_kernels:
os.remove(kern)
@pytest.mark.parametrize("image", ['20190303T100344S990_map_iofL2pan_V001'])
def test_osirisrex_load(test_kernels, image):
label_file = get_image_label(image, 'isis')
isd_str = ale.loads(label_file, props={'kernels': test_kernels})
compare_isd = get_isd("osirisrex")
isd_obj = json.loads(isd_str)
print(json.dumps(isd_obj, indent=2))
assert compare_dicts(isd_obj, compare_isd) == []
# ========= Test osirisrex isislabel and naifspice driver =========
class test_osirisrex_isis_naif(unittest.TestCase):
def setUp(self):
label = get_image_label("20190303T100344S990_map_iofL2pan_V001", "isis")
self.driver = OsirisRexCameraIsisLabelNaifSpiceDriver(label)
def test_instrument_id(self):
assert self.driver.instrument_id == "ORX_OCAMS_MAPCAM"
def test_sensor_name(self):
assert self.driver.sensor_name == "MapCam"
def test_exposure_duration(self):
np.testing.assert_almost_equal(self.driver.exposure_duration, 0.005285275)
def test_sensor_frame_id(self):
assert self.driver.sensor_frame_id == -64000
def test_detector_center_sample(self):
with patch('ale.drivers.osirisrex_drivers.spice.gdpool', return_value=np.array([12345, 100])) as gdpool, \
patch('ale.drivers.osirisrex_drivers.spice.bods2c', return_value=54321) as bods2c:
assert self.driver.detector_center_sample == 12345
bods2c.assert_called_with('ORX_OCAMS_MAPCAM')
gdpool.assert_called_with('INS54321_CCD_CENTER', 0, 2)
def test_detector_center_line(self):
with patch('ale.drivers.osirisrex_drivers.spice.gdpool', return_value=np.array([12345, 100])) as gdpool, \
patch('ale.drivers.osirisrex_drivers.spice.bods2c', return_value=54321) as bods2c:
assert self.driver.detector_center_line == 100
bods2c.assert_called_with('ORX_OCAMS_MAPCAM')
gdpool.assert_called_with('INS54321_CCD_CENTER', 0, 2)
def test_filter_name(self):
assert self.driver.filter_name == "PAN"
def test_odtk(self):
with patch('ale.drivers.osirisrex_drivers.spice.bods2c', return_value=54321) as bods2c, \
patch('ale.drivers.osirisrex_drivers.spice.gdpool', return_value=np.array([2.21e-05, 1.71e-04, 5.96e-05])) as gdpool:
assert self.driver.odtk == [2.21e-05, 1.71e-04, 5.96e-05]
gdpool.assert_called_with("INS54321_OD_K_PAN", 0, 3)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment