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.
- {rubin_sim-2.2.5.dev6/rubin_sim.egg-info → rubin_sim-2.4.0}/PKG-INFO +1 -1
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/batch/run_auxtel_prenight_sims.sh +2 -2
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/batch/run_prenight_sims.sh +8 -8
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/data/rs_download_data.py +1 -1
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/batches/col_map_dict.py +36 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metric_bundles/metric_bundle.py +2 -1
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/slicers/base_spatial_slicer.py +5 -1
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/slicers/healpix_slicer.py +4 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/slicers/healpix_subset_slicer.py +5 -1
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/slicers/user_points_slicer.py +4 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0/rubin_sim.egg-info}/PKG-INFO +1 -1
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim.egg-info/SOURCES.txt +1 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_healpixslicer.py +87 -0
- rubin_sim-2.4.0/tests/moving_objects/test_sed_data.py +61 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/.git_archival.txt +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/.gitattributes +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/.github/workflows/build_container.yaml +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/.github/workflows/build_docs.yaml +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/.github/workflows/cache.yaml +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/.github/workflows/rebase_checker.yaml +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/.github/workflows/ruff.yaml +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/.github/workflows/test_and_build.yaml +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/.gitignore +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/.pre-commit-config.yaml +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/Dockerfile +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/LICENSE +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/README.md +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/README_dev.md +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/batch/compile_prenight_metadata_cache.sh +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/container_environment.yaml +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/.gitignore +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/Makefile +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/api.rst +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/archive.rst +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/conf.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/data-api.rst +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/data-download.rst +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/documenteer.toml +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/index.rst +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/installation.rst +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/introduction.rst +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/maf-api-batches.rst +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/maf-api-db.rst +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/maf-api-maf-contrib.rst +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/maf-api-maps.rst +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/maf-api-metricbundles.rst +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/maf-api-metrics.rst +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/maf-api-plots.rst +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/maf-api-run-comparison.rst +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/maf-api-slicers.rst +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/maf-api-stackers.rst +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/maf-api-utils.rst +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/maf-api.rst +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/maf.rst +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/metric_list.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/moving-objects-api.rst +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/moving-objects.rst +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/phot-utils-api.rst +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/phot-utils.rst +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/prenight.rst +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/satellite-constellations-api.rst +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/satellite-constellations.rst +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/selfcal-api.rst +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/selfcal.rst +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/sim-archive-api.rst +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/skybrightness-api.rst +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/skybrightness.rst +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/docs/user-guide.rst +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/example_deployment.yaml +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/optional-requirements.txt +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/pyproject.toml +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/requirements.txt +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/__init__.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/data/__init__.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/__init__.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/batches/__init__.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/batches/altaz_batch.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/batches/common.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/batches/ddf_batch.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/batches/filterchange_batch.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/batches/glance_batch.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/batches/hourglass_batch.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/batches/info_batch.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/batches/metadata_batch.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/batches/moving_objects_batch.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/batches/openshutter_batch.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/batches/radar_limited.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/batches/science_radar_batch.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/batches/skycoverage.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/batches/slew_batch.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/batches/srd_batch.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/batches/time_batch.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/batches/time_sci_batch.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/batches/visitdepth_batch.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/db/__init__.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/db/add_run.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/db/results_db.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/db/tracking_db.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/ddf_dir.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/generate_ss.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/glance_dir.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/__init__.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/calculate_lsst_field_visibility_astropy.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/depth_limited_num_gal_metric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/example_new_metrics.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/filter_pair_t_gaps_metric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/grb_transient_metric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/gw170817_det_metric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/intervals_between_obs_metric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/kne_metrics.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/lss_metrics.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/lss_obs_strategy/__init__.py +0 -0
- {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
- {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
- {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
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/lv_dwarfs/__init__.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/lv_dwarfs/lv_dwarfs_metrics.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/microlensing_metric.py +0 -0
- {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
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/periodic_metric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/periodic_star_metric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/periodic_star_modulation_metric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/presto_color_kne_pop_metric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/selfcal_uniformity_metric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/star_count_mass_metric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/star_count_metric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/star_counts/__init__.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/star_counts/abs_mag.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/star_counts/coords.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/star_counts/readme.txt +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/star_counts/spec_type.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/star_counts/starcount.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/star_counts/starcount_bymass.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/star_counts/stellardensity.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/static_probes_fom_summary_metric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/tdes_pop_metric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/transient_ascii_sed_metric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/triplet_metric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/var_depth_metric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/xrb_metrics.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_contrib/young_stellar_objects_metric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maf_night_report.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/make_fbs_tracking_db.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maps/__init__.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maps/base_map.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maps/create_gaia_density_map.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maps/dust_map.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maps/dust_map_3d.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maps/ebv_3d_hp.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maps/ebv_hp.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maps/gal_coords_map.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maps/galactic_plane_priority_maps.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maps/stellar_density_map.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/maps/trilegal_map.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metadata_dir.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metric_bundles/__init__.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metric_bundles/metric_bundle_group.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metric_bundles/mo_metric_bundle.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/__init__.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/agn_time_lag_metric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/agnstructure.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/area_summary_metrics.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/base_metric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/brown_dwarf_metric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/cadence_metrics.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/calibration_metrics.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/chip_vendor_metric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/color_slope_metrics.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/coverage_metric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/crowding_metric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/cumulative_metric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/dcr_metric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/exgal_m5.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/fft_metric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/galactic_plane_metrics.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/galplane_time_sampling_metrics.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/hourglass_metric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/incremental_template_metric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/kuiper_metrics.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/mo_metrics.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/mo_summary_metrics.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/night_pointing_metric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/optimal_m5_metric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/pair_metric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/periodic_detect_metric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/phase_gap_metric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/qso_number_counts_metric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/scaling_metrics.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/schedview_metrics.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/season_metrics.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/simple_metrics.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/sky_sat_metric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/sn_cadence_metric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/sn_n_sn_metric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/sn_sl_metric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/sn_snr_metric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/snr_weight.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/star_density.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/string_count_metric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/summary_metrics.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/surfb_metric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/technical_metrics.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/tgaps.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/transient_metrics.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/use_metrics.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/vector_metrics.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/visit_groups_metric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/metrics/weak_lensing_systematics_metric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/plots/__init__.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/plots/hg_plotters.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/plots/hourglass_plotters.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/plots/mo_plotters.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/plots/nd_plotters.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/plots/neo_distance_plotter.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/plots/night_pointing_plotter.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/plots/oned_plotters.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/plots/perceptual_rainbow.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/plots/plot_handler.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/plots/skyproj_plotters.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/plots/spatial_plotters.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/plots/special_plotters.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/plots/two_d_plotters.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/plots/xyplotter.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/run_comparison/__init__.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/run_comparison/archive.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/run_comparison/gather_summaries.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/run_comparison/microlensing_compare.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/run_comparison/radar_plot.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/run_comparison/summary_plots.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/run_moving_calc.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/run_moving_fractions.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/run_moving_join.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/run_selfcal_metric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/scimaf_dir.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/show_maf.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/slicers/__init__.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/slicers/base_slicer.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/slicers/healpix_sdss_slicer.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/slicers/hourglass_slicer.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/slicers/mo_slicer.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/slicers/movie_slicer.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/slicers/nd_slicer.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/slicers/one_d_slicer.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/slicers/time_interval_slicers.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/slicers/uni_slicer.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/stackers/__init__.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/stackers/base_stacker.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/stackers/coord_stackers.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/stackers/date_stackers.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/stackers/general_stackers.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/stackers/get_col_info.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/stackers/label_stackers.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/stackers/m5_optimal_stacker.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/stackers/mo_phase.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/stackers/mo_stackers.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/stackers/n_follow_stacker.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/stackers/neo_dist_stacker.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/stackers/sdss_stackers.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/stackers/sn_stacker.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/stackers/teff_stacker.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/utils/__init__.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/utils/astrometry_utils.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/utils/generate_fov_map.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/utils/get_date_version.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/utils/maf_utils.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/utils/opsim_utils.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/utils/output_utils.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/utils/sn_n_sn_utils.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/utils/sn_utils.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/utils/stellar_mags.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/web/__init__.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/web/favicon.ico +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/web/maf_run_results.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/web/maf_tracking.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/web/sorttable.js +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/web/templates/allmetricresults.html +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/web/templates/configs.html +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/web/templates/macros.html +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/web/templates/master.html +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/web/templates/metricselect.html +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/web/templates/multicolor.html +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/web/templates/results.html +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/web/templates/runselect.html +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/maf/web/templates/stats.html +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/moving_objects/__init__.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/moving_objects/base_obs.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/moving_objects/cheby_fits.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/moving_objects/cheby_values.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/moving_objects/chebyshev_utils.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/moving_objects/direct_obs.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/moving_objects/make_lsst_obs.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/moving_objects/ooephemerides.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/moving_objects/orbits.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/moving_objects/pre_generate.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/moving_objects/utils.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/phot_utils/__init__.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/phot_utils/bandpass.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/phot_utils/photometric_parameters.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/phot_utils/physical_parameters.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/phot_utils/predicted_zeropoints.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/phot_utils/sed.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/phot_utils/sed_utils.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/phot_utils/signaltonoise.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/phot_utils/spectral_resampling.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/satellite_constellations/__init__.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/satellite_constellations/basis_function.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/satellite_constellations/model_observatory.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/satellite_constellations/sat_utils.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/selfcal/__init__.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/selfcal/generate_catalog.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/selfcal/offsets.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/selfcal/solver.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/selfcal/star_tools.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/sim_archive/__init__.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/sim_archive/conda_packages.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/sim_archive/make_snapshot.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/sim_archive/prenight.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/sim_archive/sim_archive.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/skybrightness/__init__.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/skybrightness/allsky_db.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/skybrightness/data/ESO_Spectra/eso_tools.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/skybrightness/data/solarSpec/package.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/skybrightness/generate_hdf5.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/skybrightness/interp_components.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/skybrightness/sky_model.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/skybrightness/twilight_func.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim/skybrightness/utils.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim.egg-info/dependency_links.txt +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim.egg-info/entry_points.txt +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim.egg-info/requires.txt +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/rubin_sim.egg-info/top_level.txt +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/setup.cfg +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/setup.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/showmaf-deploy.yaml +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/test-requirements.txt +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/data/test_data.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/data/test_ddf_grid.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_3x2fom.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_archive.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_basemetrics.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_batchcommon.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_batches.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_cadencemetrics.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_calibrationmetrics.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_color_slopes.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_gathersummaries.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_healpixsubsetslicer.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_hgplotters.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_hourglassmetric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_io.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_json.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_maps.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_metricbundle.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_mometrics.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_movieslicer.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_ndslicer.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_neodistanceplotter.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_onedslicer.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_opsimutils.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_plotters.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_resultsdb.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_schedviewmetrics.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_simplemetrics.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_snmetrics.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_snmetrics_nsn.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_stackers.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_stellarmags.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_stringcount.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_summary_plots.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_summarymetrics.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_technicalmetrics.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_templatemetrics.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_timeintervalslicers.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_trackingdb.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_unislicer.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_vectormetrics.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/maf/test_visitgroupsmetric.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/moving_objects/test_camera.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/moving_objects/test_chebyfits.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/moving_objects/test_chebyshevutils.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/moving_objects/test_chebyvalues.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/moving_objects/test_ephemerides.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/moving_objects/test_orbits.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/phot_utils/test_approximatebandpasses.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/phot_utils/test_photometricparameters.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/phot_utils/test_photometry.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/phot_utils/test_predicted_zeropoints.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/phot_utils/test_read_bandpasses.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/phot_utils/test_sed.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/phot_utils/test_snr.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/satellite_constellations/test_satellites.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/sim_archive/test_make_snapshot.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/sim_archive/test_prenight.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/sim_archive/test_sim_archive.py +0 -0
- {rubin_sim-2.2.5.dev6 → rubin_sim-2.4.0}/tests/skybrightness/test_skymodel.py +0 -0
|
@@ -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.
|
|
54
|
-
SCHEDVIEW_REFERENCE="v0.19.0
|
|
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:
|
|
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.
|
|
54
|
-
SCHEDVIEW_REFERENCE="v0.19.0
|
|
55
|
-
SIMS_SV_SURVEY_REFERENCE="v0.1.
|
|
56
|
-
RUBIN_NIGHTS_REFERENCE="v0.
|
|
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
|
-
--
|
|
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
|
-
--
|
|
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
|
-
--
|
|
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": "
|
|
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,
|
|
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
|
|
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
|
)
|
|
@@ -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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|