rubin-sim 2.2.5.dev6__tar.gz → 2.4.0__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 (395) hide show
  1. {rubin_sim-2.2.5.dev6/rubin_sim.egg-info → rubin_sim-2.4.0}/PKG-INFO +1 -1
  2. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/batch/run_auxtel_prenight_sims.sh +2 -2
  3. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/batch/run_prenight_sims.sh +8 -8
  4. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/data/rs_download_data.py +1 -1
  5. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/batches/col_map_dict.py +36 -0
  6. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metric_bundles/metric_bundle.py +2 -1
  7. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/slicers/base_spatial_slicer.py +5 -1
  8. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/slicers/healpix_slicer.py +4 -0
  9. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/slicers/healpix_subset_slicer.py +5 -1
  10. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/slicers/user_points_slicer.py +4 -0
  11. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0/rubin_sim.egg-info}/PKG-INFO +1 -1
  12. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim.egg-info/SOURCES.txt +1 -0
  13. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_healpixslicer.py +87 -0
  14. rubin_sim-2.4.0/tests/moving_objects/test_sed_data.py +61 -0
  15. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/.git_archival.txt +0 -0
  16. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/.gitattributes +0 -0
  17. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/.github/workflows/build_container.yaml +0 -0
  18. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/.github/workflows/build_docs.yaml +0 -0
  19. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/.github/workflows/cache.yaml +0 -0
  20. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/.github/workflows/rebase_checker.yaml +0 -0
  21. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/.github/workflows/ruff.yaml +0 -0
  22. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/.github/workflows/test_and_build.yaml +0 -0
  23. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/.gitignore +0 -0
  24. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/.pre-commit-config.yaml +0 -0
  25. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/Dockerfile +0 -0
  26. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/LICENSE +0 -0
  27. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/README.md +0 -0
  28. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/README_dev.md +0 -0
  29. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/batch/compile_prenight_metadata_cache.sh +0 -0
  30. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/container_environment.yaml +0 -0
  31. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/.gitignore +0 -0
  32. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/Makefile +0 -0
  33. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/api.rst +0 -0
  34. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/archive.rst +0 -0
  35. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/conf.py +0 -0
  36. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/data-api.rst +0 -0
  37. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/data-download.rst +0 -0
  38. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/documenteer.toml +0 -0
  39. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/index.rst +0 -0
  40. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/installation.rst +0 -0
  41. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/introduction.rst +0 -0
  42. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/maf-api-batches.rst +0 -0
  43. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/maf-api-db.rst +0 -0
  44. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/maf-api-maf-contrib.rst +0 -0
  45. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/maf-api-maps.rst +0 -0
  46. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/maf-api-metricbundles.rst +0 -0
  47. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/maf-api-metrics.rst +0 -0
  48. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/maf-api-plots.rst +0 -0
  49. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/maf-api-run-comparison.rst +0 -0
  50. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/maf-api-slicers.rst +0 -0
  51. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/maf-api-stackers.rst +0 -0
  52. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/maf-api-utils.rst +0 -0
  53. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/maf-api.rst +0 -0
  54. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/maf.rst +0 -0
  55. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/metric_list.py +0 -0
  56. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/moving-objects-api.rst +0 -0
  57. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/moving-objects.rst +0 -0
  58. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/phot-utils-api.rst +0 -0
  59. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/phot-utils.rst +0 -0
  60. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/prenight.rst +0 -0
  61. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/satellite-constellations-api.rst +0 -0
  62. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/satellite-constellations.rst +0 -0
  63. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/selfcal-api.rst +0 -0
  64. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/selfcal.rst +0 -0
  65. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/sim-archive-api.rst +0 -0
  66. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/skybrightness-api.rst +0 -0
  67. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/skybrightness.rst +0 -0
  68. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/user-guide.rst +0 -0
  69. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/example_deployment.yaml +0 -0
  70. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/optional-requirements.txt +0 -0
  71. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/pyproject.toml +0 -0
  72. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/requirements.txt +0 -0
  73. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/__init__.py +0 -0
  74. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/data/__init__.py +0 -0
  75. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/__init__.py +0 -0
  76. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/batches/__init__.py +0 -0
  77. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/batches/altaz_batch.py +0 -0
  78. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/batches/common.py +0 -0
  79. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/batches/ddf_batch.py +0 -0
  80. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/batches/filterchange_batch.py +0 -0
  81. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/batches/glance_batch.py +0 -0
  82. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/batches/hourglass_batch.py +0 -0
  83. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/batches/info_batch.py +0 -0
  84. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/batches/metadata_batch.py +0 -0
  85. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/batches/moving_objects_batch.py +0 -0
  86. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/batches/openshutter_batch.py +0 -0
  87. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/batches/radar_limited.py +0 -0
  88. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/batches/science_radar_batch.py +0 -0
  89. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/batches/skycoverage.py +0 -0
  90. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/batches/slew_batch.py +0 -0
  91. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/batches/srd_batch.py +0 -0
  92. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/batches/time_batch.py +0 -0
  93. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/batches/time_sci_batch.py +0 -0
  94. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/batches/visitdepth_batch.py +0 -0
  95. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/db/__init__.py +0 -0
  96. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/db/add_run.py +0 -0
  97. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/db/results_db.py +0 -0
  98. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/db/tracking_db.py +0 -0
  99. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/ddf_dir.py +0 -0
  100. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/generate_ss.py +0 -0
  101. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/glance_dir.py +0 -0
  102. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/__init__.py +0 -0
  103. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/calculate_lsst_field_visibility_astropy.py +0 -0
  104. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/depth_limited_num_gal_metric.py +0 -0
  105. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/example_new_metrics.py +0 -0
  106. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/filter_pair_t_gaps_metric.py +0 -0
  107. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/grb_transient_metric.py +0 -0
  108. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/gw170817_det_metric.py +0 -0
  109. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/intervals_between_obs_metric.py +0 -0
  110. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/kne_metrics.py +0 -0
  111. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/lss_metrics.py +0 -0
  112. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/lss_obs_strategy/__init__.py +0 -0
  113. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/lss_obs_strategy/constants_for_pipeline.py +0 -0
  114. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/lss_obs_strategy/galaxy_counts_metric_extended.py +0 -0
  115. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/lss_obs_strategy/galaxy_counts_with_pixel_calibration.py +0 -0
  116. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/lv_dwarfs/__init__.py +0 -0
  117. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/lv_dwarfs/lv_dwarfs_metrics.py +0 -0
  118. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/microlensing_metric.py +0 -0
  119. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/num_obs_in_survey_time_overlap_metric.py +0 -0
  120. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/periodic_metric.py +0 -0
  121. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/periodic_star_metric.py +0 -0
  122. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/periodic_star_modulation_metric.py +0 -0
  123. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/presto_color_kne_pop_metric.py +0 -0
  124. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/selfcal_uniformity_metric.py +0 -0
  125. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/star_count_mass_metric.py +0 -0
  126. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/star_count_metric.py +0 -0
  127. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/star_counts/__init__.py +0 -0
  128. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/star_counts/abs_mag.py +0 -0
  129. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/star_counts/coords.py +0 -0
  130. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/star_counts/readme.txt +0 -0
  131. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/star_counts/spec_type.py +0 -0
  132. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/star_counts/starcount.py +0 -0
  133. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/star_counts/starcount_bymass.py +0 -0
  134. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/star_counts/stellardensity.py +0 -0
  135. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/static_probes_fom_summary_metric.py +0 -0
  136. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/tdes_pop_metric.py +0 -0
  137. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/transient_ascii_sed_metric.py +0 -0
  138. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/triplet_metric.py +0 -0
  139. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/var_depth_metric.py +0 -0
  140. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/xrb_metrics.py +0 -0
  141. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/young_stellar_objects_metric.py +0 -0
  142. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_night_report.py +0 -0
  143. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/make_fbs_tracking_db.py +0 -0
  144. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maps/__init__.py +0 -0
  145. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maps/base_map.py +0 -0
  146. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maps/create_gaia_density_map.py +0 -0
  147. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maps/dust_map.py +0 -0
  148. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maps/dust_map_3d.py +0 -0
  149. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maps/ebv_3d_hp.py +0 -0
  150. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maps/ebv_hp.py +0 -0
  151. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maps/gal_coords_map.py +0 -0
  152. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maps/galactic_plane_priority_maps.py +0 -0
  153. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maps/stellar_density_map.py +0 -0
  154. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maps/trilegal_map.py +0 -0
  155. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metadata_dir.py +0 -0
  156. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metric_bundles/__init__.py +0 -0
  157. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metric_bundles/metric_bundle_group.py +0 -0
  158. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metric_bundles/mo_metric_bundle.py +0 -0
  159. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/__init__.py +0 -0
  160. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/agn_time_lag_metric.py +0 -0
  161. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/agnstructure.py +0 -0
  162. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/area_summary_metrics.py +0 -0
  163. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/base_metric.py +0 -0
  164. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/brown_dwarf_metric.py +0 -0
  165. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/cadence_metrics.py +0 -0
  166. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/calibration_metrics.py +0 -0
  167. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/chip_vendor_metric.py +0 -0
  168. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/color_slope_metrics.py +0 -0
  169. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/coverage_metric.py +0 -0
  170. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/crowding_metric.py +0 -0
  171. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/cumulative_metric.py +0 -0
  172. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/dcr_metric.py +0 -0
  173. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/exgal_m5.py +0 -0
  174. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/fft_metric.py +0 -0
  175. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/galactic_plane_metrics.py +0 -0
  176. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/galplane_time_sampling_metrics.py +0 -0
  177. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/hourglass_metric.py +0 -0
  178. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/incremental_template_metric.py +0 -0
  179. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/kuiper_metrics.py +0 -0
  180. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/mo_metrics.py +0 -0
  181. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/mo_summary_metrics.py +0 -0
  182. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/night_pointing_metric.py +0 -0
  183. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/optimal_m5_metric.py +0 -0
  184. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/pair_metric.py +0 -0
  185. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/periodic_detect_metric.py +0 -0
  186. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/phase_gap_metric.py +0 -0
  187. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/qso_number_counts_metric.py +0 -0
  188. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/scaling_metrics.py +0 -0
  189. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/schedview_metrics.py +0 -0
  190. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/season_metrics.py +0 -0
  191. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/simple_metrics.py +0 -0
  192. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/sky_sat_metric.py +0 -0
  193. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/sn_cadence_metric.py +0 -0
  194. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/sn_n_sn_metric.py +0 -0
  195. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/sn_sl_metric.py +0 -0
  196. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/sn_snr_metric.py +0 -0
  197. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/snr_weight.py +0 -0
  198. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/star_density.py +0 -0
  199. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/string_count_metric.py +0 -0
  200. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/summary_metrics.py +0 -0
  201. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/surfb_metric.py +0 -0
  202. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/technical_metrics.py +0 -0
  203. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/tgaps.py +0 -0
  204. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/transient_metrics.py +0 -0
  205. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/use_metrics.py +0 -0
  206. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/vector_metrics.py +0 -0
  207. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/visit_groups_metric.py +0 -0
  208. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/weak_lensing_systematics_metric.py +0 -0
  209. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/plots/__init__.py +0 -0
  210. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/plots/hg_plotters.py +0 -0
  211. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/plots/hourglass_plotters.py +0 -0
  212. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/plots/mo_plotters.py +0 -0
  213. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/plots/nd_plotters.py +0 -0
  214. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/plots/neo_distance_plotter.py +0 -0
  215. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/plots/night_pointing_plotter.py +0 -0
  216. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/plots/oned_plotters.py +0 -0
  217. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/plots/perceptual_rainbow.py +0 -0
  218. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/plots/plot_handler.py +0 -0
  219. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/plots/skyproj_plotters.py +0 -0
  220. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/plots/spatial_plotters.py +0 -0
  221. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/plots/special_plotters.py +0 -0
  222. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/plots/two_d_plotters.py +0 -0
  223. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/plots/xyplotter.py +0 -0
  224. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/run_comparison/__init__.py +0 -0
  225. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/run_comparison/archive.py +0 -0
  226. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/run_comparison/gather_summaries.py +0 -0
  227. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/run_comparison/microlensing_compare.py +0 -0
  228. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/run_comparison/radar_plot.py +0 -0
  229. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/run_comparison/summary_plots.py +0 -0
  230. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/run_moving_calc.py +0 -0
  231. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/run_moving_fractions.py +0 -0
  232. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/run_moving_join.py +0 -0
  233. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/run_selfcal_metric.py +0 -0
  234. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/scimaf_dir.py +0 -0
  235. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/show_maf.py +0 -0
  236. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/slicers/__init__.py +0 -0
  237. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/slicers/base_slicer.py +0 -0
  238. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/slicers/healpix_sdss_slicer.py +0 -0
  239. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/slicers/hourglass_slicer.py +0 -0
  240. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/slicers/mo_slicer.py +0 -0
  241. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/slicers/movie_slicer.py +0 -0
  242. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/slicers/nd_slicer.py +0 -0
  243. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/slicers/one_d_slicer.py +0 -0
  244. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/slicers/time_interval_slicers.py +0 -0
  245. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/slicers/uni_slicer.py +0 -0
  246. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/stackers/__init__.py +0 -0
  247. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/stackers/base_stacker.py +0 -0
  248. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/stackers/coord_stackers.py +0 -0
  249. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/stackers/date_stackers.py +0 -0
  250. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/stackers/general_stackers.py +0 -0
  251. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/stackers/get_col_info.py +0 -0
  252. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/stackers/label_stackers.py +0 -0
  253. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/stackers/m5_optimal_stacker.py +0 -0
  254. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/stackers/mo_phase.py +0 -0
  255. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/stackers/mo_stackers.py +0 -0
  256. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/stackers/n_follow_stacker.py +0 -0
  257. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/stackers/neo_dist_stacker.py +0 -0
  258. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/stackers/sdss_stackers.py +0 -0
  259. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/stackers/sn_stacker.py +0 -0
  260. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/stackers/teff_stacker.py +0 -0
  261. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/utils/__init__.py +0 -0
  262. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/utils/astrometry_utils.py +0 -0
  263. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/utils/generate_fov_map.py +0 -0
  264. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/utils/get_date_version.py +0 -0
  265. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/utils/maf_utils.py +0 -0
  266. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/utils/opsim_utils.py +0 -0
  267. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/utils/output_utils.py +0 -0
  268. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/utils/sn_n_sn_utils.py +0 -0
  269. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/utils/sn_utils.py +0 -0
  270. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/utils/stellar_mags.py +0 -0
  271. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/web/__init__.py +0 -0
  272. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/web/favicon.ico +0 -0
  273. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/web/maf_run_results.py +0 -0
  274. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/web/maf_tracking.py +0 -0
  275. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/web/sorttable.js +0 -0
  276. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/web/templates/allmetricresults.html +0 -0
  277. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/web/templates/configs.html +0 -0
  278. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/web/templates/macros.html +0 -0
  279. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/web/templates/master.html +0 -0
  280. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/web/templates/metricselect.html +0 -0
  281. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/web/templates/multicolor.html +0 -0
  282. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/web/templates/results.html +0 -0
  283. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/web/templates/runselect.html +0 -0
  284. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/web/templates/stats.html +0 -0
  285. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/moving_objects/__init__.py +0 -0
  286. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/moving_objects/base_obs.py +0 -0
  287. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/moving_objects/cheby_fits.py +0 -0
  288. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/moving_objects/cheby_values.py +0 -0
  289. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/moving_objects/chebyshev_utils.py +0 -0
  290. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/moving_objects/direct_obs.py +0 -0
  291. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/moving_objects/make_lsst_obs.py +0 -0
  292. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/moving_objects/ooephemerides.py +0 -0
  293. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/moving_objects/orbits.py +0 -0
  294. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/moving_objects/pre_generate.py +0 -0
  295. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/moving_objects/utils.py +0 -0
  296. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/phot_utils/__init__.py +0 -0
  297. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/phot_utils/bandpass.py +0 -0
  298. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/phot_utils/photometric_parameters.py +0 -0
  299. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/phot_utils/physical_parameters.py +0 -0
  300. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/phot_utils/predicted_zeropoints.py +0 -0
  301. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/phot_utils/sed.py +0 -0
  302. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/phot_utils/sed_utils.py +0 -0
  303. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/phot_utils/signaltonoise.py +0 -0
  304. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/phot_utils/spectral_resampling.py +0 -0
  305. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/satellite_constellations/__init__.py +0 -0
  306. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/satellite_constellations/basis_function.py +0 -0
  307. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/satellite_constellations/model_observatory.py +0 -0
  308. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/satellite_constellations/sat_utils.py +0 -0
  309. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/selfcal/__init__.py +0 -0
  310. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/selfcal/generate_catalog.py +0 -0
  311. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/selfcal/offsets.py +0 -0
  312. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/selfcal/solver.py +0 -0
  313. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/selfcal/star_tools.py +0 -0
  314. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/sim_archive/__init__.py +0 -0
  315. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/sim_archive/conda_packages.py +0 -0
  316. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/sim_archive/make_snapshot.py +0 -0
  317. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/sim_archive/prenight.py +0 -0
  318. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/sim_archive/sim_archive.py +0 -0
  319. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/skybrightness/__init__.py +0 -0
  320. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/skybrightness/allsky_db.py +0 -0
  321. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/skybrightness/data/ESO_Spectra/eso_tools.py +0 -0
  322. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/skybrightness/data/solarSpec/package.py +0 -0
  323. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/skybrightness/generate_hdf5.py +0 -0
  324. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/skybrightness/interp_components.py +0 -0
  325. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/skybrightness/sky_model.py +0 -0
  326. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/skybrightness/twilight_func.py +0 -0
  327. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/skybrightness/utils.py +0 -0
  328. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim.egg-info/dependency_links.txt +0 -0
  329. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim.egg-info/entry_points.txt +0 -0
  330. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim.egg-info/requires.txt +0 -0
  331. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim.egg-info/top_level.txt +0 -0
  332. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/setup.cfg +0 -0
  333. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/setup.py +0 -0
  334. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/showmaf-deploy.yaml +0 -0
  335. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/test-requirements.txt +0 -0
  336. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/data/test_data.py +0 -0
  337. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/data/test_ddf_grid.py +0 -0
  338. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_3x2fom.py +0 -0
  339. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_archive.py +0 -0
  340. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_basemetrics.py +0 -0
  341. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_batchcommon.py +0 -0
  342. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_batches.py +0 -0
  343. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_cadencemetrics.py +0 -0
  344. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_calibrationmetrics.py +0 -0
  345. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_color_slopes.py +0 -0
  346. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_gathersummaries.py +0 -0
  347. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_healpixsubsetslicer.py +0 -0
  348. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_hgplotters.py +0 -0
  349. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_hourglassmetric.py +0 -0
  350. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_io.py +0 -0
  351. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_json.py +0 -0
  352. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_maps.py +0 -0
  353. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_metricbundle.py +0 -0
  354. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_mometrics.py +0 -0
  355. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_movieslicer.py +0 -0
  356. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_ndslicer.py +0 -0
  357. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_neodistanceplotter.py +0 -0
  358. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_onedslicer.py +0 -0
  359. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_opsimutils.py +0 -0
  360. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_plotters.py +0 -0
  361. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_resultsdb.py +0 -0
  362. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_schedviewmetrics.py +0 -0
  363. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_simplemetrics.py +0 -0
  364. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_snmetrics.py +0 -0
  365. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_snmetrics_nsn.py +0 -0
  366. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_stackers.py +0 -0
  367. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_stellarmags.py +0 -0
  368. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_stringcount.py +0 -0
  369. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_summary_plots.py +0 -0
  370. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_summarymetrics.py +0 -0
  371. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_technicalmetrics.py +0 -0
  372. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_templatemetrics.py +0 -0
  373. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_timeintervalslicers.py +0 -0
  374. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_trackingdb.py +0 -0
  375. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_unislicer.py +0 -0
  376. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_vectormetrics.py +0 -0
  377. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_visitgroupsmetric.py +0 -0
  378. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/moving_objects/test_camera.py +0 -0
  379. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/moving_objects/test_chebyfits.py +0 -0
  380. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/moving_objects/test_chebyshevutils.py +0 -0
  381. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/moving_objects/test_chebyvalues.py +0 -0
  382. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/moving_objects/test_ephemerides.py +0 -0
  383. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/moving_objects/test_orbits.py +0 -0
  384. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/phot_utils/test_approximatebandpasses.py +0 -0
  385. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/phot_utils/test_photometricparameters.py +0 -0
  386. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/phot_utils/test_photometry.py +0 -0
  387. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/phot_utils/test_predicted_zeropoints.py +0 -0
  388. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/phot_utils/test_read_bandpasses.py +0 -0
  389. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/phot_utils/test_sed.py +0 -0
  390. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/phot_utils/test_snr.py +0 -0
  391. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/satellite_constellations/test_satellites.py +0 -0
  392. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/sim_archive/test_make_snapshot.py +0 -0
  393. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/sim_archive/test_prenight.py +0 -0
  394. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/sim_archive/test_sim_archive.py +0 -0
  395. {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/skybrightness/test_skymodel.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rubin-sim
3
- Version: 2.2.5.dev6
3
+ Version: 2.4.0
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
@@ -50,8 +50,8 @@ export PATH=${PACKAGE_DIR}/bin:${PATH}
50
50
  # Cannot get ts_fbs_utils from the EFD, so just guess the highest semantic version tag in the repo.
51
51
  # A "reference" can be a tag, hash, or branch.
52
52
  TS_FBS_UTILS_REFERENCE=$(curl -s https://api.github.com/repos/lsst-ts/ts_fbs_utils/tags | jq -r '.[].name' | egrep '^v[0-9]+.[0-9]+.[0-9]+$' | sort -V | tail -1)
53
- RUBIN_SIM_REFERENCE="v2.2.5.dev6"
54
- SCHEDVIEW_REFERENCE="v0.19.0.dev1"
53
+ RUBIN_SIM_REFERENCE="v2.3.0"
54
+ SCHEDVIEW_REFERENCE="v0.19.0"
55
55
 
56
56
  pip install --no-deps --target=${PACKAGE_DIR} \
57
57
  git+https://github.com/lsst/rubin_sim.git@${RUBIN_SIM_REFERENCE} \
@@ -8,7 +8,7 @@
8
8
  #SBATCH --ntasks=1 # Number of tasks run in parallel
9
9
  #SBATCH --cpus-per-task=1 # Number of CPUs per task
10
10
  #SBATCH --mem=8G # Requested memory
11
- #SBATCH --time=1:00:00 # Wall time (hh:mm:ss)
11
+ #SBATCH --time=1:30:00 # Wall time (hh:mm:ss)
12
12
 
13
13
  echo "******** START of run_prenight_sims.sh **********"
14
14
 
@@ -50,10 +50,10 @@ export PATH=${PACKAGE_DIR}/bin:${PATH}
50
50
  # Cannot get ts_fbs_utils from the EFD, so just guess the highest semantic version tag in the repo.
51
51
  # A "reference" can be a tag, hash, or branch.
52
52
  TS_FBS_UTILS_REFERENCE=$(curl -s https://api.github.com/repos/lsst-ts/ts_fbs_utils/tags | jq -r '.[].name' | egrep '^v[0-9]+.[0-9]+.[0-9]+$' | sort -V | tail -1)
53
- RUBIN_SIM_REFERENCE="v2.2.5.dev6"
54
- SCHEDVIEW_REFERENCE="v0.19.0.dev1"
55
- SIMS_SV_SURVEY_REFERENCE="v0.1.0.dev2"
56
- RUBIN_NIGHTS_REFERENCE="v0.3.0"
53
+ RUBIN_SIM_REFERENCE="v2.3.0"
54
+ SCHEDVIEW_REFERENCE="v0.19.0"
55
+ SIMS_SV_SURVEY_REFERENCE="v0.1.1"
56
+ RUBIN_NIGHTS_REFERENCE="v0.4.0"
57
57
 
58
58
  pip install --no-deps --target=${PACKAGE_DIR} \
59
59
  git+https://github.com/lsst/rubin_sim.git@${RUBIN_SIM_REFERENCE} \
@@ -109,7 +109,7 @@ OPSIMRUN="prenight_nominal_$(date --iso=s)"
109
109
  LABEL="Nominal start and overhead, ideal conditions, run at $(date --iso=s)"
110
110
  date --iso=s
111
111
  run_sv_sim scheduler.p observatory.p "" ${DAYOBS} 3 "${OPSIMRUN}" \
112
- --no-downtime --label "${LABEL}" --archive ${ARCHIVE} --capture_env \
112
+ --keep_rewards --label "${LABEL}" --archive ${ARCHIVE} --capture_env \
113
113
  --delay 0 --anom_overhead_scale 0 \
114
114
  --tags ideal nominal
115
115
 
@@ -120,7 +120,7 @@ for DELAY in 10 60 ; do
120
120
  LABEL="Start time delayed by ${DELAY} minutes, nominal slew and visit overhead, ideal conditions, run at $(date --iso=s)"
121
121
  date --iso=s
122
122
  run_sv_sim scheduler.p observatory.p "" ${DAYOBS} 3 "${OPSIMRUN}" \
123
- --no-downtime --label "${LABEL}" --archive ${ARCHIVE} --capture_env \
123
+ --label "${LABEL}" --archive ${ARCHIVE} --capture_env \
124
124
  --delay ${DELAY} --anom_overhead_scale 0 \
125
125
  --tags ideal delay_${DELAY}
126
126
  done
@@ -132,7 +132,7 @@ for ANOM_SEED in 101 102 ; do
132
132
  LABEL="Anomalous overhead (${ANOM_SEED}, ${ANOM_SCALE}), nominal start, ideal conditions, run at $(date --iso=s)"
133
133
  date --iso=s
134
134
  run_sv_sim scheduler.p observatory.p "" ${DAYOBS} 3 "${OPSIMRUN}" \
135
- --no-downtime --label "${LABEL}" --archive ${ARCHIVE} --capture_env \
135
+ --label "${LABEL}" --archive ${ARCHIVE} --capture_env \
136
136
  --delay 0 --anom_overhead_scale ${ANOM_SCALE} --anom_overhead_seed ${ANOM_SEED} \
137
137
  --tags ideal anomalous_overhead
138
138
  done
@@ -54,7 +54,7 @@ def data_dict() -> dict:
54
54
  file_dict = {
55
55
  "maf": "maf_2024_06_13.tgz",
56
56
  "maps": "maps_2022_2_28.tgz",
57
- "movingObjects": "movingObjects_oct_2021.tgz",
57
+ "movingObjects": "movingObjects_2025_07_15.tgz",
58
58
  "orbits": "orbits_2022_3_1.tgz",
59
59
  "orbits_precompute": "orbits_precompute_2023_05_23.tgz",
60
60
  "sim_baseline": "sim_baseline_2025_09_02.tgz",
@@ -43,6 +43,42 @@ def col_map_dict(dict_name=None):
43
43
  col_map["scheduler_note"] = "scheduler_note"
44
44
  col_map["scheduler_note_root"] = "scheduler_note_root"
45
45
 
46
+ elif dict_name == "consdb":
47
+ col_map = {}
48
+ col_map["ra"] = "s_ra"
49
+ col_map["dec"] = "s_dec"
50
+ col_map["raDecDeg"] = True
51
+ col_map["mjd"] = "obs_start_mjd"
52
+ col_map["exptime"] = "exp_time"
53
+ col_map["visittime"] = "dark_time"
54
+ col_map["alt"] = "altitude"
55
+ col_map["az"] = "azimuth"
56
+ col_map["filter"] = "band"
57
+ col_map["band"] = "band"
58
+ col_map["fiveSigmaDepth"] = "stats_mag_lim_median"
59
+ col_map["night"] = "day_obs"
60
+ col_map["slewtime"] = "slew_time"
61
+ col_map["slewdist"] = "slew_distance"
62
+ col_map["seeingEff"] = "fwhm_eff"
63
+ col_map["seeingGeom"] = "fwhm_geom"
64
+ col_map["skyBrightness"] = "sky_bg_median_mag"
65
+ col_map["moonDistance"] = "moon_distance"
66
+ col_map["slewactivities"] = {}
67
+ col_map["metadataList"] = [
68
+ "airmass",
69
+ "normairmass",
70
+ "fwhm_eff",
71
+ "sky_bg_median_mag",
72
+ "stats_mag_lim_median",
73
+ "HA",
74
+ "moon_distance",
75
+ "solarElong",
76
+ "saturation_mag",
77
+ ]
78
+ col_map["metadataAngleList"] = ["sky_rotation"]
79
+ col_map["scheduler_note"] = "scheduler_note"
80
+ col_map["scheduler_note_root"] = "scheduler_note_root"
81
+
46
82
  elif dict_name == "fbs_sim" or dict_name == "opsimfbs":
47
83
  col_map = {}
48
84
  col_map["ra"] = "fieldRA"
@@ -254,6 +254,7 @@ class MetricBundle:
254
254
  info_label = metadata
255
255
  if info_label is None:
256
256
  self.info_label = self.constraint.replace("=", "").replace("filter", "").replace("'", "")
257
+ self.info_label = self.info_label.replace("band", "")
257
258
  self.info_label = self.info_label.replace('"', "").replace(" ", " ")
258
259
  self.info_label = self.info_label.strip(" ")
259
260
  else:
@@ -278,7 +279,7 @@ class MetricBundle:
278
279
 
279
280
  def _find_req_cols(self):
280
281
  """Find the columns needed by the metrics, slicers, and stackers.
281
- If there are any additional stackers required, instatiate them
282
+ If there are any additional stackers required, instantiate them
282
283
  and add them to the self.stackers list.
283
284
  (default stackers have to be instantiated to determine
284
285
  what additional columns are needed from database).
@@ -56,6 +56,8 @@ class BaseSpatialSlicer(BaseSlicer):
56
56
  Equivalent to the radius of the FOV, in degrees.
57
57
  use_camera : `bool`, optional
58
58
  Flag to indicate whether to use the LSST camera footprint or not.
59
+ camera_radius : `float`, optional
60
+ max_radius for the LsstCameraFootprint (degrees).
59
61
  camera_footprint_file : `str`, optional
60
62
  Name of the camera footprint map to use.
61
63
  Can be None, which will use the default file.
@@ -72,6 +74,7 @@ class BaseSpatialSlicer(BaseSlicer):
72
74
  leafsize=100,
73
75
  radius=2.45,
74
76
  use_camera=True,
77
+ camera_radius=1.94,
75
78
  camera_footprint_file=None,
76
79
  ):
77
80
  super().__init__(verbose=verbose, badval=badval)
@@ -81,6 +84,7 @@ class BaseSpatialSlicer(BaseSlicer):
81
84
  self.rotSkyPosColName = rot_sky_pos_col_name
82
85
  self.columns_needed = [lon_col, lat_col, rot_sky_pos_col_name]
83
86
  self.use_camera = use_camera
87
+ self.camera_radius = camera_radius
84
88
  self.camera_footprint_file = camera_footprint_file
85
89
  self.radius = radius
86
90
  self.leafsize = leafsize
@@ -182,7 +186,7 @@ class BaseSpatialSlicer(BaseSlicer):
182
186
  def _setupLSSTCamera(self):
183
187
  """If we want to include the camera chip gaps, etc."""
184
188
  self.camera = simsUtils.LsstCameraFootprint(
185
- units="radians", footprint_file=self.camera_footprint_file
189
+ units="radians", footprint_file=self.camera_footprint_file, max_radius=self.camera_radius
186
190
  )
187
191
 
188
192
  def _build_tree(self, sim_dataRa, sim_dataDec, leafsize=100):
@@ -72,6 +72,8 @@ class HealpixSlicer(BaseSpatialSlicer):
72
72
  Equivalent to the radius of the FOV. Degrees.
73
73
  use_camera : `bool`, optional
74
74
  Flag to indicate whether to use the LSST camera footprint or not.
75
+ camera_radius : `float`, optional
76
+ max_radius for the LsstCameraFootprint (degrees).
75
77
  camera_footprint_file : `str`, optional
76
78
  Name of the camera footprint map to use.
77
79
  Can be None, which will use the default footprint map.
@@ -96,6 +98,7 @@ class HealpixSlicer(BaseSpatialSlicer):
96
98
  leafsize=100,
97
99
  radius=2.45,
98
100
  use_camera=True,
101
+ camera_radius=1.94,
99
102
  camera_footprint_file=None,
100
103
  rot_sky_pos_col_name="rotSkyPos",
101
104
  badval=np.nan,
@@ -108,6 +111,7 @@ class HealpixSlicer(BaseSpatialSlicer):
108
111
  radius=radius,
109
112
  leafsize=leafsize,
110
113
  use_camera=use_camera,
114
+ camera_radius=camera_radius,
111
115
  camera_footprint_file=camera_footprint_file,
112
116
  rot_sky_pos_col_name=rot_sky_pos_col_name,
113
117
  lat_lon_deg=lat_lon_deg,
@@ -24,7 +24,7 @@ def make_circle_subset_slicer(ra_cen, dec_cen, radius=3.0, nside=512, use_cache=
24
24
  dec_cen : `float`
25
25
  Dec of the center of the slicer (degrees).
26
26
  radius : `float`, optional
27
- Radius of the circular slicer shape (degrees).
27
+ Radius of the circular slicer extent (degrees).
28
28
  nside : `int`, optional
29
29
  Nside resolution of the healpix subset slicer.
30
30
  use_cache : `bool`, optional
@@ -137,6 +137,8 @@ class HealpixSubsetSlicer(HealpixSlicer):
137
137
  use_camera : `bool`, optional
138
138
  Flag to indicate whether to use the LSST camera footprint or not.
139
139
  Default False.
140
+ camera_radius : `float`, optional
141
+ max_radius for the LsstCameraFootprint (degrees).
140
142
  camera_footprint_file : `str`, optional
141
143
  Name of the camera footprint map to use. Can be None, which will
142
144
  use the default.
@@ -160,6 +162,7 @@ class HealpixSubsetSlicer(HealpixSlicer):
160
162
  leafsize=100,
161
163
  radius=2.45,
162
164
  use_camera=True,
165
+ camera_radius=1.94,
163
166
  camera_footprint_file=None,
164
167
  rot_sky_pos_col_name="rotSkyPos",
165
168
  ):
@@ -173,6 +176,7 @@ class HealpixSubsetSlicer(HealpixSlicer):
173
176
  radius=radius,
174
177
  leafsize=leafsize,
175
178
  use_cache=use_cache,
179
+ camera_radius=camera_radius,
176
180
  use_camera=use_camera,
177
181
  rot_sky_pos_col_name=rot_sky_pos_col_name,
178
182
  camera_footprint_file=camera_footprint_file,
@@ -45,6 +45,8 @@ class UserPointsSlicer(BaseSpatialSlicer):
45
45
  use_camera : `bool`, optional
46
46
  Flag to indicate whether to use the LSST camera footprint or not.
47
47
  Default True.
48
+ camera_radius : `float`, optional
49
+ max_radius for the LsstCameraFootprint (degrees).
48
50
  camera_footprint_file : `str`, optional
49
51
  Name of the camera footprint map to use.
50
52
  Can be None, which will use the default.
@@ -67,6 +69,7 @@ class UserPointsSlicer(BaseSpatialSlicer):
67
69
  leafsize=100,
68
70
  radius=2.45,
69
71
  use_camera=True,
72
+ camera_radius=1.94,
70
73
  camera_footprint_file=None,
71
74
  rot_sky_pos_col_name="rotSkyPos",
72
75
  ):
@@ -79,6 +82,7 @@ class UserPointsSlicer(BaseSpatialSlicer):
79
82
  radius=radius,
80
83
  leafsize=leafsize,
81
84
  use_camera=use_camera,
85
+ camera_radius=camera_radius,
82
86
  camera_footprint_file=camera_footprint_file,
83
87
  rot_sky_pos_col_name=rot_sky_pos_col_name,
84
88
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rubin-sim
3
- Version: 2.2.5.dev6
3
+ Version: 2.4.0
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
@@ -379,6 +379,7 @@ tests/moving_objects/test_chebyshevutils.py
379
379
  tests/moving_objects/test_chebyvalues.py
380
380
  tests/moving_objects/test_ephemerides.py
381
381
  tests/moving_objects/test_orbits.py
382
+ tests/moving_objects/test_sed_data.py
382
383
  tests/phot_utils/test_approximatebandpasses.py
383
384
  tests/phot_utils/test_photometricparameters.py
384
385
  tests/phot_utils/test_photometry.py
@@ -301,6 +301,93 @@ class TestHealpixChipGap(unittest.TestCase):
301
301
  self.assertIn(self.dv["testdata"][indx], self.dv["testdata"][didxs])
302
302
 
303
303
 
304
+ class TestHealpixCameraRadius(unittest.TestCase):
305
+ # Check that setting the camera radius to a smaller value
306
+ # reduces the number of points matched (that we are using
307
+ # LsstCameraFootprint correctly)
308
+
309
+ def setUp(self):
310
+ self.nside = 8
311
+ self.radius = 2.041
312
+ self.testslicer = HealpixSlicer(
313
+ nside=self.nside,
314
+ verbose=False,
315
+ lon_col="ra",
316
+ lat_col="dec",
317
+ lat_lon_deg=False,
318
+ radius=self.radius,
319
+ use_camera=True,
320
+ )
321
+ self.camera_radius = 0.5
322
+ self.testsmallslicer = HealpixSlicer(
323
+ nside=self.nside,
324
+ verbose=False,
325
+ lon_col="ra",
326
+ lat_col="dec",
327
+ lat_lon_deg=False,
328
+ radius=self.radius,
329
+ use_camera=True,
330
+ camera_radius=self.camera_radius,
331
+ )
332
+ nvalues = 100
333
+ self.dv = make_data_values(
334
+ size=nvalues * hp.nside2npix(self.nside),
335
+ minval=0.0,
336
+ maxval=1.0,
337
+ ramin=0,
338
+ ramax=2 * np.pi,
339
+ decmin=-np.pi,
340
+ decmax=0,
341
+ random=55,
342
+ )
343
+ # Replace ra/dec to make them close to healpix points
344
+ hpix = np.arange(0, hp.nside2npix(self.nside))
345
+ ra, dec = hp.pix2ang(nside=self.nside, ipix=hpix, lonlat=True)
346
+ rng = np.random.RandomState(1147)
347
+ rr = rng.rand(nvalues) * 1.5
348
+ ra = (ra[:, np.newaxis] + rr).reshape(len(ra) * len(rr))
349
+ dec = (dec[:, np.newaxis] + rr).reshape(len(dec) * len(rr))
350
+ self.dv["ra"] = np.radians(ra)
351
+ self.dv["dec"] = np.radians(dec)
352
+
353
+ def tearDown(self):
354
+ del self.testslicer
355
+ self.testslicer = None
356
+ del self.testsmallslicer
357
+ self.testsmallslicer = None
358
+
359
+ def test_slicing(self):
360
+ """Test slicing returns (most) data points which are
361
+ within 'radius' of bin point or camera_radius for small slicer"""
362
+ # Test that slicing fails before setup_slicer
363
+ self.assertRaises(NotImplementedError, self.testslicer._slice_sim_data, 0)
364
+ # Set up and test actual slicing.
365
+ self.testslicer.setup_slicer(self.dv)
366
+ self.testsmallslicer.setup_slicer(self.dv)
367
+ for s, ss in zip(self.testslicer, self.testsmallslicer):
368
+ ra = s["slice_point"]["ra"]
369
+ dec = s["slice_point"]["dec"]
370
+ # Find the points of 'dv' which are within self.radius of
371
+ # this slice_point
372
+ distances = calc_dist_vincenty(ra, dec, self.dv["ra"], self.dv["dec"])
373
+ didxs = np.where(distances <= np.radians(self.radius))
374
+ # find the indexes of dv which the slicer says are in the
375
+ # camera footprint
376
+ sidxs = s["idxs"]
377
+ self.assertLessEqual(len(sidxs), len(didxs[0]))
378
+ if len(sidxs) > 0:
379
+ for indx in sidxs:
380
+ self.assertIn(self.dv["testdata"][indx], self.dv["testdata"][didxs])
381
+ # find the indexes of dv which the slicer says are in the
382
+ # camera footprint
383
+ sidxs = ss["idxs"]
384
+ self.assertLessEqual(len(sidxs), len(didxs[0]))
385
+ if len(sidxs) > 0:
386
+ for indx in sidxs:
387
+ self.assertIn(self.dv["testdata"][indx], self.dv["testdata"][didxs])
388
+ self.assertLess(len(ss["idxs"]), len(s["idxs"]))
389
+
390
+
304
391
  class TestHealpixSlicerPlotting(unittest.TestCase):
305
392
  def setUp(self):
306
393
  rng = np.random.RandomState(713244122)
@@ -0,0 +1,61 @@
1
+ import os
2
+ import unittest
3
+
4
+ from rubin_scheduler.data import get_data_dir
5
+
6
+ import rubin_sim.phot_utils as phot_utils
7
+
8
+
9
+ class SedDataUnitTest(unittest.TestCase):
10
+
11
+ def setUp(self) -> None:
12
+ # Read the lsst bandpasses
13
+ lsst = {}
14
+ lsst_filterlist = "ugrizy"
15
+ for b in lsst_filterlist:
16
+ lsst[b] = phot_utils.Bandpass()
17
+ lsst[b].read_throughput(os.path.join(get_data_dir(), "throughputs", "baseline", f"total_{b}.dat"))
18
+ self.lsst = lsst
19
+
20
+ def test_sun(self) -> None:
21
+ sun = phot_utils.Sed()
22
+ sun.read_sed_flambda(os.path.join(get_data_dir(), "movingObjects", "kurucz_sun.gz"))
23
+ expected_mags = {"u": -25.3, "g": -26.5, "r": -27.0, "i": -27.0, "z": -27.1, "y": -27.1}
24
+ for b in "ugrizy":
25
+ mag = sun.calc_mag(self.lsst[b])
26
+ self.assertTrue(abs(mag - expected_mags[b]) < 0.2)
27
+
28
+ def test_seds(self):
29
+ # We have some sample asteroid spectra in rubin_sim_data_dir -
30
+ # However, those are 'observed' spectra
31
+ # (already includes a sample solar spectra)
32
+ ast_templates = [
33
+ k.replace(".dat.gz", "")
34
+ for k in os.listdir(os.path.join(get_data_dir(), "movingObjects"))
35
+ if "kurucz" not in k and "harris" not in k
36
+ ]
37
+ # Read the sso seds from disk (using rubin_sim.photUtils.Sed)
38
+ sso = {}
39
+ for k in ast_templates:
40
+ sso[k] = phot_utils.Sed()
41
+ sso[k].read_sed_flambda(os.path.join(get_data_dir(), "movingObjects", f"{k}.dat.gz"))
42
+
43
+ # Calculate the colors for each type:
44
+ # referenc e bandpass first
45
+ refband_name = "r"
46
+ refband = self.lsst[refband_name]
47
+ # Calculate the reference bandpass magnitudes
48
+ refmags = {}
49
+ for k in sso:
50
+ refmags[k] = sso[k].calc_mag(refband)
51
+
52
+ # And now the colors
53
+ colors = {}
54
+ for k in sso:
55
+ colors[k] = {}
56
+ for f in "ugrizy":
57
+ colors[k][f"lsst_{f}"] = sso[k].calc_mag(self.lsst[f]) - refmags[k]
58
+
59
+
60
+ if __name__ == "__main__":
61
+ unittest.main()
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes