class rubin_sim.site_models.DowntimeModel(sched_down_col='scheduled_downtimes', unsched_down_col='unscheduled_downtimes', time_col='time')

Bases: object

Downtime estimates, both scheduled and unscheduled.

config: DowntimeModelConfig, optional

A configuration class for the downtime model. This can be None, in which case the default DowntimeModelConfig is used. The user should set any non-default values for DowntimeModelConfig before configuration of the actual DowntimeModel.

self.efd_requirements and self.target_requirements are also set.
efd_requirements is a tuple: (list of str, float).
This corresponds to the data columns required from the EFD and the amount of time history required.
target_requirements is a list of str.
This corresponds to the data columns required in the target dictionary passed when calculating the
processed telemetry values.

Methods Summary

__call__(efd_data, target_dict)

Calculate the sky coverage due to clouds.



Methods Documentation

__call__(efd_data, target_dict)

Calculate the sky coverage due to clouds.

efd_data: dict

Dictionary of input telemetry, typically from the EFD. This must contain columns self.efd_requirements. (work in progress on handling time history).

target_dict: dict

Dictionary of target values over which to calculate the processed telemetry. (e.g. mapDict = {‘ra’: [], ‘dec’: [], ‘altitude’: [], ‘azimuth’: [], ‘airmass’: []}) Here we use ‘time’, an astropy.time.Time, as we just need to know the time.

dict of bool, astropy.time.Time, astropy.time.Time

Status of telescope (True = Down, False = Up) at time, time of expected end of downtime (~noon of the first available day), time of next scheduled downtime (~noon of the first available day).