diffsky 0.3.2__tar.gz → 0.3.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (510) hide show
  1. {diffsky-0.3.2 → diffsky-0.3.3}/.github/workflows/mock_generation_test.yaml +45 -5
  2. diffsky-0.3.3/.github/workflows/shape_optimization.yaml +85 -0
  3. {diffsky-0.3.2 → diffsky-0.3.3}/.github/workflows/test_main_branch.yaml +1 -0
  4. {diffsky-0.3.2 → diffsky-0.3.3}/CHANGES.rst +21 -0
  5. {diffsky-0.3.2 → diffsky-0.3.3}/PKG-INFO +1 -1
  6. diffsky-0.3.3/diffsky/_version.py +1 -0
  7. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/burstpop/diagnostics/plot_fburstpop.py +10 -1
  8. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/burstpop/diagnostics/plot_tburstpop.py +10 -2
  9. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/burstpop/diagnostics/tests/test_plot_fburstpop.py +9 -1
  10. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/burstpop/diagnostics/tests/test_plot_tburstpop.py +8 -1
  11. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/cosmos20_loader.py +91 -1
  12. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/hacc_utils/data_validation/validate_lc_mock.py +28 -7
  13. diffsky-0.3.2/diffsky/data_loaders/hacc_utils/lc_mock_repro.py → diffsky-0.3.3/diffsky/data_loaders/hacc_utils/lc_mock.py +142 -8
  14. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/hacc_utils/lightcone_utils.py +55 -16
  15. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/hacc_utils/load_lc_cf.py +3 -3
  16. diffsky-0.3.3/diffsky/data_loaders/hacc_utils/load_lc_cf_synthetic.py +162 -0
  17. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/hacc_utils/load_lc_mock.py +17 -5
  18. diffsky-0.3.3/diffsky/data_loaders/hacc_utils/metadata_mock.py +538 -0
  19. diffsky-0.3.2/diffsky/data_loaders/hacc_utils/tests/test_lc_mock_repro.py → diffsky-0.3.3/diffsky/data_loaders/hacc_utils/tests/test_lc_mock.py +1 -1
  20. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/hacc_utils/tests/test_lightcone_utils.py +50 -1
  21. diffsky-0.3.3/diffsky/data_loaders/hacc_utils/tests/test_load_lc_cf_synthetic.py +53 -0
  22. diffsky-0.3.3/diffsky/data_loaders/hacc_utils/tests/test_metadata_mock.py +32 -0
  23. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/tests/test_cosmos_loader.py +33 -0
  24. diffsky-0.3.3/diffsky/diagnostics/plot_cosmos.py +519 -0
  25. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/diagnostics/plot_delta_mag_burstiness.py +8 -4
  26. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/diagnostics/plot_diffstar_fq.py +4 -0
  27. diffsky-0.3.3/diffsky/diagnostics/tests/test_plot_cosmos.py +51 -0
  28. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/diagnostics/tests/test_plot_delta_mag_burstiness.py +4 -0
  29. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/dustpop/diagnostics/plot_avpop_flex.py +11 -1
  30. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/dustpop/diagnostics/plot_funopop_simple.py +10 -1
  31. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/dustpop/diagnostics/tests/test_plot_avpop_flex.py +9 -1
  32. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/dustpop/diagnostics/tests/test_plot_funopop_simple.py +9 -1
  33. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/ellipsoidal_shapes/bulge_opt.py +1 -1
  34. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/ellipsoidal_shapes/bulge_shapes.py +1 -1
  35. diffsky-0.3.3/diffsky/ellipsoidal_shapes/diagnostics/plot_b_over_a_rp13.py +151 -0
  36. diffsky-0.3.3/diffsky/ellipsoidal_shapes/diagnostics/tests/test_plot_b_over_a_rp13.py +15 -0
  37. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/ellipsoidal_shapes/disk_opt.py +1 -1
  38. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/ellipsoidal_shapes/disk_shapes.py +3 -1
  39. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/ellipsoidal_shapes/ellipse_proj_kernels.py +54 -68
  40. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/ellipsoidal_shapes/tests/test_ellipse_proj_kernels.py +70 -21
  41. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/diagnostics/check_smhm.py +5 -0
  42. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/kernels/mc_phot_kernels.py +1 -1
  43. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/kernels/tests/test_mc_phot_kernels.py +2 -2
  44. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/mc_lightcone_halos.py +30 -0
  45. diffsky-0.3.3/diffsky/experimental/sfh_model_calibrations/load_diffsky_sfh_model_calibrations.py +67 -0
  46. diffsky-0.3.3/diffsky/experimental/sfh_model_calibrations/tests/test_load_diffsky_sfh_model_calibrations.py +25 -0
  47. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/tests/test_dbk_from_mock2.py +10 -8
  48. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/tests/test_lc_phot_kern.py +1 -1
  49. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/tests/test_mc_lightcone_halos.py +16 -0
  50. diffsky-0.3.2/diffsky/experimental/tests/test_mc_phot_repro.py → diffsky-0.3.3/diffsky/experimental/tests/test_mc_phot.py +7 -7
  51. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/fitting_utils/diagnostics/hmf_fit_diagnostics.py +12 -3
  52. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/scripts/discovery_lcdm_calibration/fit_hmf_disc_lcdm.py +11 -2
  53. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/scripts/last_journey_calibration/fit_hmf_lj.py +11 -2
  54. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/merging/diagnostics/plot_pmerge_vs_time.py +12 -2
  55. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/merging/diagnostics/tests/test_plot_pmerge_vs_time.py +8 -1
  56. diffsky-0.3.3/diffsky/param_utils/cosmos_params_cosmos260105.py +240 -0
  57. diffsky-0.3.3/diffsky/param_utils/get_mock_params.py +31 -0
  58. diffsky-0.3.3/diffsky/param_utils/tests/test_get_mock_params.py +27 -0
  59. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky.egg-info/PKG-INFO +1 -1
  60. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky.egg-info/SOURCES.txt +22 -16
  61. {diffsky-0.3.2 → diffsky-0.3.3}/docs/source/demo_diffsky_lightcone.ipynb +4 -4
  62. {diffsky-0.3.2 → diffsky-0.3.3}/docs/source/validate_mc_lightcones.ipynb +40 -3
  63. diffsky-0.3.3/scripts/LJ_CROSSX/check_lc_cf_completeness.py +183 -0
  64. diffsky-0.3.3/scripts/LJ_CROSSX/generate_lj_cf_crossmatch_holepatch_jobs.py +118 -0
  65. {diffsky-0.3.2 → diffsky-0.3.3}/scripts/LJ_CROSSX/generate_lj_cf_crossmatch_jobs.py +3 -1
  66. {diffsky-0.3.2 → diffsky-0.3.3}/scripts/LJ_CROSSX/inspect_lc_cf_crossx_job_logs.py +4 -0
  67. {diffsky-0.3.2 → diffsky-0.3.3}/scripts/LJ_CROSSX/lc_cf_crossmatch_script.py +3 -3
  68. diffsky-0.3.2/scripts/LJ_LC_MOCKS/make_ou26_mock.py → diffsky-0.3.3/scripts/LJ_LC_MOCKS/make_ou26_mock_batch.py +154 -133
  69. diffsky-0.3.3/scripts/__init__.py +0 -0
  70. diffsky-0.3.3/scripts/ellipsoid_shape_fitting/README.txt +1 -0
  71. diffsky-0.3.3/scripts/ellipsoid_shape_fitting/fit_bulge_shapes_to_rp13.py +82 -0
  72. diffsky-0.3.3/scripts/ellipsoid_shape_fitting/fit_disk_shapes_to_rp13.py +78 -0
  73. diffsky-0.3.3/scripts/tests/__init__.py +0 -0
  74. diffsky-0.3.2/diffsky/_version.py +0 -1
  75. diffsky-0.3.2/diffsky/data_loaders/hacc_utils/lc_mock_production.py +0 -709
  76. diffsky-0.3.2/diffsky/data_loaders/hacc_utils/load_lc_cf_synthetic.py +0 -86
  77. diffsky-0.3.2/diffsky/data_loaders/hacc_utils/metadata_sfh_mock.py +0 -354
  78. diffsky-0.3.2/diffsky/data_loaders/hacc_utils/tests/test_metadata_sfh_mock.py +0 -7
  79. diffsky-0.3.2/diffsky/experimental/kernels/ssp_weight_kernels.py +0 -496
  80. diffsky-0.3.2/diffsky/experimental/lc_phot_kern.py +0 -505
  81. diffsky-0.3.2/diffsky/experimental/mc_diffsky_seds.py +0 -1010
  82. diffsky-0.3.2/diffsky/experimental/mc_phot.py +0 -274
  83. diffsky-0.3.2/diffsky/experimental/sfh_model_calibrations/load_diffsky_sfh_model_calibrations.py +0 -20
  84. diffsky-0.3.2/diffsky/experimental/sfh_model_calibrations/tests/test_load_diffsky_sfh_model_calibrations.py +0 -13
  85. diffsky-0.3.2/diffsky/experimental/tests/test_lc_phot_kern_repro.py +0 -201
  86. diffsky-0.3.2/diffsky/experimental/tests/test_mc_diffsky_seds.py +0 -278
  87. diffsky-0.3.2/diffsky/experimental/tests/test_mc_diffstarpop_wrappers.py +0 -60
  88. diffsky-0.3.2/diffsky/experimental/tests/test_mc_phot.py +0 -169
  89. diffsky-0.3.2/diffsky/experimental/tests/test_top_level_imports.py +0 -14
  90. {diffsky-0.3.2 → diffsky-0.3.3}/.coveragerc +0 -0
  91. {diffsky-0.3.2 → diffsky-0.3.3}/.git_archival.txt +0 -0
  92. {diffsky-0.3.2 → diffsky-0.3.3}/.gitattributes +0 -0
  93. {diffsky-0.3.2 → diffsky-0.3.3}/.github/dependabot.yml +0 -0
  94. {diffsky-0.3.2 → diffsky-0.3.3}/.github/workflows/linting.yaml +0 -0
  95. {diffsky-0.3.2 → diffsky-0.3.3}/.github/workflows/monthly-warning-test.yaml +0 -0
  96. {diffsky-0.3.2 → diffsky-0.3.3}/.github/workflows/test_latest_releases.yaml +0 -0
  97. {diffsky-0.3.2 → diffsky-0.3.3}/.github/workflows/test_new_diffstar.yaml +0 -0
  98. {diffsky-0.3.2 → diffsky-0.3.3}/.github/workflows/tests_cron.yaml +0 -0
  99. {diffsky-0.3.2 → diffsky-0.3.3}/.gitignore +0 -0
  100. {diffsky-0.3.2 → diffsky-0.3.3}/.readthedocs.yml +0 -0
  101. {diffsky-0.3.2 → diffsky-0.3.3}/LICENSE.rst +0 -0
  102. {diffsky-0.3.2 → diffsky-0.3.3}/README.rst +0 -0
  103. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/__init__.py +0 -0
  104. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/burstpop/__init__.py +0 -0
  105. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/burstpop/diagnostics/__init__.py +0 -0
  106. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/burstpop/diagnostics/tests/__init__.py +0 -0
  107. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/burstpop/diffburstpop.py +0 -0
  108. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/burstpop/diffqburstpop.py +0 -0
  109. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/burstpop/diffqburstpop_mono.py +0 -0
  110. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/burstpop/diffqburstpop_mono_noise.py +0 -0
  111. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/burstpop/fburstpop.py +0 -0
  112. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/burstpop/fburstpop_mono.py +0 -0
  113. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/burstpop/freqburst.py +0 -0
  114. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/burstpop/freqburst_mono.py +0 -0
  115. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/burstpop/tburstpop.py +0 -0
  116. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/burstpop/tests/__init__.py +0 -0
  117. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/burstpop/tests/test_diffburstpop.py +0 -0
  118. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/burstpop/tests/test_diffqburstpop.py +0 -0
  119. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/burstpop/tests/test_diffqburstpop_mono.py +0 -0
  120. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/burstpop/tests/test_diffqburstpop_mono_noise.py +0 -0
  121. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/burstpop/tests/test_fburstpop.py +0 -0
  122. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/burstpop/tests/test_fburstpop_mono.py +0 -0
  123. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/burstpop/tests/test_freqburst.py +0 -0
  124. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/burstpop/tests/test_freqburst_mono.py +0 -0
  125. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/burstpop/tests/test_tburstpop.py +0 -0
  126. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/cosmos_utils/__init__.py +0 -0
  127. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/cosmos_utils/cosmos_mstar_model.py +0 -0
  128. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/cosmos_utils/tests/__init__.py +0 -0
  129. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/cosmos_utils/tests/test_cosmos_mstar_model.py +0 -0
  130. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/__init__.py +0 -0
  131. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/hacc_utils/__init__.py +0 -0
  132. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/hacc_utils/data/DiscoveryLCDM/cosmo.txt +0 -0
  133. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/hacc_utils/data/DiscoveryLCDM/cosmotools_steps.txt +0 -0
  134. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/hacc_utils/data/DiscoveryLCDM/cosmotools_steps_a.txt +0 -0
  135. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/hacc_utils/data/DiscoveryW0WA/cosmo.txt +0 -0
  136. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/hacc_utils/data/DiscoveryW0WA/cosmotools_steps.txt +0 -0
  137. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/hacc_utils/data/DiscoveryW0WA/cosmotools_steps_a.txt +0 -0
  138. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/hacc_utils/data/LastJourney/cosmo.txt +0 -0
  139. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/hacc_utils/data/LastJourney/cosmotools_steps.txt +0 -0
  140. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/hacc_utils/data/LastJourney/cosmotools_steps_a.txt +0 -0
  141. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/hacc_utils/data/LastJourney/lc_cores-decomposition.txt +0 -0
  142. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/hacc_utils/data_validation/__init__.py +0 -0
  143. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/hacc_utils/data_validation/tests/__init__.py +0 -0
  144. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/hacc_utils/data_validation/tests/test_validate_lc_cores.py +0 -0
  145. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/hacc_utils/data_validation/tests/test_validate_lc_mock.py +0 -0
  146. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/hacc_utils/data_validation/validate_lc_cores.py +0 -0
  147. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/hacc_utils/defaults.py +0 -0
  148. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/hacc_utils/hacc_core_utils.py +0 -0
  149. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/hacc_utils/haccsims.py +0 -0
  150. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/hacc_utils/load_hacc_cores.py +0 -0
  151. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/hacc_utils/tests/__init__.py +0 -0
  152. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/hacc_utils/tests/test_defaults.py +0 -0
  153. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/hacc_utils/tests/test_hacc_core_utils.py +0 -0
  154. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/hacc_utils/tests/test_haccsims.py +0 -0
  155. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/hacc_utils/tests/test_load_hacc_cores.py +0 -0
  156. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/hacc_utils/tests/test_load_lc_cf.py +0 -0
  157. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/hacc_utils/tests/test_load_lc_mock.py +0 -0
  158. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/hacc_utils/tests/testing_data/lc_cores-decomposition.txt +0 -0
  159. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/hacc_utils/tests/testing_data/phi_haccytrees_tdata.txt +0 -0
  160. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/hacc_utils/tests/testing_data/redshift_haccytrees_tdata.txt +0 -0
  161. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/hacc_utils/tests/testing_data/theta_haccytrees_tdata.txt +0 -0
  162. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/hacc_utils/tests/testing_data/x_haccytrees_tdata.txt +0 -0
  163. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/hacc_utils/tests/testing_data/y_haccytrees_tdata.txt +0 -0
  164. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/hacc_utils/tests/testing_data/z_haccytrees_tdata.txt +0 -0
  165. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/io_utils.py +0 -0
  166. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/mock_utils.py +0 -0
  167. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/mpi_utils.py +0 -0
  168. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/tests/__init__.py +0 -0
  169. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/tests/test_imports.py +0 -0
  170. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/tests/test_io_utils.py +0 -0
  171. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/tests/test_mock_utils.py +0 -0
  172. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/tests/test_mpi_utils.py +0 -0
  173. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/tests/testing_data/__init__.py +0 -0
  174. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/tests/testing_data/cosmos20_shasum.dat +0 -0
  175. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/data_loaders/um_binary_loader.py +0 -0
  176. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/diagnostics/__init__.py +0 -0
  177. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/diagnostics/tests/__init__.py +0 -0
  178. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/diagnostics/tests/test_plot_diffstar_fq.py +0 -0
  179. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/diagnostics/utils.py +0 -0
  180. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/diffndhist.py +0 -0
  181. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/dustpop/__init__.py +0 -0
  182. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/dustpop/avpop.py +0 -0
  183. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/dustpop/avpop_flex.py +0 -0
  184. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/dustpop/avpop_mono.py +0 -0
  185. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/dustpop/deltapop.py +0 -0
  186. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/dustpop/diagnostics/__init__.py +0 -0
  187. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/dustpop/diagnostics/tests/__init__.py +0 -0
  188. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/dustpop/funopop.py +0 -0
  189. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/dustpop/funopop_simple.py +0 -0
  190. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/dustpop/funopop_ssfr.py +0 -0
  191. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/dustpop/sbl18_dust.py +0 -0
  192. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/dustpop/sbl18_dust_kernels.py +0 -0
  193. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/dustpop/sbl18_dustpop.py +0 -0
  194. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/dustpop/tests/__init__.py +0 -0
  195. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/dustpop/tests/test_avpop.py +0 -0
  196. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/dustpop/tests/test_avpop_flex.py +0 -0
  197. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/dustpop/tests/test_avpop_mono.py +0 -0
  198. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/dustpop/tests/test_deltapop.py +0 -0
  199. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/dustpop/tests/test_funopop_model.py +0 -0
  200. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/dustpop/tests/test_funopop_simple.py +0 -0
  201. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/dustpop/tests/test_funopop_ssfr.py +0 -0
  202. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/dustpop/tests/test_sbl18_dustpop.py +0 -0
  203. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/dustpop/tests/test_tw_dust_kernels.py +0 -0
  204. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/dustpop/tests/test_tw_dustpop.py +0 -0
  205. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/dustpop/tests/test_tw_dustpop_mono.py +0 -0
  206. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/dustpop/tests/test_tw_dustpop_mono_noise.py +0 -0
  207. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/dustpop/tests/test_tw_dustpop_new.py +0 -0
  208. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/dustpop/tw_dust.py +0 -0
  209. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/dustpop/tw_dust_kernels.py +0 -0
  210. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/dustpop/tw_dustpop.py +0 -0
  211. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/dustpop/tw_dustpop_mono.py +0 -0
  212. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/dustpop/tw_dustpop_mono_noise.py +0 -0
  213. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/dustpop/tw_dustpop_new.py +0 -0
  214. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/ellipsoidal_shapes/__init__.py +0 -0
  215. {diffsky-0.3.2/diffsky/ellipsoidal_shapes/tests → diffsky-0.3.3/diffsky/ellipsoidal_shapes/diagnostics}/__init__.py +0 -0
  216. {diffsky-0.3.2/diffsky/experimental/black_hole_modeling → diffsky-0.3.3/diffsky/ellipsoidal_shapes/diagnostics/tests}/__init__.py +0 -0
  217. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/ellipsoidal_shapes/pdf_model_utils.py +0 -0
  218. {diffsky-0.3.2/diffsky/experimental/black_hole_modeling → diffsky-0.3.3/diffsky/ellipsoidal_shapes}/tests/__init__.py +0 -0
  219. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/ellipsoidal_shapes/tests/test_bulge_opt.py +0 -0
  220. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/ellipsoidal_shapes/tests/test_bulge_shapes.py +0 -0
  221. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/ellipsoidal_shapes/tests/test_disk_opt.py +0 -0
  222. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/ellipsoidal_shapes/tests/test_disk_shapes.py +0 -0
  223. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/ellipsoidal_shapes/tests/test_pdf_model_utils.py +0 -0
  224. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/ellipsoidal_shapes/tests/testing_data/ellipsoid_b_over_a_pdf_rodriguez_padilla_2013.txt +0 -0
  225. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/ellipsoidal_shapes/tests/testing_data/spiral_b_over_a_pdf_rodriguez_padilla_2013.txt +0 -0
  226. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/__init__.py +0 -0
  227. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/black_hole_modeling/README.txt +0 -0
  228. {diffsky-0.3.2/diffsky/experimental/diagnostics → diffsky-0.3.3/diffsky/experimental/black_hole_modeling}/__init__.py +0 -0
  229. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/black_hole_modeling/black_hole_accretion_rate.py +0 -0
  230. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/black_hole_modeling/black_hole_mass.py +0 -0
  231. {diffsky-0.3.2/diffsky/experimental/diagnostics → diffsky-0.3.3/diffsky/experimental/black_hole_modeling}/tests/__init__.py +0 -0
  232. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/black_hole_modeling/tests/test_black_hole_accretion_rate.py +0 -0
  233. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/black_hole_modeling/tests/test_black_hole_mass.py +0 -0
  234. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/black_hole_modeling/tests/test_utils.py +0 -0
  235. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/black_hole_modeling/utils.py +0 -0
  236. /diffsky-0.3.2/diffsky/experimental/dbk_from_mock2.py → /diffsky-0.3.3/diffsky/experimental/dbk_phot_from_mock.py +0 -0
  237. {diffsky-0.3.2/diffsky/experimental/disk_bulge_modeling → diffsky-0.3.3/diffsky/experimental/diagnostics}/__init__.py +0 -0
  238. {diffsky-0.3.2/diffsky/experimental/disk_bulge_modeling → diffsky-0.3.3/diffsky/experimental/diagnostics}/tests/__init__.py +0 -0
  239. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/diagnostics/tests/test_check_smhm.py +0 -0
  240. {diffsky-0.3.2/diffsky/experimental/dspspop → diffsky-0.3.3/diffsky/experimental/disk_bulge_modeling}/__init__.py +0 -0
  241. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/disk_bulge_modeling/disk_bulge_kernels.py +0 -0
  242. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/disk_bulge_modeling/disk_knots.py +0 -0
  243. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/disk_bulge_modeling/generate_bulge_disk_sample.py +0 -0
  244. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/disk_bulge_modeling/mc_disk_bulge.py +0 -0
  245. {diffsky-0.3.2/diffsky/experimental/dspspop → diffsky-0.3.3/diffsky/experimental/disk_bulge_modeling}/tests/__init__.py +0 -0
  246. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/disk_bulge_modeling/tests/test_disk_bulge.py +0 -0
  247. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/disk_bulge_modeling/tests/test_disk_knots.py +0 -0
  248. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/disk_bulge_modeling/tests/test_generate_bulge_disk_sample.py +0 -0
  249. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/disk_bulge_modeling/tests/test_mc_disk_bulge.py +0 -0
  250. {diffsky-0.3.2/diffsky/experimental/kernels → diffsky-0.3.3/diffsky/experimental/dspspop}/__init__.py +0 -0
  251. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/dspspop/boris_dust.py +0 -0
  252. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/dspspop/burstshapepop.py +0 -0
  253. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/dspspop/dust_deltapop.py +0 -0
  254. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/dspspop/dustpop.py +0 -0
  255. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/dspspop/lgavpop.py +0 -0
  256. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/dspspop/lgfburstpop.py +0 -0
  257. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/dspspop/nagaraj22_dust.py +0 -0
  258. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/dspspop/photpop.py +0 -0
  259. {diffsky-0.3.2/diffsky/experimental/kernels → diffsky-0.3.3/diffsky/experimental/dspspop}/tests/__init__.py +0 -0
  260. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/dspspop/tests/test_attavpop.py +0 -0
  261. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/dspspop/tests/test_boris_dust.py +0 -0
  262. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/dspspop/tests/test_burstshapepop.py +0 -0
  263. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/dspspop/tests/test_dustdeltapop.py +0 -0
  264. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/dspspop/tests/test_lgfburstpop.py +0 -0
  265. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/dspspop/tests/test_photpop.py +0 -0
  266. {diffsky-0.3.2/diffsky/experimental/sfh_model_calibrations → diffsky-0.3.3/diffsky/experimental/kernels}/__init__.py +0 -0
  267. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/kernels/dbk_kernels.py +0 -0
  268. /diffsky-0.3.2/diffsky/experimental/kernels/ssp_weight_kernels_repro.py → /diffsky-0.3.3/diffsky/experimental/kernels/ssp_weight_kernels.py +0 -0
  269. {diffsky-0.3.2/diffsky/experimental/sfh_model_calibrations → diffsky-0.3.3/diffsky/experimental/kernels}/tests/__init__.py +0 -0
  270. /diffsky-0.3.2/diffsky/experimental/lc_phot_kern_repro.py → /diffsky-0.3.3/diffsky/experimental/lc_phot_kern.py +0 -0
  271. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/lc_utils.py +0 -0
  272. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/mc_diffstarpop_wrappers.py +0 -0
  273. /diffsky-0.3.2/diffsky/experimental/mc_phot_repro.py → /diffsky-0.3.3/diffsky/experimental/mc_phot.py +0 -0
  274. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/phot_utils.py +0 -0
  275. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/photometry_interpolation.py +0 -0
  276. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/precompute_ssp_phot.py +0 -0
  277. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/scatter.py +0 -0
  278. {diffsky-0.3.2/diffsky/experimental/size_modeling → diffsky-0.3.3/diffsky/experimental/sfh_model_calibrations}/__init__.py +0 -0
  279. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/sfh_model_calibrations/data/u_params_best_1015_galacticus_in_plus_ex_situ.npy +0 -0
  280. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/sfh_model_calibrations/data/u_params_best_1015_smdpl_dr1.npy +0 -0
  281. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/sfh_model_calibrations/data/u_params_best_1015_tng.npy +0 -0
  282. {diffsky-0.3.2/diffsky/experimental/size_modeling → diffsky-0.3.3/diffsky/experimental/sfh_model_calibrations}/tests/__init__.py +0 -0
  283. {diffsky-0.3.2/diffsky/experimental/tests → diffsky-0.3.3/diffsky/experimental/size_modeling}/__init__.py +0 -0
  284. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/size_modeling/disk_bulge_sizes.py +0 -0
  285. {diffsky-0.3.2/diffsky/fake_sats → diffsky-0.3.3/diffsky/experimental/size_modeling/tests}/__init__.py +0 -0
  286. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/size_modeling/tests/test_disk_bulge_sizes.py +0 -0
  287. {diffsky-0.3.2/diffsky/fake_sats → diffsky-0.3.3/diffsky/experimental}/tests/__init__.py +0 -0
  288. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/tests/test_lc_utils.py +0 -0
  289. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/tests/test_photometry_interpolation.py +0 -0
  290. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/tests/test_precompute_ssp_phot.py +0 -0
  291. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/tests/test_scatter.py +0 -0
  292. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/experimental/tests/test_sobol_lightcone.py +0 -0
  293. {diffsky-0.3.2/diffsky/mass_functions/fitting_utils → diffsky-0.3.3/diffsky/fake_sats}/__init__.py +0 -0
  294. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/fake_sats/ellipsoidal_nfw_phase_space.py +0 -0
  295. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/fake_sats/ellipsoidal_velocities.py +0 -0
  296. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/fake_sats/halo_boundary_functions.py +0 -0
  297. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/fake_sats/nfw_config_space.py +0 -0
  298. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/fake_sats/rotations3d.py +0 -0
  299. {diffsky-0.3.2/diffsky/mass_functions/fitting_utils/calibrations → diffsky-0.3.3/diffsky/fake_sats/tests}/__init__.py +0 -0
  300. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/fake_sats/tests/test_ellipsoidal_nfw_phase_space.py +0 -0
  301. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/fake_sats/tests/test_halo_boundary_functions.py +0 -0
  302. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/fake_sats/tests/test_mc_ellipticial_velocities.py +0 -0
  303. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/fake_sats/tests/test_nfw_config_space.py +0 -0
  304. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/fake_sats/tests/test_rotations3d.py +0 -0
  305. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/fake_sats/tests/testing_data/halo_mass_ht_test.txt +0 -0
  306. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/fake_sats/tests/testing_data/halo_radius_200c_ht_test.txt +0 -0
  307. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/fake_sats/tests/testing_data/redshift_ht_test.txt +0 -0
  308. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/fake_sats/vector_utilities.py +0 -0
  309. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/__init__.py +0 -0
  310. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/ccshmf_model.py +0 -0
  311. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/fitting_utils/README.rst +0 -0
  312. {diffsky-0.3.2/diffsky/mass_functions/fitting_utils/calibrations/tests → diffsky-0.3.3/diffsky/mass_functions/fitting_utils}/__init__.py +0 -0
  313. {diffsky-0.3.2/diffsky/mass_functions/fitting_utils/diagnostics → diffsky-0.3.3/diffsky/mass_functions/fitting_utils/calibrations}/__init__.py +0 -0
  314. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/fitting_utils/calibrations/hacc_core_shmf_params.py +0 -0
  315. {diffsky-0.3.2/diffsky/mass_functions/fitting_utils/diagnostics → diffsky-0.3.3/diffsky/mass_functions/fitting_utils/calibrations}/tests/__init__.py +0 -0
  316. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/fitting_utils/calibrations/tests/test_hacc_core_shmf_params.py +0 -0
  317. {diffsky-0.3.2/diffsky/mass_functions/fitting_utils/tests → diffsky-0.3.3/diffsky/mass_functions/fitting_utils/diagnostics}/__init__.py +0 -0
  318. {diffsky-0.3.2/diffsky/mass_functions/hmf_calibrations → diffsky-0.3.3/diffsky/mass_functions/fitting_utils/diagnostics}/tests/__init__.py +0 -0
  319. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/fitting_utils/diagnostics/tests/test_hmf_fit_diagnostics.py +0 -0
  320. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/fitting_utils/fit_ccshmf.py +0 -0
  321. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/fitting_utils/fit_ccshmf_kernels.py +0 -0
  322. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/fitting_utils/fit_flat_hmf_model.py +0 -0
  323. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/fitting_utils/fit_halobias_model.py +0 -0
  324. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/fitting_utils/fit_halobias_singlez_model.py +0 -0
  325. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/fitting_utils/fit_hmf_kernels.py +0 -0
  326. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/fitting_utils/fit_hmf_model.py +0 -0
  327. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/fitting_utils/fitting_helpers.py +0 -0
  328. {diffsky-0.3.2/diffsky/mass_functions/io_utils → diffsky-0.3.3/diffsky/mass_functions/fitting_utils/tests}/__init__.py +0 -0
  329. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/fitting_utils/tests/test_fit_ccshmf.py +0 -0
  330. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/fitting_utils/tests/test_fit_ccshmf_kernels.py +0 -0
  331. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/fitting_utils/tests/test_fit_flat_hmf_model.py +0 -0
  332. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/fitting_utils/tests/test_fit_halobias_model.py +0 -0
  333. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/fitting_utils/tests/test_fit_halobias_model_singlez.py +0 -0
  334. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/fitting_utils/tests/test_fit_hmf_kernels.py +0 -0
  335. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/fitting_utils/tests/test_fit_hmf_model.py +0 -0
  336. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/flat_hmf_model.py +0 -0
  337. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/halobias_model.py +0 -0
  338. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/halobias_singlez_model.py +0 -0
  339. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/hmf_calibrations/__init__.py +0 -0
  340. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/hmf_calibrations/disc_lcdm_hmf_params.txt +0 -0
  341. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/hmf_calibrations/disc_lcdm_hmf_params_all.txt +0 -0
  342. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/hmf_calibrations/hmf_param_reader.py +0 -0
  343. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/hmf_calibrations/lj_hmf_params.txt +0 -0
  344. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/hmf_calibrations/lj_hmf_params_all.txt +0 -0
  345. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/hmf_calibrations/smdpl_hmf.py +0 -0
  346. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/hmf_calibrations/smdpl_hmf_fitting_helpers.py +0 -0
  347. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/hmf_calibrations/smdpl_hmf_subs.py +0 -0
  348. {diffsky-0.3.2/diffsky/mass_functions/kernels → diffsky-0.3.3/diffsky/mass_functions/hmf_calibrations/tests}/__init__.py +0 -0
  349. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/hmf_calibrations/tests/test_imports.py +0 -0
  350. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/hmf_calibrations/tests/test_lj_hmf.py +0 -0
  351. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/hmf_calibrations/tests/test_smdpl_hmf.py +0 -0
  352. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/hmf_calibrations/tests/testing_data/disc_lcdm_hmf_cuml_density_all.txt +0 -0
  353. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/hmf_calibrations/tests/testing_data/disc_lcdm_hmf_cuml_density_cens.txt +0 -0
  354. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/hmf_calibrations/tests/testing_data/disc_lcdm_hmf_logmp_bins.txt +0 -0
  355. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/hmf_calibrations/tests/testing_data/disc_lcdm_hmf_redshift_bins.txt +0 -0
  356. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/hmf_calibrations/tests/testing_data/lj_hmf_cuml_density_all.txt +0 -0
  357. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/hmf_calibrations/tests/testing_data/lj_hmf_cuml_density_cens.txt +0 -0
  358. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/hmf_calibrations/tests/testing_data/lj_hmf_logmp_bins.txt +0 -0
  359. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/hmf_calibrations/tests/testing_data/lj_hmf_redshift_bins.txt +0 -0
  360. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/hmf_calibrations/tests/testing_data/sfr_catalog_0.219000.subhalos.lgcuml_density.npy +0 -0
  361. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/hmf_calibrations/tests/testing_data/sfr_catalog_0.219000.subhalos.logmp_bins.npy +0 -0
  362. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/hmf_calibrations/tests/testing_data/sfr_catalog_0.460000.hosthalos.lgcuml_density.npy +0 -0
  363. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/hmf_calibrations/tests/testing_data/sfr_catalog_0.460000.hosthalos.logmp_bins.npy +0 -0
  364. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/hmf_calibrations/tests/testing_data/sfr_catalog_0.460000.subhalos.lgcuml_density.npy +0 -0
  365. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/hmf_calibrations/tests/testing_data/sfr_catalog_0.460000.subhalos.logmp_bins.npy +0 -0
  366. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/hmf_calibrations/tests/testing_data/sfr_catalog_1.000000.hosthalos.lgcuml_density.npy +0 -0
  367. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/hmf_calibrations/tests/testing_data/sfr_catalog_1.000000.hosthalos.logmp_bins.npy +0 -0
  368. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/hmf_calibrations/tests/testing_data/sfr_catalog_1.000000.subhalos.lgcuml_density.npy +0 -0
  369. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/hmf_calibrations/tests/testing_data/sfr_catalog_1.000000.subhalos.logmp_bins.npy +0 -0
  370. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/hmf_model.py +0 -0
  371. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/io_utils/README.txt +0 -0
  372. {diffsky-0.3.2/diffsky/mass_functions/kernels/tests → diffsky-0.3.3/diffsky/mass_functions/io_utils}/__init__.py +0 -0
  373. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/io_utils/loader.py +0 -0
  374. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/io_utils/smdpl_helpers.py +0 -0
  375. {diffsky-0.3.2/diffsky/mass_functions/smhm_kernels → diffsky-0.3.3/diffsky/mass_functions/kernels}/__init__.py +0 -0
  376. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/kernels/ccshmf_kernels.py +0 -0
  377. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/kernels/hmf_kernels.py +0 -0
  378. {diffsky-0.3.2/diffsky/mass_functions/smhm_kernels → diffsky-0.3.3/diffsky/mass_functions/kernels}/tests/__init__.py +0 -0
  379. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/kernels/tests/test_ccshmf_kernels.py +0 -0
  380. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/kernels/tests/test_hmf_kernels.py +0 -0
  381. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/mc_diffmah_tpeak.py +0 -0
  382. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/mc_hosts.py +0 -0
  383. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/mc_subs.py +0 -0
  384. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/mc_tinfall.py +0 -0
  385. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/measure_ccshmf.py +0 -0
  386. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/measure_hmf.py +0 -0
  387. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/scripts/discovery_lcdm_calibration/measure_hmf_target_data_hacc.py +0 -0
  388. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/scripts/discovery_lcdm_calibration/run_hmf_tabulation_disc_lcdm.sh +0 -0
  389. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/scripts/last_journey_calibration/measure_hmf_target_data_hacc.py +0 -0
  390. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/scripts/smdpl_calibration/fit_smdpl_hmf_script.py +0 -0
  391. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/scripts/smdpl_calibration/measure_smdpl_hmf_script.py +0 -0
  392. {diffsky-0.3.2/diffsky/mass_functions/tests → diffsky-0.3.3/diffsky/mass_functions/smhm_kernels}/__init__.py +0 -0
  393. {diffsky-0.3.2/diffsky/mass_functions/tests/testing_data → diffsky-0.3.3/diffsky/mass_functions/smhm_kernels/tests}/__init__.py +0 -0
  394. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/smhm_kernels/tests/test_threeroll_smhm.py +0 -0
  395. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/smhm_kernels/threeroll_kernels.py +0 -0
  396. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/smhm_kernels/threeroll_smhm.py +0 -0
  397. {diffsky-0.3.2/diffsky/mass_functions/upweighting → diffsky-0.3.3/diffsky/mass_functions/tests}/__init__.py +0 -0
  398. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/tests/test_ccshmf.py +0 -0
  399. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/tests/test_flat_hmf_model.py +0 -0
  400. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/tests/test_halobias_model.py +0 -0
  401. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/tests/test_halobias_singlez_model.py +0 -0
  402. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/tests/test_hmf_model.py +0 -0
  403. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/tests/test_mc_diffmah_tpeak.py +0 -0
  404. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/tests/test_mc_hosts.py +0 -0
  405. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/tests/test_mc_subs.py +0 -0
  406. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/tests/test_mc_tinfall.py +0 -0
  407. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/tests/test_measure_hmf.py +0 -0
  408. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/tests/testing_data/README.txt +0 -0
  409. {diffsky-0.3.2/diffsky/mass_functions/upweighting/tests → diffsky-0.3.3/diffsky/mass_functions/tests/testing_data}/__init__.py +0 -0
  410. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/tests/testing_data/smdpl_cshmf_cuml_redshift_0.00_lgmhost_12.32.txt +0 -0
  411. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/tests/testing_data/smdpl_cshmf_cuml_redshift_0.00_lgmhost_13.00.txt +0 -0
  412. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/tests/testing_data/smdpl_cshmf_cuml_redshift_0.00_lgmhost_13.55.txt +0 -0
  413. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/tests/testing_data/smdpl_cshmf_cuml_redshift_0.00_lgmhost_14.08.txt +0 -0
  414. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/tests/testing_data/smdpl_cshmf_cuml_redshift_1.00_lgmhost_12.31.txt +0 -0
  415. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/tests/testing_data/smdpl_cshmf_cuml_redshift_1.00_lgmhost_12.99.txt +0 -0
  416. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/tests/testing_data/smdpl_cshmf_cuml_redshift_1.00_lgmhost_13.51.txt +0 -0
  417. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/tests/testing_data/smdpl_cshmf_cuml_redshift_1.00_lgmhost_14.05.txt +0 -0
  418. {diffsky-0.3.2/diffsky/merging → diffsky-0.3.3/diffsky/mass_functions/upweighting}/__init__.py +0 -0
  419. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/upweighting/namedtuple_cat_utils.py +0 -0
  420. {diffsky-0.3.2/diffsky/merging/diagnostics → diffsky-0.3.3/diffsky/mass_functions/upweighting/tests}/__init__.py +0 -0
  421. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/upweighting/tests/test_mc_gen_upweighting.py +0 -0
  422. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/upweighting/upweighting.py +0 -0
  423. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mass_functions/utils.py +0 -0
  424. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/mc_diffsky.py +0 -0
  425. {diffsky-0.3.2/diffsky/merging/diagnostics/tests → diffsky-0.3.3/diffsky/merging}/__init__.py +0 -0
  426. {diffsky-0.3.2/diffsky/merging/tests → diffsky-0.3.3/diffsky/merging/diagnostics}/__init__.py +0 -0
  427. {diffsky-0.3.2/diffsky/param_utils → diffsky-0.3.3/diffsky/merging/diagnostics/tests}/__init__.py +0 -0
  428. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/merging/fitmerge_multi_redshift.py +0 -0
  429. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/merging/merging_model.py +0 -0
  430. {diffsky-0.3.2/diffsky/param_utils → diffsky-0.3.3/diffsky/merging}/tests/__init__.py +0 -0
  431. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/merging/tests/test_fitmerge_multi_redshift.py +0 -0
  432. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/merging/tests/test_merging_model.py +0 -0
  433. {diffsky-0.3.2/diffsky/ssp_err_model → diffsky-0.3.3/diffsky/param_utils}/__init__.py +0 -0
  434. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/param_utils/diffsky_param_wrapper.py +0 -0
  435. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/param_utils/spspop_param_utils.py +0 -0
  436. {diffsky-0.3.2/diffsky/ssp_err_model → diffsky-0.3.3/diffsky/param_utils}/tests/__init__.py +0 -0
  437. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/param_utils/tests/test_diffsky_param_wrapper.py +0 -0
  438. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/param_utils/tests/test_spspop_param_utils.py +0 -0
  439. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/phot_utils.py +0 -0
  440. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/sbl18_photgrad.py +0 -0
  441. {diffsky-0.3.2/diffsky/ssp_err_model2 → diffsky-0.3.3/diffsky/ssp_err_model}/__init__.py +0 -0
  442. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/ssp_err_model/ssp_err_model.py +0 -0
  443. {diffsky-0.3.2/diffsky/ssp_err_model2 → diffsky-0.3.3/diffsky/ssp_err_model}/tests/__init__.py +0 -0
  444. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/ssp_err_model/tests/test_ssp_err_model.py +0 -0
  445. {diffsky-0.3.2/diffsky/sumstats → diffsky-0.3.3/diffsky/ssp_err_model2}/__init__.py +0 -0
  446. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/ssp_err_model2/defaults.py +0 -0
  447. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/ssp_err_model2/ssp_err_model.py +0 -0
  448. {diffsky-0.3.2/diffsky/sumstats → diffsky-0.3.3/diffsky/ssp_err_model2}/tests/__init__.py +0 -0
  449. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/ssp_err_model2/tests/test_ssp_err_model.py +0 -0
  450. {diffsky-0.3.2/diffsky/systematics → diffsky-0.3.3/diffsky/sumstats}/__init__.py +0 -0
  451. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/sumstats/diffndhist.py +0 -0
  452. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/sumstats/smhm.py +0 -0
  453. {diffsky-0.3.2/diffsky/systematics → diffsky-0.3.3/diffsky/sumstats}/tests/__init__.py +0 -0
  454. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/sumstats/tests/test_smhm.py +0 -0
  455. {diffsky-0.3.2/diffsky/tests → diffsky-0.3.3/diffsky/systematics}/__init__.py +0 -0
  456. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/systematics/ssp_errors.py +0 -0
  457. {diffsky-0.3.2/diffsky/tests/testing_data → diffsky-0.3.3/diffsky/systematics/tests}/__init__.py +0 -0
  458. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/systematics/tests/test_ssp_errors.py +0 -0
  459. {diffsky-0.3.2/diffsky/utils → diffsky-0.3.3/diffsky}/tests/__init__.py +0 -0
  460. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/tests/test_dependencies.py +0 -0
  461. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/tests/test_diffndhist.py +0 -0
  462. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/tests/test_diffsky_setup.py +0 -0
  463. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/tests/test_imports.py +0 -0
  464. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/tests/test_mc_diffsky.py +0 -0
  465. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/tests/test_phot_utils.py +0 -0
  466. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/tests/test_sbl18_photgrad.py +0 -0
  467. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/tests/test_tw_photgrad.py +0 -0
  468. {diffsky-0.3.2/scripts → diffsky-0.3.3/diffsky/tests/testing_data}/__init__.py +0 -0
  469. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/tw_photgrad.py +0 -0
  470. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/utils/__init__.py +0 -0
  471. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/utils/crossmatch_utils.py +0 -0
  472. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/utils/sfh_utils.py +0 -0
  473. {diffsky-0.3.2/scripts → diffsky-0.3.3/diffsky/utils}/tests/__init__.py +0 -0
  474. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/utils/tests/test_crossmatch_utils.py +0 -0
  475. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/utils/tests/test_sfh_utils.py +0 -0
  476. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/utils/tests/test_tw_utils.py +0 -0
  477. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/utils/tests/test_utility_funcs.py +0 -0
  478. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/utils/tw_utils.py +0 -0
  479. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky/utils/utility_funcs.py +0 -0
  480. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky.egg-info/dependency_links.txt +0 -0
  481. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky.egg-info/requires.txt +0 -0
  482. {diffsky-0.3.2 → diffsky-0.3.3}/diffsky.egg-info/top_level.txt +0 -0
  483. {diffsky-0.3.2 → diffsky-0.3.3}/docs/Makefile +0 -0
  484. {diffsky-0.3.2 → diffsky-0.3.3}/docs/make.bat +0 -0
  485. {diffsky-0.3.2 → diffsky-0.3.3}/docs/source/citation.rst +0 -0
  486. {diffsky-0.3.2 → diffsky-0.3.3}/docs/source/conf.py +0 -0
  487. {diffsky-0.3.2 → diffsky-0.3.3}/docs/source/demo_diffmahpop_lightcone.ipynb +0 -0
  488. {diffsky-0.3.2 → diffsky-0.3.3}/docs/source/demo_diffmahpop_t_peak.ipynb +0 -0
  489. {diffsky-0.3.2 → diffsky-0.3.3}/docs/source/demo_diffsky_recompute_from_mock.ipynb +0 -0
  490. {diffsky-0.3.2 → diffsky-0.3.3}/docs/source/demos.rst +0 -0
  491. {diffsky-0.3.2 → diffsky-0.3.3}/docs/source/index.rst +0 -0
  492. {diffsky-0.3.2 → diffsky-0.3.3}/docs/source/installation.rst +0 -0
  493. {diffsky-0.3.2 → diffsky-0.3.3}/docs/source/rtd_environment.yaml +0 -0
  494. {diffsky-0.3.2 → diffsky-0.3.3}/pyproject.toml +0 -0
  495. {diffsky-0.3.2 → diffsky-0.3.3}/requirements.txt +0 -0
  496. {diffsky-0.3.2 → diffsky-0.3.3}/scripts/LJ_CROSSX/bebop_jobs.sh +0 -0
  497. {diffsky-0.3.2 → diffsky-0.3.3}/scripts/LJ_CROSSX/inspect_lc_crossx_data.py +0 -0
  498. {diffsky-0.3.2 → diffsky-0.3.3}/scripts/LJ_CROSSX/run_lc_cf_crossmatch_base.sh +0 -0
  499. {diffsky-0.3.2 → diffsky-0.3.3}/scripts/LJ_CROSSX/run_tabulate_coreforest_overlap.sh +0 -0
  500. {diffsky-0.3.2 → diffsky-0.3.3}/scripts/LJ_CROSSX/tabulate_coreforest_overlap.py +0 -0
  501. {diffsky-0.3.2 → diffsky-0.3.3}/scripts/LJ_LC_MOCKS/generate_sed_mock_jobs.py +0 -0
  502. {diffsky-0.3.2 → diffsky-0.3.3}/scripts/LJ_LC_MOCKS/generate_sfh_mock_jobs.py +0 -0
  503. {diffsky-0.3.2 → diffsky-0.3.3}/scripts/LJ_LC_MOCKS/inspect_lc_mock.py +0 -0
  504. {diffsky-0.3.2 → diffsky-0.3.3}/scripts/LJ_LC_MOCKS/inspect_sed_mock_job_logs.py +0 -0
  505. {diffsky-0.3.2 → diffsky-0.3.3}/scripts/LJ_LC_MOCKS/run_sed_mocks.sh +0 -0
  506. {diffsky-0.3.2 → diffsky-0.3.3}/scripts/LJ_SNAP_MOCKS/make_sfh_lj_snapshot_mock.py +0 -0
  507. {diffsky-0.3.2 → diffsky-0.3.3}/scripts/tests/test_inspect_lightcone_mock.py +0 -0
  508. {diffsky-0.3.2 → diffsky-0.3.3}/scripts/tests/test_tabulate_coreforest_overlap.py +0 -0
  509. {diffsky-0.3.2 → diffsky-0.3.3}/setup.cfg +0 -0
  510. {diffsky-0.3.2 → diffsky-0.3.3}/setup.py +0 -0
