curryer.kernels.ephemeris¶
ephemeris
@author: Brandon Stone
Attributes¶
Classes¶
Ephemeris kernel types. |
|
Ephemeris input data types. |
|
Ephemeris writer time types. |
|
Ephemeris kernel common properties. |
|
Ephemeris state kernel properties. |
|
Ephemeris state kernel properties. |
|
Create or append to a SPICE ephemeris (SPK) kernel. |
|
Create or append to a SPICE ephemeris (SPK) kernel using table-like input |
|
Create or append to a SPICE ephemeris (SPK) kernel using TLE. |
Module Contents¶
- curryer.kernels.ephemeris.logger¶
- class curryer.kernels.ephemeris.EphemerisTypes(*args, **kwds)¶
Bases:
enum.EnumEphemeris kernel types.
- INTERP_LAGRANGE_EVEN = 8¶
- INTERP_LAGRANGE_UNEVEN = 9¶
- INTERP_HERMITE_EVEN = 12¶
- INTERP_HERMITE_UNEVEN = 13¶
- TLE = 10¶
- class curryer.kernels.ephemeris.EphemerisInputDataTypes(*args, **kwds)¶
Bases:
enum.EnumEphemeris input data types.
- STATES = 'STATES'¶
- TLE_ELEMENTS = 'TL_ELEMENTS'¶
- class curryer.kernels.ephemeris.EphemerisWriterTimeTypes(*args, **kwds)¶
Bases:
enum.EnumEphemeris writer time types.
- UTC = 'UTC'¶
- ET = 'ETSECONDS'¶
- class curryer.kernels.ephemeris.AbstractEphemerisProperties¶
Bases:
curryer.kernels.classes.AbstractKernelPropertiesEphemeris kernel common properties.
- SUPPORTED_INPUT_DATA_TYPES: ClassVar = None¶
- input_data_type: str = None¶
- input_center: str = None¶
- input_frame: str = None¶
- spk_type: str = None¶
- leapsecond_kernel: str = None¶
- planet_kernels: list[str] = None¶
- __post_init__()¶
- to_dict()¶
Convert the properties class to a dict for creating kernels.
- class curryer.kernels.ephemeris.EphemerisStateProperties¶
Bases:
AbstractEphemerisPropertiesEphemeris state kernel properties.
- SUPPORTED_INPUT_DATA_TYPES: ClassVar¶
- input_body: str = None¶
- input_data_type: str = 'STATES'¶
- input_data_units: dict[str, str]¶
- input_time_type: str = 'ugps'¶
- input_time_columns: list[str] = ['ugps']¶
- input_data_columns: list[str] = ['position_x', 'position_y', 'position_z', 'velocity_x', 'velocity_y', 'velocity_z']¶
- spk_type: str = 'INTERP_HERMITE_UNEVEN'¶
- polynom_degree: int = 3¶
- frame_kernel: str = None¶
- writer_ignore_lines: int = 1¶
- writer_lines_per_record: int = 1¶
- writer_data_delimiter: str = ','¶
- writer_data_order: str = 'epoch x y z vx vy vz'¶
- writer_time_type: str = 'UTC'¶
- __post_init__()¶
- to_dict()¶
Convert the properties class to a dict for creating kernels.
- class curryer.kernels.ephemeris.EphemerisTLEProperties¶
Bases:
AbstractEphemerisPropertiesEphemeris state kernel properties.
- SUPPORTED_INPUT_DATA_TYPES: ClassVar¶
- input_tle: int = None¶
- input_body: str = None¶
- input_data_type: str = 'TLE_ELEMENTS'¶
- spk_type: str = 'TLE'¶
- tle_start_pad: str = '12 hours'¶
- tle_stop_pad: str = '12 hours'¶
- to_dict()¶
Convert the properties class to a dict for creating kernels.
- class curryer.kernels.ephemeris.AbstractEphemerisWriter(properties: AbstractKernelProperties, bin_dir: str = None, parent_dir: str = None)¶
Bases:
curryer.kernels.classes.AbstractKernelWriterCreate or append to a SPICE ephemeris (SPK) kernel.
Notes
- Kernel configuration arguments set by this class:
LEAPSECONDS_FILE : __init__, accessor.properties.spice.kernels
PCK_FILE : __init__, accessor.properties.spice.kernels
- KTYPE = 'spk'¶
- FILE_EXT = '.bsp'¶
- abstractmethod prepare_input_data(input_data: pandas.DataFrame) list[pandas.DataFrame]¶
Prepare an accessor that will provide input data for the kernel.
- abstractmethod write_input_data(fobj_or_str, accessor)¶
Write input data.
- _write_kernel(setup_file, input_file, kernel_file, append=False)¶
Setup the command to create an “SPK” kernel using the external tool “mkspk”.
- Parameters:
setup_file (str) – Setup file containing kernel creation properties (see “mkspk”).
input_file (str) – Input data file to create kernel from.
kernel_file (str) – Kernel filename to create.
append (bool, optional) – Append data to an existing kernel (if exists). Default=False
- Returns:
List of subprocess commands and arguments.
- Return type:
list of str
- class curryer.kernels.ephemeris.EphemerisStateWriter(properties: EphemerisStateProperties, **kwargs)¶
Bases:
AbstractEphemerisWriterCreate or append to a SPICE ephemeris (SPK) kernel using table-like input data sets (e.g. database or CSV file).
Notes
- Kernel configuration arguments set by this class:
OBJECT_NAME : __init__, accessor.properties.spice.name # TODO: Update
LEAPSECONDS_FILE : __init__, accessor.properties.spice.kernels
PCK_FILE : __init__, accessor.properties.spice.kernels
IGNORE_FIRST_LINE : __init__
LINES_PER_RECORD : __init__
DATA_DELIMITER : __init__
DATA_ORDER : prepare_input, time position velocity
TIME_WRAPPER : prepare_input, UTC string
- properties¶
- prepare_input_data(input_data: pandas.DataFrame) list[pandas.DataFrame]¶
Prepare an accessor that will provide input data for the kernel.
- write_input_data(fobj_or_str, input_data: pandas.DataFrame)¶
Write input data.
- class curryer.kernels.ephemeris.EphemerisTLEWriter(properties: EphemerisTLEProperties, **kwargs)¶
Bases:
AbstractEphemerisWriterCreate or append to a SPICE ephemeris (SPK) kernel using TLE.
Notes
- Kernel configuration arguments set by this class:
LEAPSECONDS_FILE : __init__, accessor.properties.spice.kernels
PCK_FILE : __init__, accessor.properties.spice.kernels
- properties¶
- prepare_input_data(input_data: pandas.DataFrame) list[pandas.DataFrame]¶
Prepare an accessor that will provide input data for the kernel.
- write_input_data(fobj_or_str, input_data: pandas.DataFrame)¶
Write input data.
- curryer.kernels.ephemeris.PROPERTIES_TO_WRITER¶