rubin-sim 2.6.1.dev1__tar.gz → 2.6.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (418) hide show
  1. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/.github/workflows/ruff.yaml +11 -7
  2. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/.pre-commit-config.yaml +2 -2
  3. {rubin_sim-2.6.1.dev1/rubin_sim.egg-info → rubin_sim-2.6.2}/PKG-INFO +6 -1
  4. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/docs/data-download.rst +1 -1
  5. rubin_sim-2.6.2/docs/prenight.rst +485 -0
  6. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/optional-requirements.txt +4 -0
  7. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/pyproject.toml +6 -0
  8. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/__init__.py +1 -0
  9. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/batches/glance_batch.py +7 -5
  10. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/batches/science_radar_batch.py +7 -7
  11. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/batches/time_batch.py +2 -2
  12. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/batches/time_sci_batch.py +3 -3
  13. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/db/results_db.py +3 -1
  14. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maf_contrib/depth_limited_num_gal_metric.py +1 -0
  15. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maf_contrib/kne_metrics.py +2 -4
  16. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maf_contrib/lss_obs_strategy/galaxy_counts_metric_extended.py +1 -1
  17. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maf_contrib/lv_dwarfs/lv_dwarfs_metrics.py +8 -3
  18. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maf_contrib/microlensing_metric.py +5 -3
  19. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metric_bundles/metric_bundle_group.py +1 -0
  20. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/qso_number_counts_metric.py +1 -1
  21. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/simple_metrics.py +32 -0
  22. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/sn_n_sn_metric.py +4 -10
  23. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/surfb_metric.py +2 -5
  24. rubin_sim-2.6.2/rubin_sim/maf/metrics/use_metrics.py +56 -0
  25. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/plots/skyproj_plotters.py +1 -1
  26. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/stackers/general_stackers.py +166 -0
  27. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/stackers/teff_stacker.py +9 -16
  28. rubin_sim-2.6.2/rubin_sim/sim_archive/prenight.py +370 -0
  29. rubin_sim-2.6.2/rubin_sim/sim_archive/prenightindex.py +464 -0
  30. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/sim_archive/prototype.py +72 -0
  31. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/sim_archive/sim_archive.py +54 -18
  32. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/sim_archive/vseqarchive.py +1 -1
  33. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/sim_archive/vseqmetadata.py +80 -13
  34. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/skybrightness/generate_hdf5.py +6 -4
  35. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2/rubin_sim.egg-info}/PKG-INFO +6 -1
  36. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim.egg-info/SOURCES.txt +3 -3
  37. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim.egg-info/requires.txt +6 -0
  38. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim.egg-info/top_level.txt +0 -1
  39. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/maf/test_batches.py +1 -1
  40. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/maf/test_simplemetrics.py +14 -0
  41. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/maf/test_stackers.py +3 -3
  42. rubin_sim-2.6.2/tests/sim_archive/test_prenight.py +75 -0
  43. rubin_sim-2.6.2/tests/sim_archive/test_prenightindex.py +385 -0
  44. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/sim_archive/test_prototype_sim_archive.py +6 -0
  45. rubin_sim-2.6.2/tests/sim_archive/test_sim_archive_utils.py +184 -0
  46. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/sim_archive/test_vseqarchive.py +6 -12
  47. rubin_sim-2.6.1.dev1/batch/compile_prenight_metadata_cache.sh +0 -34
  48. rubin_sim-2.6.1.dev1/batch/run_auxtel_prenight_sims.sh +0 -163
  49. rubin_sim-2.6.1.dev1/batch/run_prenight_sims.sh +0 -239
  50. rubin_sim-2.6.1.dev1/docs/prenight.rst +0 -117
  51. rubin_sim-2.6.1.dev1/rubin_sim/maf/metrics/use_metrics.py +0 -55
  52. rubin_sim-2.6.1.dev1/rubin_sim/sim_archive/prenight.py +0 -216
  53. rubin_sim-2.6.1.dev1/rubin_sim/sim_archive/prenightindex.py +0 -229
  54. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/.git_archival.txt +0 -0
  55. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/.gitattributes +0 -0
  56. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/.github/workflows/build_container.yaml +0 -0
  57. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/.github/workflows/build_docs.yaml +0 -0
  58. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/.github/workflows/cache.yaml +0 -0
  59. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/.github/workflows/rebase_checker.yaml +0 -0
  60. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/.github/workflows/test_and_build.yaml +0 -0
  61. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/.gitignore +0 -0
  62. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/Dockerfile +0 -0
  63. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/LICENSE +0 -0
  64. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/README.md +0 -0
  65. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/README_dev.md +0 -0
  66. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/container_environment.yaml +0 -0
  67. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/docs/.gitignore +0 -0
  68. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/docs/Makefile +0 -0
  69. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/docs/api.rst +0 -0
  70. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/docs/conf.py +0 -0
  71. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/docs/data-api.rst +0 -0
  72. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/docs/developer.rst +0 -0
  73. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/docs/documenteer.toml +0 -0
  74. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/docs/index.rst +0 -0
  75. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/docs/installation.rst +0 -0
  76. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/docs/introduction.rst +0 -0
  77. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/docs/maf-api-batches.rst +0 -0
  78. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/docs/maf-api-db.rst +0 -0
  79. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/docs/maf-api-maf-contrib.rst +0 -0
  80. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/docs/maf-api-maps.rst +0 -0
  81. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/docs/maf-api-metricbundles.rst +0 -0
  82. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/docs/maf-api-metrics.rst +0 -0
  83. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/docs/maf-api-plots.rst +0 -0
  84. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/docs/maf-api-run-comparison.rst +0 -0
  85. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/docs/maf-api-slicers.rst +0 -0
  86. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/docs/maf-api-stackers.rst +0 -0
  87. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/docs/maf-api-utils.rst +0 -0
  88. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/docs/maf-api.rst +0 -0
  89. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/docs/maf.rst +0 -0
  90. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/docs/metric_list.py +0 -0
  91. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/docs/moving-objects-api.rst +0 -0
  92. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/docs/moving-objects.rst +0 -0
  93. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/docs/phot-utils-api.rst +0 -0
  94. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/docs/phot-utils.rst +0 -0
  95. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/docs/protoarchive.rst +0 -0
  96. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/docs/satellite-constellations-api.rst +0 -0
  97. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/docs/satellite-constellations.rst +0 -0
  98. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/docs/selfcal-api.rst +0 -0
  99. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/docs/selfcal.rst +0 -0
  100. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/docs/sim-archive-api.rst +0 -0
  101. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/docs/skybrightness-api.rst +0 -0
  102. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/docs/skybrightness.rst +0 -0
  103. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/docs/user-guide.rst +0 -0
  104. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/docs/vseqarchive-architecture.rst +0 -0
  105. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/docs/vseqarchive-setup.rst +0 -0
  106. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/docs/vseqarchive.rst +0 -0
  107. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/example_deployment.yaml +0 -0
  108. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/requirements.txt +0 -0
  109. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/__init__.py +0 -0
  110. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/data/__init__.py +0 -0
  111. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/data/rs_download_data.py +0 -0
  112. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/batches/__init__.py +0 -0
  113. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/batches/altaz_batch.py +0 -0
  114. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/batches/col_map_dict.py +0 -0
  115. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/batches/common.py +0 -0
  116. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/batches/ddf_batch.py +0 -0
  117. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/batches/filterchange_batch.py +0 -0
  118. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/batches/hourglass_batch.py +0 -0
  119. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/batches/info_batch.py +0 -0
  120. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/batches/metadata_batch.py +0 -0
  121. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/batches/moving_objects_batch.py +0 -0
  122. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/batches/openshutter_batch.py +0 -0
  123. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/batches/radar_limited.py +0 -0
  124. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/batches/skycoverage.py +0 -0
  125. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/batches/slew_batch.py +0 -0
  126. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/batches/srd_batch.py +0 -0
  127. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/batches/visitdepth_batch.py +0 -0
  128. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/db/__init__.py +0 -0
  129. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/db/add_run.py +0 -0
  130. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/db/tracking_db.py +0 -0
  131. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/ddf_dir.py +0 -0
  132. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/generate_ss.py +0 -0
  133. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/glance_dir.py +0 -0
  134. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maf_contrib/__init__.py +0 -0
  135. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maf_contrib/calculate_lsst_field_visibility_astropy.py +0 -0
  136. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maf_contrib/example_new_metrics.py +0 -0
  137. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maf_contrib/filter_pair_t_gaps_metric.py +0 -0
  138. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maf_contrib/grb_transient_metric.py +0 -0
  139. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maf_contrib/gw170817_det_metric.py +0 -0
  140. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maf_contrib/intervals_between_obs_metric.py +0 -0
  141. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maf_contrib/lss_metrics.py +0 -0
  142. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maf_contrib/lss_obs_strategy/__init__.py +0 -0
  143. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maf_contrib/lss_obs_strategy/constants_for_pipeline.py +0 -0
  144. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maf_contrib/lss_obs_strategy/galaxy_counts_with_pixel_calibration.py +0 -0
  145. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maf_contrib/lv_dwarfs/__init__.py +0 -0
  146. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maf_contrib/num_obs_in_survey_time_overlap_metric.py +0 -0
  147. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maf_contrib/periodic_metric.py +0 -0
  148. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maf_contrib/periodic_star_metric.py +0 -0
  149. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maf_contrib/periodic_star_modulation_metric.py +0 -0
  150. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maf_contrib/presto_color_kne_pop_metric.py +0 -0
  151. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maf_contrib/selfcal_uniformity_metric.py +0 -0
  152. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maf_contrib/star_count_mass_metric.py +0 -0
  153. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maf_contrib/star_count_metric.py +0 -0
  154. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maf_contrib/star_counts/__init__.py +0 -0
  155. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maf_contrib/star_counts/abs_mag.py +0 -0
  156. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maf_contrib/star_counts/coords.py +0 -0
  157. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maf_contrib/star_counts/readme.txt +0 -0
  158. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maf_contrib/star_counts/spec_type.py +0 -0
  159. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maf_contrib/star_counts/starcount.py +0 -0
  160. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maf_contrib/star_counts/starcount_bymass.py +0 -0
  161. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maf_contrib/star_counts/stellardensity.py +0 -0
  162. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maf_contrib/static_probes_fom_summary_metric.py +0 -0
  163. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maf_contrib/tdes_pop_metric.py +0 -0
  164. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maf_contrib/transient_ascii_sed_metric.py +0 -0
  165. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maf_contrib/triplet_metric.py +0 -0
  166. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maf_contrib/var_depth_metric.py +0 -0
  167. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maf_contrib/xrb_metrics.py +0 -0
  168. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maf_contrib/young_stellar_objects_metric.py +0 -0
  169. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maf_night_report.py +0 -0
  170. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/make_fbs_tracking_db.py +0 -0
  171. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maps/__init__.py +0 -0
  172. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maps/base_map.py +0 -0
  173. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maps/create_gaia_density_map.py +0 -0
  174. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maps/dust_map.py +0 -0
  175. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maps/dust_map_3d.py +0 -0
  176. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maps/ebv_3d_hp.py +0 -0
  177. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maps/ebv_hp.py +0 -0
  178. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maps/gal_coords_map.py +0 -0
  179. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maps/galactic_plane_priority_maps.py +0 -0
  180. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maps/stellar_density_map.py +0 -0
  181. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/maps/trilegal_map.py +0 -0
  182. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metadata_dir.py +0 -0
  183. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metric_bundles/__init__.py +0 -0
  184. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metric_bundles/metric_bundle.py +0 -0
  185. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metric_bundles/mo_metric_bundle.py +0 -0
  186. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/__init__.py +0 -0
  187. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/agn_time_lag_metric.py +0 -0
  188. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/agnstructure.py +0 -0
  189. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/area_summary_metrics.py +0 -0
  190. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/base_metric.py +0 -0
  191. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/brown_dwarf_metric.py +0 -0
  192. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/cadence_metrics.py +0 -0
  193. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/calibration_metrics.py +0 -0
  194. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/chip_vendor_metric.py +0 -0
  195. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/color_slope_metrics.py +0 -0
  196. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/cosmology_summary_metrics.py +0 -0
  197. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/coverage_metric.py +0 -0
  198. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/crowding_metric.py +0 -0
  199. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/cumulative_metric.py +0 -0
  200. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/dcr_metric.py +0 -0
  201. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/exgal_m5.py +0 -0
  202. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/fft_metric.py +0 -0
  203. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/galactic_plane_metrics.py +0 -0
  204. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/galplane_time_sampling_metrics.py +0 -0
  205. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/hourglass_metric.py +0 -0
  206. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/incremental_template_metric.py +0 -0
  207. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/kuiper_metrics.py +0 -0
  208. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/mo_metrics.py +0 -0
  209. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/mo_summary_metrics.py +0 -0
  210. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/night_pointing_metric.py +0 -0
  211. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/optimal_m5_metric.py +0 -0
  212. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/pair_metric.py +0 -0
  213. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/periodic_detect_metric.py +0 -0
  214. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/phase_gap_metric.py +0 -0
  215. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/scaling_metrics.py +0 -0
  216. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/schedview_metrics.py +0 -0
  217. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/season_metrics.py +0 -0
  218. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/sky_sat_metric.py +0 -0
  219. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/sn_cadence_metric.py +0 -0
  220. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/sn_sl_metric.py +0 -0
  221. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/sn_snr_metric.py +0 -0
  222. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/snr_weight.py +0 -0
  223. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/star_density.py +0 -0
  224. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/string_count_metric.py +0 -0
  225. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/summary_metrics.py +0 -0
  226. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/technical_metrics.py +0 -0
  227. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/tgaps.py +0 -0
  228. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/tomography_models.py +0 -0
  229. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/transient_metrics.py +0 -0
  230. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/uniformity_metrics.py +0 -0
  231. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/vector_metrics.py +0 -0
  232. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/visit_groups_metric.py +0 -0
  233. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/metrics/weak_lensing_systematics_metric.py +0 -0
  234. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/plots/__init__.py +0 -0
  235. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/plots/hg_plotters.py +0 -0
  236. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/plots/hourglass_plotters.py +0 -0
  237. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/plots/mo_plotters.py +0 -0
  238. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/plots/nd_plotters.py +0 -0
  239. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/plots/neo_distance_plotter.py +0 -0
  240. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/plots/night_pointing_plotter.py +0 -0
  241. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/plots/oned_plotters.py +0 -0
  242. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/plots/perceptual_rainbow.py +0 -0
  243. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/plots/plot_handler.py +0 -0
  244. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/plots/spatial_plotters.py +0 -0
  245. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/plots/special_plotters.py +0 -0
  246. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/plots/two_d_plotters.py +0 -0
  247. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/plots/xyplotter.py +0 -0
  248. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/run_comparison/__init__.py +0 -0
  249. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/run_comparison/archive.py +0 -0
  250. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/run_comparison/gather_summaries.py +0 -0
  251. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/run_comparison/microlensing_compare.py +0 -0
  252. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/run_comparison/radar_plot.py +0 -0
  253. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/run_comparison/summary_plots.py +0 -0
  254. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/run_moving_calc.py +0 -0
  255. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/run_moving_fractions.py +0 -0
  256. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/run_moving_join.py +0 -0
  257. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/run_selfcal_metric.py +0 -0
  258. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/scimaf_dir.py +0 -0
  259. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/show_maf.py +0 -0
  260. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/slicers/__init__.py +0 -0
  261. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/slicers/base_slicer.py +0 -0
  262. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/slicers/base_spatial_slicer.py +0 -0
  263. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/slicers/healpix_sdss_slicer.py +0 -0
  264. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/slicers/healpix_slicer.py +0 -0
  265. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/slicers/healpix_subset_slicer.py +0 -0
  266. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/slicers/hourglass_slicer.py +0 -0
  267. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/slicers/mo_slicer.py +0 -0
  268. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/slicers/movie_slicer.py +0 -0
  269. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/slicers/nd_slicer.py +0 -0
  270. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/slicers/one_d_slicer.py +0 -0
  271. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/slicers/time_interval_slicers.py +0 -0
  272. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/slicers/uni_slicer.py +0 -0
  273. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/slicers/user_points_slicer.py +0 -0
  274. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/stackers/__init__.py +0 -0
  275. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/stackers/base_stacker.py +0 -0
  276. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/stackers/coord_stackers.py +0 -0
  277. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/stackers/date_stackers.py +0 -0
  278. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/stackers/get_col_info.py +0 -0
  279. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/stackers/label_stackers.py +0 -0
  280. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/stackers/m5_optimal_stacker.py +0 -0
  281. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/stackers/mo_phase.py +0 -0
  282. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/stackers/mo_stackers.py +0 -0
  283. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/stackers/n_follow_stacker.py +0 -0
  284. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/stackers/neo_dist_stacker.py +0 -0
  285. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/stackers/sdss_stackers.py +0 -0
  286. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/stackers/sn_stacker.py +0 -0
  287. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/utils/__init__.py +0 -0
  288. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/utils/astrometry_utils.py +0 -0
  289. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/utils/generate_fov_map.py +0 -0
  290. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/utils/get_date_version.py +0 -0
  291. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/utils/maf_utils.py +0 -0
  292. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/utils/opsim_utils.py +0 -0
  293. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/utils/output_utils.py +0 -0
  294. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/utils/sn_n_sn_utils.py +0 -0
  295. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/utils/sn_utils.py +0 -0
  296. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/utils/stellar_mags.py +0 -0
  297. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/web/__init__.py +0 -0
  298. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/web/favicon.ico +0 -0
  299. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/web/maf_run_results.py +0 -0
  300. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/web/maf_tracking.py +0 -0
  301. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/web/sorttable.js +0 -0
  302. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/web/templates/allmetricresults.html +0 -0
  303. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/web/templates/configs.html +0 -0
  304. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/web/templates/macros.html +0 -0
  305. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/web/templates/master.html +0 -0
  306. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/web/templates/metricselect.html +0 -0
  307. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/web/templates/multicolor.html +0 -0
  308. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/web/templates/results.html +0 -0
  309. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/web/templates/runselect.html +0 -0
  310. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/maf/web/templates/stats.html +0 -0
  311. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/moving_objects/__init__.py +0 -0
  312. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/moving_objects/base_obs.py +0 -0
  313. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/moving_objects/cheby_fits.py +0 -0
  314. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/moving_objects/cheby_values.py +0 -0
  315. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/moving_objects/chebyshev_utils.py +0 -0
  316. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/moving_objects/direct_obs.py +0 -0
  317. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/moving_objects/make_lsst_obs.py +0 -0
  318. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/moving_objects/ooephemerides.py +0 -0
  319. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/moving_objects/orbits.py +0 -0
  320. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/moving_objects/pre_generate.py +0 -0
  321. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/moving_objects/utils.py +0 -0
  322. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/phot_utils/__init__.py +0 -0
  323. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/phot_utils/bandpass.py +0 -0
  324. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/phot_utils/photometric_parameters.py +0 -0
  325. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/phot_utils/physical_parameters.py +0 -0
  326. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/phot_utils/predicted_zeropoints.py +0 -0
  327. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/phot_utils/sed.py +0 -0
  328. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/phot_utils/sed_utils.py +0 -0
  329. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/phot_utils/signaltonoise.py +0 -0
  330. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/phot_utils/spectral_resampling.py +0 -0
  331. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/satellite_constellations/__init__.py +0 -0
  332. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/satellite_constellations/basis_function.py +0 -0
  333. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/satellite_constellations/model_observatory.py +0 -0
  334. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/satellite_constellations/sat_utils.py +0 -0
  335. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/selfcal/__init__.py +0 -0
  336. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/selfcal/generate_catalog.py +0 -0
  337. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/selfcal/offsets.py +0 -0
  338. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/selfcal/solver.py +0 -0
  339. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/selfcal/star_tools.py +0 -0
  340. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/sim_archive/__init__.py +0 -0
  341. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/sim_archive/conda_packages.py +0 -0
  342. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/sim_archive/future_vsarch.py +0 -0
  343. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/sim_archive/make_snapshot.py +0 -0
  344. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/sim_archive/tempdb.py +0 -0
  345. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/sim_archive/util.py +0 -0
  346. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/skybrightness/__init__.py +0 -0
  347. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/skybrightness/allsky_db.py +0 -0
  348. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/skybrightness/data/ESO_Spectra/eso_tools.py +0 -0
  349. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/skybrightness/data/solarSpec/package.py +0 -0
  350. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/skybrightness/interp_components.py +0 -0
  351. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/skybrightness/sky_model.py +0 -0
  352. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/skybrightness/twilight_func.py +0 -0
  353. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim/skybrightness/utils.py +0 -0
  354. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim.egg-info/dependency_links.txt +0 -0
  355. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/rubin_sim.egg-info/entry_points.txt +0 -0
  356. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/setup.cfg +0 -0
  357. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/setup.py +0 -0
  358. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/showmaf-deploy.yaml +0 -0
  359. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/sql/make_vseqmeta.sql +0 -0
  360. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/test-requirements.txt +0 -0
  361. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/data/test_data.py +0 -0
  362. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/data/test_ddf_grid.py +0 -0
  363. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/maf/test_3x2fom.py +0 -0
  364. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/maf/test_archive.py +0 -0
  365. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/maf/test_basemetrics.py +0 -0
  366. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/maf/test_batchcommon.py +0 -0
  367. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/maf/test_cadencemetrics.py +0 -0
  368. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/maf/test_calibrationmetrics.py +0 -0
  369. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/maf/test_color_slopes.py +0 -0
  370. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/maf/test_cosmology_summaries.py +0 -0
  371. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/maf/test_gathersummaries.py +0 -0
  372. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/maf/test_healpixslicer.py +0 -0
  373. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/maf/test_healpixsubsetslicer.py +0 -0
  374. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/maf/test_hgplotters.py +0 -0
  375. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/maf/test_hourglassmetric.py +0 -0
  376. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/maf/test_io.py +0 -0
  377. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/maf/test_json.py +0 -0
  378. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/maf/test_maps.py +0 -0
  379. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/maf/test_metricbundle.py +0 -0
  380. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/maf/test_mometrics.py +0 -0
  381. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/maf/test_movieslicer.py +0 -0
  382. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/maf/test_ndslicer.py +0 -0
  383. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/maf/test_neodistanceplotter.py +0 -0
  384. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/maf/test_onedslicer.py +0 -0
  385. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/maf/test_opsimutils.py +0 -0
  386. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/maf/test_plotters.py +0 -0
  387. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/maf/test_resultsdb.py +0 -0
  388. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/maf/test_schedviewmetrics.py +0 -0
  389. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/maf/test_snmetrics.py +0 -0
  390. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/maf/test_snmetrics_nsn.py +0 -0
  391. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/maf/test_stellarmags.py +0 -0
  392. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/maf/test_stringcount.py +0 -0
  393. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/maf/test_summary_plots.py +0 -0
  394. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/maf/test_summarymetrics.py +0 -0
  395. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/maf/test_technicalmetrics.py +0 -0
  396. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/maf/test_templatemetrics.py +0 -0
  397. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/maf/test_timeintervalslicers.py +0 -0
  398. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/maf/test_trackingdb.py +0 -0
  399. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/maf/test_unislicer.py +0 -0
  400. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/maf/test_vectormetrics.py +0 -0
  401. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/maf/test_visitgroupsmetric.py +0 -0
  402. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/moving_objects/test_camera.py +0 -0
  403. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/moving_objects/test_chebyfits.py +0 -0
  404. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/moving_objects/test_chebyshevutils.py +0 -0
  405. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/moving_objects/test_chebyvalues.py +0 -0
  406. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/moving_objects/test_ephemerides.py +0 -0
  407. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/moving_objects/test_orbits.py +0 -0
  408. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/moving_objects/test_sed_data.py +0 -0
  409. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/phot_utils/test_approximatebandpasses.py +0 -0
  410. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/phot_utils/test_photometricparameters.py +0 -0
  411. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/phot_utils/test_photometry.py +0 -0
  412. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/phot_utils/test_predicted_zeropoints.py +0 -0
  413. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/phot_utils/test_read_bandpasses.py +0 -0
  414. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/phot_utils/test_sed.py +0 -0
  415. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/phot_utils/test_snr.py +0 -0
  416. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/satellite_constellations/test_satellites.py +0 -0
  417. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/sim_archive/test_make_snapshot.py +0 -0
  418. {rubin_sim-2.6.1.dev1 → rubin_sim-2.6.2}/tests/skybrightness/test_skymodel.py +0 -0
