Add new features for extension, allowing one program to depend on another #160
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR makes a few changes needed to support the DESI extension.
The most important algorithmic change is adding a new config file feature, where a program can be marked as depending on another program, via the following:
The intention here is to force the NTS to delay giving out any dark1b tiles until all overlapping dark tiles have been observed.
There are a variety of other minor changes.
Survey simulations with this code are here:
https://data.desi.lbl.gov/desi/users/schlafly/surveysim-20240927/
I think that's all that is needed to do the extension program on the desisurvey/NTS side. I originally intended to also extend the tile file to allow programs to be observed in different types of conditions, but did not actually do that as part of this PR. There is currently a program-to-conditions mapping in the config file, so we won't need to update the tile file to accommodate, but we will need to do some more thinking about how we would want the program selection to look like if we did define a bitmask. We don't need that for the extension and so I've tabled it for now.