Ground Imaging
Models for ground imaging dynamics.
- class ImagingDynModel(*args, **kwargs)[source]
Bases:
BasicDynamicsModel
Equips the satellite with an instrument, storage unit, and transmitter.
This dynamics model is used with
ImagingSatellite
. It provides the satellite with the ability to take images of a point target. To enable downlink, useGroundStationDynModel
andGroundStationWorldModel
.- property storage_level
Storage level [bits].
- property storage_level_fraction
Storage level as a fraction of capacity.
- setup_instrument(instrumentBaudRate: float, priority: int = 895, **kwargs) None [source]
Set up the instrument data collection model.
- Parameters:
instrumentBaudRate (float) – [bits] Data generated by an image.
priority (int) – Model priority.
kwargs – Passed to other setup functions.
- Return type:
None
- setup_transmitter(transmitterBaudRate: float, instrumentBaudRate: float, transmitterNumBuffers: int, transmitterPacketSize: float | None = None, priority: int = 798, **kwargs) None [source]
Set up the transmitter model for downlinking data.
- Parameters:
transmitterBaudRate (float) – [baud] Rate of data downlink. Should be negative.
instrumentBaudRate (float) – [bits] Image size, used to set packet size if
transmitterPacketSize
is not specified.transmitterNumBuffers (int) – Number of transmitter buffers
transmitterPacketSize (float | None) – [bits] Minimum data amount to be downlinked for a partition. If
None
, set asinstrumentBaudRate
.priority (int) – Model priority.
kwargs – Passed to other setup functions.
- Return type:
None
- setup_instrument_power_sink(instrumentPowerDraw: float, priority: int = 897, **kwargs) None [source]
Set the instrument power sink parameters.
The instrument draws power when in an imaging task, representing the power cost of operating the instrument.
- Parameters:
instrumentPowerDraw (float) – [W] Power draw when instrument is enabled.
priority (int) – Model priority.
kwargs – Passed to other setup functions.
- Return type:
None
- setup_transmitter_power_sink(transmitterPowerDraw: float, priority: int = 896, **kwargs) None [source]
Set the transmitter power sink parameters.
The transmitter draws power when in a downlink task, representing the power cost of downlinking data.
- Parameters:
transmitterPowerDraw (float) – [W] Power draw when transmitter is enabled.
priority (int) – Model priority.
kwargs – Passed to other setup functions.
- Return type:
None
- setup_storage_unit(dataStorageCapacity: int, storageUnitValidCheck: bool, storageInit: int, transmitterNumBuffers: int | None = None, bufferNames: Iterable[str] | None = None, priority: int = 699, **kwargs) None [source]
Configure the storage unit and its buffers.
Separate buffers can be used to track imaging of different targets. Often, the buffer names will be set up by satellite based on the scenario configuration.
- Parameters:
dataStorageCapacity (int) – [bits] Maximum data that can be stored.
transmitterNumBuffers (int | None) – Number of unit buffers. Not necessary if
bufferNames
are given.bufferNames (Iterable[str] | None) – List of buffer names to use. Named by number if
None
.storageUnitValidCheck (bool) – If
True
, enforce that the storage level is below the storage capacity when checking aliveness.storageInit (int) – [bits] Initial storage level.
priority (int) – Model priority.
kwargs – Passed to other setup functions.
- Return type:
None
- data_storage_valid() bool [source]
Decorated with
aliveness_checker
Check that the buffer has not run out of space.
Only is checked if
storageUnitValidCheck
isTrue
; otherwise, a full storage unit will prevent additional data from being stored but will not cause the satellite to be considered dead.- Return type:
bool
- setup_imaging_target(groundLocationPlanetRadius: float, imageTargetMinimumElevation: float, imageTargetMaximumRange: float, priority: int = 2000, **kwargs) None [source]
Add a generic imaging target to dynamics.
The target must be updated with a particular location when used.
- Parameters:
groundLocationPlanetRadius (float) – [m] Radius of ground locations from center of planet.
imageTargetMinimumElevation (float) – [rad] Minimum elevation angle from target to satellite when imaging.
imageTargetMaximumRange (float) – [m] Maximum range from target to satellite when imaging. -1 to disable.
priority (int) – Model priority.
kwargs – Passed to other setup functions.
- Return type:
None
- class ContinuousImagingDynModel(*args, **kwargs)[source]
Bases:
ImagingDynModel
Equips the satellite for continuous nadir imaging.
Equips satellite with an instrument, storage unit, and transmitter for continuous nadir imaging. A single data buffer is used for storage, and data is accumulated continuously while imaging. The imaging target is fixed at the center of the Earth for nadir imaging.
- setup_instrument(instrumentBaudRate: float, priority: int = 895, **kwargs) None [source]
Set up the continuous instrument model.
- Parameters:
instrumentBaudRate (float) – [baud] Data generation rate step when continuously imaging.
priority (int) – Model priority.
kwargs – Passed to other setup functions.
- Return type:
None
- setup_storage_unit(dataStorageCapacity: int, storageUnitValidCheck: bool, storageInit: int, priority: int = 699, **kwargs) None [source]
Configure the storage unit and its buffers.
- Parameters:
dataStorageCapacity (int) – [bits] Maximum data that can be stored.
storageUnitValidCheck (bool) – If True, check that the storage level is below the storage capacity.
storageInit (int) – [bits] Initial storage level.
priority (int) – Model priority.
kwargs – Passed to other setup functions.
- Return type:
None
- setup_imaging_target(imageTargetMaximumRange: float = -1, priority: int = 2000, **kwargs) None [source]
Add a imaging target at the center of the Earth.
- Parameters:
imageTargetMaximumRange (float) – [m] Maximum range from target to satellite when imaging. -1 to disable.
priority (int) – Model priority.
kwargs – Passed to other setup functions.
- Return type:
None
- class GroundStationDynModel(*args, **kwargs)[source]
Bases:
ImagingDynModel
Model that connects satellite to world ground stations.
This model enables the use of ground stations defined in
GroundStationWorldModel
for data downlink.