@@ -23,7 +23,7 @@ jobs:
23
23
  remove_dotnet: true
24
24
  remove_haskell: true
25
25
  rm_cmd: "rmz"
26
-
26
+
27
27
  - uses: actions/checkout@v6
28
28
  with:
29
29
  fetch-depth: 0
@@ -86,14 +86,14 @@ jobs:
86
86
  export DSPS_DRN="${GITHUB_WORKSPACE}/dsps_drn"
87
87
  echo "DSPS_DRN=${DSPS_DRN}" >> $GITHUB_ENV
88
88
 
89
- - name: run mock generation script
89
+ - name: create mock with sfh_model option
90
90
  shell: bash -l {0}
91
91
  run: |
92
92
  # Create output directory
93
93
  mkdir -p ci_test_output
94
94
 
95
95
  # Run mock production script
96
- mpiexec -n 1 python scripts/LJ_LC_MOCKS/make_ou26_mock.py \
96
+ mpiexec -n 1 python scripts/LJ_LC_MOCKS/make_ou26_mock_batch.py \
97
97
  poboy \
98
98
  0.01 \
99
99
  0.2 \
@@ -101,7 +101,6 @@ jobs:
101
101
  1 \
102
102
  ci_test_output \
103
103
  ci_test_mock \
104
- -fn_u_params sfh_model \
105
104
  -sfh_model smdpl_dr1 \