@@ -1,12 +1,7 @@
1
- name: Ruff and iSort
1
+ name: Lint
2
2
  on:
3
- # Trigger the workflow on push (to main) or pull request
4
3
  push:
5
- branches:
6
- - main
7
4
  pull_request:
8
- branches:
9
- - main
10
5
  workflow_dispatch:
11
6
 
12
7
  jobs:
@@ -21,4 +16,13 @@ jobs:
21
16
  runs-on: ubuntu-latest
22
17
  steps:
23
18
  - uses: actions/checkout@v4
24
- - uses: astral-sh/ruff-action@v3
19
+ - uses: astral-sh/ruff-action@v3
20
+ black:
21
+ runs-on: ubuntu-latest
22
+ steps:
23
+ - uses: actions/checkout@v4
24
+ - uses: psf/black@stable
25
+ with:
26
+ options: "--check --verbose"
27
+ version: "~= 26.1"
28
+
@@ -7,14 +7,14 @@ repos:
7
7
  - id: trailing-whitespace
8
8
  - id: check-toml
9
9
  - repo: https://github.com/psf/black
10
- rev: 23.7.0
10
+ rev: 26.1.0
11
11
  hooks:
12
12
  - id: black
13
13
  # It is recommended to specify the latest version of Python
14
14
  # supported by your project here, or alternatively use
