FeatureScheduler¶
- class lsst.ts.scheduler.driver.FeatureScheduler(models, raw_telemetry, parameters=None, log=None)¶
Bases:
Driver
Feature scheduler driver.
Attributes Summary
Methods Summary
assert_survey_observing_script
(survey_name)Assert that the input survey name has a dedicated observing script.
cold_start
(observations)Rebuilds the internal state of the scheduler from a list of Targets.
configure_scheduler
([config])This method is responsible for running the scheduler configuration and returning the survey topology, which specifies the number, name and type of projects running by the scheduler.
Configure survey-based observing script.
Convert EFD dataframe into list of driver targets.
Return the mapping between feature scheduler observation parameter keywords and the
Observation
parameter name keywordsGet the current state of the scheduling algorithm as a file object.
get_survey_observing_script
(survey_name)Return the appropriate survey observing script.
get_survey_topology
(config)Get the survey topology.
load
(config)Load a new set of targets.
parse_observation_database
(filename)Parse an observation database into a list of observations.
register_observation
(target)Register observation.
register_observed_target
(target)Validates observation and returns a list of successfully completed observations.
reset_from_state
(filename)Load the state from a file.
Save the current state of the scheduling algorithm to a file.
Pick a target and return it as a target object.
Pick a target and return it as a list of target objects.
Update conditions on the scheduler.
Attributes Documentation
- default_observation_database_name = PosixPath('/home/saluser/fbs_observation_database.sql')¶
Methods Documentation
- assert_survey_observing_script(survey_name: str) None ¶
Assert that the input survey name has a dedicated observing script.
- Parameters:
- survey_name
str
Name of the survey.
- survey_name
- Raises:
- AssertError:
If
survey_name
is not in the list of valid survey observing scripts.
- cold_start(observations: List[DriverTarget]) None ¶
Rebuilds the internal state of the scheduler from a list of Targets.
- Parameters:
- observations
list
ofDriverTarget
- observations
- configure_scheduler(config=None)¶
This method is responsible for running the scheduler configuration and returning the survey topology, which specifies the number, name and type of projects running by the scheduler.
By default it will just return a test survey topology.
- Parameters:
- config
types.SimpleNamespace
Configuration, as described by
schema/Scheduler.yaml
- config
- Returns:
- survey_topology:
lsst.ts.scheduler.kernel.SurveyTopology
- survey_topology:
- Raises:
- RuntimeError:
If
config
does not have ascheduler_config
attribute or if it points to a non-existing file.- NoSchedulerError:
If scheduler configuration does not define
scheduler
attribute.- NoNsideError:
If scheduler configuration does not define
nside
attribute.
- configure_survey_observing_script(survey_observing_script: Dict[str, Any]) None ¶
Configure survey-based observing script.
- Parameters:
- survey_observing_script
dict
Dictionary with survey name as key and a dictionary with observing_script_name (string) and observing_script_is_standard (boolean) values.
- survey_observing_script
See also
get_survey_observing_script
Returns survey-specific observing script.
- convert_efd_observations_to_targets(efd_observations: DataFrame) List[DriverTarget] ¶
Convert EFD dataframe into list of driver targets.
- Parameters:
- efd_observations
pandas.DataFrame
Data frame returned from a query to the EFD for observations.
- efd_observations
- static fbs_observation_named_parameter_map() Dict[str, str] ¶
Return the mapping between feature scheduler observation parameter keywords and the
Observation
parameter name keywords- Returns:
dict
Mapping between fbs observations keywords and
Observation
keywords.
- get_state_as_file_object()¶
Get the current state of the scheduling algorithm as a file object.
- Returns:
- file_object
io.BytesIO
File object with the current.
- file_object
- get_stop_tracking_target() DriverTarget ¶
- get_survey_observing_script(survey_name: str) Tuple[str, bool] ¶
Return the appropriate survey observing script.
If the script contains a especial script, return it, if not, return defaults.
- Parameters:
- survey_name
str
Name of the survey.
- survey_name
- Returns:
See also
configure_survey_observing_script
Configure survey specific observing script.
- get_survey_topology(config: SimpleNamespace) SurveyTopology ¶
Get the survey topology.
- Parameters:
- config
types.SimpleNamespace
Configuration, as described by
schema/Scheduler.yaml
- config
- Returns:
- survey_topology
SurveyTopology
Survey topology.
- survey_topology
- load(config)¶
Load a new set of targets.
- parse_observation_database(filename: str) None ¶
Parse an observation database into a list of observations.
- register_observation(target: FeatureSchedulerTarget) None ¶
Register observation.
Write the target observation into the observation database.
- Parameters:
- target
FeatureSchedulerTarget
Target to register.
- target
- register_observed_target(target: DriverTarget) Observation ¶
Validates observation and returns a list of successfully completed observations.
Add target observation to the feature based scheduler.
- Parameters:
- observation
list
ofTarget
Python list of Targets observed.
- observation
- Returns:
- Observation
- reset_from_state(filename)¶
Load the state from a file.
- Parameters:
- filename
str
Name of the file with the state.
- filename
- save_state()¶
Save the current state of the scheduling algorithm to a file.
- Returns:
- filename
str
Name of the file with the state.
- filename
- select_next_target() FeatureSchedulerTarget ¶
Pick a target and return it as a target object.
- Returns:
- Target
- select_next_targets() list[lsst.ts.scheduler.driver.feature_scheduler_target.FeatureSchedulerTarget] ¶
Pick a target and return it as a list of target objects.
Instead of requesting a single target like
select_next_target
, this method will inquire the scheduling algorithm for a list of potential next targets.- Returns:
- desired_observations:
list`[`FeatureSchedulerTarget
] List of desired observations.
- desired_observations:
- update_conditions()¶
Update conditions on the scheduler.