-
Notifications
You must be signed in to change notification settings - Fork 7
/
config.yaml
162 lines (136 loc) · 5.75 KB
/
config.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
####################################################################
# Configuration data for DESI survey planning and scheduling.
####################################################################
#-------------------------------------------------------------------
# Location of the Mayall at KPNO
#-------------------------------------------------------------------
location:
latitude: 31.963972222 deg
longitude: -111.599336111 deg
elevation: 2120 m
pressure: 78318 Pa # from 1976 standard atmosphere model
temperature: 5 C # a guess at mean night-time temperature
timezone: US/Arizona
#-------------------------------------------------------------------
# Observing calendar.
#-------------------------------------------------------------------
# Survey nominally starts on night of this date. Format is YYYY-MM-DD.
first_day: 2019-12-01
# Survey nominally ends on morning of this date. Format is YYYY-MM-DD.
last_day: 2024-11-30
# Nominal monsoon shutdown start/stop dates each year.
# Start date marks first night of monsoon shutdown each year.
# Observing resumes on night of the stop date. Format is YYYY-MM-DD.
monsoon:
Y2020:
start: 2020-07-27
stop: 2020-08-14
Y2021:
start: 2021-07-12
stop: 2021-07-30
Y2022:
start: 2022-08-01
stop: 2022-08-19
Y2023:
start: 2023-07-24
stop: 2023-08-11
# Number of nights reserved for engineering / guest observing
# during each full moon.
full_moon_nights: 7
#-------------------------------------------------------------------
# Definition of the DARK / GRAY / BRIGHT nominal programs based on
# sun and moon ephemerides.
#-------------------------------------------------------------------
programs:
DARK:
# Twilight requirement.
max_sun_altitude: -15 deg
# Moon must be below the horizon.
GRAY:
# Twilight requirement is the same as DARK.
# Moon must be above the horizon and pass both of these cuts:
max_moon_illumination: 0.6
max_moon_illumination_altitude_product: 30 deg
BRIGHT:
# Twilight requirement.
max_sun_altitude: -13 deg
# Any time after twilight that is neither DARK nor GRAY is BRIGHT.
#-------------------------------------------------------------------
# Parameters to plan next-tile selection during each night.
#-------------------------------------------------------------------
# Never observe below this limit.
min_altitude: 30 deg
# Never observer at larger HA than 5 hr.
max_hour_angle: 75 deg
# Time required to setup for a new field, including slew, fiber positioning, etc.
new_field_setup : 120 s
# Time required to setup for re-observing the same field.
same_field_setup : 60 s
# Maximum time allowed for a single exposure before we force a cosmic split.
cosmic_ray_split: 20 min
# Minimum number of consecutive exposures required for cosmic rejection.
min_exposures: 2
# The target SNR**2 for each program is specified as the total exposure time
# required at nominal observing conditions.
nominal_exposure_time:
DARK: 1000 s
GRAY: 1000 s
BRIGHT: 300 s
nominal_conditions:
# Moon below the horizon
seeing: 1.1 arcsec
airmass: 1.0
transparency: 1.0
EBV: 0.0
# Reobserve tiles that have not reached this fraction of their target SNR**2.
# Keep this at one until we simulate errors in ETC integration.
min_snr2_fraction: 1.0
# List of bodies to avoid when scheduling tiles.
avoid_bodies:
moon: 50 deg
venus: 2 deg
mars: 2 deg
jupiter: 2 deg
saturn: 2 deg
neptune: 2 deg
uranus: 2 deg
#-------------------------------------------------------------------
# Parameters used to schedule fiber assignment.
#-------------------------------------------------------------------
# Specify the cadence for updating fiber assignments. The choices are:
# - monthly: perform updates at every full moon break.
# - daily: perform updates as part of every afternoon plan.
fiber_assignment_cadence: monthly
# Specify the fiber-assignment ordering dependencies between passes.
# For example, "P2: P0+P1 delay 1" means that a tile in pass 2
# cannot be fiber assigned until all overlapping tiles in passes
# 0 and 1 have been completed. A delay value of 1 indicates
# that fiber assignment for pass 2 is delayed by 1 day / month
# (depending on fiber_assignment_cadence) after all overlapping
# tiles have been completed, to allow sufficient time to
# analyze offline outputs and confirm targeting decisions.
# Similarly, a delay of 0 indicates that fibers are assigned on
# the first day / month after the covering tiles are completed.
fiber_assignment_order:
P2: P1 delay 1
P3: P1+P2 delay 1
P4: P1+P2 delay 1
# Nominal tile radius for determining whether two tiles overlap.
tile_radius: 1.63 deg
#-------------------------------------------------------------------
# Parameters to locate files needed by desisurvey.
#-------------------------------------------------------------------
# Name of file defining DESI tiles for desimodel.io.load_tiles(tiles_file).
# Without path this will look in $DESIMODEL/data/footprint/; otherwise with
# a path (relative or absolute) it will read that file.
# Non-standard tiles files are supported with the following caveats:
# - The program names (DARK,GRAY,BRIGHT) are predefined but not all
# programs need to be included in the tiles file.
# - Pass numbers are arbitrary integers and do not need to be consecutive
# or dense. However use of non-standard values will generally require
# an update to fiber_assignment_order, above.
tiles_file: desi-tiles.fits
# Base path to pre-pended to all non-absolute paths used for reading and
# writing files managed by this package. The pattern {...} will be expanded
# using environment variables.
output_path: '{DESISURVEY_OUTPUT}'