15
15
  # pre-commit's default_language_version, see
16
16
  # https://pre-commit.com/#top_level-default_language_version
17
- language_version: python3.11
17
+ language_version: python3.13
18
18
  - repo: https://github.com/pycqa/isort
19
19
  rev: 5.12.0
20
20
  hooks:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rubin-sim
3
- Version: 2.6.1.dev1
3
+ Version: 2.6.2
4
4
  Summary: Scheduler, survey strategy analysis, and other simulation tools for Rubin Observatory.
5
5
  License: GPL
6
6
  Project-URL: documentation, https://rubin-sim.lsst.io
@@ -47,6 +47,11 @@ Requires-Dist: documenteer[guide]; extra == "dev"
47
47
  Provides-Extra: extras
48
48
  Requires-Dist: george; extra == "extras"
49
49
  Requires-Dist: pyoorb; extra == "extras"
50
+ Provides-Extra: vseqarchive
51
+ Requires-Dist: click; extra == "vseqarchive"
52
+ Requires-Dist: psycopg2; extra == "vseqarchive"
53
+ Requires-Dist: botocore; extra == "vseqarchive"
54
+ Requires-Dist: boto3; extra == "vseqarchive"
50
55
  Dynamic: license-file
51
56
 
52
57
  # rubin_sim
