Nadir Scanning
Data logging and management for nadir scanning.
- class ScanningTimeReward(reward_fn: Callable | None = None)[source]
Bases:
GlobalReward
GlobalReward for rewarding time spent scanning nadir.
This class should be used with the
UniformNadirScanning
scenario and a satellite withContinuousImagingFSWModel
and theScan
action.Time is computed based on the amount of data in the satellite’s buffer. In the basic configuration, this is the amount of time that the
Scan
action is enabled and pointing thresholds are met. However, if other models are used to prevent the accumulation of data, the satellite will not be rewarded for those times.- Parameters:
reward_fn (Callable | None) – Reward as function of time spend pointing nadir. By default, is set to the time spent scanning times
scenario.value_per_second
.
- datastore_type
alias of
ScanningTimeStore
- calculate_reward(new_data_dict: dict[str, ScanningTime]) dict[str, float] [source]
Calculate reward based on
reward_fn
.- Parameters:
new_data_dict (dict[str, ScanningTime])
- Return type:
dict[str, float]
- class ScanningTimeStore(*args, **kwargs)[source]
Bases:
DataStore
DataStore for time spent scanning nadir.
Stores the amount of time spent scanning nadir. Calculates new time spent scanning based on baud rate of the instrument and the increase in data stored in the buffer.
- data_type
alias of
ScanningTime
- get_log_state() float [source]
Return the amount of data currently stored in the storage unit.
- Return type:
float
- compare_log_states(old_state: float, new_state: float) ScanningTime [source]
Generate a unit of data based on change in stored data amount.
- Parameters:
old_state (float) – Previous amount of data in the storage unit.
new_state (float) – Current amount of data in the storage unit.
- Returns:
Data generated
- Return type: