Releases: lsst/rubin_sim
v2.1.0
v2.1.0
In this update, significant new metrics have been added:
- a photometric calibration metric (contributed by @erykoff)
- an incremental template metric (contributed by @ebellm, building on prior work by the MAF team)
- color-slope metrics were added to capture short timescale visit timings
- updates to the DDF metrics, including coadded depths per night
- Stackers that provide T_eff and dayobs values have been added, and the corresponding T_eff metrics updated
Significant changes occurred in the plotting methods:
- plotters now return the matplotlib Figure objects, instead of just the "fig.num" integer values
- a new set of plotters has been added that uses skyproj instead of healpy to create plots (this is in support of
schedview
, but is useful for projections beyond those provided by healpy)
Code maintenance and updates:
- Use of palpy has now been replaced by astropy - rubin-sim now drops its dependency on palpy.
- Several pandas and numpy deprecation warnings have been addressed
- Default verbosity levels have been reduced
- "get_baseline" should now be called from rubin-sim, not rubin-scheduler, and the sim_baseline is downloaded with
rs_download_data
from rubin-sim.
Significant documentation updates have been achieved - please see rubin-sim.lsst.io for the latest version.
rubin_sim is maintained by @rhiannonlynne, @yoachim, and @ehneilsen of the Rubin Survey Scheduling Team.
rubin_sim is an open-software project and we are grateful for the many contributions from our community.
What's Changed
- update import by @yoachim in #384
- reduce default verbosity and fix deprecation warnings by @yoachim in #385
- Switched interp2d to RectBivariateSpline by @rjassef in #386
- Add rubin-scheduler to all_req.txt by @ebellm in #388
- update rubin_sim.utils to rubin_scheduler by @yoachim in #390
- Incremental template metric by @ebellm in #389
- swap astropy for palpy by @yoachim in #391
- Tickets/opsim 1122 by @yoachim in #392
- OPSIM-1107 Documentation restructure by @rhiannonlynne in #387
- OPSIM 1132 - fix CI by @rhiannonlynne in #393
- Proper name of download testing data script by @rhiannonlynne in #394
- OPSIM-1141: Plotters return Figure objects, not fig.number by @rhiannonlynne in #400
- fix pandas dep warnings by @yoachim in #401
- PREOPS-4949: Add stackers useful for schedview (Teff and dayobs related) by @ehneilsen in #399
- Bugfix/opsim 1141 by @rhiannonlynne in #402
- tickets/PREOPS-5023: implement sky maps with skyproj in maf by @ehneilsen in #403
- Tickets/opsim 1144 by @yoachim in #404
- color and slope metrics by @yoachim in #406
- catch when astroplan sends a masked array by @yoachim in #407
- OPSIM-1149: bugfix to add cols_req to new stackers by @rhiannonlynne in #409
- OPSIM-1155: Update DDF metrics / metric_subsets by @rhiannonlynne in #411
- U/erykoff/uniformity metrics by @rhiannonlynne in #414
New Contributors
Full Changelog: v2.0.0...v2.1.0
v2.0.0
This release is a major update, as portions of this package have now been moved to rubin_scheduler. In particular:
- imports from rubin_sim.scheduler now become rubin_scheduler.scheduler
- imports from rubin_sim.utils now become rubin_scheduler.utils
- imports from rubin_sim.skybrightness_pre now become rubin_scheduler.skybrightness_pre
- imports from rubin_sim.data now mostly become imports from rubin_scheduler.data -- with the caveat that "rs_download_data" and the dictionary of data files relevant to only rubin_sim still are held in rubin_sim.data.
Downloads of data should now include
scheduler_download_data
as well as rs_download_data
-- these two separate steps will download the necessary data for rubin_sim.
rubin_sim is maintained by @yoachim, @rhiannonlynne, @ehneilsen of the Rubin Survey Scheduling Team.
rubin_sim is an open-software project and we are grateful for the many contributions from our community.
What's Changed
- tickets/PREOPS-4124 Support restricting the scheduler reward summary stats to a region of interest by @ehneilsen in #376
- Address future Warning by @rhiannonlynne in #379
- tickets/PREOPS-4503: replace nans in sky brightness array before IntRounded is applied by @ehneilsen in #378
- tickets/PREOPS-4501: Do not delete old SkyModelPre attributes until we know if new ones are valid by @ehneilsen in #377
- Use the same code for basis function & reward area by @ehneilsen in #380
- lingering camel-snake-pep8 updates by @yoachim in #381
- Tickets/opsim 1093 (split rubin_sim and rubin_scheduler) by @yoachim in #382
Full Changelog: 1.3.3...v2.0.0
v1.3.3
This update include a bug fix in the Skybrightness Model, so that SEDs returned by return_sed
do not contain NaNs.
There is also some extension of "constant weather" options in site_models that is useful for work we're doing to build dashboards to interact with the scheduler in real-time at the telescope, as well as modifications in the "example_scheduler" code that should simplify incorporating future updates to the scheduler configurations used in simulations. This includes moving the survey_start_date provided by rubin_sim.utils.survey_start_date()
to the date used in the most recent (v3.2 and v3.3) simulations and updating the sample of skybrightness_pre files provided in rubin-sim-data
to match this date.
There is also an update in the DDF generation for simulations, that corrects a small bug that could arise with the DDF scheduling when the survey start date changes.
What's Changed
- Remove six by @rhiannonlynne in #369
- handle constant weather by @ehneilsen in #371
- OPSIM-1086: remove obsolete code and simplify upkeep of example_scheduler by @rhiannonlynne in #372
- Tickets/opsim 1084 by @yoachim in #373
- update mjd0 to match v3.3 sims by @yoachim in #374
- force wavelenth arrays to be idenical for twilight solar spectra by @yoachim in #375
Full Changelog: 1.3.2...1.3.3
v1.3.2
Updates with 1.3.2 -
rubin-sim /rubin_sim is now available on pypi!
There are rubin_sim_data
updates as well -
- skybrightness_pre contains a smaller set of default skybrightness files, to speed up download — the full skybrightness_pre files continue to be available via
rs_download_sky
. - site_models has an updated almanac, extending 20 years into the future
- scheduler data contains a dust map, so now contains all of the data files necessary to set up the example_scheduler
Runningrs_download_data —versions
will confirm which of your data files should be updated to match the current version of rubin_sim.
Full Changelog: 1.3.0...1.3.2
v1.3.0
Updates in v1.3.0
Please note that there is an associated rubin_sim_data update in v1.3.0. The new data files include updates in the throughputs
, skybrightness
and skybrightness_pre
files. To get up to date copies of these data files, please run
rs_download_data --force --dirs throughputs,skybrightness,skybrightness_pre
You can check your data versions at any time by running rs_download_data --version
(and then update whichever files are necessary).
The throughputs update in v1.3.0 brings the throughput files associated with rubin_sim
from the Rubin throughput from release 1.7 to 1.9. These new files correspond to as-measured mirror coatings, filter throughputs, lens coatings and move to a "triple-silver" set of mirror coatings. For more information, please check the README in the syseng_throughputs repository. The skybrightness and skybrightness_pre files are updated to match these new throughput files.
Updates in MAF:
- the
dither
stackers have been removed, as dithering is now implemented within the FBS. Some data columns that were used for these stackers are no longer available, which further complicated maintenance of this code. - a bugfix in the one-d slicer makes per-night counting metrics work as expected
- an update in stackers allow
rubin_sim.maf
to import even without any data files available on disk (previously at least the throughput data files were required) - a bugfix in the
coadd
stacker (which allows coaddition of survey visits over a night) allows it to work even if the "note" column is passed in the data to the stacker - pandas h5 files are now compatible with the run comparison functions, instead of only csv files
- the MAF m52snr function now calculates SNR according to equation 5 in the LSST Overview paper (having the effect of correctly calculating SNR for sources with SNR greater than about 15)
- the astrometric precision function now optionally accepts a systematic noise floor value (instead of users having to include this separately in their metrics)
- a y-band-only parallax metric has been added to the standard metrics calculated for astrometry
Updates in FBS:
- the default behavior for the filter-change function is now to swap
u
band withy
band during the lunar cycle (previous behavior was to swapu
withz
) - basis functions associated with the twilight (greedy and pairs_15) survey have been updated, reducing occasional rapid filter swaps that occurred in baseline_v3.2 and previous runs
- the m5 basis function has been updated to work as-expected with the provided skybrightness_pre "dark sky" maps (this ensures that even with changes in the dark sky values, the appropriate weights per basis function are retained)
- if the
conditions
MJD value is updated, the entireconditions
object resets its value (previously, stale values could have been kept) - a (non-critical) warning issued when calculating skybrightness near or during twilight time has been fixed
rubin_sim is maintained by @yoachim, @rhiannonlynne, @ehneilsen, and @tribeiro
rubin_sim is an open-software project and we are grateful for the many contributions from our community.
v1.2.0
Updates v1.2.0
Between v1.1.0 and v1.2.0, some extensive updates in terms of docstrings, formatting, and imports took place. We’re working towards the documentation building without errors or warnings, although this is not there yet.
Code updates include:
- adding a sun altitude limit for scheduled observations
- updating the implementation of long gap (triplet) visits to only run for one blob per night, but also to work within the fbs implementation within the scheduler CSC module
- Observation outputs now include “Target” as well as “note” (note is intended to be scheduler information; target would be more general user-information).
- Survey names are more usefully/informationally generated automatically. This along with the previous may modify previous use of survey names
- The ‘example scheduler’ creates a default survey strategy similar to baseline_v3.2.
- rework the Bandpass class to remove automatic wavelength limit/wavelength step definitions: this is now a user responsibility to ensure they are appropriate, however it does facilitate using non-Rubin bandpass definitions more easily
- the generation of moving object detections is updated to use pre-calculated rough (daily) grids of observations, if avaiable (note the addition of “pre-computed orbits” to rubin_sim_data). There were also updates in how moving object detections are stored on disk, and thus read in MAF.
- the “uniformity” metric has a new generalized form, so can be used for more than just observation time/mjd.
- the “TGapsMetric” has been replaced by the “Gaps” metric, for a more quantitative rather than relative measurement of time sampling at various timescales (primarily a few hours to a day)
- Addition of a new “limited radar” metric set, which is a copy of a subset of metrics in ‘radar’ (aka “Science metrics”).
What's Changed
- add sun alt limit to scheduled observations by @yoachim in #316
- docstring by @yoachim in #317
- shorten install by @yoachim in #318
- fix binning issue in glance batch by @yoachim in #320
- patch long gaps so they can only execute once per night by @yoachim in #319
- return copy, not ref to internal values by @yoachim in #322
- update phot_utils to be able to read throughput files by @yoachim in #321
- let all area be masked by @yoachim in #323
- add extra info to note from triple detailer by @yoachim in #324
- Tickets/opsim 1023 by @yoachim in #325
- Ticket/opsim 1029 Set survey name and add target column to observations by @yoachim in #326
- Update basis functions for v3.2 by @yoachim in #328
- OPSIM-1033 : Add GeneralUniformityMetric by @rhiannonlynne in #327
- make it possible to replace seeing, clouds, downtime in ModelObservatory by @yoachim in #330
- Tickets/opsim 1040 update example scheduler by @yoachim in #332
- Swap TGapsPercent to Gaps by @yoachim in #331
- remove read for moving objects test by @yoachim in #329
- OPSIM-1047 automatic backup URL for data by @rhiannonlynne in #333
- Update parameter docstring format by @parejkoj in #336
- Cleanup installation instructions in README.md by @parejkoj in #335
- example scheduler to any nside by @yoachim in #337
- U/yoachim/isort and stats by @yoachim in #338
- DM-39490: Cleanup docstrings, numpydoc conversion, other cleanups by @parejkoj in #339
- DM-39490: Fix all and remove useless imports by @parejkoj in #343
- DM-39490 Yoachim by @yoachim in #344
- U/leanne/dm 39490 by @leannep in #341
- U/lynnej/dm 39490 by @rhiannonlynne in #340
- readme update by @yoachim in #345
- fix astropy deprecation warning by swapping get_moon to get_body by @yoachim in #346
- Tickets/opsim 1060 by @yoachim in #347
- U/yoachim/radar redacted by @yoachim in #351
New Contributors
Full Changelog: 1.1.1...1.2.0
v1.1.0
What's changed from 1.0.0:
Many bug fixes, including cleanup of bugs from the major transition at v1.0.0.
This includes some updates to allow metrics such as the KNe and XRB metrics to know the start date of the survey.
Improvements to the gathering of summary stats from multiple simulation runs - 'gather_summaries' across multiple MAF output directories now runs much faster. When comparing summary stats, it is now possible to normalize to the median value of a given metric across all runs (instead of just to the metric value of a single run).
Updated our use of sqlalchemy so rubin_sim is now sqlalchemy2 compatible.
There were several updates to the 'scheduler' module to better enable observing with the fbs on AuxTel, as well as some bug fixes related to support of simulations and investigation of fbs state over short timescales. This includes enabling a mode to read back in acquired observations to the scheduler to significantly improve 'warm start' startup time.
Enhancements to the fbs (scheduler) code were made to improve "schedview" usage and insight into the state of the fbs.
The scheduler module also now includes code which will allow a user to set up a default survey that is similar to the current baseline.
We have also added a 47 year historical cloud database to rubin_sim_data/site_models, in addition to the previous 20 year model. These should be generally consistent, although not exactly the same, during the period of overlap.
rubin_sim is maintained by @yoachim, @rhiannonlynne, @ehneilsen, and @tribeiro
rubin_sim is also an open-software project and we are grateful for the many contributions from our community.
v1.0.0
v1.0.0
This is a breaking change to the API, with a refactor of the codebase to better conform to python naming standards.
In general, names that previously looked like "runAll" became "run_all", "readSED_flambda" is now "read_sed_flambda", "mafContrib" is "maf_contrib", etc. Locations of methods and classes should be the same, and functionality should be preserved -- this is primarily a deep naming change.
Other notable changes from v.0.12.0 include:
- rubin_sim data is now downloaded from USDF
- filter names in the scheduler can now be 40 characters
- there is a satellite streak module (rubin_sim.satellite_constellations) which can be used to simulate satellite impacts and scheduler responses
- the site_models module can now use a variety of cloud models, enabling testing of weather robustness
- there has been considerably more verification of the DESC SNIa metric, resulting in consistent results between MAF and DESC
- tweaks and updates to several other metrics
- ongoing work in the scheduler to enable more use at AuxTel and better interaction with the on-the-fly monitoring tool
schedview
rubin_sim is maintained by @yoachim, @rhiannonlynne, @ehneilsen, and @tribeiro
rubin_sim is also an open-software project and we are grateful for the many contributions from our (primarily astronomical) community.
0.14.0
0.12.1
The first GitHub release for rubin_sim. This is a v0 version, and future versions will break the APIs defined here due (at a minimum) to updating the naming patterns to better match python standards.
Rubin_sim is a software package for both simulating Rubin Observatory performance and developing the operations scheduler (which also requires simulating conditions and performance of the observatory and site).
Rubin_sim has been developed as part of the Legacy Survey of Space and Time (LSST) project. Early development was carried out in the following (now legacy) packages:
- sims_maf,
- sims_mafContrib,
- sims_photUtils,
- sims_coordUtils,
- sims_utils,
- sims_movingObjects,
- sims_downtimeModel,
- sims_cloudModel,
- sims_seeingModel,
- sims_skybrightness,
- sims_skybrightness_pre,
- sims_maps,
- sims_dustmaps,
- sims_almanac,
- sims_operations - an original version of the scheduler
- sims_featureScheduler - the future operations version of the scheduler
The earliest development history is preserved in the git logs of these packages, which were merged and refactored to create rubin_sim in 2021 (thus losing the commit history). When repackaged into rubin_sim, previous dependencies on the LSST data management build system were also shed, allowing simpler installation and usage.
rubin_sim is maintained by @yoachim, @rhiannonlynne, @ehneilsen, and @tribeiro
rubin_sim is also an open-software project and we are grateful for the many contributions from our (primarily astronomical) community.