BaseMarkovSurvey

class rubin_sim.scheduler.surveys.BaseMarkovSurvey(basis_functions, basis_weights, extra_features=None, smoothing_kernel=None, ignore_obs=None, survey_name='', nside=None, seed=42, dither=True, detailers=None, camera='LSST', fields=None, area_required=None, npositions=7305)

Bases: BaseSurvey

A Markov Decision Function survey object. Uses Basis functions to compute a final reward function and decide what to observe based on the reward. Includes methods for dithering and defaults to dithering nightly.

Parameters:
basis_functionlist of rubin_sim.schuler.basis_function objects
basis_weightslist of float

Must be same length as basis_function

seedhashable

Random number seed, used for randomly orienting sky tessellation.

camerastr (‘LSST’)

Should be ‘LSST’ or ‘comcam’

fieldsnp.array (None)

An array of field positions. Should be numpy array with columns of “RA” and “dec” in radians. If none, site_models.read_fields or utils.comcam_tessellate is used to read field positions.

area_requiredfloat (None)

The valid area that should be present in the reward function (square degrees).

npositionsint (7305)

The number of dither positions to pre-compute. Defaults to 7305 (so good for 20 years)

Methods Summary

calc_reward_function(conditions)

Parameters:

generate_observations_rough(conditions)

Returns:

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.

smooth_reward()

If we want to smooth the reward function.

Methods Documentation

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

  2. A list of observations

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.

smooth_reward()

If we want to smooth the reward function.