Skip to content

Commit 0feb32a

Browse files
committed
Update basis functions, detailers, and pointing centers
1 parent 51ed7cd commit 0feb32a

File tree

3 files changed

+39
-12
lines changed

3 files changed

+39
-12
lines changed

python/lsst/ts/fbs/utils/data/field_survey_centers.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,8 @@
2020
("COSMOS", 150.1, 2.1819444444444445), # COSMOS
2121
("EDFS_A", 58.9, -49.315), # EDFS_a
2222
("EDFS_B", 63.6, -47.6), # EDFS_b
23-
)
23+
)
24+
25+
def get_sv_fields():
26+
fields_dict = dict(zip([f[0] for f in fields], [{'RA': f[1], 'Dec': f[2]} for f in fields]))
27+
return fields_dict

python/lsst/ts/fbs/utils/maintel/basis_functions.py

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ def get_basis_functions_ddf_survey(
214214

215215
def get_basis_functions_field_survey(
216216
nside: int,
217-
wind_speed_maximum: float,
217+
wind_speed_maximum: float = 10.,
218218
) -> list[basis_functions.BaseBasisFunction]:
219219
"""Get the basis functions for a field survey.
220220
@@ -231,19 +231,38 @@ def get_basis_functions_field_survey(
231231
`list` of `basis_functions.BaseBasisFunction`
232232
"""
233233
sun_alt_limit = -12.0
234+
moon_distance = 30.
234235

235-
return [
236+
bfs = [
236237
basis_functions.NotTwilightBasisFunction(sun_alt_limit=sun_alt_limit),
237-
basis_functions.ZenithShadowMaskBasisFunction(
238-
min_alt=26.0, max_alt=85.0, nside=nside
238+
basis_functions.MoonAvoidanceBasisFunction(
239+
nside=nside, moon_distance=moon_distance
239240
),
240241
basis_functions.AvoidDirectWind(
241242
wind_speed_maximum=wind_speed_maximum, nside=nside
242243
),
243-
basis_functions.MaskAzimuthBasisFunction(
244-
nside=nside, az_min=160.0, az_max=200.0
244+
# Mask parts of the sky in alt/az, including parts of the sky that will move into this area
245+
# (replaces azimuth mask and zenith shadow mask, should also be able to replace airmass basis function)
246+
basis_functions.AltAzShadowMaskBasisFunction(
247+
nside=nside, min_alt=22, max_alt=83, min_az=0.0, max_az=360.0, shadow_minutes=30
245248
),
249+
# Avoid revisits within 30 minutes -- sequence is about 60 minutes long, don't repeat immediately
250+
basis_functions.AvoidFastRevisitsBasisFunction(nside=nside, filtername=None, gap_min=30.0),
251+
# reward fields which are rising, but don't mask out after zenith
252+
basis_functions.RewardRisingBasisFunction(nside=nside, slope=0.1, penalty_val=0),
253+
# Reward parts of the sky which are darker -- note that this is only for r band, so relying on
254+
# skymap in r band .. if there isn't a strong reason to go with the darkest pointing,
255+
# it might be reasonable to just drop this basis function
256+
basis_functions.M5DiffBasisFunction(filtername='r', nside=nside),
257+
258+
#basis_functions.ZenithShadowMaskBasisFunction(
259+
# min_alt=26.0, max_alt=85.0, nside=nside
260+
#),
261+
#basis_functions.MaskAzimuthBasisFunction(
262+
# nside=nside, az_min=160.0, az_max=200.0
263+
#),
246264
]
265+
return bfs
247266

248267

249268
def get_basis_functions_anytime_survey(

python/lsst/ts/fbs/utils/maintel/make_fieldsurvey_scheduler.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -84,18 +84,22 @@ def add_field_surveys(
8484
fields = self._load_candidate_fields()
8585

8686
for field_name in field_names:
87-
RA = fields[field_name]["RA"]
88-
dec = fields[field_name]["dec"]
87+
field_ra_deg = fields[field_name]["RA"]
88+
field_dec_deg = fields[field_name]["dec"]
8989

9090
# Consider adding flexibility to add a prefix or suffix
9191
survey_name = field_name
9292

9393
self.surveys[tier].append(
9494
FieldSurvey(
9595
basis_functions,
96-
RA,
97-
dec,
98-
survey_name=program,
96+
field_ra_deg,
97+
field_dec_deg,
98+
ignore_obs=None,
99+
accept_obs=[field_name],
100+
survey_name=field_name,
101+
scheduler_note=None,
102+
nside=self.nside,
99103
**kwargs,
100104
)
101105
)

0 commit comments

Comments
 (0)