Source code for lsst.sims.ocs.configuration.science.north_ecliptic_spur

import lsst.pex.config as pexConfig

from lsst.sims.ocs.configuration.proposal import General, GeneralBandFilter, Selection
from lsst.sims.ocs.configuration.proposal import general_prop_reg, SELECTION_LIMIT_TYPES

__all__ = ["NorthEclipticSpur"]

[docs]@pexConfig.registerConfig("NorthEclipticSpur", general_prop_reg, General) class NorthEclipticSpur(General): """This class sets the parameters for specifying the North Ecliptic Spur proposal. """
[docs] def setDefaults(self): """Setup all the proposal information. """ self.name = "NorthEclipticSpur" # ------------------------- # Sky Region specifications # ------------------------- # Ecliptic Longitude Band eb_limit = Selection() eb_limit.limit_type = SELECTION_LIMIT_TYPES[5] eb_limit.minimum_limit = -30.0 eb_limit.maximum_limit = 10.0 # Dec Band dec_limit = Selection() dec_limit.limit_type = SELECTION_LIMIT_TYPES[1] dec_limit.minimum_limit = 2.8 dec_limit.maximum_limit = 90.0 self.sky_region.selections = {0: eb_limit, 1: dec_limit} self.sky_region.combiners = ('and',) # ----------------------------- # Sky Exclusion specifications # ----------------------------- self.sky_exclusion.dec_window = 90.0 # --------------------------------- # Sky Nightly Bounds specifications # --------------------------------- self.sky_nightly_bounds.twilight_boundary = -12.0 self.sky_nightly_bounds.delta_lst = 60.0 # ------------------------------ # Sky Constraints specifications # ------------------------------ self.sky_constraints.max_airmass = 2.5 self.sky_constraints.max_cloud = 0.7 # ---------------------- # Scheduling information # ---------------------- self.scheduling.max_num_targets = 100 self.scheduling.accept_serendipity = False self.scheduling.accept_consecutive_visits = False self.scheduling.airmass_bonus = 0.5 self.scheduling.time_interval = 30 * 60 self.scheduling.time_window_start = 0.5 self.scheduling.time_window_max = 1.0 self.scheduling.time_window_end = 2.0 self.scheduling.time_weight = 1.0 # -------------------------- # Band Filter specifications # -------------------------- g_filter = GeneralBandFilter() g_filter.name = 'g' g_filter.num_visits = 40 g_filter.num_grouped_visits = 2 g_filter.bright_limit = 21.0 g_filter.dark_limit = 30.0 g_filter.max_seeing = 2.0 g_filter.exposures = [15.0, 15.0] r_filter = GeneralBandFilter() r_filter.name = 'r' r_filter.num_visits = 92 r_filter.num_grouped_visits = 2 r_filter.bright_limit = 20.25 r_filter.dark_limit = 30.0 r_filter.max_seeing = 2.0 r_filter.exposures = [15.0, 15.0] i_filter = GeneralBandFilter() i_filter.name = 'i' i_filter.num_visits = 92 i_filter.num_grouped_visits = 2 i_filter.bright_limit = 19.5 i_filter.dark_limit = 30.0 i_filter.max_seeing = 2.0 i_filter.exposures = [15.0, 15.0] z_filter = GeneralBandFilter() z_filter.name = 'z' z_filter.num_visits = 80 z_filter.num_grouped_visits = 2 z_filter.bright_limit = 17.0 z_filter.dark_limit = 21.0 z_filter.max_seeing = 2.0 z_filter.exposures = [15.0, 15.0] self.filters = {g_filter.name: g_filter, r_filter.name: r_filter, i_filter.name: i_filter, z_filter.name: z_filter}