@@ -52,7 +52,7 @@ to the directories originating from `rubin_scheduler <https://rubin-scheduler.ls
52
52
  * sim_baseline (containing the current baseline simulation output)
53
53
  * skybrightness (containing information needed for the skybrightness module)
54
54
  * throughputs (current baseline throughput information)
55
- * test (containing data for unit tests)
55
+ * tests (containing data for unit tests)
56
56
 
57
57
 
58
58
  Note that the data will only be downloaded for the directories which do
@@ -0,0 +1,485 @@
1
+ .. py:currentmodule:: rubin_sim.data
2
+
3
+ .. _prenight:
4
+
5
+ ####################
6
+ Prenight Simulations
7
+ ####################
8
+
9
+ ===================================================================
10
+ Generating new pre-night simulations and adding them to the archive
11
+ ===================================================================
12
+
13
+ Introduction
14
+ ============
15
+
16
+ Prenight simulation tools generate simulations of a few nights of observing, and add them to an archive.
17
+ These simulations can then be seen by ``schedview``'s reporting tools, and used to generate pre-night brifing reports.
18
+ Normally, these simulation are run by submitting the `batch/run_prenight_sims.sh script <https://github.com/lsst-sims/lsst_survey_sim/blob/main/batch/run_prenight_sims.sh>`_ in the `lsst_survey_sim repository <https://github.com/lsst-sims/lsst_survey_sim/>`_ as a batch job, either by hand or using a cron job.
19
+ For more fine-grained control, the simulations and be run and added to the archive using lower-level tools,
20
+
21
+ Running a standard set of pre-night simulations
22
+ ===============================================
23
+
24
+ The standard set of pre-night simulations can be run by calling the ``batch/run_prenight_sims.sh`` shell (for SV) or ``batch/run_auxtel_prenight_sims.sh`` (for auxtel) scripts.
25
+ These scripts are "protected" by gate files: for user ``${USER}`` to run ``batch/run_prenight_sims.sh``, the file ``/sdf/data/rubin/shared/scheduler/cron_gates/run_prenight_sims/${USER}`` must exist,
26
+ and for that user to run ``batch/run_auxtel_prenight_sims.sh``, the file ``/sdf/data/rubin/shared/scheduler/cron_gates/run_auxtel_prenight_sims/${USER}`` must exist.
27
+ (This was done so that any user with write access to ``/sdf/data/rubin/shared/scheduler/cron_gates/${SCRIPT}`` can stop a cron job that runs the corresponding script from doing anything, even if that cron job is not owned by that user.)
28
+
29
+ If ``LSST_SURVEY_SIM_DIR`` is the ``lsst_survey_sim`` root directory, it can be called thus::
30
+
31
+ ${LSST_SURVEY_SIM_DIR}/batch/run_prenight_sims.sh
32
+
33
+ or thus::
34
+
35
+ ${LSST_SURVEY_SIM_DIR}/batch/run_auxtel_prenight_sims.sh auxtel
36
+
37
+ or they can be submitted as a batch job to slurm.
38
+ At the USDF, there is an installation of ``lsst_survey_sim`` at ``/sdf/data/rubin/shared/scheduler/packages/lsst_survey_sim`` such that the commands become::
39
+
40
+ /sdf/data/rubin/shared/scheduler/packages/lsst_survey_sim/batch/run_auxtel_prenight_sims.sh
41
+ /sdf/data/rubin/shared/scheduler/packages/lsst_survey_sim/batch/run_prenight_sims.sh
42
+
43
+
44
+ These scripts build python environments in the USDF scratch disks of the user running the script, in directories of the form::
45
+
46
+ /sdf/scratch/users/${USER:0:1}/${USER}/prenight_venvs/prenight-YYYY-MM-DDTHHMMSS-XXXXXX
47
+
48
+ Where ``${USER:0:1}`` is the first letter of a username, and the ``XXXXXX`` is replaced by random characters.
49
+ For example, a recent environment created was: ``/sdf/scratch/users/n/neilsen/prenight_venvs/prenight-2025-12-16T141515-gCnXfu``.
50
+
51
+ These batch jobs will record their logs (stderr and stdout) in:
52
+
53
+ * ``/sdf/data/rubin/shared/scheduler/prenight/sbatch/run_prenight_sims_%A_%a.out`` and
54
+ * ``/sdf/data/rubin/shared/scheduler/prenight/sbatch/run_prenight_sims_%A_%a.err``
55
+
56
+ The working files can be found in ``/sdf/data/rubin/shared/scheduler/prenight/work/run_prenight_sims/%Y-%m-%dT%H%M%``.
57
+
58
+ Automated runs of prenight simulations
59
+ ======================================
60
+
61
+ Batch jobs are submitted automatically each morning following the ``sbatch`` commands shown above.
62
+ The ``crontab`` entries are::
63
+
64
+ 15 6 * * * /opt/slurm/slurm-curr/bin/sbatch /sdf/data/rubin/shared/scheduler/packages/lsst_survey_sim/batch/run_auxtel_prenight_sims.sh 2>&1 >> /sdf/data/rubin/shared/scheduler/prenight/daily/daily_auxtel_cr on.out
65
+ 55 6 * * * /opt/slurm/slurm-curr/bin/sbatch /sdf/data/rubin/shared/scheduler/packages/lsst_survey_sim/batch/run_prenight_sims.sh 2>&1 >> /sdf/data/rubin/shared/scheduler/prenight/daily/daily_simonyi_cron.out
66
+
67
+ If necessary, these cron jobs can be stopped from doing anything, even a user that does not own the cron job, if they have write access to ``/sdf/data/rubin/shared/scheduler/cron_gates/${SCRIPT}``.
68
+ This is accomplished using gate files: early in each script, the script checks for the existence of a file with name ``/sdf/data/rubin/shared/scheduler/cron_gates/${SCRIPT_NAME}/${USER}`` and aborts if it does not exist.
69
+ Any user with write access to ``/sdf/data/rubin/shared/scheduler/cron_gates/${SCRIPT_NAME}`` can create or remove files in that directory, so a user can cause these scripts to immediately abort
70
+ when started by a cron job owned by a different user by removing ``/sdf/data/rubin/shared/scheduler/cron_gates/${SCRIPT_NAME}/${CRON_JOB_USER}``.
71
+
72
+ So, to stop the ``run_prenight_sims.sh`` cron job owned by user ``neilsen``, remove the file ``/sdf/data/rubin/shared/scheduler/cron_gates/run_prenight_sims/neilsen``,
73
+ and to stop the ``run_auxtel_prenight_sims.sh`` cron job owned by user ``neilsen``, remove the file ``/sdf/data/rubin/shared/scheduler/cron_gates/run_auxtel_prenight_sims/neilsen``,
74
+
75
+ The logs of the cron jobs (and any other executions of these scripts submitted using ``sbatch``) can be found in ``/sdf/data/rubin/shared/scheduler/prenight/sbatch/run_prenight_sims_%A_%a.out``,
76
+ where ``%A`` is the slurm "Job array's master job allocation number" and ``%a`` is the slum "Job array ID (index) number".
77
+
78
+ Updating the versions of the scripts
79
+ ====================================
80
+
81
+ The batch jobs run versions of ``lsst_survey_sim/batch/run_prenight_sims.sh`` and ``lsst_survey_sim/run_auxtel_prenight_sims.sh`` installed in ``/sdf/data/rubin/shared/scheduler/packages``.
82
+ Versions of ``lsst_survey_sim`` installed in ``/sdf/data/rubin/shared/scheduler/packages`` can be updated as follows.
83
+
84
+ First, if one does not exist already, tag ``lsst_survey_sim`` at the commit you want.
85
+ To find the next available tag::
86
+
87
+ curl -s https://api.github.com/repos/lsst-sims/lsst_survey_sims/tags \
88
+ | jq -r '.[].name' \
89
+ | egrep '^v[0-9]+.[0-9]+.[0-9]+.*$' \
90
+ | sort -V
91
+
92
+ Make and push a new tag (with the base of the repository at the commit you want as the current working directory)::
93
+
94
+ NEWVERSION="0.1.0.dev2"
95
+ NEWTAG=v${NEWVERSION}
96
+ echo "New version is ${NEWVERSION} with tag ${NEWTAG}"
97
+ echo ""
98
+ git tag ${NEWTAG}
99
+ git push origin tag ${NEWTAG}
100
+
101
+ Then install it in ``/sdf/data/rubin/shared/scheduler/packages``::
102
+
103
+ PACKAGEDIR="/sdf/data/rubin/shared/scheduler/packages"
104
+ TARGETDIR="${PACKAGEDIR}/lsst_survey_sim-${NEWVERSION}"
105
+ PIPORIGIN="git+https://github.com/lsst-sims/lsst_survey_sim.git@${NEWTAG}"
106
+ echo "Installing from ${PIPORIGIN} to ${TARGETDIR}"
107
+ echo ""
108
+ pip install \
109
+ --no-deps \
110
+ --target=${TARGETDIR} \
111
+ ${PIPORIGIN}
112
+
113
+ If you want to make it the default version, replace the link::
114
+
115
+ if test -L ${PACKAGEDIR}/lsst_survey_sim ; then
116
+ rm ${PACKAGEDIR}/lsst_survey_sim
117
+ fi
118
+ ln -s ${TARGETDIR} ${PACKAGEDIR}/lsst_survey_sim
119
+
120
+ Custom runs of prenight simulations
121
+ ===================================
122
+
123
+ Preparation of the environment
124
+ ------------------------------
125
+
126
+ Much of the ``run_prenight_sims.sh`` script is dedicated to figuring out what environment to use and configuring it.
127
+ If these defaults are not desired, a user can configure an environment to their liking, and run the simulation with the following steps.
128
+ The dependencies of ``lsst_survey_sim`` provide most of what the preniight simulations require to run.
129
+ The additional dependencies beyond what ``lsst_survey_sim`` requires are:
130
+
131
+ - ``click``
132
+ - ``psycopg2``
133
+ - ``botocore``
134
+ - ``boto3``
135
+ - ``lsst-resources``
136
+
137
+ You will also need to configure environment variables for access to the prenight S3 bucket and metadata database::
138
+
139
+ export VSARCHIVE_PGDATABASE="opsim_log"
140
+ export VSARCHIVE_PGHOST="usdf-maf-visit-seq-archive-tx.sdf.slac.stanford.edu"
141
+ export VSARCHIVE_PGUSER="writer"
142
+ export VSARCHIVE_PGSCHEMA="vsmd"
143
+
144
+ Get completed visits
145
+ --------------------
146
+
147
+ First, retrieve the set of completed visits at the start of the nights to be simulated.
148
+ For example::
149
+
150
+ DAYOBS="$(date -u --date='-12 hours' +'%Y%m%d')"
151
+ TOKEN_FILE="~/.lsst/usdf_access_token"
152
+ fetch_lsst_visits ${DAYOBS} completed_visits.db ${TOKEN_FILE}
153
+
154
+ You can register this visit list in the prenight simulation metadata database::
155
+
156
+ PREVIOUS_NIGHT_ISO="$(date --date='-36 hours' -u +'%F')"
157
+ COMPLETED=$(vseqarchive record-visitseq-metadata \
158
+ completed \
159
+ completed_visits.db \
160
+ "Consdb query through ${PREVIOUS_NIGHT_ISO}" \
161
+ --first_day_obs 20250620 \
162
+ --last_day_obs ${PREVIOUS_NIGHT_ISO})
163
+
164
+ The ``vseqarchive record-visitseq-metadata`` command creates a row in the ``completed`` table in the visit sequence archive metadata database,
165
+ automatically assigning it a UUID and recording a checksum of the table of visits and the label and date range provided as arguments in the above command.
166
+ It **does not** save the visits themselves in the S3 bucket:
167
+ it only records the checksum of the set of visits in the metadata database and assigns the set a UUID.
168
+ Above, this automatically generated UUID is saved in the ``COMPLETED`` environment variable.
169
+
170
+ Note that the ``fetch_lsst_visits`` command required the ``dayobs`` of the night you are about to simulate in ``YYYYMMDD`` format,
171
+ while the ``vseqarchive record-visitseq-metadata`` command takes the ``dayobs`` of the last night in the completed visits
172
+ (probably the night before the one used in ``fetch_lsst_visits``) in either ``YYYYMMDD`` or ``YYYY-MM-DD`` format.
173
+
174
+ Create pickles of the objects you need to run the simulation
175
+ ------------------------------------------------------------
176
+
177
+ If you do not already have a pickle, begin by getting the configuration you want from ``ts_config_scheduler``::
178
+
179
+ TS_CONFIG_SCHEDULER_REFERENCE="develop"
180
+ SCHED_CONFIG_FNAME="ts_config_scheduler/Scheduler/feature_scheduler/maintel/fbs_config_lsst_survey.py"
181
+ git clone --depth 1 https://github.com/lsst-ts/ts_config_scheduler
182
+ cd ts_config_scheduler
183
+ git fetch --depth 1 origin "${TS_CONFIG_SCHEDULER_REFERENCE}"
184
+ git checkout FETCH_HEAD
185
+
186
+ Create a pickle of the scheduler you want to run::
187
+
188
+ make_lsst_scheduler scheduler.p --opsim completed_visits.db --config_script ${SCHED_CONFIG_FNAME}
189
+
190
+ Create a model observatory pickle::
191
+
192
+ make_model_observatory observatory.p
193
+
194
+ Run the simulation
195
+ ------------------
196
+
197
+ Set a directory in which to save the results of the simulations::
198
+
199
+ OPSIM_RESULTS_DIR=/my/results/directory
200
+ mkdir ${OPSIM_RESULTS_DIR}
201
+
202
+ Finally, run the sim (and add it to the archive)::
203
+
204
+ OPSIMRUN="prenight_nominal_$(date --iso=s)"
205
+ NUM_NIGHTS="3"
206
+ LABEL="Nominal start and overhead, ideal conditions, run at $(date --iso=s)"
207
+ run_lsst_sim scheduler.p observatory.p "" ${DAYOBS} ${NUM_NIGHTS} "${OPSIMRUN}" \
208
+ --keep_rewards --label "${LABEL}" \
209
+ --delay 0 --anom_overhead_scale 0 \
210
+ --results ${OPSIM_RESULT_DIR}
211
+
212
+ Add the simulation to the S3 bucket and metadata database
213
+ ---------------------------------------------------------
214
+
215
+ Set ``LAST_DAYOBS`` to whatever the last dayobs in the simualtion was.
216
+ In the above example, that's three days ofter tonight::
217
+
218
+ LAST_DAYOBS="$(date -u --date='+36 hours' +'%Y%m%d')"
219
+
220
+ Register the simulation in the database::
221
+
222
+ SIM_UUID=$(vseqarchive record-visitseq-metadata \
223
+ simulations \
224
+ ${OPSIM_RESULT_DIR}/opsim.db \
225
+ "${LABEL}" \
226
+ --first_day_obs ${DAYOBS} \
227
+ --last_day_obs ${LAST_DAYOBS}
228
+ )
229
+
230
+ Add additional metadata for this entry recording where the pre-simulation visits came from::
231
+
232
+ vseqarchive update-visitseq-metadata ${SIM_UUID} parent_visitseq_uuid ${COMPLETED}
233
+ vseqarchive update-visitseq-metadata ${SIM_UUID} parent_last_day_obs ${PREVIOUS_NIGHT_ISO}
234
+
235
+ Set appropriate tags.
236
+ The following set of tags make the visit sequence recognized as a standard prenight by tools like ``obsloctap`` and the prenight brifing report::
237
+
238
+ vseqarchive tag ${SIM_UUID} prenight ideal nominal
239
+
240
+ Save the visits themselves to the S3 bucket, simultaneously updating the metadata database with references for their locations::
241
+
242
+ ARCHIVE="s3://rubin:rubin-scheduler-prenight/opsim/vseq/"
243
+ vseqarchive archive-file ${SIM_UUID} ${OPSIM_RESULT_DIR}/opsim.db visits --archive-base ${ARCHIVE}
244
+
245
+ When the opsim visits file has an extension that indicates that it is an ``sqlite3`` database (as it will be in this example),
246
+ it will be automatically converted to an HDF5 file for archiving.
247
+
248
+ If you used the ``--keep-rewords`` option in ``run_lsst_sim`` (as was done above), save the rewards file you generated as well::
249
+
250
+ vseqarchive archive-file ${SIM_UUID} ${OPSIM_RESULT_DIR}/rewards.h5 rewards --archive-base ${ARCHIVE}
251
+
252
+ Update the indexes of prenight simulations
253
+ ------------------------------------------
254
+
255
+ Some services (e.g. ``obsloctap``) need to query for prenight simulation of a given night, but do not have access to the prenight simulation database.
256
+ To support them, we maintain the results of queries to the metadata database for prenight sims of a given night in a pre-determined location in the S3 bucket.
257
+ When we create a new simulation, we need to update the objects with the results in the S3 bucket.
258
+ We need to do this for each night simulated.
259
+ In this example, the ``DAYOBS`` environment variable contains the first night (tonight).
260
+ We specified that we were simulating 3 nights above, so set variables for tomorrow and the day after, and iterate over them::
261
+
262
+ NEXT_DAYOBS="$(date -u --date='+12 hours' +'%Y%m%d')"
263
+ LAST_DAYOBS="$(date -u --date='+36 hours' +'%Y%m%d')"
264
+ DAYOBS_SIMULATED="$DAYOBS $NEXT_DAYOBS $LAST_DAYOBS"
265
+ for DAYOBS_TO_INDEX in ${DAYOBS_SIMULATED}; do
266
+ vseqarchive make-prenight-index ${DAYOBS_TO_INDEX} simonyi
267
+ done
268
+
269
+ ==========================================
270
+ Retrieving indexes of prenight simulations
271
+ ==========================================
272
+
273
+ The typical user of the prenight simulations should use the ``rubin_sim.sim_archive.prenightindex.get_prenight_index`` function.
274
+
275
+ ``get_prenight_index`` first attempts to query the metadata database for the data necessary to create the index.
276
+ If this query fails (e.g. due to access restrictions), it falls back on reading the index in the S3 bucket created by the ``vseqarchive make-prenight-index`` command.
277
+ For example::
278
+
279
+ >>> from rubin_sim.sim_archive.prenightindex import get_prenight_index
280
+ >>> pn_index_df = get_prenight_index('2025-12-10', 'simonyi')
281
+ >>> pn_index_df.tail()
282
+ sim_creation_day_obs daily_id visitseq_label ... tags comments files
283
+ visitseq_uuid ...
284
+ 7468dd4a-54ef-44fb-8bc0-8091ad49e9ab 2025-12-10 2 Nominal start and overhead, ideal conditions, ... ... [ideal, nominal, prenight] {} {'rewards': 's3://rubin:rubin-scheduler-prenig...
285
+ c24d9a7a-995e-4b3a-8da6-40ac7ed3688d 2025-12-10 3 Start time delayed by 60 minutes, nominal slew... ... [delay_60, ideal, prenight] {} {'rewards': 's3://rubin:rubin-scheduler-prenig...
286
+ ff6df943-8a5b-4871-bbe2-5729f8aa0820 2025-12-10 4 Start time delayed by 240 minutes, nominal sle... ... [delay_240, ideal, prenight] {} {'rewards': 's3://rubin:rubin-scheduler-prenig...
287
+ 6ee29551-5326-4d3b-9b2e-ba50c9e292d6 2025-12-10 5 Anomalous overhead (101, 0.1), nominal start, ... ... [anomalous_overhead, ideal, prenight] {} {'rewards': 's3://rubin:rubin-scheduler-prenig...
288
+ d08fb912-d57b-46ab-a911-ee97fd1a013f 2025-12-10 6 Anomalous overhead (102, 0.1), nominal start, ... ... [anomalous_overhead, ideal, prenight] {} {'rewards': 's3://rubin:rubin-scheduler-prenig...
289
+
290
+ [5 rows x 17 columns]
291
+ >>> pn_index_df.columns
292
+ Index(['sim_creation_day_obs', 'daily_id', 'visitseq_label', 'visitseq_url',
293
+ 'telescope', 'first_day_obs', 'last_day_obs', 'creation_time',
294
+ 'scheduler_version', 'config_url', 'sim_runner_kwargs',
295
+ 'conda_env_sha256', 'parent_visitseq_uuid', 'parent_last_day_obs',
296
+ 'tags', 'comments', 'files'],
297
+ dtype='object')
298
+
299
+ The columns of this `pandas.DataFrame` are as follows:
300
+
301
+ .. list-table:: VisitSequence Metadata Fields
302
+ :widths: 25 20 55
303
+ :header-rows: 1
304
+
305
+ * - Field
306
+ - Type
307
+ - Description
308
+ * - visitseq_label
309
+ - ``str``
310
+ - Human-readable label for the simulation
311
+ * - visitseq_url
312
+ - ``str`` or ``None``
313
+ - URL of the visits file (HDF5)
314
+ * - telescope
315
+ - ``str``
316
+ - Telescope identifier (``simonyi`` or ``auxtel``)
317
+ * - first_day_obs
318
+ - ``datetime.date`` or ``None``
319
+ - Local evening of the first night covered by the simulation
320
+ * - last_day_obs
321
+ - ``datetime.date`` or ``None``
322
+ - Local evening of the last night covered
323
+ * - creation_time
324
+ - ``pd.Timestamp`` or ``None``
325
+ - When the simulation was run (UTC)
326
+ * - scheduler_version
327
+ - ``str`` or ``None``
328
+ - Version of **rubin_scheduler** used
329
+ * - config_url
330
+ - ``str`` or ``None``
331
+ - URL of the configuration script (if recorded)
332
+ * - sim_runner_kwargs
333
+ - ``dict`` or ``None``
334
+ - Arguments passed to ``sim_runner`` (JSON-serialisable)
335
+ * - conda_env_sha256
336
+ - ``str`` (hex) or ``None``
337
+ - SHA-256 hash of the Conda environment used
338
+ * - parent_visitseq_uuid
339
+ - ``uuid.UUID`` or ``None``
340
+ - UUID of the parent simulation (if this is a continuation)
341
+ * - parent_last_day_obs
342
+ - ``datetime.date`` or ``None``
343
+ - Last night of the parent simulation
344
+ * - sim_creation_day_obs
345
+ - ``datetime.date`` or ``None``
346
+ - Derived from ``creation_time`` (UTC-12 day)
347
+ * - daily_id
348
+ - ``int``
349
+ - Sequential ID for simulations created on the same day (1-based)
350
+ * - stats
351
+ - ``dict`` or ``None``
352
+ - Aggregated nightly statistics for the simulation. Structure follows the output of ``VisitSequenceArchiveMetadata.sims_on_night_with_stats`` – a mapping from metric name to a sub-dictionary of statistic values (``count``, ``mean``, ``p05``, ``q1``, ``median``, ``q3``, ``p95``, ``min``, ``max``, etc.)
353
+ * - tags
354
+ - ``list[str]``
355
+ - List of tags attached to the simulation (e.g., ``["prenight","ideal","nominal"]``)
356
+ * - files
357
+ - ``dict``
358
+ - Mapping from file type (e.g., ``"scheduler"``, ``"observatory"``, ``"rewards"``) to the URL where that file is stored
359
+ * - comments
360
+ - ``dict``
361
+ - Mapping from comment timestamp (ISO string) to comment text
362
+
363
+
364
+ This data may also be read directly from the S3 bucket for the desired night (dayobs).
365
+ The URL for the json data is of the form::
366
+
367
+ s3://rubin:rubin-scheduler-prenight/opsim/prenight_index/{telescope}/{year}/{month}/{telescope}_prenights_for_{YYYY-MM-DD}.json
368
+
369
+ The content is a json file with (hex representations of) simulation UUIDs as keys and dictionaries with metadata as the values of those keys.
370
+ The start of a sample index looks like this::
371
+
372
+ {
373
+ "e572d2b3-d07b-496b-a0c3-a69c915a5ad4":{
374
+ "sim_creation_day_obs":"2025-12-08",
375
+ "daily_id":2,
376
+ "visitseq_label":"Nominal start and overhead, ideal conditions, run at 2025-12-08T06:59:18-08:00",
377
+ "visitseq_url":"s3:\/\/rubin:rubin-scheduler-prenight\/opsim\/vseq\/simonyi\/2025-12-08\/e572d2b3-d07b-496b-a0c3-a69c915a5ad4\/visits.h5",
378
+ "telescope":"simonyi",
379
+ "first_day_obs":"2025-12-08",
380
+ "last_day_obs":"2025-12-10",
381
+ "creation_time":"2025-12-08T15:09:51.399Z",
382
+ "scheduler_version":"",
383
+ "config_url":null,
384
+ "sim_runner_kwargs":null,
385
+ "conda_env_sha256":"52333af3b43db7704318f35d4fe7b9ddf770ca49c892f9681933c20de36cb0b3",
386
+ "parent_visitseq_uuid":"93b058db-c0f4-4395-b856-4064454299f3",
387
+ "parent_last_day_obs":"2025-12-07",
388
+ "tags":[
389
+ "ideal",
390
+ "nominal",
391
+ "prenight"
392
+ ],
393
+ "comments":{
394
+
395
+ },
396
+ "files":{
397
+ "rewards":"s3:\/\/rubin:rubin-scheduler-prenight\/opsim\/vseq\/simonyi\/2025-12-08\/e572d2b3-d07b-496b-a0c3-a69c915a5ad4\/rewards.h5"
398
+ },
399
+ "stats":{
400
+ "azimuth":{
401
+ "q1":174.9977611669,
402
+ "q3":295.2438484415,
403
+ "max":359.7925184257,
404
+ "min":0.0004341731,
405
+ "p05":20.4236498145,
406
+ "p95":344.7673586831,
407
+ "std":82.3488406074,
408
+ "mean":226.8318565587,
409
+ "count":562,
410
+ "median":222.7917334351,
411
+ "accumulated":false
412
+ },
413
+
414
+ It can be read using `lsst.resource.ResourcePath`::
415
+
416
+ >>> from lsst.resources import ResourcePath
417
+ >>> import json
418
+ >>> prenight_index_rp = ResourcePath('s3://rubin:rubin-scheduler-prenight/opsim/prenight_index/simonyi/2025/12/simonyi_prenights_for_2025-12-10.json')
419
+ >>> prenight_index_json = prenight_index_rp.read().decode()
420
+ >>> prenight_index = json.loads(prenight_index_json)
421
+
422
+ ===============================================
423
+ Retrieving the table of visits for a simulation
424
+ ===============================================
425
+
426
+ The indexed of simulations above include the ``visitseq_url`` referece to the HDF5 file with table of simulated visits themselves.
427
+ The simplest way to read these is with the ``rubin_sim.sim_archive.vseqarchive.get_visits`` utility::
428
+
429
+ >>> from rubin_sim.sim_archive.vseqarchive import get_visits
430
+ >>> visitseq_url = 's3://rubin:rubin-scheduler-prenight/opsim/vseq/simonyi/2025-12-08/e572d2b3-d07b-496b-a0c3-a69c915a5ad4/visits.h5'
431
+ >>> visits = get_visits(visitseq_url)
432
+ >>> visits.head()
433
+ observationId fieldRA fieldDec observationStartMJD flush_by_mjd visitExposureTime band filter rotSkyPos ... moonRA moonDec moonDistance solarElong moonPhase cummTelAz observation_reason science_program cloud_extinction
434
+ 0 0 25.485040 -21.566665 61018.046632 0.0 150.0 r r_57 98.333137 ... 136.719114 19.773488 116.187971 113.972844 68.590565 8.975898 cwfs BLOCK-T630 0.0
435
+ 1 1 24.731275 -13.747277 61018.048581 0.0 30.0 r r_57 92.888439 ... 136.749727 19.766991 115.028941 118.157641 68.575266 4.362920 singles_r BLOCK-407 0.0
436
+ 2 2 26.590414 -11.364966 61018.049060 0.0 30.0 r r_57 97.394703 ... 136.757232 19.765397 112.626404 121.019966 68.571516 10.054260 singles_r BLOCK-407 0.0
437
+ 3 3 25.249855 -8.776389 61018.049521 0.0 30.0 r r_57 93.312776 ... 136.764443 19.763864 113.121836 121.402330 68.567913 5.944932 singles_r BLOCK-407 0.0
438
+ 4 4 23.904252 -6.185058 61018.049972 0.0 30.0 r r_57 90.071152 ... 136.771498 19.762364 113.578828 121.674979 68.564388 2.665790 singles_r BLOCK-407 0.0
439
+
440
+ The columns contained are those generated by the ``rubin_scheduler`` ``opsim`` simulation, and can therefore be analyzed using ``rubin_sim.maf`` tools.
441
+
442
+ The ``get_visits`` utility used above can accept a ``stackers`` keyword argument that takes a list of ``maf`` stackers, which supplement the base columns included in the HDF5 file with derived columns.
443
+
444
+ The HDF5 in the S3 store can alse be read directly using lower level tools::
445
+
446
+ >>> from lsst.resources import ResourcePath
447
+ >>> from tempfile import TemporaryDirectory
448
+ >>> import pandas as pd
449
+ >>> visitseq_url = 's3://rubin:rubin-scheduler-prenight/opsim/vseq/simonyi/2025-12-08/e572d2b3-d07b-496b-a0c3-a69c915a5ad4/visits.h5'
450
+ >>> visitseq_origin = ResourcePath(visitseq_url)
451
+ >>> with TemporaryDirectory() as temp_dir:
452
+ ... h5_destination = ResourcePath(temp_dir).join("visits.h5")
453
+ ... h5_destination.transfer_from(visitseq_origin, "copy")
454
+ ... visits = pd.read_hdf(h5_destination.ospath, key="observations")
455
+ ...
456
+ >>> visits.head()
457
+ observationId fieldRA fieldDec observationStartMJD flush_by_mjd visitExposureTime band filter rotSkyPos ... moonRA moonDec moonDistance solarElong moonPhase cummTelAz observation_reason science_program cloud_extinction
458
+ 0 0 25.485040 -21.566665 61018.046632 0.0 150.0 r r_57 98.333137 ... 136.719114 19.773488 116.187971 113.972844 68.590565 8.975898 cwfs BLOCK-T630 0.0
459
+ 1 1 24.731275 -13.747277 61018.048581 0.0 30.0 r r_57 92.888439 ... 136.749727 19.766991 115.028941 118.157641 68.575266 4.362920 singles_r BLOCK-407 0.0
460
+ 2 2 26.590414 -11.364966 61018.049060 0.0 30.0 r r_57 97.394703 ... 136.757232 19.765397 112.626404 121.019966 68.571516 10.054260 singles_r BLOCK-407 0.0
461
+ 3 3 25.249855 -8.776389 61018.049521 0.0 30.0 r r_57 93.312776 ... 136.764443 19.763864 113.121836 121.402330 68.567913 5.944932 singles_r BLOCK-407 0.0
462
+ 4 4 23.904252 -6.185058 61018.049972 0.0 30.0 r r_57 90.071152 ... 136.771498 19.762364 113.578828 121.674979 68.564388 2.665790 singles_r BLOCK-407 0.0
463
+
464
+ =============================================================
465
+ Retrieving the latest nominal prenight simulation for a night
466
+ =============================================================
467
+
468
+ A particularly common use of the prenight archive is to simply return visits from the latest nominal simulation for a given night and telescope.
469
+ The ``rubin_sim.sim_archive.fetch_sim_for_nights`` utility simplifies this task,
470
+ reading the prenight index, finding the ones with desirend metadata, and loading the corresponding visits from the latest matching simulation::
471
+
472
+ >>> from rubin_sim.sim_archive import fetch_sim_for_nights
473
+ >>> visits = fetch_sim_for_nights('2025-12-10', '2025-12-12', which_sim={'tags': ('ideal', 'nominal'), 'telescope': 'simonyi', 'max_simulation_age': 30})
474
+ >>> visits.head()
475
+ index observationId fieldRA fieldDec observationStartMJD flush_by_mjd visitExposureTime band filter ... moonRA moonDec moonDistance solarElong moonPhase cummTelAz observation_reason science_program cloud_extinction
476
+ 0 0 0 27.728086 -21.211953 61020.047709 0.0 150.0 r r_57 ... 161.557441 8.748750 133.877255 114.115281 55.110377 7.944240 cwfs BLOCK-T630 0.0
477
+ 1 1 1 28.993789 -13.374352 61020.049674 0.0 30.0 r r_57 ... 161.587119 8.738341 133.309112 119.900287 55.094211 10.547646 singles_r BLOCK-407 0.0
478
+ 2 2 2 28.459780 -10.287782 61020.050117 0.0 30.0 r r_57 ... 161.593783 8.736001 133.791467 121.288930 55.090581 8.213424 singles_r BLOCK-407 0.0
479
+ 3 3 3 27.969350 -7.184119 61020.050559 0.0 30.0 r r_57 ... 161.600448 8.733660 134.078759 122.629332 55.086950 6.614253 singles_r BLOCK-407 0.0
480
+ 4 4 4 27.540610 -4.060129 61020.051002 0.0 30.0 r r_57 ... 161.607111 8.731318 134.143320 123.935418 55.083320 5.542837 singles_r BLOCK-407 0.0
481
+
482
+ The above call returns the latest simulation of the ``simonyi`` telescope that covers nights starting 2025-12-10 through 2025-12-12, has tags ``ideal`` and ``nominal``.
483
+ Simulations older than 30 days are ignored, such that no visits will be return if the latest simulation is older than this.
484
+
485
+ Like the ``rubin_sim.sim_archive.vseqarchive.get_visits`` described above, the ``rubin_sim.sim_archive.get_sim_for_nights`` function can take a list of stackers in the ``stackers`` keyword argument.
@@ -1,6 +1,10 @@
1
+ botocore
2
+ boto3
3
+ click
1
4
  conda
2
5
  openorb
3
6
  openorb-data-de405
7
+ psycopg2
4
8
  george
5
9
  jinja2
6
10
  tornado
@@ -58,6 +58,12 @@ extras = [
58
58
  "george",
59
59
  "pyoorb",
60
60
  ]
61
+ vseqarchive = [
62
+ "click",
63
+ "psycopg2",
64
+ "botocore",
65
+ "boto3",
66
+ ]
61
67
 
62
68
  [project.scripts]
63
69
  rs_download_data = "rubin_sim.data.rs_download_data:rs_download_data"
@@ -20,6 +20,7 @@
20
20
  # see <http://www.lsstcorp.org/LegalNotices/>.
21
21
  #
22
22
  """Python interface to the metrics analysis framework."""
23
+
23
24
  from .batches import *
24
25
  from .db import *
25
26
  from .maf_contrib import *
@@ -349,7 +349,7 @@ def glanceBatch(
349
349
  displayDict["caption"] = "Fraction of observations that are in pairs"
350
350
  displayDict["subgroup"] = "Solar System"
351
351
 
352
- sql = "%s (filter='g' or filter='r' or filter='i')" % sqlC
352
+ sql = "%s (band='g' or band='r' or band='i')" % sqlC
353
353
  pairSlicer = slicers.HealpixSlicer(
354
354
  nside=pairnside,
355
355
  lat_col=colmap["dec"],
@@ -383,7 +383,7 @@ def glanceBatch(
383
383
  if "scheduler_note" in colmap.keys():
384
384
  displayDict = {"group": "Basic Stats", "subgroup": "Percent stats"}
385
385
  metric = metrics.StringCountMetric(
386
- col=colmap["scheduler_note"], percent=True, metric_name="Percents", clip_end=False
386
+ col=colmap["scheduler_note_root"], percent=True, metric_name="Percents", clip_end=False
387
387
  )
388
388
  sql = (
389
389
  "scheduler_note like 'pair%%' or scheduler_note like 'twilight%%' or scheduler_note like 'blob%%'"
@@ -392,7 +392,9 @@ def glanceBatch(
392
392
  bundle = metric_bundles.MetricBundle(metric, slicer, sql, display_dict=displayDict)
393
393
  bundle_list.append(bundle)
394
394
  displayDict["subgroup"] = "Count Stats"
395
- metric = metrics.StringCountMetric(col=colmap["scheduler_note"], metric_name="Counts", clip_end=False)
395
+ metric = metrics.StringCountMetric(
396
+ col=colmap["scheduler_note_root"], metric_name="Counts", clip_end=False
397
+ )
396
398
  bundle = metric_bundles.MetricBundle(metric, slicer, sql, display_dict=displayDict)
397
399
  bundle_list.append(bundle)
398
400
 
@@ -510,7 +512,7 @@ def glanceBatch(
510
512
  sky = EuclidOverlapFootprint(nside=nside_foot, smc_radius=4, lmc_radius=6)
511
513
  footprints_hp_array, labels = sky.return_maps()
512
514
  for filtername in filternames:
513
- sql = "filter='%s' and night < 365" % filtername
515
+ sql = "band='%s' and night < 365" % filtername
514
516
  metric = metrics.CountMetric(col="night", metric_name="N year 1")
515
517
  summary_stat = metrics.FootprintFractionMetric(
516
518
  footprint=footprints_hp_array[filtername],
@@ -536,7 +538,7 @@ def glanceBatch(
536
538
  lat_lon_deg=colmap["raDecDeg"],
537
539
  )
538
540
  for filtername in filternames:
539
- sql = "filter='%s' and scheduler_note like 'ToO%%'" % filtername
541
+ sql = "band='%s' and scheduler_note like 'ToO%%'" % filtername
540
542
  metric = metrics.CountMetric(col=colmap["mjd"], metric_name="N ToO")
541
543
  bundle = metric_bundles.MetricBundle(
542
544
  metric,