106
105
  -synthetic_cores 1 \
107
106
  -lgmp_min 12.0 \
@@ -111,10 +110,51 @@ jobs:
111
110
  - name: verify script completed
112
111
  shell: bash -l {0}
113
112
  run: |
114
- echo "Mock generation script completed successfully"
113
+ echo "sfh_model mock generated successfully"
115
114
 
116
115
  - name: validate mock
117
116
  shell: bash -l {0}
118
117
  run: |
119
118
  python scripts/LJ_LC_MOCKS/inspect_lc_mock.py ci_test_output/synthetic_cores/smdpl_dr1
120
119
 
120
+ - name: remove sfh_model mock
121
+ shell: bash -l {0}
122
+ run: |
123
+ rm -rf ci_test_output
124
+
125
+ - name: create mock with cosmos_fit option
126
+ shell: bash -l {0}
127
+ run: |
128
+ # Create output directory
129
+ mkdir -p ci_test_output
130
+
131
+ # Run mock production script
132
+ mpiexec -n 1 python scripts/LJ_LC_MOCKS/make_ou26_mock_batch.py \
133
+ poboy \
134
+ 0.01 \
135
+ 0.2 \
136
+ 0 \
137
+ 1 \
138
+ ci_test_output \
139
+ ci_test_mock \
140
+ -cosmos_fit cosmos260105 \
141
+ -synthetic_cores 1 \
142
+ -lgmp_min 12.0 \
143
+ -lgmp_max 13.0 \
144
+ --lsst_only
145
+
146
+ - name: verify script completed
147
+ shell: bash -l {0}
148
+ run: |
149
+ echo "sfh_model mock generated successfully"
150
+
151
+ - name: validate mock
152
+ shell: bash -l {0}
153
+ run: |
154
+ python scripts/LJ_LC_MOCKS/inspect_lc_mock.py ci_test_output/synthetic_cores/cosmos260105
155
+
156
+ - name: remove cosmos_fit mock
157
+ shell: bash -l {0}
158
+ run: |
159
+ rm -rf ci_test_output
160
+
@@ -0,0 +1,85 @@
1
+ name: Test script for optimizing galaxy shapes
2
+
3
+ on:
4
+ workflow_dispatch: null
5
+ schedule:
6
+ # Runs "every Monday & Thursday at 3:05am Central"
7
+ - cron: '5 8 * * 1,4'
8
+ push:
9
+ branches:
10
+ - main
11
+ pull_request: null
12
+
13
+ jobs:
14
+ mock-generation:
15
+ name: python fit_bulge_shapes_to_rp13.py
16
+ runs-on: "ubuntu-latest"
17
+
18
+ steps:
19
+ - name: free disk space
20
+ uses: endersonmenezes/free-disk-space@v3
21
+ with:
22
+ remove_android: true
23
+ remove_dotnet: true
24
+ remove_haskell: true
25
+ rm_cmd: "rmz"
26
+
27
+ - uses: actions/checkout@v6
28
+ with:
29
+ fetch-depth: 0
30
+
31
+ - uses: conda-incubator/setup-miniconda@v3
32
+ with:
33
+ python-version: 3.11
34
+ channels: conda-forge
35
+ channel-priority: strict
36
+ show-channel-urls: true
37
+ miniforge-version: latest
38
+
39
+ - name: configure conda and install code
40
+ shell: bash -l {0}
41
+ env:
42
+ GITHUB_TOKEN: ${{ secrets.CPAC_PRIVATE_REPO_TOKEN }}
43
+ GITHUB_USER: ${{ secrets.GH_USR_TESTING_TOKEN }}
44
+
45
+ run: |
46
+ conda config --set always_yes yes
47
+ conda install --quiet \
48
+ --file=requirements.txt
49
+ conda install --quiet \
50
+ pip \
51
+ setuptools \
52
+ "setuptools_scm>=7,<8" \
53
+ matplotlib \
54
+ astropy \
55
+ h5py \
56
+ mpi4py \
57
+ mpich
58
+ conda uninstall diffmah --force
59
+ conda uninstall diffstar --force
60
+ conda uninstall dsps --force
61
+ pip install --no-deps --no-build-isolation git+https://github.com/ArgonneCPAC/diffmah.git
62
+ pip install --no-deps --no-build-isolation git+https://github.com/ArgonneCPAC/diffstar.git
63
+ pip install --no-deps --no-build-isolation git+https://github.com/ArgonneCPAC/dsps.git
64
+ python -m pip install --no-build-isolation --no-deps -e .
65
+
66
+ - name: run disk optimization script
67
+ shell: bash -l {0}
68
+ run: |
69
+ python scripts/ellipsoid_shape_fitting/fit_disk_shapes_to_rp13.py -nsteps 20
70
+
71
+ - name: verify disk script completed
72
+ shell: bash -l {0}
73
+ run: |
74
+ echo "Disk optimization script completed successfully"
75
+
76
+ - name: run bulge optimization script
77
+ shell: bash -l {0}
78
+ run: |
79
+ python scripts/ellipsoid_shape_fitting/fit_bulge_shapes_to_rp13.py -nsteps 20
80
+
81
+ - name: verify bulge script completed
82
+ shell: bash -l {0}
83
+ run: |
84
+ echo "Bulge optimization script completed successfully"
85
+
@@ -45,6 +45,7 @@ jobs:
45
45
  setuptools \
