diffsky 0.2.1__tar.gz → 0.2.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {diffsky-0.2.1 → diffsky-0.2.2}/CHANGES.rst +5 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/PKG-INFO +1 -1
- diffsky-0.2.2/diffsky/_version.py +1 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/data_loaders/hacc_utils/data_validation/tests/test_validate_lc_cores.py +10 -0
- diffsky-0.2.2/diffsky/data_loaders/hacc_utils/data_validation/tests/test_validate_lc_mock.py +36 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/data_loaders/hacc_utils/data_validation/validate_lc_cores.py +35 -0
- diffsky-0.2.2/diffsky/data_loaders/hacc_utils/data_validation/validate_lc_mock.py +109 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/data_loaders/hacc_utils/lc_mock_production.py +43 -7
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/data_loaders/hacc_utils/lightcone_utils.py +113 -3
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/data_loaders/hacc_utils/load_lc_cf.py +15 -6
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/data_loaders/hacc_utils/load_lc_cf_synthetic.py +5 -5
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/data_loaders/hacc_utils/metadata_sfh_mock.py +70 -12
- diffsky-0.2.2/diffsky/data_loaders/hacc_utils/tests/test_lightcone_utils.py +146 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/data_loaders/hacc_utils/tests/test_load_lc_cf.py +1 -1
- diffsky-0.2.2/diffsky/data_loaders/hacc_utils/tests/testing_data/phi_haccytrees_tdata.txt +20 -0
- diffsky-0.2.2/diffsky/data_loaders/hacc_utils/tests/testing_data/redshift_haccytrees_tdata.txt +20 -0
- diffsky-0.2.2/diffsky/data_loaders/hacc_utils/tests/testing_data/theta_haccytrees_tdata.txt +20 -0
- diffsky-0.2.2/diffsky/data_loaders/hacc_utils/tests/testing_data/x_haccytrees_tdata.txt +20 -0
- diffsky-0.2.2/diffsky/data_loaders/hacc_utils/tests/testing_data/y_haccytrees_tdata.txt +20 -0
- diffsky-0.2.2/diffsky/data_loaders/hacc_utils/tests/testing_data/z_haccytrees_tdata.txt +20 -0
- diffsky-0.2.2/diffsky/data_loaders/io_utils.py +51 -0
- diffsky-0.2.2/diffsky/experimental/diagnostics/check_smhm.py +93 -0
- diffsky-0.2.2/diffsky/experimental/diagnostics/tests/test_check_smhm.py +13 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/experimental/mc_lightcone_halos.py +193 -92
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/experimental/tests/test_mc_lightcone_halos.py +60 -66
- diffsky-0.2.2/diffsky/mass_functions/hmf_calibrations/__init__.py +19 -0
- diffsky-0.2.2/diffsky/mass_functions/hmf_calibrations/disc_lcdm_hmf_params.txt +19 -0
- diffsky-0.2.2/diffsky/mass_functions/hmf_calibrations/disc_lcdm_hmf_params_all.txt +19 -0
- diffsky-0.2.2/diffsky/mass_functions/hmf_calibrations/hmf_param_reader.py +39 -0
- diffsky-0.2.2/diffsky/mass_functions/hmf_calibrations/lj_hmf_params.txt +19 -0
- diffsky-0.2.2/diffsky/mass_functions/hmf_calibrations/lj_hmf_params_all.txt +19 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/hmf_calibrations/smdpl_hmf.py +4 -4
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/hmf_calibrations/smdpl_hmf_subs.py +8 -4
- diffsky-0.2.2/diffsky/mass_functions/hmf_calibrations/tests/test_imports.py +5 -0
- diffsky-0.2.2/diffsky/mass_functions/hmf_calibrations/tests/test_lj_hmf.py +61 -0
- diffsky-0.2.2/diffsky/mass_functions/hmf_calibrations/tests/testing_data/disc_lcdm_hmf_cuml_density_all.txt +30 -0
- diffsky-0.2.2/diffsky/mass_functions/hmf_calibrations/tests/testing_data/disc_lcdm_hmf_cuml_density_cens.txt +30 -0
- diffsky-0.2.2/diffsky/mass_functions/hmf_calibrations/tests/testing_data/disc_lcdm_hmf_logmp_bins.txt +30 -0
- diffsky-0.2.2/diffsky/mass_functions/hmf_calibrations/tests/testing_data/disc_lcdm_hmf_redshift_bins.txt +7 -0
- diffsky-0.2.2/diffsky/mass_functions/hmf_calibrations/tests/testing_data/lj_hmf_cuml_density_all.txt +30 -0
- diffsky-0.2.2/diffsky/mass_functions/hmf_calibrations/tests/testing_data/lj_hmf_cuml_density_cens.txt +30 -0
- diffsky-0.2.2/diffsky/mass_functions/hmf_calibrations/tests/testing_data/lj_hmf_logmp_bins.txt +30 -0
- diffsky-0.2.2/diffsky/mass_functions/hmf_calibrations/tests/testing_data/lj_hmf_redshift_bins.txt +7 -0
- diffsky-0.2.2/diffsky/mass_functions/hmf_calibrations/tests/testing_data/sfr_catalog_0.219000.subhalos.lgcuml_density.npy +0 -0
- diffsky-0.2.2/diffsky/mass_functions/hmf_calibrations/tests/testing_data/sfr_catalog_0.460000.hosthalos.lgcuml_density.npy +0 -0
- diffsky-0.2.2/diffsky/mass_functions/hmf_calibrations/tests/testing_data/sfr_catalog_0.460000.subhalos.lgcuml_density.npy +0 -0
- diffsky-0.2.2/diffsky/mass_functions/hmf_calibrations/tests/testing_data/sfr_catalog_1.000000.hosthalos.lgcuml_density.npy +0 -0
- diffsky-0.2.2/diffsky/mass_functions/hmf_calibrations/tests/testing_data/sfr_catalog_1.000000.subhalos.lgcuml_density.npy +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/hmf_model.py +12 -8
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/mc_hosts.py +20 -14
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/measure_hmf.py +9 -1
- diffsky-0.2.2/diffsky/mass_functions/scripts/discovery_lcdm_calibration/fit_hmf_disc_lcdm.py +158 -0
- diffsky-0.2.2/diffsky/mass_functions/scripts/discovery_lcdm_calibration/measure_hmf_target_data_hacc.py +156 -0
- diffsky-0.2.2/diffsky/mass_functions/scripts/discovery_lcdm_calibration/run_hmf_tabulation_disc_lcdm.sh +21 -0
- diffsky-0.2.2/diffsky/mass_functions/scripts/last_journey_calibration/fit_hmf_lj.py +153 -0
- diffsky-0.2.2/diffsky/mass_functions/scripts/last_journey_calibration/measure_hmf_target_data_hacc.py +146 -0
- {diffsky-0.2.1/scripts/mass_functions → diffsky-0.2.2/diffsky/mass_functions/scripts/smdpl_calibration}/measure_smdpl_hmf_script.py +2 -3
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/utils/crossmatch_utils.py +1 -1
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky.egg-info/PKG-INFO +1 -1
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky.egg-info/SOURCES.txt +38 -5
- diffsky-0.2.2/docs/source/demo_mc_lightcones.ipynb +270 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/docs/source/demos.rst +1 -0
- diffsky-0.2.2/scripts/LJ_LC_JOBS/generate_sfh_mock_jobs.py +109 -0
- diffsky-0.2.1/scripts/make_sfh_lc_mock_lj_serial.py → diffsky-0.2.2/scripts/LJ_LC_JOBS/make_sfh_lc_mock_lj.py +1 -1
- diffsky-0.2.2/scripts/__init__.py +0 -0
- diffsky-0.2.2/scripts/inspect_lc_mock.py +65 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/scripts/inspect_lightcone_mock.py +1 -1
- {diffsky-0.2.1 → diffsky-0.2.2}/scripts/lc_cf_crossmatch_script.py +22 -7
- {diffsky-0.2.1 → diffsky-0.2.2}/scripts/make_sfh_lightcone_last_journey.py +1 -1
- {diffsky-0.2.1 → diffsky-0.2.2}/scripts/make_sfh_lj_mock.py +10 -15
- {diffsky-0.2.1 → diffsky-0.2.2}/scripts/tabulate_coreforest_overlap.py +6 -5
- diffsky-0.2.2/scripts/tests/__init__.py +0 -0
- diffsky-0.2.1/diffsky/_version.py +0 -1
- diffsky-0.2.1/diffsky/data_loaders/hacc_utils/tests/test_lightcone_utils.py +0 -50
- diffsky-0.2.1/diffsky/data_loaders/io_utils.py +0 -21
- diffsky-0.2.1/diffsky/mass_functions/hmf_calibrations/__init__.py +0 -4
- diffsky-0.2.1/diffsky/mass_functions/hmf_calibrations/tests/testing_data/sfr_catalog_0.219000.subhalos.lgcuml_density.npy +0 -0
- diffsky-0.2.1/diffsky/mass_functions/hmf_calibrations/tests/testing_data/sfr_catalog_0.460000.hosthalos.lgcuml_density.npy +0 -0
- diffsky-0.2.1/diffsky/mass_functions/hmf_calibrations/tests/testing_data/sfr_catalog_0.460000.subhalos.lgcuml_density.npy +0 -0
- diffsky-0.2.1/diffsky/mass_functions/hmf_calibrations/tests/testing_data/sfr_catalog_1.000000.hosthalos.lgcuml_density.npy +0 -0
- diffsky-0.2.1/diffsky/mass_functions/hmf_calibrations/tests/testing_data/sfr_catalog_1.000000.subhalos.lgcuml_density.npy +0 -0
- diffsky-0.2.1/scripts/JOBS/run_sfh_mock_serial.sh +0 -28
- diffsky-0.2.1/scripts/make_diffsky_lj_mock.py +0 -492
- {diffsky-0.2.1 → diffsky-0.2.2}/.coveragerc +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/.git_archival.txt +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/.gitattributes +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/.github/dependabot.yml +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/.github/workflows/linting.yaml +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/.github/workflows/monthly-warning-test.yaml +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/.github/workflows/test_latest_releases.yaml +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/.github/workflows/test_main_branch.yaml +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/.github/workflows/tests_cron.yaml +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/.gitignore +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/.readthedocs.yml +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/LICENSE.rst +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/README.rst +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/burstpop/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/burstpop/diagnostics/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/burstpop/diagnostics/plot_fburstpop.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/burstpop/diagnostics/plot_tburstpop.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/burstpop/diagnostics/tests/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/burstpop/diagnostics/tests/test_plot_fburstpop.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/burstpop/diagnostics/tests/test_plot_tburstpop.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/burstpop/diffburstpop.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/burstpop/diffqburstpop.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/burstpop/diffqburstpop_mono.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/burstpop/diffqburstpop_mono_noise.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/burstpop/fburstpop.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/burstpop/fburstpop_mono.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/burstpop/freqburst.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/burstpop/freqburst_mono.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/burstpop/tburstpop.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/burstpop/tests/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/burstpop/tests/test_diffburstpop.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/burstpop/tests/test_diffqburstpop.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/burstpop/tests/test_diffqburstpop_mono.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/burstpop/tests/test_diffqburstpop_mono_noise.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/burstpop/tests/test_fburstpop.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/burstpop/tests/test_fburstpop_mono.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/burstpop/tests/test_freqburst.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/burstpop/tests/test_freqburst_mono.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/burstpop/tests/test_tburstpop.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/cosmos_utils/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/cosmos_utils/cosmos_mstar_model.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/cosmos_utils/tests/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/cosmos_utils/tests/test_cosmos_mstar_model.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/data_loaders/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/data_loaders/cosmos20_loader.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/data_loaders/hacc_utils/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/data_loaders/hacc_utils/data_validation/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/data_loaders/hacc_utils/data_validation/tests/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/data_loaders/hacc_utils/defaults.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/data_loaders/hacc_utils/hacc_core_utils.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/data_loaders/hacc_utils/load_hacc_cores.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/data_loaders/hacc_utils/load_lc_mock.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/data_loaders/hacc_utils/tests/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/data_loaders/hacc_utils/tests/test_defaults.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/data_loaders/hacc_utils/tests/test_hacc_core_utils.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/data_loaders/hacc_utils/tests/test_lc_mock_production.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/data_loaders/hacc_utils/tests/test_load_hacc_cores.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/data_loaders/hacc_utils/tests/testing_data/lc_cores-decomposition.txt +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/data_loaders/mpi_utils.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/data_loaders/tests/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/data_loaders/tests/test_cosmos_loader.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/data_loaders/tests/test_imports.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/data_loaders/tests/testing_data/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/data_loaders/tests/testing_data/cosmos20_shasum.dat +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/data_loaders/um_binary_loader.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/diagnostics/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/diagnostics/plot_delta_mag_burstiness.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/diagnostics/plot_diffstar_fq.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/diagnostics/tests/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/diagnostics/tests/test_plot_delta_mag_burstiness.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/diagnostics/tests/test_plot_diffstar_fq.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/diagnostics/utils.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/diffndhist.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/dustpop/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/dustpop/avpop.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/dustpop/avpop_flex.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/dustpop/avpop_mono.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/dustpop/deltapop.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/dustpop/diagnostics/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/dustpop/diagnostics/plot_avpop_flex.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/dustpop/diagnostics/plot_funopop_simple.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/dustpop/diagnostics/tests/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/dustpop/diagnostics/tests/test_plot_avpop_flex.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/dustpop/diagnostics/tests/test_plot_funopop_simple.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/dustpop/funopop.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/dustpop/funopop_simple.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/dustpop/funopop_ssfr.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/dustpop/sbl18_dust.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/dustpop/sbl18_dust_kernels.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/dustpop/sbl18_dustpop.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/dustpop/tests/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/dustpop/tests/test_avpop.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/dustpop/tests/test_avpop_flex.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/dustpop/tests/test_avpop_mono.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/dustpop/tests/test_deltapop.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/dustpop/tests/test_funopop_model.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/dustpop/tests/test_funopop_simple.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/dustpop/tests/test_funopop_ssfr.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/dustpop/tests/test_sbl18_dustpop.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/dustpop/tests/test_tw_dust_kernels.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/dustpop/tests/test_tw_dustpop.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/dustpop/tests/test_tw_dustpop_mono.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/dustpop/tests/test_tw_dustpop_mono_noise.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/dustpop/tests/test_tw_dustpop_new.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/dustpop/tw_dust.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/dustpop/tw_dust_kernels.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/dustpop/tw_dustpop.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/dustpop/tw_dustpop_mono.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/dustpop/tw_dustpop_mono_noise.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/dustpop/tw_dustpop_new.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/experimental/__init__.py +0 -0
- {diffsky-0.2.1/diffsky/experimental/dspspop → diffsky-0.2.2/diffsky/experimental/diagnostics}/__init__.py +0 -0
- {diffsky-0.2.1/diffsky/experimental/dspspop → diffsky-0.2.2/diffsky/experimental/diagnostics}/tests/__init__.py +0 -0
- {diffsky-0.2.1/diffsky/experimental/tests → diffsky-0.2.2/diffsky/experimental/dspspop}/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/experimental/dspspop/boris_dust.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/experimental/dspspop/burstshapepop.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/experimental/dspspop/dust_deltapop.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/experimental/dspspop/dustpop.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/experimental/dspspop/lgavpop.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/experimental/dspspop/lgfburstpop.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/experimental/dspspop/nagaraj22_dust.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/experimental/dspspop/photpop.py +0 -0
- {diffsky-0.2.1/diffsky/fake_sats → diffsky-0.2.2/diffsky/experimental/dspspop/tests}/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/experimental/dspspop/tests/test_attavpop.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/experimental/dspspop/tests/test_boris_dust.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/experimental/dspspop/tests/test_burstshapepop.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/experimental/dspspop/tests/test_dustdeltapop.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/experimental/dspspop/tests/test_lgfburstpop.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/experimental/dspspop/tests/test_photpop.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/experimental/lc_phot_kern.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/experimental/mc_diffsky_phot.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/experimental/phot_utils.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/experimental/photometry_interpolation.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/experimental/precompute_ssp_phot.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/experimental/scatter.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/experimental/ssp_err_pop.py +0 -0
- {diffsky-0.2.1/diffsky/fake_sats → diffsky-0.2.2/diffsky/experimental}/tests/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/experimental/tests/test_lc_phot_kern.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/experimental/tests/test_mc_diffsky_phot.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/experimental/tests/test_photometry_interpolation.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/experimental/tests/test_precompute_ssp_phot.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/experimental/tests/test_scatter.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/experimental/tests/test_ssp_err_pop.py +0 -0
- {diffsky-0.2.1/diffsky/mass_functions/fitting_utils → diffsky-0.2.2/diffsky/fake_sats}/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/fake_sats/ellipsoidal_nfw_phase_space.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/fake_sats/ellipsoidal_velocities.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/fake_sats/halo_boundary_functions.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/fake_sats/nfw_config_space.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/fake_sats/rotations3d.py +0 -0
- {diffsky-0.2.1/diffsky/mass_functions/fitting_utils/calibrations → diffsky-0.2.2/diffsky/fake_sats/tests}/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/fake_sats/tests/test_ellipsoidal_nfw_phase_space.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/fake_sats/tests/test_halo_boundary_functions.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/fake_sats/tests/test_mc_ellipticial_velocities.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/fake_sats/tests/test_nfw_config_space.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/fake_sats/tests/test_rotations3d.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/fake_sats/tests/testing_data/halo_mass_ht_test.txt +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/fake_sats/tests/testing_data/halo_radius_200c_ht_test.txt +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/fake_sats/tests/testing_data/redshift_ht_test.txt +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/fake_sats/vector_utilities.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/ccshmf_model.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/fitting_utils/README.rst +0 -0
- {diffsky-0.2.1/diffsky/mass_functions/fitting_utils/calibrations/tests → diffsky-0.2.2/diffsky/mass_functions/fitting_utils}/__init__.py +0 -0
- {diffsky-0.2.1/diffsky/mass_functions/fitting_utils/diagnostics → diffsky-0.2.2/diffsky/mass_functions/fitting_utils/calibrations}/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/fitting_utils/calibrations/hacc_core_shmf_params.py +0 -0
- {diffsky-0.2.1/diffsky/mass_functions/fitting_utils/diagnostics → diffsky-0.2.2/diffsky/mass_functions/fitting_utils/calibrations}/tests/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/fitting_utils/calibrations/tests/test_hacc_core_shmf_params.py +0 -0
- {diffsky-0.2.1/diffsky/mass_functions/fitting_utils/tests → diffsky-0.2.2/diffsky/mass_functions/fitting_utils/diagnostics}/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/fitting_utils/diagnostics/hmf_fit_diagnostics.py +0 -0
- {diffsky-0.2.1/diffsky/mass_functions/hmf_calibrations → diffsky-0.2.2/diffsky/mass_functions/fitting_utils/diagnostics}/tests/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/fitting_utils/diagnostics/tests/test_hmf_fit_diagnostics.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/fitting_utils/fit_ccshmf.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/fitting_utils/fit_ccshmf_kernels.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/fitting_utils/fit_hmf_kernels.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/fitting_utils/fit_hmf_model.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/fitting_utils/fitting_helpers.py +0 -0
- {diffsky-0.2.1/diffsky/mass_functions/io_utils → diffsky-0.2.2/diffsky/mass_functions/fitting_utils/tests}/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/fitting_utils/tests/test_fit_ccshmf.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/fitting_utils/tests/test_fit_ccshmf_kernels.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/fitting_utils/tests/test_fit_hmf_kernels.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/fitting_utils/tests/test_fit_hmf_model.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/hmf_calibrations/smdpl_hmf_fitting_helpers.py +0 -0
- {diffsky-0.2.1/diffsky/mass_functions/kernels → diffsky-0.2.2/diffsky/mass_functions/hmf_calibrations/tests}/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/hmf_calibrations/tests/test_smdpl_hmf.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/hmf_calibrations/tests/testing_data/sfr_catalog_0.219000.subhalos.logmp_bins.npy +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/hmf_calibrations/tests/testing_data/sfr_catalog_0.460000.hosthalos.logmp_bins.npy +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/hmf_calibrations/tests/testing_data/sfr_catalog_0.460000.subhalos.logmp_bins.npy +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/hmf_calibrations/tests/testing_data/sfr_catalog_1.000000.hosthalos.logmp_bins.npy +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/hmf_calibrations/tests/testing_data/sfr_catalog_1.000000.subhalos.logmp_bins.npy +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/io_utils/README.txt +0 -0
- {diffsky-0.2.1/diffsky/mass_functions/kernels/tests → diffsky-0.2.2/diffsky/mass_functions/io_utils}/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/io_utils/loader.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/io_utils/smdpl_helpers.py +0 -0
- {diffsky-0.2.1/diffsky/mass_functions/smhm_kernels → diffsky-0.2.2/diffsky/mass_functions/kernels}/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/kernels/ccshmf_kernels.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/kernels/hmf_kernels.py +0 -0
- {diffsky-0.2.1/diffsky/mass_functions/smhm_kernels → diffsky-0.2.2/diffsky/mass_functions/kernels}/tests/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/kernels/tests/test_ccshmf_kernels.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/kernels/tests/test_hmf_kernels.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/mc_diffmah_tpeak.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/mc_subs.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/mc_tinfall.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/measure_ccshmf.py +0 -0
- {diffsky-0.2.1/scripts/mass_functions → diffsky-0.2.2/diffsky/mass_functions/scripts/smdpl_calibration}/fit_smdpl_hmf_script.py +0 -0
- {diffsky-0.2.1/diffsky/mass_functions/tests → diffsky-0.2.2/diffsky/mass_functions/smhm_kernels}/__init__.py +0 -0
- {diffsky-0.2.1/diffsky/mass_functions/tests/testing_data → diffsky-0.2.2/diffsky/mass_functions/smhm_kernels/tests}/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/smhm_kernels/tests/test_threeroll_smhm.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/smhm_kernels/threeroll_kernels.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/smhm_kernels/threeroll_smhm.py +0 -0
- {diffsky-0.2.1/diffsky/mass_functions/upweighting → diffsky-0.2.2/diffsky/mass_functions/tests}/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/tests/test_ccshmf.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/tests/test_hmf_model.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/tests/test_mc_diffmah_tpeak.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/tests/test_mc_hosts.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/tests/test_mc_subs.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/tests/test_mc_tinfall.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/tests/test_measure_hmf.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/tests/testing_data/README.txt +0 -0
- {diffsky-0.2.1/diffsky/mass_functions/upweighting/tests → diffsky-0.2.2/diffsky/mass_functions/tests/testing_data}/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/tests/testing_data/smdpl_cshmf_cuml_redshift_0.00_lgmhost_12.32.txt +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/tests/testing_data/smdpl_cshmf_cuml_redshift_0.00_lgmhost_13.00.txt +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/tests/testing_data/smdpl_cshmf_cuml_redshift_0.00_lgmhost_13.55.txt +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/tests/testing_data/smdpl_cshmf_cuml_redshift_0.00_lgmhost_14.08.txt +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/tests/testing_data/smdpl_cshmf_cuml_redshift_1.00_lgmhost_12.31.txt +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/tests/testing_data/smdpl_cshmf_cuml_redshift_1.00_lgmhost_12.99.txt +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/tests/testing_data/smdpl_cshmf_cuml_redshift_1.00_lgmhost_13.51.txt +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/tests/testing_data/smdpl_cshmf_cuml_redshift_1.00_lgmhost_14.05.txt +0 -0
- {diffsky-0.2.1/diffsky/merging → diffsky-0.2.2/diffsky/mass_functions/upweighting}/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/upweighting/namedtuple_cat_utils.py +0 -0
- {diffsky-0.2.1/diffsky/merging/diagnostics → diffsky-0.2.2/diffsky/mass_functions/upweighting/tests}/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/upweighting/tests/test_mc_gen_upweighting.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/upweighting/upweighting.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mass_functions/utils.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/mc_diffsky.py +0 -0
- {diffsky-0.2.1/diffsky/merging/diagnostics/tests → diffsky-0.2.2/diffsky/merging}/__init__.py +0 -0
- {diffsky-0.2.1/diffsky/merging/tests → diffsky-0.2.2/diffsky/merging/diagnostics}/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/merging/diagnostics/plot_pmerge_vs_time.py +0 -0
- {diffsky-0.2.1/diffsky/param_utils → diffsky-0.2.2/diffsky/merging/diagnostics/tests}/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/merging/diagnostics/tests/test_plot_pmerge_vs_time.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/merging/fitmerge_multi_redshift.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/merging/merging_model.py +0 -0
- {diffsky-0.2.1/diffsky/param_utils → diffsky-0.2.2/diffsky/merging}/tests/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/merging/tests/test_fitmerge_multi_redshift.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/merging/tests/test_merging_model.py +0 -0
- {diffsky-0.2.1/diffsky/ssp_err_model → diffsky-0.2.2/diffsky/param_utils}/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/param_utils/diffsky_param_wrapper.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/param_utils/spspop_param_utils.py +0 -0
- {diffsky-0.2.1/diffsky/ssp_err_model → diffsky-0.2.2/diffsky/param_utils}/tests/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/param_utils/tests/test_diffsky_param_wrapper.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/param_utils/tests/test_spspop_param_utils.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/phot_utils.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/sbl18_photgrad.py +0 -0
- {diffsky-0.2.1/diffsky/sumstats → diffsky-0.2.2/diffsky/ssp_err_model}/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/ssp_err_model/ssp_err_model.py +0 -0
- {diffsky-0.2.1/diffsky/sumstats → diffsky-0.2.2/diffsky/ssp_err_model}/tests/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/ssp_err_model/tests/test_ssp_err_model.py +0 -0
- {diffsky-0.2.1/diffsky/systematics → diffsky-0.2.2/diffsky/sumstats}/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/sumstats/diffndhist.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/sumstats/smhm.py +0 -0
- {diffsky-0.2.1/diffsky/systematics → diffsky-0.2.2/diffsky/sumstats}/tests/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/sumstats/tests/test_smhm.py +0 -0
- {diffsky-0.2.1/diffsky/tests → diffsky-0.2.2/diffsky/systematics}/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/systematics/ssp_errors.py +0 -0
- {diffsky-0.2.1/diffsky/tests/testing_data → diffsky-0.2.2/diffsky/systematics/tests}/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/systematics/tests/test_ssp_errors.py +0 -0
- {diffsky-0.2.1/diffsky/utils → diffsky-0.2.2/diffsky}/tests/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/tests/test_dependencies.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/tests/test_diffndhist.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/tests/test_diffsky_setup.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/tests/test_mc_diffsky.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/tests/test_phot_utils.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/tests/test_sbl18_photgrad.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/tests/test_tw_photgrad.py +0 -0
- {diffsky-0.2.1/scripts → diffsky-0.2.2/diffsky/tests/testing_data}/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/tw_photgrad.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/utils/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/utils/sfh_utils.py +0 -0
- {diffsky-0.2.1/scripts → diffsky-0.2.2/diffsky/utils}/tests/__init__.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/utils/tests/test_crossmatch_utils.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/utils/tests/test_sfh_utils.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/utils/tests/test_tw_utils.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/utils/tests/test_utility_funcs.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/utils/tw_utils.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky/utils/utility_funcs.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky.egg-info/dependency_links.txt +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky.egg-info/requires.txt +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/diffsky.egg-info/top_level.txt +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/docs/Makefile +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/docs/make.bat +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/docs/source/citation.rst +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/docs/source/conf.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/docs/source/demo_diffmahpop_t_peak.ipynb +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/docs/source/index.rst +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/docs/source/installation.rst +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/docs/source/rtd_environment.yaml +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/pyproject.toml +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/requirements.txt +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/scripts/tests/test_inspect_lightcone_mock.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/scripts/tests/test_lc_cf_crossmatch_script.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/scripts/tests/test_make_sfh_lj_mock.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/scripts/tests/test_tabulate_coreforest_overlap.py +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/setup.cfg +0 -0
- {diffsky-0.2.1 → diffsky-0.2.2}/setup.py +0 -0
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
0.2.2 (unreleased)
|
|
2
|
+
-------------------
|
|
3
|
+
- Change little h convention of Monte Carlo halo generators (https://github.com/ArgonneCPAC/diffsky/pull/184)
|
|
4
|
+
|
|
5
|
+
|
|
1
6
|
0.2.1 (2025-06-30)
|
|
2
7
|
-------------------
|
|
3
8
|
- Incorporate synthetic lightcone into mock production pipeline (https://github.com/ArgonneCPAC/diffsky/pull/165)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = '0.2.2'
|
|
@@ -87,3 +87,13 @@ def test_check_top_host_idx_tag_agreement():
|
|
|
87
87
|
if len(msg) > 0:
|
|
88
88
|
bn = os.path.basename(fn_lc_cores)
|
|
89
89
|
raise ValueError(f"{bn} has mismatching top_host_idx")
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
@pytest.mark.skipif(not CAN_RUN_LJ_DATA_TESTS, reason=POBOY_MSG)
|
|
93
|
+
def test_check_host_pos_is_near_galaxy_pos():
|
|
94
|
+
""""""
|
|
95
|
+
bnpat = vlcc.BNPAT_LC_CORES.format("*", "*")
|
|
96
|
+
fn_list = glob(os.path.join(DRN_LC_CORES_POBOY, bnpat))
|
|
97
|
+
for fn_lc_cores in fn_list:
|
|
98
|
+
msg = vlcc.check_host_pos_is_near_galaxy_pos(fn_lc_cores)
|
|
99
|
+
assert len(msg) == 0, msg
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
""""""
|
|
2
|
+
|
|
3
|
+
import os
|
|
4
|
+
from glob import glob
|
|
5
|
+
|
|
6
|
+
import pytest
|
|
7
|
+
|
|
8
|
+
from .. import validate_lc_mock as vlcm
|
|
9
|
+
|
|
10
|
+
DRN_LC_MOCK_POBOY = "/Users/aphearin/work/DATA/LastJourney/lc_mock"
|
|
11
|
+
|
|
12
|
+
try:
|
|
13
|
+
from haccytrees import Simulation as HACCSim # noqa
|
|
14
|
+
|
|
15
|
+
HAS_HACCYTREES = True
|
|
16
|
+
except ImportError:
|
|
17
|
+
HAS_HACCYTREES = False
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
try:
|
|
21
|
+
assert os.path.isdir(DRN_LC_MOCK_POBOY)
|
|
22
|
+
CAN_RUN_LJ_DATA_TESTS = True
|
|
23
|
+
except AssertionError:
|
|
24
|
+
CAN_RUN_LJ_DATA_TESTS = False
|
|
25
|
+
CAN_RUN_LJ_DATA_TESTS = CAN_RUN_LJ_DATA_TESTS & HAS_HACCYTREES
|
|
26
|
+
POBOY_MSG = "This test only runs on poboy machine with haccytrees installed"
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
@pytest.mark.skipif(not CAN_RUN_LJ_DATA_TESTS, reason=POBOY_MSG)
|
|
30
|
+
def test_check_all_columns_are_finite():
|
|
31
|
+
""""""
|
|
32
|
+
bnpat = vlcm.BNPAT_LC_MOCK.format("*", "*")
|
|
33
|
+
fn_list = glob(os.path.join(DRN_LC_MOCK_POBOY, bnpat))
|
|
34
|
+
for fn_lc_cores in fn_list:
|
|
35
|
+
msg = vlcm.check_all_columns_are_finite(fn_lc_cores)
|
|
36
|
+
assert len(msg) == 0
|
{diffsky-0.2.1 → diffsky-0.2.2}/diffsky/data_loaders/hacc_utils/data_validation/validate_lc_cores.py
RENAMED
|
@@ -102,3 +102,38 @@ def check_top_host_idx_tag_agreement(fn_lc_cores, lc_cores=None):
|
|
|
102
102
|
msg.append(s)
|
|
103
103
|
|
|
104
104
|
return msg
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
def check_host_pos_is_near_galaxy_pos(fn_lc_cores, lc_cores=None):
|
|
108
|
+
"""host position should be reasonably close to galaxy position"""
|
|
109
|
+
if lc_cores is None:
|
|
110
|
+
lc_cores = load_flat_hdf5(fn_lc_cores)
|
|
111
|
+
|
|
112
|
+
bn = os.path.basename(fn_lc_cores)
|
|
113
|
+
|
|
114
|
+
host_x = lc_cores["x"][lc_cores["top_host_idx"]]
|
|
115
|
+
host_y = lc_cores["y"][lc_cores["top_host_idx"]]
|
|
116
|
+
host_z = lc_cores["z"][lc_cores["top_host_idx"]]
|
|
117
|
+
dx = lc_cores["x"] - host_x
|
|
118
|
+
dy = lc_cores["y"] - host_y
|
|
119
|
+
dz = lc_cores["z"] - host_z
|
|
120
|
+
host_dist = np.sqrt(dx**2 + dy**2 + dz**2)
|
|
121
|
+
|
|
122
|
+
msg = []
|
|
123
|
+
n_very_far = np.sum(host_dist > 5)
|
|
124
|
+
if n_very_far > 10:
|
|
125
|
+
s = f"{n_very_far} galaxies in {bn} with "
|
|
126
|
+
s += "unexpectedly large xyz distance from top_host_idx"
|
|
127
|
+
msg.append(s)
|
|
128
|
+
|
|
129
|
+
msk_cen = lc_cores["central"]
|
|
130
|
+
mean_sat_dist = np.abs(np.mean(host_dist[~msk_cen]))
|
|
131
|
+
std_sat_dist = np.std(host_dist[~msk_cen])
|
|
132
|
+
if mean_sat_dist > 1:
|
|
133
|
+
s = f"<dist_sat>={mean_sat_dist:.2f} Mpc/h is unexpectedly large"
|
|
134
|
+
msg.append(s)
|
|
135
|
+
if std_sat_dist > 0.5:
|
|
136
|
+
s = f"std(dist_sat)={std_sat_dist:.2f} Mpc/h is unexpectedly large"
|
|
137
|
+
msg.append(s)
|
|
138
|
+
|
|
139
|
+
return msg
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
""" """
|
|
2
|
+
|
|
3
|
+
import os
|
|
4
|
+
|
|
5
|
+
import h5py
|
|
6
|
+
import numpy as np
|
|
7
|
+
|
|
8
|
+
from .. import load_flat_hdf5
|
|
9
|
+
|
|
10
|
+
BNPAT_LC_MOCK = "data-{0}.{1}.diffsky_gals.hdf5"
|
|
11
|
+
|
|
12
|
+
HLINE = "----------"
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
def get_lc_mock_data_report(fn_lc_mock):
|
|
16
|
+
report = dict()
|
|
17
|
+
data = load_flat_hdf5(fn_lc_mock, dataset="data")
|
|
18
|
+
|
|
19
|
+
msg = check_all_columns_are_finite(fn_lc_mock, data=data)
|
|
20
|
+
if len(msg) > 0:
|
|
21
|
+
report["finite_colums"] = msg
|
|
22
|
+
|
|
23
|
+
msg = check_host_pos_is_near_galaxy_pos(fn_lc_mock, data=data)
|
|
24
|
+
if len(msg) > 0:
|
|
25
|
+
report["nfw_host_distance"] = msg
|
|
26
|
+
|
|
27
|
+
msg = check_all_data_columns_have_metadata(fn_lc_mock)
|
|
28
|
+
if len(msg) > 0:
|
|
29
|
+
report["column_metadata"] = msg
|
|
30
|
+
|
|
31
|
+
return report
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
def write_lc_mock_report_to_disk(report, fn_lc_mock, drn_report):
|
|
35
|
+
if len(report) > 0:
|
|
36
|
+
bn_report = os.path.basename(fn_lc_mock).replace(".hdf5", ".report.txt")
|
|
37
|
+
fn_report = os.path.join(drn_report, bn_report)
|
|
38
|
+
with open(fn_report, "w") as fn_out:
|
|
39
|
+
for test_key, test_result in report.items():
|
|
40
|
+
fn_out.write(test_key + "\n")
|
|
41
|
+
for line in test_result:
|
|
42
|
+
fn_out.write(line + "\n")
|
|
43
|
+
fn_out.write(HLINE + "\n")
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
def check_all_columns_are_finite(fn_lc_mock, data=None):
|
|
47
|
+
bn = os.path.basename(fn_lc_mock)
|
|
48
|
+
|
|
49
|
+
if data is None:
|
|
50
|
+
data = load_flat_hdf5(fn_lc_mock, dataset="data")
|
|
51
|
+
|
|
52
|
+
msg = []
|
|
53
|
+
for key, arr in data.items():
|
|
54
|
+
if not np.all(np.isfinite(arr)):
|
|
55
|
+
s = f"Column {key} in {bn} has either NaN or inf"
|
|
56
|
+
msg.append(s)
|
|
57
|
+
|
|
58
|
+
return msg
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
def check_all_data_columns_have_metadata(fn_lc_mock):
|
|
62
|
+
|
|
63
|
+
msg = []
|
|
64
|
+
with h5py.File(fn_lc_mock, "r") as hdf:
|
|
65
|
+
for key in hdf["data"].keys():
|
|
66
|
+
try:
|
|
67
|
+
unit = hdf["data/" + key].attrs["unit"]
|
|
68
|
+
assert len(unit) > 0
|
|
69
|
+
description = hdf["data/" + key].attrs["description"]
|
|
70
|
+
assert len(description) > 0
|
|
71
|
+
except (KeyError, AssertionError):
|
|
72
|
+
s = f"{key} is missing metadata"
|
|
73
|
+
msg.append(s)
|
|
74
|
+
return msg
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
def check_host_pos_is_near_galaxy_pos(fn_lc_mock, data=None):
|
|
78
|
+
"""host position should be reasonably close to galaxy position"""
|
|
79
|
+
if data is None:
|
|
80
|
+
data = load_flat_hdf5(fn_lc_mock)
|
|
81
|
+
|
|
82
|
+
bn = os.path.basename(fn_lc_mock)
|
|
83
|
+
|
|
84
|
+
host_x = data["x"][data["top_host_idx"]]
|
|
85
|
+
host_y = data["y"][data["top_host_idx"]]
|
|
86
|
+
host_z = data["z"][data["top_host_idx"]]
|
|
87
|
+
dx = data["x_nfw"] - host_x
|
|
88
|
+
dy = data["y_nfw"] - host_y
|
|
89
|
+
dz = data["z_nfw"] - host_z
|
|
90
|
+
host_dist = np.sqrt(dx**2 + dy**2 + dz**2)
|
|
91
|
+
|
|
92
|
+
msg = []
|
|
93
|
+
n_very_far = np.sum(host_dist > 5)
|
|
94
|
+
if n_very_far > 10:
|
|
95
|
+
s = f"{n_very_far} galaxies in {bn} with "
|
|
96
|
+
s += "unexpectedly large xyz distance from top_host_idx"
|
|
97
|
+
msg.append(s)
|
|
98
|
+
|
|
99
|
+
msk_cen = data["central"]
|
|
100
|
+
mean_sat_dist = np.abs(np.mean(host_dist[~msk_cen]))
|
|
101
|
+
std_sat_dist = np.std(host_dist[~msk_cen])
|
|
102
|
+
if mean_sat_dist > 1.0:
|
|
103
|
+
s = f"<dist_sat>={mean_sat_dist:.2f} Mpc/h is unexpectedly large"
|
|
104
|
+
msg.append(s)
|
|
105
|
+
if std_sat_dist > 1.0:
|
|
106
|
+
s = f"std(dist_sat)={std_sat_dist:.2f} Mpc/h is unexpectedly large"
|
|
107
|
+
msg.append(s)
|
|
108
|
+
|
|
109
|
+
return msg
|
|
@@ -18,11 +18,43 @@ from jax import random as jran
|
|
|
18
18
|
from ...fake_sats import halo_boundary_functions as hbf
|
|
19
19
|
from ...fake_sats import nfw_config_space as nfwcs
|
|
20
20
|
from ...utils.sfh_utils import get_logsm_logssfr_at_t_obs
|
|
21
|
+
from . import lightcone_utils as hlu
|
|
21
22
|
from . import load_lc_cf
|
|
22
23
|
|
|
23
24
|
LC_CF_BNPAT = "lc_cores-{0}.{1}.diffsky_data.hdf5"
|
|
24
25
|
LC_MOCK_BNPAT = LC_CF_BNPAT.replace("diffsky_data", "diffsky_gals")
|
|
25
26
|
|
|
27
|
+
shapes_1 = [f"infall_fof_halo_eigS1{x}" for x in ("X", "Y", "Z")]
|
|
28
|
+
shapes_2 = [f"infall_fof_halo_eigS2{x}" for x in ("X", "Y", "Z")]
|
|
29
|
+
shapes_3 = [f"infall_fof_halo_eigS3{x}" for x in ("X", "Y", "Z")]
|
|
30
|
+
SHAPE_KEYS = (*shapes_1, *shapes_2, *shapes_3)
|
|
31
|
+
TOP_HOST_SHAPE_KEYS = ["top_host_" + key for key in SHAPE_KEYS]
|
|
32
|
+
|
|
33
|
+
LC_DATA_KEYS_OUT = (
|
|
34
|
+
"core_tag",
|
|
35
|
+
"x",
|
|
36
|
+
"y",
|
|
37
|
+
"z",
|
|
38
|
+
"x_nfw",
|
|
39
|
+
"y_nfw",
|
|
40
|
+
"z_nfw",
|
|
41
|
+
"top_host_idx",
|
|
42
|
+
"central",
|
|
43
|
+
"ra_nfw",
|
|
44
|
+
"dec_nfw",
|
|
45
|
+
)
|
|
46
|
+
|
|
47
|
+
DIFFSKY_DATA_KEYS_OUT = (
|
|
48
|
+
"x_host",
|
|
49
|
+
"y_host",
|
|
50
|
+
"z_host",
|
|
51
|
+
"vx",
|
|
52
|
+
"vy",
|
|
53
|
+
"vz",
|
|
54
|
+
"logmp_obs_host",
|
|
55
|
+
*TOP_HOST_SHAPE_KEYS,
|
|
56
|
+
)
|
|
57
|
+
|
|
26
58
|
|
|
27
59
|
def write_lc_sfh_mock_to_disk(fnout, lc_data, diffsky_data):
|
|
28
60
|
with h5py.File(fnout, "w") as hdf_out:
|
|
@@ -47,24 +79,24 @@ def write_lc_sfh_mock_to_disk(fnout, lc_data, diffsky_data):
|
|
|
47
79
|
hdf_out["data/logsm_obs"] = diffsky_data["logsm_obs"]
|
|
48
80
|
hdf_out["data/logssfr_obs"] = diffsky_data["logssfr_obs"]
|
|
49
81
|
|
|
50
|
-
hdf_out["data/
|
|
82
|
+
hdf_out["data/redshift_true"] = lc_data["redshift_true"]
|
|
51
83
|
hdf_out["data/ra"] = lc_data["phi"]
|
|
52
84
|
hdf_out["data/dec"] = np.pi / 2.0 - lc_data["theta"]
|
|
53
85
|
hdf_out["data/snapnum"] = lc_data["snapnum"]
|
|
54
86
|
|
|
55
|
-
|
|
56
|
-
for key in lc_data_keys_out:
|
|
87
|
+
for key in LC_DATA_KEYS_OUT:
|
|
57
88
|
key_out = "data/" + key
|
|
58
89
|
hdf_out[key_out] = lc_data[key]
|
|
59
90
|
|
|
60
|
-
|
|
61
|
-
for key in diffsky_data_keys_out:
|
|
91
|
+
for key in DIFFSKY_DATA_KEYS_OUT:
|
|
62
92
|
key_out = "data/" + key
|
|
63
93
|
hdf_out[key_out] = diffsky_data[key]
|
|
64
94
|
|
|
65
95
|
|
|
66
96
|
def add_sfh_quantities_to_mock(sim_info, lc_data, diffsky_data, ran_key):
|
|
67
|
-
lc_data["t_obs"] = flat_wcdm.age_at_z(
|
|
97
|
+
lc_data["t_obs"] = flat_wcdm.age_at_z(
|
|
98
|
+
lc_data["redshift_true"], *sim_info.cosmo_params
|
|
99
|
+
)
|
|
68
100
|
|
|
69
101
|
mah_params, msk_has_diffmah_fit = load_lc_cf.get_imputed_mah_params(
|
|
70
102
|
ran_key, diffsky_data, lc_data, sim_info.lgt0
|
|
@@ -132,7 +164,7 @@ def reposition_satellites(sim_info, lc_data, diffsky_data, ran_key, fixed_conc=5
|
|
|
132
164
|
diffsky_data["y_host"] = host_pos[:, 1]
|
|
133
165
|
diffsky_data["z_host"] = host_pos[:, 2]
|
|
134
166
|
|
|
135
|
-
args = (10**host_logmp_obs, sim_info.cosmo_params, lc_data["
|
|
167
|
+
args = (10**host_logmp_obs, sim_info.cosmo_params, lc_data["redshift_true"], "200m")
|
|
136
168
|
host_radius_mpc = hbf.halo_mass_to_halo_radius(*args) / 1000.0
|
|
137
169
|
|
|
138
170
|
n_cores = host_logmp_obs.shape[0]
|
|
@@ -152,6 +184,10 @@ def reposition_satellites(sim_info, lc_data, diffsky_data, ran_key, fixed_conc=5
|
|
|
152
184
|
lc_data["y_nfw"] = new_pos[:, 1]
|
|
153
185
|
lc_data["z_nfw"] = new_pos[:, 2]
|
|
154
186
|
|
|
187
|
+
ra, dec = hlu.get_ra_dec(lc_data["x_nfw"], lc_data["y_nfw"], lc_data["z_nfw"])
|
|
188
|
+
lc_data["ra_nfw"] = ra
|
|
189
|
+
lc_data["dec_nfw"] = dec
|
|
190
|
+
|
|
155
191
|
return lc_data, diffsky_data
|
|
156
192
|
|
|
157
193
|
|
|
@@ -8,7 +8,9 @@ from glob import glob
|
|
|
8
8
|
import h5py
|
|
9
9
|
import numpy as np
|
|
10
10
|
from diffmah.defaults import DEFAULT_MAH_PARAMS
|
|
11
|
+
from dsps.cosmology import flat_wcdm
|
|
11
12
|
from jax import jit as jjit
|
|
13
|
+
from jax import numpy as jnp
|
|
12
14
|
from jax import vmap
|
|
13
15
|
|
|
14
16
|
from .. import load_flat_hdf5
|
|
@@ -23,10 +25,18 @@ SQDEG_OF_SPHERE = SQDEG_PER_STER * 4 * np.pi
|
|
|
23
25
|
TOP_HOST_MAH_KEYS = ["top_host_" + key for key in DEFAULT_MAH_PARAMS._fields]
|
|
24
26
|
SECONDARY_HOST_MAH_KEYS = ["sec_host_" + key for key in DEFAULT_MAH_PARAMS._fields]
|
|
25
27
|
|
|
28
|
+
shapes_1 = [f"infall_fof_halo_eigS1{x}" for x in ("X", "Y", "Z")]
|
|
29
|
+
shapes_2 = [f"infall_fof_halo_eigS2{x}" for x in ("X", "Y", "Z")]
|
|
30
|
+
shapes_3 = [f"infall_fof_halo_eigS3{x}" for x in ("X", "Y", "Z")]
|
|
31
|
+
SHAPE_KEYS = [*shapes_1, *shapes_2, *shapes_3]
|
|
32
|
+
TOP_HOST_SHAPE_KEYS = ["top_host_" + key for key in SHAPE_KEYS]
|
|
33
|
+
|
|
34
|
+
|
|
26
35
|
LC_PATCH_OUT_KEYS = (
|
|
27
36
|
*DEFAULT_MAH_PARAMS._fields,
|
|
28
37
|
*TOP_HOST_MAH_KEYS,
|
|
29
38
|
*SECONDARY_HOST_MAH_KEYS,
|
|
39
|
+
*TOP_HOST_SHAPE_KEYS,
|
|
30
40
|
"loss",
|
|
31
41
|
"n_points_per_fit",
|
|
32
42
|
"indx_t_ult_inf",
|
|
@@ -34,6 +44,9 @@ LC_PATCH_OUT_KEYS = (
|
|
|
34
44
|
"n_cf_match",
|
|
35
45
|
"mp_obs",
|
|
36
46
|
"mp0",
|
|
47
|
+
"vx",
|
|
48
|
+
"vy",
|
|
49
|
+
"vz",
|
|
37
50
|
)
|
|
38
51
|
LC_PATCH_OUT_INT_KEYS = (
|
|
39
52
|
"n_points_per_fit",
|
|
@@ -69,6 +82,89 @@ def jnp_take_matrix(matrix, indxarr):
|
|
|
69
82
|
return _jnp_take_vmap(matrix, indxarr)
|
|
70
83
|
|
|
71
84
|
|
|
85
|
+
@jjit
|
|
86
|
+
def get_theta_phi(x, y, z):
|
|
87
|
+
"""Compute lightcone angles from simulation xyz coords
|
|
88
|
+
|
|
89
|
+
Parameters
|
|
90
|
+
----------
|
|
91
|
+
x,y,z : array, shape (n, )
|
|
92
|
+
Cartesian coords in any units
|
|
93
|
+
|
|
94
|
+
Returns
|
|
95
|
+
-------
|
|
96
|
+
theta : array, shape (n, )
|
|
97
|
+
colatitude in radians
|
|
98
|
+
0 < θ < π
|
|
99
|
+
|
|
100
|
+
phi : array, shape (n, )
|
|
101
|
+
longitude in radians
|
|
102
|
+
0 < φ < 2π
|
|
103
|
+
|
|
104
|
+
"""
|
|
105
|
+
rsq = x * x + y * y + z * z
|
|
106
|
+
r = jnp.sqrt(rsq)
|
|
107
|
+
theta = jnp.arccos(z / r)
|
|
108
|
+
phi = jnp.arctan2(y, x) + jnp.pi
|
|
109
|
+
return theta, phi
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
@jjit
|
|
113
|
+
def get_ra_dec(x, y, z):
|
|
114
|
+
"""Compute ra, dec in degrees from simulation xyz coords
|
|
115
|
+
|
|
116
|
+
Parameters
|
|
117
|
+
----------
|
|
118
|
+
x,y,z : array, shape (n, )
|
|
119
|
+
Cartesian coords in any units
|
|
120
|
+
|
|
121
|
+
Returns
|
|
122
|
+
-------
|
|
123
|
+
ra : array, shape (n, )
|
|
124
|
+
0 < ra < 360
|
|
125
|
+
|
|
126
|
+
dec : array, shape (n, )
|
|
127
|
+
-90 < dec < 90
|
|
128
|
+
|
|
129
|
+
"""
|
|
130
|
+
theta, phi = get_theta_phi(x, y, z)
|
|
131
|
+
ra, dec = _get_lon_lat_from_theta_phi(theta, phi)
|
|
132
|
+
return ra, dec
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
@jjit
|
|
136
|
+
def _get_lon_lat_from_theta_phi(theta, phi):
|
|
137
|
+
lon = jnp.degrees(phi)
|
|
138
|
+
lat = 90.0 - jnp.degrees(theta)
|
|
139
|
+
return lon, lat
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
@jjit
|
|
143
|
+
def get_redshift_from_xyz(x_mpch, y_mpch, z_mpch, cosmo_params):
|
|
144
|
+
"""Compute redshift from simulation xyz coords
|
|
145
|
+
|
|
146
|
+
Parameters
|
|
147
|
+
----------
|
|
148
|
+
x,y,z : array, shape (n, )
|
|
149
|
+
Cartesian coords in Mpc/h
|
|
150
|
+
|
|
151
|
+
Returns
|
|
152
|
+
-------
|
|
153
|
+
redshift : array, shape (n, )
|
|
154
|
+
|
|
155
|
+
"""
|
|
156
|
+
d_mpch = jnp.sqrt(x_mpch**2 + y_mpch**2 + z_mpch**2)
|
|
157
|
+
d_mpc = d_mpch / cosmo_params.h
|
|
158
|
+
|
|
159
|
+
z_table = jnp.linspace(0, 20, 1_000)
|
|
160
|
+
d_table = flat_wcdm.comoving_distance(
|
|
161
|
+
z_table, cosmo_params.Om0, cosmo_params.w0, cosmo_params.wa, cosmo_params.h
|
|
162
|
+
)
|
|
163
|
+
redshift = jnp.interp(d_mpc, d_table, z_table)
|
|
164
|
+
|
|
165
|
+
return redshift
|
|
166
|
+
|
|
167
|
+
|
|
72
168
|
def read_lc_ra_dec_patch_decomposition(fn):
|
|
73
169
|
collector = []
|
|
74
170
|
with open(fn, "r") as f:
|
|
@@ -207,6 +303,12 @@ def get_diffsky_quantities_for_lc_patch(
|
|
|
207
303
|
|
|
208
304
|
lc_patch_data_out["n_cf_match"][msk_olap] += 1
|
|
209
305
|
|
|
306
|
+
# Matchup core velocities
|
|
307
|
+
_keys = ("vx", "vy", "vz")
|
|
308
|
+
_olap_vel = [cf_matrices[key][olap_chunk_idx][:, timestep_idx] for key in _keys]
|
|
309
|
+
for key, v in zip(_keys, _olap_vel):
|
|
310
|
+
lc_patch_data_out[key][msk_olap] = v
|
|
311
|
+
|
|
210
312
|
# Matchup mah_params
|
|
211
313
|
_keys = (*DEFAULT_MAH_PARAMS._fields, "loss", "n_points_per_fit")
|
|
212
314
|
_olap_data = [cf_diffmah_data[key][olap_chunk_idx] for key in _keys]
|
|
@@ -215,11 +317,18 @@ def get_diffsky_quantities_for_lc_patch(
|
|
|
215
317
|
|
|
216
318
|
# Matchup uber host_mah_params
|
|
217
319
|
mah_keys = DEFAULT_MAH_PARAMS._fields
|
|
218
|
-
|
|
219
|
-
_olap_ult_host_data = [
|
|
320
|
+
_olap_ult_host_mah_data = [
|
|
220
321
|
cf_diffmah_data[key][olap_chunk_ult_host_idx] for key in mah_keys
|
|
221
322
|
]
|
|
222
|
-
for host_key, x in zip(
|
|
323
|
+
for host_key, x in zip(TOP_HOST_MAH_KEYS, _olap_ult_host_mah_data):
|
|
324
|
+
lc_patch_data_out[host_key][msk_olap] = x
|
|
325
|
+
|
|
326
|
+
# Matchup uber host shapes
|
|
327
|
+
_olap_ult_host_shape_data = [
|
|
328
|
+
cf_matrices[key][:, timestep_idx][olap_chunk_ult_host_idx]
|
|
329
|
+
for key in SHAPE_KEYS
|
|
330
|
+
]
|
|
331
|
+
for host_key, x in zip(TOP_HOST_SHAPE_KEYS, _olap_ult_host_shape_data):
|
|
223
332
|
lc_patch_data_out[host_key][msk_olap] = x
|
|
224
333
|
|
|
225
334
|
# Matchup secondary host_mah_params
|
|
@@ -388,3 +497,4 @@ def get_a_range_of_lc_cores_file(bname_lc_cores, sim_name):
|
|
|
388
497
|
a_min_expected, a_max_expected = aarr[indx_step], aarr[indx_step + 1]
|
|
389
498
|
|
|
390
499
|
return a_min_expected, a_max_expected
|
|
500
|
+
return a_min_expected, a_max_expected
|
|
@@ -21,7 +21,7 @@ try:
|
|
|
21
21
|
except ImportError:
|
|
22
22
|
HAS_HACCYTREES = False
|
|
23
23
|
|
|
24
|
-
SIM_INFO_KEYS = ("sim", "cosmo_params", "z_sim", "t_sim", "lgt0", "fb")
|
|
24
|
+
SIM_INFO_KEYS = ("sim", "cosmo_params", "z_sim", "t_sim", "lgt0", "fb", "num_subvols")
|
|
25
25
|
DiffskySimInfo = namedtuple("DiffskySimInfo", SIM_INFO_KEYS)
|
|
26
26
|
|
|
27
27
|
|
|
@@ -38,7 +38,16 @@ def get_diffsky_info_from_hacc_sim(sim_name):
|
|
|
38
38
|
lgt0 = np.log10(t0)
|
|
39
39
|
fb = sim.cosmo.Omega_b / sim.cosmo.Omega_m
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
if sim_name == "LastJourney":
|
|
42
|
+
num_subvols = 256
|
|
43
|
+
elif sim_name in ("DiscoveryLCDM", "DiscoveryW0WA"):
|
|
44
|
+
num_subvols = 96
|
|
45
|
+
else:
|
|
46
|
+
num_subvols = np.nan
|
|
47
|
+
|
|
48
|
+
diffsky_info = DiffskySimInfo(
|
|
49
|
+
sim, cosmo_params, z_sim, t_sim, lgt0, fb, num_subvols
|
|
50
|
+
)
|
|
42
51
|
|
|
43
52
|
return diffsky_info
|
|
44
53
|
|
|
@@ -51,9 +60,9 @@ def load_lc_diffsky_patch_data(fn_lc_diffsky, indir_lc_data):
|
|
|
51
60
|
fn_lc = os.path.join(indir_lc_data, bn_lc)
|
|
52
61
|
lc_data = load_flat_hdf5(fn_lc)
|
|
53
62
|
|
|
54
|
-
lc_data["
|
|
63
|
+
lc_data["redshift_true"] = 1 / lc_data["scale_factor"] - 1
|
|
55
64
|
|
|
56
|
-
assert lc_data["
|
|
65
|
+
assert lc_data["redshift_true"].shape[0] == diffsky_data["logm0"].shape[0]
|
|
57
66
|
|
|
58
67
|
return lc_data, diffsky_data
|
|
59
68
|
|
|
@@ -82,9 +91,9 @@ def collect_lc_diffsky_data(fn_list, drn_lc_data=None):
|
|
|
82
91
|
for key in lc_data_collector[0].keys():
|
|
83
92
|
lc_data[key] = np.concatenate([x[key] for x in lc_data_collector])
|
|
84
93
|
|
|
85
|
-
lc_data["
|
|
94
|
+
lc_data["redshift_true"] = 1 / lc_data["scale_factor"] - 1
|
|
86
95
|
|
|
87
|
-
assert lc_data["
|
|
96
|
+
assert lc_data["redshift_true"].shape[0] == diffsky_data["logm0"].shape[0]
|
|
88
97
|
|
|
89
98
|
return lc_data, diffsky_data
|
|
90
99
|
|
|
@@ -38,10 +38,10 @@ def load_lc_diffsky_patch_data(fn_lc_cores, sim_name, ran_key, lgmp_min, lgmp_ma
|
|
|
38
38
|
diffsky_data = mclh.mc_lightcone_host_halo_diffmah(
|
|
39
39
|
*args, logmp_cutoff=11.0, lgmp_max=lgmp_max
|
|
40
40
|
)
|
|
41
|
-
diffsky_data["
|
|
41
|
+
diffsky_data["redshift_true"] = diffsky_data["z_obs"]
|
|
42
42
|
del diffsky_data["z_obs"]
|
|
43
43
|
|
|
44
|
-
diffsky_data["top_host_idx"] = np.arange(len(diffsky_data["
|
|
44
|
+
diffsky_data["top_host_idx"] = np.arange(len(diffsky_data["redshift_true"])).astype(int)
|
|
45
45
|
for key in diffsky_data["mah_params"]._fields:
|
|
46
46
|
diffsky_data[key] = getattr(diffsky_data["mah_params"], key)
|
|
47
47
|
|
|
@@ -55,10 +55,10 @@ def load_lc_diffsky_patch_data(fn_lc_cores, sim_name, ran_key, lgmp_min, lgmp_ma
|
|
|
55
55
|
diffsky_data.pop("mah_params")
|
|
56
56
|
|
|
57
57
|
for key in ("x", "y", "z", "x_host", "y_host", "z_host", "ra", "dec"):
|
|
58
|
-
diffsky_data[key] = np.zeros(len(diffsky_data["
|
|
58
|
+
diffsky_data[key] = np.zeros(len(diffsky_data["redshift_true"])) - 1.0
|
|
59
59
|
|
|
60
|
-
ZZ = np.zeros(len(diffsky_data["
|
|
61
|
-
diffsky_data["core_tag"] = -np.ones(len(diffsky_data["
|
|
60
|
+
ZZ = np.zeros(len(diffsky_data["redshift_true"]))
|
|
61
|
+
diffsky_data["core_tag"] = -np.ones(len(diffsky_data["redshift_true"])).astype(int)
|
|
62
62
|
diffsky_data["has_diffmah_fit"] = ZZ.astype(int) + 1
|
|
63
63
|
diffsky_data["n_points_per_fit"] = ZZ.astype(int) + 10_000
|
|
64
64
|
diffsky_data["loss"] = ZZ + 1e-5
|
|
@@ -9,8 +9,8 @@ from . import load_lc_cf
|
|
|
9
9
|
column_metadata = dict()
|
|
10
10
|
column_metadata["central"] = ("None", "0 for satellite, 1 for central")
|
|
11
11
|
column_metadata["core_tag"] = ("None", "ID of the simulated core")
|
|
12
|
-
column_metadata["ra"] = ("
|
|
13
|
-
column_metadata["dec"] = ("
|
|
12
|
+
column_metadata["ra"] = ("degrees", "right ascension")
|
|
13
|
+
column_metadata["dec"] = ("degrees", "declination")
|
|
14
14
|
|
|
15
15
|
column_metadata["early_index"] = ("None", "Diffmah parameter for halo mass assembly")
|
|
16
16
|
column_metadata["late_index"] = ("None", "Diffmah parameter for halo mass assembly")
|
|
@@ -42,19 +42,77 @@ column_metadata["logssfr_obs"] = ("1/yr ", "Log10(SFR/Mstar) at time of observat
|
|
|
42
42
|
|
|
43
43
|
column_metadata["top_host_idx"] = ("None", "Index of host core")
|
|
44
44
|
|
|
45
|
-
column_metadata["x"] = ("Mpc", "
|
|
46
|
-
column_metadata["y"] = ("Mpc", "
|
|
47
|
-
column_metadata["z"] = ("Mpc", "
|
|
45
|
+
column_metadata["x"] = ("Mpc/h", "Comoving coordinate of lightcone position")
|
|
46
|
+
column_metadata["y"] = ("Mpc/h", "Comoving coordinate of lightcone position")
|
|
47
|
+
column_metadata["z"] = ("Mpc/h", "Comoving coordinate of lightcone position")
|
|
48
48
|
|
|
49
|
-
column_metadata["x_host"] = ("Mpc", "
|
|
50
|
-
column_metadata["y_host"] = ("Mpc", "
|
|
51
|
-
column_metadata["z_host"] = ("Mpc", "
|
|
49
|
+
column_metadata["x_host"] = ("Mpc/h", "Comoving coord of host halo lightcone position")
|
|
50
|
+
column_metadata["y_host"] = ("Mpc/h", "Comoving coord of host halo lightcone position")
|
|
51
|
+
column_metadata["z_host"] = ("Mpc/h", "Comoving coord of host halo lightcone position")
|
|
52
52
|
|
|
53
|
-
column_metadata["
|
|
53
|
+
column_metadata["x_nfw"] = ("Mpc/h", "Comoving coord with NFW-repositioned satellites")
|
|
54
|
+
column_metadata["y_nfw"] = ("Mpc/h", "Comoving coord with NFW-repositioned satellites")
|
|
55
|
+
column_metadata["z_nfw"] = ("Mpc/h", "Comoving coord with NFW-repositioned satellites")
|
|
56
|
+
|
|
57
|
+
column_metadata["vx"] = ("km/s", "Comoving peculiar velocity in x-direction")
|
|
58
|
+
column_metadata["vy"] = ("km/s", "Comoving peculiar velocity in y-direction")
|
|
59
|
+
column_metadata["vz"] = ("km/s", "Comoving peculiar velocity in z-direction")
|
|
60
|
+
|
|
61
|
+
column_metadata["top_host_infall_fof_halo_eigS1X"] = (
|
|
62
|
+
"Mpc/h",
|
|
63
|
+
"x-component of first eigendirection of halo shape (unreduced intertia tensor)",
|
|
64
|
+
)
|
|
65
|
+
column_metadata["top_host_infall_fof_halo_eigS1Y"] = (
|
|
66
|
+
"Mpc/h",
|
|
67
|
+
"y-component of first eigendirection of halo shape (unreduced intertia tensor)",
|
|
68
|
+
)
|
|
69
|
+
column_metadata["top_host_infall_fof_halo_eigS1Z"] = (
|
|
70
|
+
"Mpc/h",
|
|
71
|
+
"z-component of first eigendirection of halo shape (unreduced intertia tensor)",
|
|
72
|
+
)
|
|
73
|
+
|
|
74
|
+
column_metadata["top_host_infall_fof_halo_eigS2X"] = (
|
|
75
|
+
"Mpc/h",
|
|
76
|
+
"x-component of second eigendirection of halo shape (unreduced intertia tensor)",
|
|
77
|
+
)
|
|
78
|
+
column_metadata["top_host_infall_fof_halo_eigS2Y"] = (
|
|
79
|
+
"Mpc/h",
|
|
80
|
+
"y-component of second eigendirection of halo shape (unreduced intertia tensor)",
|
|
81
|
+
)
|
|
82
|
+
column_metadata["top_host_infall_fof_halo_eigS2Z"] = (
|
|
83
|
+
"Mpc/h",
|
|
84
|
+
"z-component of second eigendirection of halo shape (unreduced intertia tensor)",
|
|
85
|
+
)
|
|
86
|
+
|
|
87
|
+
column_metadata["top_host_infall_fof_halo_eigS3X"] = (
|
|
88
|
+
"Mpc/h",
|
|
89
|
+
"x-component of third eigendirection of halo shape (unreduced intertia tensor)",
|
|
90
|
+
)
|
|
91
|
+
column_metadata["top_host_infall_fof_halo_eigS3Y"] = (
|
|
92
|
+
"Mpc/h",
|
|
93
|
+
"y-component of third eigendirection of halo shape (unreduced intertia tensor)",
|
|
94
|
+
)
|
|
95
|
+
column_metadata["top_host_infall_fof_halo_eigS3Z"] = (
|
|
96
|
+
"Mpc/h",
|
|
97
|
+
"z-component of third eigendirection of halo shape (unreduced intertia tensor)",
|
|
98
|
+
)
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
column_metadata["redshift_true"] = ("None", "True redshift")
|
|
102
|
+
column_metadata["ra_nfw"] = (
|
|
103
|
+
"degrees",
|
|
104
|
+
"Longitude in degrees. Based on NFW-repositioned satellites.",
|
|
105
|
+
)
|
|
106
|
+
column_metadata["dec_nfw"] = (
|
|
107
|
+
"degrees",
|
|
108
|
+
"Latitude in degrees. Based on NFW-repositioned satellites.",
|
|
109
|
+
)
|
|
54
110
|
|
|
55
111
|
|
|
56
112
|
HEADER_COMMENT = """
|
|
57
113
|
This file contains diffsky galaxy data.
|
|
114
|
+
Each file stores mock galaxies in a thin redshift shell of a small patch of sky.
|
|
115
|
+
Each column of data includes metadata with units and comments about the column.
|
|
58
116
|
Contact: ahearin@anl.gov for questions.
|
|
59
117
|
"""
|
|
60
118
|
|
|
@@ -98,9 +156,9 @@ def append_metadata(fnout, sim_name):
|
|
|
98
156
|
key_out = "data/" + key
|
|
99
157
|
assert key_out in hdf_out.keys(), f"{key_out} is missing from {fnout}"
|
|
100
158
|
|
|
101
|
-
|
|
102
|
-
hdf_out[key_out].attrs["
|
|
103
|
-
hdf_out[key_out].attrs["
|
|
159
|
+
unit, description = val
|
|
160
|
+
hdf_out[key_out].attrs["unit"] = unit
|
|
161
|
+
hdf_out[key_out].attrs["description"] = description
|
|
104
162
|
|
|
105
163
|
|
|
106
164
|
def get_dependency_versions():
|