BaseSurvey

class rubin_sim.scheduler.surveys.BaseSurvey(basis_functions, extra_features=None, extra_basis_functions=None, ignore_obs=None, survey_name='', nside=None, detailers=None, scheduled_obs=None)

Bases: object

A baseclass for survey objects.

Parameters:
basis_functionslist

List of basis_function objects

extra_featureslist XXX–should this be a dict for clarity?

List of any additional features the survey may want to use e.g., for computing final dither positions.

extra_basis_functionsdict of rubin_sim.scheduler.basis_function objects

Extra basis function objects. Typically not psased in, but et in the __init__.

ignore_obslist of str (None)

If an incoming observation has this string in the note, ignore it. Handy if one wants to ignore DD fields or observations requested by self. Take note, if a survey is called ‘mysurvey23’, setting ignore_obs to ‘mysurvey2’ will ignore it because ‘mysurvey2’ is a substring of ‘mysurvey23’.

detailerslist of rubin_sim.scheduler.detailers objects

The detailers to apply to the list of observations.

scheduled_obsnp.array

An array of MJD values for when observations should execute.

Methods Summary

add_observation(observation, **kwargs)

add_observations_array(...)

Add an array of observations rather than one at a time

calc_reward_function(conditions)

Parameters:

generate_observations(conditions)

generate_observations_rough(conditions)

Returns:

get_scheduled_obs()

make_reward_df(conditions)

Create a pandas.DataFrame describing the reward from the survey.

reward_changes(conditions)

List the rewards for each basis function used by the survey.

viz_config()

Methods Documentation

add_observation(observation, **kwargs)
add_observations_array(observations_array_in, observations_hpid_in)

Add an array of observations rather than one at a time

Parameters:
observations_array_innp.array

An array of completed observations (with columns like rubin_sim.scheduler.utils.empty_observation).

observations_hpid_innp.array

Same as observations_array_in, but larger and with an additional column for HEALpix id. Each observation is listed mulitple times, once for every HEALpix it overlaps.

calc_reward_function(conditions)
Parameters:
conditionsrubin_sim.scheduler.features.Conditions object
Returns:
rewardfloat (or array)
generate_observations(conditions)
generate_observations_rough(conditions)
Returns:
one of:
  1. None

  2. A list of observations

get_scheduled_obs()
make_reward_df(conditions)

Create a pandas.DataFrame describing the reward from the survey.

Parameters:
conditionsrubin_sim.scheduler.features.Conditions

Conditions for which rewards are to be returned

Returns:
reward_dfpandas.DataFrame

A table of surveys listing the rewards.

reward_changes(conditions)

List the rewards for each basis function used by the survey.

Parameters:
conditionsrubin_sim.scheduler.features.Conditions

Conditions for which rewards are to be returned

Returns:
rewardslist

A list of tuples, each with a basis function name and the maximum reward returned by that basis function for the provided conditions.

viz_config()