46
46
  "setuptools_scm>=7,<8" \
47
47
  matplotlib \
48
+ scipy \
48
49
  astropy \
49
50
  python-build
50
51
  pip uninstall diffmah --yes
@@ -1,3 +1,24 @@
1
+ 0.3.3 (unreleased)
2
+ -------------------
3
+ - Fix bug in elliptical projections
4
+ - https://github.com/ArgonneCPAC/diffsky/pull/297
5
+ - Reoptimize disk/bulge shapes
6
+ - https://github.com/ArgonneCPAC/diffsky/pull/301
7
+ - Implement automated plot-generating scripts comparing cosmos to different diffsky models
8
+ - https://github.com/ArgonneCPAC/diffsky/pull/291
9
+ - Improve bookkeeping in cross-matching jobs
10
+ - https://github.com/ArgonneCPAC/diffsky/pull/293
11
+ - https://github.com/ArgonneCPAC/diffsky/pull/294
12
+ - https://github.com/ArgonneCPAC/diffsky/pull/299
13
+ - https://github.com/ArgonneCPAC/diffsky/pull/300
14
+ - Compute photometry in batches when making mocks
15
+ - https://github.com/ArgonneCPAC/diffsky/pull/295
16
+ - Adopt astropy units in mock metadata
17
+ - https://github.com/ArgonneCPAC/diffsky/pull/303
18
+ - Add peculiar velocities to output mock
19
+ - https://github.com/ArgonneCPAC/diffsky/pull/304
20
+
21
+
1
22
  0.3.2 (2025-12-04)
