class rubin_sim.scheduler.basis_functions.StrictFilterBasisFunction(time_lag=10.0, filtername='r', twi_change=-18.0, note_free='DD')

Bases: BaseBasisFunction

Remove the bonus for staying in the same filter if certain conditions are met.

If the moon rises/sets or twilight starts/ends, it makes a lot of sense to consider a filter change. This basis function rewards if it matches the current filter, the moon rises or sets, twilight starts or stops, or there has been a large gap since the last observation.

time_lagfloat (10.)

If there is a gap between observations longer than this, let the filter change (minutes)

twi_changefloat (-18.)

The sun altitude to consider twilight starting/ending (degrees)

note_freestr (‘DD’)

No penalty for changing filters if the last observation note field includes string. Useful for giving a free filter change after deep drilling sequence