2
23
  -------------------
3
24
  - Resolve bug in the treatment of scatter in the SSP errors.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: diffsky
3
- Version: 0.3.2
3
+ Version: 0.3.3
4
4
  Summary: Library for differentiable generation of synthetic skies
5
5
  Author-email: Andrew Hearin <ahearin@anl.gov>
6
6
  License: BSD 3-Clause License
@@ -0,0 +1 @@
1
+ __version__ = '0.3.3'
@@ -1,10 +1,17 @@
1
1
  """ """
2
2
 
3
3
  import numpy as np
4
- from matplotlib import pyplot as plt
5
4
 
6
5
  from ..fburstpop import DEFAULT_FBURSTPOP_PARAMS, get_lgfburst_from_fburstpop_params
7
6
 
7
+ try:
8
+ from matplotlib import pyplot as plt
9
+
10
+ HAS_MATPLOTLIB = True
11
+ except ImportError:
12
+ HAS_MATPLOTLIB = False
13
+ MATPLOTLIB_MSG = "Must have matplotlib installed to use this function"
14
+
8
15
 
9
16
  def make_fburstpop_comparison_plot(
10
17
  params,
@@ -28,6 +35,8 @@ def make_fburstpop_comparison_plot(
28
35
  filename of the output figure
29
36
 
30
37
  """
38
+ assert HAS_MATPLOTLIB, MATPLOTLIB_MSG
39
+
31
40
  nsm, nsfr = 250, 250
32
41
  logsm_grid = np.linspace(7, 12, nsm)
33
42
  logssfr_grid = np.linspace(-13, -8, nsfr)
@@ -2,11 +2,18 @@
2
2
 
3
3
  import numpy as np
4
4
  from dsps.sfh import diffburst
5
- from matplotlib import lines as mlines
6
- from matplotlib import pyplot as plt
7
5
 
8
6
  from .. import tburstpop as tbp
9
7
 
8
+ try:
9
+ from matplotlib import lines as mlines
10
+ from matplotlib import pyplot as plt
11
+
12
+ HAS_MATPLOTLIB = True
13
+ except ImportError:
14
+ HAS_MATPLOTLIB = False
15
+ MATPLOTLIB_MSG = "Must have matplotlib installed to use this function"
16
+
10
17
 
11
18
  def make_tburstpop_comparison_plot(
12
19
  params,
@@ -30,6 +37,7 @@ def make_tburstpop_comparison_plot(
30
37
  filename of the output figure
31
38
 
32
39
  """
40
+ assert HAS_MATPLOTLIB, MATPLOTLIB_MSG
33
41
  lgyrarr = np.linspace(5, 9.05, 100)
34
42
 
35
43
  logsmarr = np.array((9.0, 9.0, 12.0, 12.0))
@@ -2,11 +2,19 @@
2
2
 
3
3
  import os
4
4
 
5
- from ..plot_fburstpop import DEFAULT_FBURSTPOP_PARAMS, make_fburstpop_comparison_plot
5
+ import pytest
6
+
7
+ from ..plot_fburstpop import (
8
+ DEFAULT_FBURSTPOP_PARAMS,
9
+ HAS_MATPLOTLIB,
10
+ MATPLOTLIB_MSG,
11
+ make_fburstpop_comparison_plot,
12
+ )
6
13
 
7
14
  _THIS_DRNAME = os.path.dirname(os.path.abspath(__file__))
8
15
 
9
16
 
17
+ @pytest.mark.skipif(not HAS_MATPLOTLIB, reason=MATPLOTLIB_MSG)
10
18
  def test_make_freqburst_comparison_plot():
11
19
  fn = os.path.join(_THIS_DRNAME, "dummy.png")
12
20
  make_fburstpop_comparison_plot(DEFAULT_FBURSTPOP_PARAMS, fname=fn)
@@ -2,12 +2,19 @@
2
2
 
3
3
  import os
4
4
 
5
+ import pytest
6
+
5
7
  from ... import tburstpop as tbp
6
- from ..plot_tburstpop import make_tburstpop_comparison_plot
8
+ from ..plot_tburstpop import (
9
+ HAS_MATPLOTLIB,
10
+ MATPLOTLIB_MSG,
11
+ make_tburstpop_comparison_plot,
12
+ )
7
13
 
8
14
  _THIS_DRNAME = os.path.dirname(os.path.abspath(__file__))
9
15
 
10
16
 
17
+ @pytest.mark.skipif(not HAS_MATPLOTLIB, reason=MATPLOTLIB_MSG)
11
18
  def test_make_freqburst_comparison_plot():
12
19
  fn = os.path.join(_THIS_DRNAME, "dummy.png")
13
20
  make_tburstpop_comparison_plot(tbp.DEFAULT_TBURSTPOP_PARAMS, fname=fn)
@@ -13,6 +13,15 @@ except ImportError:
13
13
  HAS_ASTROPY = False
14
14
 
15
15
 
16
+ Z_MIN, Z_MAX = 0.4, 2.5
17
+
18
+ HSC_MAG_NAMES = ["HSC_g_MAG", "HSC_r_MAG", "HSC_i_MAG", "HSC_z_MAG", "HSC_y_MAG"]
19
+ UVISTA_MAG_NAMES = ["UVISTA_Y_MAG", "UVISTA_J_MAG", "UVISTA_H_MAG", "UVISTA_Ks_MAG"]
20
+ COSMOS_TARGET_MAGS = [*HSC_MAG_NAMES, *UVISTA_MAG_NAMES]
21
+ MAGI_THRESH = 25.5
22
+
23
+ NANFILL = -999.0
24
+
16
25
  COSMOS20_BASENAME = "COSMOS2020_Farmer_processed_hlin.fits"
17
26
 
18
27
  SKY_AREA = 1.21 # square degrees
@@ -103,4 +112,85 @@ def load_cosmos20(
103
112
  else:
104
113
  return cat
105
114
 
106
- return cat
115
+
116
+ def apply_nan_cuts(cosmos, mag_names=COSMOS_TARGET_MAGS):
117
+ """Remove any galaxy with a NaN in any column storing a target magnitude
118
+
119
+ Parameters
120
+ ----------
121
+ cosmos : astropy Table
122
+
123
+ mag_names : list of strings
124
+
125
+ Returns
126
+ -------
127
+ cosmos : astropy Table
128
+ Catalog after applying a NaN cut on `photoz` and any colname in mag_names
129
+
130
+ """
131
+ msk_has_nan = np.isnan(cosmos["photoz"])
132
+ for name in mag_names:
133
+ x = np.nan_to_num(
134
+ cosmos[name], copy=True, nan=NANFILL, posinf=NANFILL, neginf=NANFILL
135
+ )
136
+ msk_has_nan = msk_has_nan | (x == NANFILL)
137
+
138
+ cosmos = cosmos[~msk_has_nan]
139
+ return cosmos
140
+
141
+
142
+ def get_is_complete_mask(cosmos, z_min=Z_MIN, z_max=Z_MAX, magi_thresh=MAGI_THRESH):
143
+ """Compute mask to define the redshift and i-mag threshold for our target data
144
+
145
+ Parameters
146
+ ----------
147
+ cosmos : astropy Table
148
+
149
+ z_min, z_max : float
150
+ Galaxies outside this range will be excluded
151
+
152
+ magi_thresh : float
153
+ Galaxies fainter than this apparent magnitude will be excluded
154
+
155
+ Returns
156
+ -------
157
+ msk_is_complete : array, dtype bool
158
+ Boolean mask defining galaxies that pass the completeness cut
159
+
160
+ """
161
+ msk_redshift = (cosmos["photoz"] > z_min) & (cosmos["photoz"] < z_max)
162
+ msk_i_thresh = cosmos["HSC_i_MAG"] < magi_thresh
163
+ msk_is_complete = msk_redshift & msk_i_thresh
164
+ return msk_is_complete
165
+
166
+
167
+ def get_color_outlier_mask(cosmos, mag_names, p_cut=0.5):
168
+ """Compute mask to define extreme outliers in color space
169
+
170
+ Parameters
171
+ ----------
172
+ cosmos : astropy Table
173
+
174
+ mag_names : list of strings
175
+ Column names defining the colors for which outliers will be excluded
176
+
177
+ p_cut : float, optional
178
+ Value in the range [0, 100] defining a percentile cut
179
+
180
+ Returns
181
+ -------
182
+ msk_is_not_outlier : array, dtype bool
183
+ Boolean mask defining galaxies that pass the outlier cut
184
+
185
+ """
186
+ msk_is_outlier = np.zeros(len(cosmos)).astype(bool)
187
+ for name0, name1 in zip(mag_names[0:], mag_names[1:]):
188
+ c0 = cosmos[name0]
189
+ c1 = cosmos[name1]
190
+ color = c0 - c1
191
+ lo, hi = np.percentile(color, (p_cut, 100.0 - p_cut))
192
+ msk_is_outlier = msk_is_outlier | (color < lo) | (color > hi)
193
+
194
+ msk_is_not_outlier = ~msk_is_outlier
195
+
196
+ return msk_is_not_outlier
@@ -9,10 +9,10 @@ from diffstar import DEFAULT_DIFFSTAR_PARAMS
9
9
  from dsps.cosmology.flat_wcdm import age_at_z
10
10
 
11
11
  from .... import phot_utils
12
- from ....experimental import dbk_from_mock2
12
+ from ....experimental import dbk_phot_from_mock
13
13
  from ....experimental import precompute_ssp_phot as psspp
14
14
  from ....param_utils import diffsky_param_wrapper as dpw
15
- from .. import lc_mock_repro as lcmp
15
+ from .. import lc_mock as lcmp
16
16
  from .. import load_flat_hdf5, load_lc_cf
17
17
 
18
18
  REQUIRED_METADATA_ATTRS = ("creation_date", "README", "mock_version_name")
@@ -93,17 +93,38 @@ def check_all_columns_are_finite(fn_lc_mock, data=None):
93
93
 
94
94
  def check_all_data_columns_have_metadata(fn_lc_mock):
95
95
 
96
+ try:
97
+ from astropy import units as u
98
+ from astropy.cosmology import units as cu
99
+
100
+ u.add_enabled_units(cu)
101
+
102
+ except ImportError:
103
+ raise ImportError("Must have astropy installed to attach units to metadata")
104
+
96
105
  msg = []
97
106
  with h5py.File(fn_lc_mock, "r") as hdf:
98
107
 
99
108
  for key in hdf["data"].keys():
100
109
  try:
101
- unit = hdf["data/" + key].attrs["unit"]
102
- assert len(unit) > 0
110
+ unit_string = hdf["data/" + key].attrs["unit"]
111
+ u.Unit(unit_string)
112
+
113
+ except (KeyError,):
114
+ s = f"{key} is missing metadata unit"
115
+ msg.append(s)
116
+ except (AssertionError, ValueError):
117
+ s = f"Units not recognized in metadata for `{key}` column"
118
+ msg.append(s)
119
+
120
+ try:
103
121
  description = hdf["data/" + key].attrs["description"]
104
122
  assert len(description) > 0
105
- except (KeyError, AssertionError):
106
- s = f"{key} is missing metadata"
123
+ except (KeyError,):
124
+ s = f"{key} is missing metadata description"
125
+ msg.append(s)
126
+ except (AssertionError, ValueError):
127
+ s = f"No metadata description of `{key}` column"
107
128
  msg.append(s)
108
129
  return msg
109
130
 
@@ -322,7 +343,7 @@ def check_recomputed_photometry(fn_lc_mock, n_test=200, return_results=False):
322
343
  sim_info.cosmo_params,
323
344
  sim_info.fb,
324
345
  )
325
- _res = dbk_from_mock2._reproduce_mock_dbk_kern(*args)
346
+ _res = dbk_phot_from_mock._reproduce_mock_dbk_kern(*args)
326
347
  (
327
348
  phot_info,
328
349
  phot_randoms,
@@ -37,6 +37,7 @@ from ...experimental.kernels import mc_phot_kernels as mcpk
37
37
  from ...experimental.size_modeling import disk_bulge_sizes as dbs
38
38
  from ...fake_sats import halo_boundary_functions as hbf
39
39
  from ...fake_sats import nfw_config_space as nfwcs
40
+ from ...fake_sats import vector_utilities as vecu
40
41
  from .. import load_flat_hdf5
41
42
  from . import lightcone_utils as hlu
42
43
  from . import load_lc_cf
@@ -52,18 +53,20 @@ shapes_3 = [f"infall_fof_halo_eigS3{x}" for x in ("X", "Y", "Z")]
52
53
  SHAPE_KEYS = (*shapes_1, *shapes_2, *shapes_3)
53
54
  TOP_HOST_SHAPE_KEYS = ["top_host_" + key for key in SHAPE_KEYS]
54
55
 
56
+ LC_DATA_NFW_KEYS_OUT = (
57
+ "x_nfw",
58
+ "y_nfw",
59
+ "z_nfw",
60
+ "ra_nfw",
61
+ "dec_nfw",
62
+ )
55
63
  LC_DATA_KEYS_OUT = (
56
64
  "core_tag",
57
65
  "x",
58
66
  "y",
59
67
  "z",
60
- "x_nfw",
61
- "y_nfw",
62
- "z_nfw",
63
68
  "top_host_idx",
64
69
  "central",
65
- "ra_nfw",
66
- "dec_nfw",
67
70
  "redshift_true",
68
71
  "stepnum",
69
72
  "lc_patch",
@@ -85,14 +88,18 @@ _ORIEN_PATS = (
85
88
  ORIENTATION_KEYS = [pat.format("disk") for pat in _ORIEN_PATS]
86
89
  ORIENTATION_KEYS.extend([pat.format("bulge") for pat in _ORIEN_PATS])
87
90
 
88
- DIFFSKY_DATA_KEYS_OUT = (
91
+ DIFFSKY_DATA_NFW_HOST_KEYS_OUT = (
89
92
  "x_host",
90
93
  "y_host",
91
94
  "z_host",
95
+ "logmp_obs_host",
96
+ )
97
+ DIFFSKY_DATA_KEYS_OUT = (
92
98
  "vx",
93
99
  "vy",
94
100
  "vz",
95
- "logmp_obs_host",
101
+ "vpec",
102
+ "msk_v0",
96
103
  "has_diffmah_fit",
97
104
  "logmp0",
98
105
  "logmp_obs",
@@ -264,6 +271,52 @@ def write_lc_sfh_mock_to_disk(fnout, lc_data, diffsky_data):
264
271
  hdf_out[key_out] = diffsky_data[key]
265
272
 
266
273
 
274
+ def get_imputed_velocity(vx, vy, vz, ran_key, std_v=500.0):
275
+ """Overwrite zero-valued velocities with random normal data"""
276
+ msk_imputed = (vx == 0) & (vy == 0) & (vz == 0)
277
+ vran = jran.normal(ran_key, (vx.size, 3)) * std_v
278
+ v = np.array((vx, vy, vz)).T
279
+ imputed_v = np.where(msk_imputed.reshape((-1, 1)), vran, v)
280
+ vx_imputed = imputed_v[:, 0]
281
+ vy_imputed = imputed_v[:, 1]
282
+ vz_imputed = imputed_v[:, 2]
283
+ return vx_imputed, vy_imputed, vz_imputed, msk_imputed
284
+
285
+
286
+ def write_batched_lc_sfh_mock_to_disk(fnout, lc_data, diffsky_data):
287
+ """"""
288
+ write_batched_mock_data(fnout, lc_data, LC_DATA_KEYS_OUT, dataset="data")
289
+ write_batched_mock_data(fnout, diffsky_data, DIFFSKY_DATA_KEYS_OUT, dataset="data")
290
+
291
+ ra, dec = hlu._get_lon_lat_from_theta_phi(lc_data["theta"], lc_data["phi"])
292
+ ra_dec_dict = dict(ra=ra, dec=dec)
293
+ write_batched_mock_data(
294
+ fnout, ra_dec_dict, list(ra_dec_dict.keys()), dataset="data"
295
+ )
296
+
297
+
298
+ def write_batched_lc_sed_mock_to_disk(
299
+ fnout, phot_info, lc_data, diffsky_data, filter_nicknames
300
+ ):
301
+ write_batched_lc_sfh_mock_to_disk(fnout, lc_data, diffsky_data)
302
+
303
+ phot_dict = dict()
304
+ for iband, name in enumerate(filter_nicknames):
305
+ phot_dict[name] = phot_info["obs_mags"][:, iband]
306
+ write_batched_mock_data(fnout, phot_dict, list(phot_dict.keys()), dataset="data")
307
+
308
+ phot_info_colnames = [
309
+ *DEFAULT_BURST_PARAMS._fields,
310
+ *DEFAULT_DUST_PARAMS._fields,
311
+ "mc_sfh_type",
312
+ *PHOT_INFO_KEYS_OUT,
313
+ ]
314
+ write_batched_mock_data(fnout, phot_info, phot_info_colnames, dataset="data")
315
+
316
+ diffsky_data_colnames = [*MORPH_KEYS_OUT, *BLACK_HOLE_KEYS_OUT]
317
+ write_batched_mock_data(fnout, diffsky_data, diffsky_data_colnames, dataset="data")
318
+
319
+
267
320
  def write_lc_sed_mock_to_disk(
268
321
  fnout, phot_info, lc_data, diffsky_data, filter_nicknames
269
322
  ):
@@ -295,7 +348,6 @@ def write_lc_dbk_sed_mock_to_disk(
295
348
  fnout, phot_info, lc_data, diffsky_data, filter_nicknames
296
349
  ):
297
350
  write_lc_sed_mock_to_disk(fnout, phot_info, lc_data, diffsky_data, filter_nicknames)
298
-
299
351
  with h5py.File(fnout, "a") as hdf_out:
300
352
  for iband, name in enumerate(filter_nicknames):
301
353
  hdf_out["data"][name + "_bulge"] = phot_info["obs_mags_bulge"][:, iband]
@@ -304,6 +356,52 @@ def write_lc_dbk_sed_mock_to_disk(
304
356
  hdf_out["data"]["fknot"] = phot_info["fknot"]
305
357
 
306
358
 
359
+ def write_batched_lc_dbk_sed_mock_to_disk(
360
+ fnout, phot_info, lc_data, diffsky_data, filter_nicknames
361
+ ):
362
+ write_batched_lc_sed_mock_to_disk(
363
+ fnout, phot_info, lc_data, diffsky_data, filter_nicknames
364
+ )
365
+ dbk_phot_dict = dict()
366
+ for iband, name in enumerate(filter_nicknames):
367
+ dbk_phot_dict[name + "_bulge"] = phot_info["obs_mags_bulge"][:, iband]
368
+ dbk_phot_dict[name + "_disk"] = phot_info["obs_mags_disk"][:, iband]
369
+ dbk_phot_dict[name + "_knots"] = phot_info["obs_mags_knots"][:, iband]
370
+ dbk_phot_dict["fknot"] = phot_info["fknot"]
371
+ write_batched_mock_data(
372
+ fnout, dbk_phot_dict, list(dbk_phot_dict.keys()), dataset="data"
373
+ )
374
+
375
+
376
+ def add_peculiar_velocity_to_mock(
377
+ lc_data, diffsky_data, ran_key=None, impute_vzero=True
378
+ ):
379
+ # Patch v==0 galaxies
380
+ if impute_vzero:
381
+ assert ran_key is not None, "Must pass ran_key when impute_vzero=True"
382
+
383
+ vx, vy, vz, msk_imputed = get_imputed_velocity(
384
+ diffsky_data["vx"], diffsky_data["vy"], diffsky_data["vz"], ran_key
385
+ )
386
+ else:
387
+ vx = diffsky_data["vx"]
388
+ vy = diffsky_data["vy"]
389
+ vz = diffsky_data["vz"]
390
+ msk_imputed = np.zeros(len(vx)).astype(bool)
391
+
392
+ diffsky_data["vx"] = vx
393
+ diffsky_data["vy"] = vy
394
+ diffsky_data["vz"] = vz
395
+ diffsky_data["msk_v0"] = msk_imputed
396
+
397
+ X = np.array((lc_data["x"], lc_data["y"], lc_data["z"])).T
398
+ V = np.array((diffsky_data["vx"], diffsky_data["vy"], diffsky_data["vz"])).T
399
+ Xnorm = vecu.normalized_vectors(X)
400
+ diffsky_data["vpec"] = vecu.elementwise_dot(V, Xnorm)
401
+
402
+ return diffsky_data
403
+
404
+
307
405
  def add_diffmah_properties_to_mock(diffsky_data, redshift_true, sim_info, ran_key):
308
406
  diffsky_data["t_obs"] = flat_wcdm.age_at_z(redshift_true, *sim_info.cosmo_params)
309
407
 
@@ -535,3 +633,39 @@ def concatenate_batched_phot_data(phot_batches):
535
633
  raise ValueError(f"Unable to concatenate diffsky_data['{key}']")
536
634
 
537
635
  return phot_info, lc_data, diffsky_data
636
+
637
+
638
+ def write_batched_mock_data(fn_out, data_batch, colnames_out, dataset="data"):
639
+
640
+ with h5py.File(fn_out, "a") as hdf_out:
641
+ if dataset not in hdf_out:
642
+ grp = hdf_out.create_group(dataset)
643
+ else:
644
+ grp = hdf_out[dataset]
645
+
646
+ for key in colnames_out:
647
+ # Ensure data_batch[key] is an array
648
+ arr = np.asarray(data_batch[key])
649
+ if arr.ndim == 0:
650
+ arr = np.array([arr])
651
+
652
+ if key not in grp:
653
+ maxshape = (None,) + arr.shape[1:]
654
+
655
+ # Explicitly set chunk size instead of chunks=True
656
+ chunk_size = min(1000, arr.shape[0])
657
+ chunks = (chunk_size,) + arr.shape[1:]
658
+
659
+ grp.create_dataset(key, data=arr, maxshape=maxshape, chunks=chunks)
660
+ else:
661
+ current_size = grp[key].shape[0]
662
+ new_size = current_size + arr.shape[0]
663
+ try:
664
+ grp[key].resize(new_size, axis=0)
665
+ grp[key][current_size:new_size] = arr
666
+ except (TypeError, RuntimeError) as e:
667
+ raise TypeError(
668
+ f"Tried to resize column `{key}`. "
669
+ f"Original error: {e}. "
670
+ f"Dataset chunks: {grp[key].chunks}"
671
+ )