diffsky 0.2.4__tar.gz → 0.3.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (441) hide show
  1. {diffsky-0.2.4 → diffsky-0.3.0}/.github/workflows/monthly-warning-test.yaml +0 -1
  2. {diffsky-0.2.4 → diffsky-0.3.0}/.github/workflows/test_main_branch.yaml +0 -1
  3. {diffsky-0.2.4 → diffsky-0.3.0}/.github/workflows/tests_cron.yaml +0 -1
  4. {diffsky-0.2.4 → diffsky-0.3.0}/CHANGES.rst +10 -0
  5. {diffsky-0.2.4 → diffsky-0.3.0}/PKG-INFO +5 -17
  6. {diffsky-0.2.4 → diffsky-0.3.0}/README.rst +3 -14
  7. diffsky-0.3.0/diffsky/_version.py +1 -0
  8. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/data_loaders/hacc_utils/lc_mock_production.py +89 -7
  9. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/diagnostics/plot_delta_mag_burstiness.py +2 -2
  10. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/diagnostics/plot_diffstar_fq.py +2 -3
  11. diffsky-0.3.0/diffsky/ellipsoidal_shapes/bulge_opt.py +157 -0
  12. diffsky-0.3.0/diffsky/ellipsoidal_shapes/bulge_shapes.py +43 -0
  13. diffsky-0.3.0/diffsky/ellipsoidal_shapes/disk_opt.py +130 -0
  14. diffsky-0.3.0/diffsky/ellipsoidal_shapes/disk_shapes.py +34 -0
  15. diffsky-0.3.0/diffsky/ellipsoidal_shapes/ellipse_proj_kernels.py +180 -0
  16. diffsky-0.3.0/diffsky/ellipsoidal_shapes/pdf_model_utils.py +30 -0
  17. diffsky-0.3.0/diffsky/ellipsoidal_shapes/tests/test_bulge_opt.py +33 -0
  18. diffsky-0.3.0/diffsky/ellipsoidal_shapes/tests/test_bulge_shapes.py +28 -0
  19. diffsky-0.3.0/diffsky/ellipsoidal_shapes/tests/test_disk_opt.py +33 -0
  20. diffsky-0.3.0/diffsky/ellipsoidal_shapes/tests/test_disk_shapes.py +28 -0
  21. diffsky-0.3.0/diffsky/ellipsoidal_shapes/tests/test_ellipse_proj_kernels.py +121 -0
  22. diffsky-0.3.0/diffsky/ellipsoidal_shapes/tests/test_pdf_model_utils.py +18 -0
  23. diffsky-0.3.0/diffsky/ellipsoidal_shapes/tests/testing_data/ellipsoid_b_over_a_pdf_rodriguez_padilla_2013.txt +30 -0
  24. diffsky-0.3.0/diffsky/ellipsoidal_shapes/tests/testing_data/spiral_b_over_a_pdf_rodriguez_padilla_2013.txt +33 -0
  25. diffsky-0.3.0/diffsky/experimental/__init__.py +2 -0
  26. diffsky-0.3.0/diffsky/experimental/black_hole_modeling/README.txt +1 -0
  27. diffsky-0.3.0/diffsky/experimental/black_hole_modeling/black_hole_accretion_rate.py +140 -0
  28. diffsky-0.3.0/diffsky/experimental/black_hole_modeling/black_hole_mass.py +61 -0
  29. diffsky-0.3.0/diffsky/experimental/black_hole_modeling/tests/test_black_hole_accretion_rate.py +30 -0
  30. diffsky-0.3.0/diffsky/experimental/black_hole_modeling/tests/test_black_hole_mass.py +25 -0
  31. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/experimental/diagnostics/check_smhm.py +1 -1
  32. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/experimental/lc_phot_kern.py +60 -6
  33. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/experimental/mc_diffsky_phot.py +1 -1
  34. diffsky-0.3.0/diffsky/experimental/mc_diffsky_seds.py +904 -0
  35. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/experimental/mc_lightcone_halos.py +409 -40
  36. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/experimental/precompute_ssp_phot.py +30 -0
  37. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/experimental/tests/test_lc_phot_kern.py +45 -4
  38. diffsky-0.3.0/diffsky/experimental/tests/test_mc_diffsky_seds.py +222 -0
  39. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/experimental/tests/test_mc_lightcone_halos.py +43 -8
  40. diffsky-0.3.0/diffsky/experimental/tests/test_sobol_lightcone.py +65 -0
  41. diffsky-0.3.0/diffsky/experimental/tests/test_top_level_imports.py +14 -0
  42. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mc_diffsky.py +3 -3
  43. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/param_utils/diffsky_param_wrapper.py +21 -42
  44. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/param_utils/tests/test_diffsky_param_wrapper.py +12 -9
  45. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/phot_utils.py +10 -2
  46. diffsky-0.3.0/diffsky/tests/test_imports.py +5 -0
  47. diffsky-0.3.0/diffsky/utils/tests/__init__.py +0 -0
  48. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky.egg-info/PKG-INFO +5 -17
  49. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky.egg-info/SOURCES.txt +44 -10
  50. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky.egg-info/requires.txt +1 -2
  51. diffsky-0.3.0/docs/source/demo_diffmahpop_lightcone.ipynb +269 -0
  52. {diffsky-0.2.4 → diffsky-0.3.0}/docs/source/demo_diffmahpop_t_peak.ipynb +2 -2
  53. diffsky-0.3.0/docs/source/demo_diffsky_lightcone.ipynb +469 -0
  54. {diffsky-0.2.4 → diffsky-0.3.0}/docs/source/demos.rst +3 -1
  55. {diffsky-0.2.4 → diffsky-0.3.0}/docs/source/rtd_environment.yaml +1 -2
  56. diffsky-0.2.4/docs/source/demo_mc_lightcones.ipynb → diffsky-0.3.0/docs/source/validate_mc_lightcones.ipynb +12 -2
  57. diffsky-0.3.0/requirements.txt +6 -0
  58. diffsky-0.3.0/scripts/LJ_CROSSX/bebop_jobs.sh +1 -0
  59. diffsky-0.3.0/scripts/LJ_CROSSX/generate_lj_cf_crossmatch_jobs.py +124 -0
  60. diffsky-0.3.0/scripts/LJ_CROSSX/inspect_lc_cf_crossx_job_logs.py +116 -0
  61. diffsky-0.2.4/scripts/inspect_lightcone_mock.py → diffsky-0.3.0/scripts/LJ_CROSSX/inspect_lc_crossx_data.py +1 -1
  62. {diffsky-0.2.4/scripts → diffsky-0.3.0/scripts/LJ_CROSSX}/lc_cf_crossmatch_script.py +3 -3
  63. diffsky-0.3.0/scripts/LJ_CROSSX/run_lc_cf_crossmatch_base.sh +21 -0
  64. diffsky-0.3.0/scripts/LJ_CROSSX/run_tabulate_coreforest_overlap.sh +19 -0
  65. {diffsky-0.2.4/scripts → diffsky-0.3.0/scripts/LJ_CROSSX}/tabulate_coreforest_overlap.py +1 -1
  66. diffsky-0.3.0/scripts/LJ_LC_MOCKS/make_sed_lc_mock_lj.py +213 -0
  67. {diffsky-0.2.4/scripts/LJ_LC_JOBS → diffsky-0.3.0/scripts/LJ_LC_MOCKS}/make_sfh_lc_mock_lj.py +5 -3
  68. diffsky-0.3.0/scripts/__init__.py +0 -0
  69. diffsky-0.3.0/scripts/tests/__init__.py +0 -0
  70. diffsky-0.3.0/scripts/tests/test_inspect_lightcone_mock.py +5 -0
  71. diffsky-0.3.0/scripts/tests/test_make_sfh_lj_mock.py +5 -0
  72. diffsky-0.3.0/scripts/tests/test_tabulate_coreforest_overlap.py +5 -0
  73. diffsky-0.2.4/diffsky/_version.py +0 -1
  74. diffsky-0.2.4/requirements.txt +0 -7
  75. diffsky-0.2.4/scripts/make_sfh_lightcone_last_journey.py +0 -159
  76. diffsky-0.2.4/scripts/tests/test_inspect_lightcone_mock.py +0 -5
  77. diffsky-0.2.4/scripts/tests/test_lc_cf_crossmatch_script.py +0 -5
  78. diffsky-0.2.4/scripts/tests/test_make_sfh_lj_mock.py +0 -5
  79. diffsky-0.2.4/scripts/tests/test_tabulate_coreforest_overlap.py +0 -5
  80. {diffsky-0.2.4 → diffsky-0.3.0}/.coveragerc +0 -0
  81. {diffsky-0.2.4 → diffsky-0.3.0}/.git_archival.txt +0 -0
  82. {diffsky-0.2.4 → diffsky-0.3.0}/.gitattributes +0 -0
  83. {diffsky-0.2.4 → diffsky-0.3.0}/.github/dependabot.yml +0 -0
  84. {diffsky-0.2.4 → diffsky-0.3.0}/.github/workflows/linting.yaml +0 -0
  85. {diffsky-0.2.4 → diffsky-0.3.0}/.github/workflows/test_latest_releases.yaml +0 -0
  86. {diffsky-0.2.4 → diffsky-0.3.0}/.gitignore +0 -0
  87. {diffsky-0.2.4 → diffsky-0.3.0}/.readthedocs.yml +0 -0
  88. {diffsky-0.2.4 → diffsky-0.3.0}/LICENSE.rst +0 -0
  89. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/__init__.py +0 -0
  90. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/burstpop/__init__.py +0 -0
  91. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/burstpop/diagnostics/__init__.py +0 -0
  92. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/burstpop/diagnostics/plot_fburstpop.py +0 -0
  93. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/burstpop/diagnostics/plot_tburstpop.py +0 -0
  94. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/burstpop/diagnostics/tests/__init__.py +0 -0
  95. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/burstpop/diagnostics/tests/test_plot_fburstpop.py +0 -0
  96. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/burstpop/diagnostics/tests/test_plot_tburstpop.py +0 -0
  97. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/burstpop/diffburstpop.py +0 -0
  98. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/burstpop/diffqburstpop.py +0 -0
  99. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/burstpop/diffqburstpop_mono.py +0 -0
  100. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/burstpop/diffqburstpop_mono_noise.py +0 -0
  101. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/burstpop/fburstpop.py +0 -0
  102. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/burstpop/fburstpop_mono.py +0 -0
  103. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/burstpop/freqburst.py +0 -0
  104. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/burstpop/freqburst_mono.py +0 -0
  105. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/burstpop/tburstpop.py +0 -0
  106. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/burstpop/tests/__init__.py +0 -0
  107. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/burstpop/tests/test_diffburstpop.py +0 -0
  108. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/burstpop/tests/test_diffqburstpop.py +0 -0
  109. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/burstpop/tests/test_diffqburstpop_mono.py +0 -0
  110. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/burstpop/tests/test_diffqburstpop_mono_noise.py +0 -0
  111. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/burstpop/tests/test_fburstpop.py +0 -0
  112. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/burstpop/tests/test_fburstpop_mono.py +0 -0
  113. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/burstpop/tests/test_freqburst.py +0 -0
  114. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/burstpop/tests/test_freqburst_mono.py +0 -0
  115. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/burstpop/tests/test_tburstpop.py +0 -0
  116. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/cosmos_utils/__init__.py +0 -0
  117. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/cosmos_utils/cosmos_mstar_model.py +0 -0
  118. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/cosmos_utils/tests/__init__.py +0 -0
  119. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/cosmos_utils/tests/test_cosmos_mstar_model.py +0 -0
  120. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/data_loaders/__init__.py +0 -0
  121. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/data_loaders/cosmos20_loader.py +0 -0
  122. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/data_loaders/hacc_utils/__init__.py +0 -0
  123. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/data_loaders/hacc_utils/data_validation/__init__.py +0 -0
  124. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/data_loaders/hacc_utils/data_validation/tests/__init__.py +0 -0
  125. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/data_loaders/hacc_utils/data_validation/tests/test_validate_lc_cores.py +0 -0
  126. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/data_loaders/hacc_utils/data_validation/tests/test_validate_lc_mock.py +0 -0
  127. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/data_loaders/hacc_utils/data_validation/validate_lc_cores.py +0 -0
  128. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/data_loaders/hacc_utils/data_validation/validate_lc_mock.py +0 -0
  129. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/data_loaders/hacc_utils/defaults.py +0 -0
  130. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/data_loaders/hacc_utils/hacc_core_utils.py +0 -0
  131. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/data_loaders/hacc_utils/lightcone_utils.py +0 -0
  132. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/data_loaders/hacc_utils/load_hacc_cores.py +0 -0
  133. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/data_loaders/hacc_utils/load_lc_cf.py +0 -0
  134. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/data_loaders/hacc_utils/load_lc_cf_synthetic.py +0 -0
  135. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/data_loaders/hacc_utils/load_lc_mock.py +0 -0
  136. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/data_loaders/hacc_utils/metadata_sfh_mock.py +0 -0
  137. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/data_loaders/hacc_utils/tests/__init__.py +0 -0
  138. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/data_loaders/hacc_utils/tests/test_defaults.py +0 -0
  139. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/data_loaders/hacc_utils/tests/test_hacc_core_utils.py +0 -0
  140. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/data_loaders/hacc_utils/tests/test_lc_mock_production.py +0 -0
  141. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/data_loaders/hacc_utils/tests/test_lightcone_utils.py +0 -0
  142. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/data_loaders/hacc_utils/tests/test_load_hacc_cores.py +0 -0
  143. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/data_loaders/hacc_utils/tests/test_load_lc_cf.py +0 -0
  144. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/data_loaders/hacc_utils/tests/testing_data/lc_cores-decomposition.txt +0 -0
  145. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/data_loaders/hacc_utils/tests/testing_data/phi_haccytrees_tdata.txt +0 -0
  146. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/data_loaders/hacc_utils/tests/testing_data/redshift_haccytrees_tdata.txt +0 -0
  147. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/data_loaders/hacc_utils/tests/testing_data/theta_haccytrees_tdata.txt +0 -0
  148. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/data_loaders/hacc_utils/tests/testing_data/x_haccytrees_tdata.txt +0 -0
  149. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/data_loaders/hacc_utils/tests/testing_data/y_haccytrees_tdata.txt +0 -0
  150. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/data_loaders/hacc_utils/tests/testing_data/z_haccytrees_tdata.txt +0 -0
  151. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/data_loaders/io_utils.py +0 -0
  152. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/data_loaders/mpi_utils.py +0 -0
  153. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/data_loaders/tests/__init__.py +0 -0
  154. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/data_loaders/tests/test_cosmos_loader.py +0 -0
  155. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/data_loaders/tests/test_imports.py +0 -0
  156. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/data_loaders/tests/testing_data/__init__.py +0 -0
  157. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/data_loaders/tests/testing_data/cosmos20_shasum.dat +0 -0
  158. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/data_loaders/um_binary_loader.py +0 -0
  159. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/diagnostics/__init__.py +0 -0
  160. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/diagnostics/tests/__init__.py +0 -0
  161. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/diagnostics/tests/test_plot_delta_mag_burstiness.py +0 -0
  162. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/diagnostics/tests/test_plot_diffstar_fq.py +0 -0
  163. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/diagnostics/utils.py +0 -0
  164. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/diffndhist.py +0 -0
  165. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/dustpop/__init__.py +0 -0
  166. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/dustpop/avpop.py +0 -0
  167. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/dustpop/avpop_flex.py +0 -0
  168. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/dustpop/avpop_mono.py +0 -0
  169. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/dustpop/deltapop.py +0 -0
  170. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/dustpop/diagnostics/__init__.py +0 -0
  171. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/dustpop/diagnostics/plot_avpop_flex.py +0 -0
  172. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/dustpop/diagnostics/plot_funopop_simple.py +0 -0
  173. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/dustpop/diagnostics/tests/__init__.py +0 -0
  174. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/dustpop/diagnostics/tests/test_plot_avpop_flex.py +0 -0
  175. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/dustpop/diagnostics/tests/test_plot_funopop_simple.py +0 -0
  176. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/dustpop/funopop.py +0 -0
  177. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/dustpop/funopop_simple.py +0 -0
  178. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/dustpop/funopop_ssfr.py +0 -0
  179. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/dustpop/sbl18_dust.py +0 -0
  180. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/dustpop/sbl18_dust_kernels.py +0 -0
  181. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/dustpop/sbl18_dustpop.py +0 -0
  182. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/dustpop/tests/__init__.py +0 -0
  183. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/dustpop/tests/test_avpop.py +0 -0
  184. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/dustpop/tests/test_avpop_flex.py +0 -0
  185. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/dustpop/tests/test_avpop_mono.py +0 -0
  186. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/dustpop/tests/test_deltapop.py +0 -0
  187. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/dustpop/tests/test_funopop_model.py +0 -0
  188. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/dustpop/tests/test_funopop_simple.py +0 -0
  189. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/dustpop/tests/test_funopop_ssfr.py +0 -0
  190. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/dustpop/tests/test_sbl18_dustpop.py +0 -0
  191. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/dustpop/tests/test_tw_dust_kernels.py +0 -0
  192. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/dustpop/tests/test_tw_dustpop.py +0 -0
  193. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/dustpop/tests/test_tw_dustpop_mono.py +0 -0
  194. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/dustpop/tests/test_tw_dustpop_mono_noise.py +0 -0
  195. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/dustpop/tests/test_tw_dustpop_new.py +0 -0
  196. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/dustpop/tw_dust.py +0 -0
  197. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/dustpop/tw_dust_kernels.py +0 -0
  198. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/dustpop/tw_dustpop.py +0 -0
  199. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/dustpop/tw_dustpop_mono.py +0 -0
  200. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/dustpop/tw_dustpop_mono_noise.py +0 -0
  201. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/dustpop/tw_dustpop_new.py +0 -0
  202. {diffsky-0.2.4/diffsky/experimental → diffsky-0.3.0/diffsky/ellipsoidal_shapes}/__init__.py +0 -0
  203. {diffsky-0.2.4/diffsky/experimental/diagnostics → diffsky-0.3.0/diffsky/ellipsoidal_shapes/tests}/__init__.py +0 -0
  204. {diffsky-0.2.4/diffsky/experimental/diagnostics/tests → diffsky-0.3.0/diffsky/experimental/black_hole_modeling}/__init__.py +0 -0
  205. {diffsky-0.2.4/diffsky/experimental/disk_bulge_modeling → diffsky-0.3.0/diffsky/experimental/black_hole_modeling/tests}/__init__.py +0 -0
  206. {diffsky-0.2.4/diffsky/experimental/disk_bulge_modeling/tests → diffsky-0.3.0/diffsky/experimental/diagnostics}/__init__.py +0 -0
  207. {diffsky-0.2.4/diffsky/experimental/dspspop → diffsky-0.3.0/diffsky/experimental/diagnostics/tests}/__init__.py +0 -0
  208. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/experimental/diagnostics/tests/test_check_smhm.py +0 -0
  209. {diffsky-0.2.4/diffsky/experimental/dspspop/tests → diffsky-0.3.0/diffsky/experimental/disk_bulge_modeling}/__init__.py +0 -0
  210. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/experimental/disk_bulge_modeling/disk_bulge_kernels.py +0 -0
  211. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/experimental/disk_bulge_modeling/disk_knots.py +0 -0
  212. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/experimental/disk_bulge_modeling/generate_bulge_disk_sample.py +0 -0
  213. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/experimental/disk_bulge_modeling/mc_disk_bulge.py +0 -0
  214. {diffsky-0.2.4/diffsky/experimental → diffsky-0.3.0/diffsky/experimental/disk_bulge_modeling}/tests/__init__.py +0 -0
  215. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/experimental/disk_bulge_modeling/tests/test_disk_bulge.py +0 -0
  216. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/experimental/disk_bulge_modeling/tests/test_disk_knots.py +0 -0
  217. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/experimental/disk_bulge_modeling/tests/test_generate_bulge_disk_sample.py +0 -0
  218. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/experimental/disk_bulge_modeling/tests/test_mc_disk_bulge.py +0 -0
  219. {diffsky-0.2.4/diffsky/fake_sats → diffsky-0.3.0/diffsky/experimental/dspspop}/__init__.py +0 -0
  220. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/experimental/dspspop/boris_dust.py +0 -0
  221. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/experimental/dspspop/burstshapepop.py +0 -0
  222. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/experimental/dspspop/dust_deltapop.py +0 -0
  223. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/experimental/dspspop/dustpop.py +0 -0
  224. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/experimental/dspspop/lgavpop.py +0 -0
  225. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/experimental/dspspop/lgfburstpop.py +0 -0
  226. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/experimental/dspspop/nagaraj22_dust.py +0 -0
  227. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/experimental/dspspop/photpop.py +0 -0
  228. {diffsky-0.2.4/diffsky/fake_sats → diffsky-0.3.0/diffsky/experimental/dspspop}/tests/__init__.py +0 -0
  229. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/experimental/dspspop/tests/test_attavpop.py +0 -0
  230. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/experimental/dspspop/tests/test_boris_dust.py +0 -0
  231. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/experimental/dspspop/tests/test_burstshapepop.py +0 -0
  232. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/experimental/dspspop/tests/test_dustdeltapop.py +0 -0
  233. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/experimental/dspspop/tests/test_lgfburstpop.py +0 -0
  234. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/experimental/dspspop/tests/test_photpop.py +0 -0
  235. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/experimental/lc_utils.py +0 -0
  236. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/experimental/phot_utils.py +0 -0
  237. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/experimental/photometry_interpolation.py +0 -0
  238. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/experimental/scatter.py +0 -0
  239. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/experimental/ssp_err_pop.py +0 -0
  240. {diffsky-0.2.4/diffsky/mass_functions/fitting_utils → diffsky-0.3.0/diffsky/experimental/tests}/__init__.py +0 -0
  241. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/experimental/tests/test_lc_utils.py +0 -0
  242. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/experimental/tests/test_mc_diffsky_phot.py +0 -0
  243. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/experimental/tests/test_photometry_interpolation.py +0 -0
  244. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/experimental/tests/test_precompute_ssp_phot.py +0 -0
  245. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/experimental/tests/test_scatter.py +0 -0
  246. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/experimental/tests/test_ssp_err_pop.py +0 -0
  247. {diffsky-0.2.4/diffsky/mass_functions/fitting_utils/calibrations → diffsky-0.3.0/diffsky/fake_sats}/__init__.py +0 -0
  248. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/fake_sats/ellipsoidal_nfw_phase_space.py +0 -0
  249. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/fake_sats/ellipsoidal_velocities.py +0 -0
  250. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/fake_sats/halo_boundary_functions.py +0 -0
  251. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/fake_sats/nfw_config_space.py +0 -0
  252. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/fake_sats/rotations3d.py +0 -0
  253. {diffsky-0.2.4/diffsky/mass_functions/fitting_utils/calibrations → diffsky-0.3.0/diffsky/fake_sats}/tests/__init__.py +0 -0
  254. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/fake_sats/tests/test_ellipsoidal_nfw_phase_space.py +0 -0
  255. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/fake_sats/tests/test_halo_boundary_functions.py +0 -0
  256. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/fake_sats/tests/test_mc_ellipticial_velocities.py +0 -0
  257. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/fake_sats/tests/test_nfw_config_space.py +0 -0
  258. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/fake_sats/tests/test_rotations3d.py +0 -0
  259. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/fake_sats/tests/testing_data/halo_mass_ht_test.txt +0 -0
  260. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/fake_sats/tests/testing_data/halo_radius_200c_ht_test.txt +0 -0
  261. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/fake_sats/tests/testing_data/redshift_ht_test.txt +0 -0
  262. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/fake_sats/vector_utilities.py +0 -0
  263. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/__init__.py +0 -0
  264. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/ccshmf_model.py +0 -0
  265. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/fitting_utils/README.rst +0 -0
  266. {diffsky-0.2.4/diffsky/mass_functions/fitting_utils/diagnostics → diffsky-0.3.0/diffsky/mass_functions/fitting_utils}/__init__.py +0 -0
  267. {diffsky-0.2.4/diffsky/mass_functions/fitting_utils/diagnostics/tests → diffsky-0.3.0/diffsky/mass_functions/fitting_utils/calibrations}/__init__.py +0 -0
  268. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/fitting_utils/calibrations/hacc_core_shmf_params.py +0 -0
  269. {diffsky-0.2.4/diffsky/mass_functions/fitting_utils → diffsky-0.3.0/diffsky/mass_functions/fitting_utils/calibrations}/tests/__init__.py +0 -0
  270. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/fitting_utils/calibrations/tests/test_hacc_core_shmf_params.py +0 -0
  271. {diffsky-0.2.4/diffsky/mass_functions/hmf_calibrations/tests → diffsky-0.3.0/diffsky/mass_functions/fitting_utils/diagnostics}/__init__.py +0 -0
  272. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/fitting_utils/diagnostics/hmf_fit_diagnostics.py +0 -0
  273. {diffsky-0.2.4/diffsky/mass_functions/io_utils → diffsky-0.3.0/diffsky/mass_functions/fitting_utils/diagnostics/tests}/__init__.py +0 -0
  274. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/fitting_utils/diagnostics/tests/test_hmf_fit_diagnostics.py +0 -0
  275. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/fitting_utils/fit_ccshmf.py +0 -0
  276. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/fitting_utils/fit_ccshmf_kernels.py +0 -0
  277. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/fitting_utils/fit_flat_hmf_model.py +0 -0
  278. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/fitting_utils/fit_halobias_model.py +0 -0
  279. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/fitting_utils/fit_halobias_singlez_model.py +0 -0
  280. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/fitting_utils/fit_hmf_kernels.py +0 -0
  281. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/fitting_utils/fit_hmf_model.py +0 -0
  282. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/fitting_utils/fitting_helpers.py +0 -0
  283. {diffsky-0.2.4/diffsky/mass_functions/kernels → diffsky-0.3.0/diffsky/mass_functions/fitting_utils/tests}/__init__.py +0 -0
  284. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/fitting_utils/tests/test_fit_ccshmf.py +0 -0
  285. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/fitting_utils/tests/test_fit_ccshmf_kernels.py +0 -0
  286. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/fitting_utils/tests/test_fit_flat_hmf_model.py +0 -0
  287. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/fitting_utils/tests/test_fit_halobias_model.py +0 -0
  288. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/fitting_utils/tests/test_fit_halobias_model_singlez.py +0 -0
  289. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/fitting_utils/tests/test_fit_hmf_kernels.py +0 -0
  290. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/fitting_utils/tests/test_fit_hmf_model.py +0 -0
  291. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/flat_hmf_model.py +0 -0
  292. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/halobias_model.py +0 -0
  293. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/halobias_singlez_model.py +0 -0
  294. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/hmf_calibrations/__init__.py +0 -0
  295. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/hmf_calibrations/disc_lcdm_hmf_params.txt +0 -0
  296. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/hmf_calibrations/disc_lcdm_hmf_params_all.txt +0 -0
  297. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/hmf_calibrations/hmf_param_reader.py +0 -0
  298. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/hmf_calibrations/lj_hmf_params.txt +0 -0
  299. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/hmf_calibrations/lj_hmf_params_all.txt +0 -0
  300. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/hmf_calibrations/smdpl_hmf.py +0 -0
  301. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/hmf_calibrations/smdpl_hmf_fitting_helpers.py +0 -0
  302. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/hmf_calibrations/smdpl_hmf_subs.py +0 -0
  303. {diffsky-0.2.4/diffsky/mass_functions/kernels → diffsky-0.3.0/diffsky/mass_functions/hmf_calibrations}/tests/__init__.py +0 -0
  304. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/hmf_calibrations/tests/test_imports.py +0 -0
  305. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/hmf_calibrations/tests/test_lj_hmf.py +0 -0
  306. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/hmf_calibrations/tests/test_smdpl_hmf.py +0 -0
  307. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/hmf_calibrations/tests/testing_data/disc_lcdm_hmf_cuml_density_all.txt +0 -0
  308. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/hmf_calibrations/tests/testing_data/disc_lcdm_hmf_cuml_density_cens.txt +0 -0
  309. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/hmf_calibrations/tests/testing_data/disc_lcdm_hmf_logmp_bins.txt +0 -0
  310. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/hmf_calibrations/tests/testing_data/disc_lcdm_hmf_redshift_bins.txt +0 -0
  311. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/hmf_calibrations/tests/testing_data/lj_hmf_cuml_density_all.txt +0 -0
  312. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/hmf_calibrations/tests/testing_data/lj_hmf_cuml_density_cens.txt +0 -0
  313. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/hmf_calibrations/tests/testing_data/lj_hmf_logmp_bins.txt +0 -0
  314. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/hmf_calibrations/tests/testing_data/lj_hmf_redshift_bins.txt +0 -0
  315. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/hmf_calibrations/tests/testing_data/sfr_catalog_0.219000.subhalos.lgcuml_density.npy +0 -0
  316. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/hmf_calibrations/tests/testing_data/sfr_catalog_0.219000.subhalos.logmp_bins.npy +0 -0
  317. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/hmf_calibrations/tests/testing_data/sfr_catalog_0.460000.hosthalos.lgcuml_density.npy +0 -0
  318. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/hmf_calibrations/tests/testing_data/sfr_catalog_0.460000.hosthalos.logmp_bins.npy +0 -0
  319. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/hmf_calibrations/tests/testing_data/sfr_catalog_0.460000.subhalos.lgcuml_density.npy +0 -0
  320. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/hmf_calibrations/tests/testing_data/sfr_catalog_0.460000.subhalos.logmp_bins.npy +0 -0
  321. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/hmf_calibrations/tests/testing_data/sfr_catalog_1.000000.hosthalos.lgcuml_density.npy +0 -0
  322. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/hmf_calibrations/tests/testing_data/sfr_catalog_1.000000.hosthalos.logmp_bins.npy +0 -0
  323. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/hmf_calibrations/tests/testing_data/sfr_catalog_1.000000.subhalos.lgcuml_density.npy +0 -0
  324. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/hmf_calibrations/tests/testing_data/sfr_catalog_1.000000.subhalos.logmp_bins.npy +0 -0
  325. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/hmf_model.py +0 -0
  326. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/io_utils/README.txt +0 -0
  327. {diffsky-0.2.4/diffsky/mass_functions/smhm_kernels → diffsky-0.3.0/diffsky/mass_functions/io_utils}/__init__.py +0 -0
  328. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/io_utils/loader.py +0 -0
  329. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/io_utils/smdpl_helpers.py +0 -0
  330. {diffsky-0.2.4/diffsky/mass_functions/smhm_kernels/tests → diffsky-0.3.0/diffsky/mass_functions/kernels}/__init__.py +0 -0
  331. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/kernels/ccshmf_kernels.py +0 -0
  332. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/kernels/hmf_kernels.py +0 -0
  333. {diffsky-0.2.4/diffsky/mass_functions → diffsky-0.3.0/diffsky/mass_functions/kernels}/tests/__init__.py +0 -0
  334. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/kernels/tests/test_ccshmf_kernels.py +0 -0
  335. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/kernels/tests/test_hmf_kernels.py +0 -0
  336. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/mc_diffmah_tpeak.py +0 -0
  337. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/mc_hosts.py +0 -0
  338. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/mc_subs.py +0 -0
  339. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/mc_tinfall.py +0 -0
  340. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/measure_ccshmf.py +0 -0
  341. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/measure_hmf.py +0 -0
  342. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/scripts/discovery_lcdm_calibration/fit_hmf_disc_lcdm.py +0 -0
  343. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/scripts/discovery_lcdm_calibration/measure_hmf_target_data_hacc.py +0 -0
  344. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/scripts/discovery_lcdm_calibration/run_hmf_tabulation_disc_lcdm.sh +0 -0
  345. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/scripts/last_journey_calibration/fit_hmf_lj.py +0 -0
  346. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/scripts/last_journey_calibration/measure_hmf_target_data_hacc.py +0 -0
  347. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/scripts/smdpl_calibration/fit_smdpl_hmf_script.py +0 -0
  348. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/scripts/smdpl_calibration/measure_smdpl_hmf_script.py +0 -0
  349. {diffsky-0.2.4/diffsky/mass_functions/tests/testing_data → diffsky-0.3.0/diffsky/mass_functions/smhm_kernels}/__init__.py +0 -0
  350. {diffsky-0.2.4/diffsky/mass_functions/upweighting → diffsky-0.3.0/diffsky/mass_functions/smhm_kernels/tests}/__init__.py +0 -0
  351. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/smhm_kernels/tests/test_threeroll_smhm.py +0 -0
  352. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/smhm_kernels/threeroll_kernels.py +0 -0
  353. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/smhm_kernels/threeroll_smhm.py +0 -0
  354. {diffsky-0.2.4/diffsky/mass_functions/upweighting → diffsky-0.3.0/diffsky/mass_functions}/tests/__init__.py +0 -0
  355. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/tests/test_ccshmf.py +0 -0
  356. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/tests/test_flat_hmf_model.py +0 -0
  357. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/tests/test_halobias_model.py +0 -0
  358. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/tests/test_halobias_singlez_model.py +0 -0
  359. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/tests/test_hmf_model.py +0 -0
  360. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/tests/test_mc_diffmah_tpeak.py +0 -0
  361. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/tests/test_mc_hosts.py +0 -0
  362. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/tests/test_mc_subs.py +0 -0
  363. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/tests/test_mc_tinfall.py +0 -0
  364. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/tests/test_measure_hmf.py +0 -0
  365. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/tests/testing_data/README.txt +0 -0
  366. {diffsky-0.2.4/diffsky/merging → diffsky-0.3.0/diffsky/mass_functions/tests/testing_data}/__init__.py +0 -0
  367. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/tests/testing_data/smdpl_cshmf_cuml_redshift_0.00_lgmhost_12.32.txt +0 -0
  368. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/tests/testing_data/smdpl_cshmf_cuml_redshift_0.00_lgmhost_13.00.txt +0 -0
  369. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/tests/testing_data/smdpl_cshmf_cuml_redshift_0.00_lgmhost_13.55.txt +0 -0
  370. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/tests/testing_data/smdpl_cshmf_cuml_redshift_0.00_lgmhost_14.08.txt +0 -0
  371. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/tests/testing_data/smdpl_cshmf_cuml_redshift_1.00_lgmhost_12.31.txt +0 -0
  372. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/tests/testing_data/smdpl_cshmf_cuml_redshift_1.00_lgmhost_12.99.txt +0 -0
  373. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/tests/testing_data/smdpl_cshmf_cuml_redshift_1.00_lgmhost_13.51.txt +0 -0
  374. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/tests/testing_data/smdpl_cshmf_cuml_redshift_1.00_lgmhost_14.05.txt +0 -0
  375. {diffsky-0.2.4/diffsky/merging/diagnostics → diffsky-0.3.0/diffsky/mass_functions/upweighting}/__init__.py +0 -0
  376. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/upweighting/namedtuple_cat_utils.py +0 -0
  377. {diffsky-0.2.4/diffsky/merging/diagnostics → diffsky-0.3.0/diffsky/mass_functions/upweighting}/tests/__init__.py +0 -0
  378. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/upweighting/tests/test_mc_gen_upweighting.py +0 -0
  379. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/upweighting/upweighting.py +0 -0
  380. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/mass_functions/utils.py +0 -0
  381. {diffsky-0.2.4/diffsky/merging/tests → diffsky-0.3.0/diffsky/merging}/__init__.py +0 -0
  382. {diffsky-0.2.4/diffsky/param_utils → diffsky-0.3.0/diffsky/merging/diagnostics}/__init__.py +0 -0
  383. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/merging/diagnostics/plot_pmerge_vs_time.py +0 -0
  384. {diffsky-0.2.4/diffsky/param_utils → diffsky-0.3.0/diffsky/merging/diagnostics}/tests/__init__.py +0 -0
  385. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/merging/diagnostics/tests/test_plot_pmerge_vs_time.py +0 -0
  386. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/merging/fitmerge_multi_redshift.py +0 -0
  387. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/merging/merging_model.py +0 -0
  388. {diffsky-0.2.4/diffsky/ssp_err_model → diffsky-0.3.0/diffsky/merging/tests}/__init__.py +0 -0
  389. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/merging/tests/test_fitmerge_multi_redshift.py +0 -0
  390. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/merging/tests/test_merging_model.py +0 -0
  391. {diffsky-0.2.4/diffsky/ssp_err_model/tests → diffsky-0.3.0/diffsky/param_utils}/__init__.py +0 -0
  392. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/param_utils/spspop_param_utils.py +0 -0
  393. {diffsky-0.2.4/diffsky/sumstats → diffsky-0.3.0/diffsky/param_utils/tests}/__init__.py +0 -0
  394. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/param_utils/tests/test_spspop_param_utils.py +0 -0
  395. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/sbl18_photgrad.py +0 -0
  396. {diffsky-0.2.4/diffsky/sumstats/tests → diffsky-0.3.0/diffsky/ssp_err_model}/__init__.py +0 -0
  397. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/ssp_err_model/ssp_err_model.py +0 -0
  398. {diffsky-0.2.4/diffsky/systematics → diffsky-0.3.0/diffsky/ssp_err_model/tests}/__init__.py +0 -0
  399. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/ssp_err_model/tests/test_ssp_err_model.py +0 -0
  400. {diffsky-0.2.4/diffsky/systematics/tests → diffsky-0.3.0/diffsky/sumstats}/__init__.py +0 -0
  401. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/sumstats/diffndhist.py +0 -0
  402. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/sumstats/smhm.py +0 -0
  403. {diffsky-0.2.4/diffsky → diffsky-0.3.0/diffsky/sumstats}/tests/__init__.py +0 -0
  404. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/sumstats/tests/test_smhm.py +0 -0
  405. {diffsky-0.2.4/diffsky/tests/testing_data → diffsky-0.3.0/diffsky/systematics}/__init__.py +0 -0
  406. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/systematics/ssp_errors.py +0 -0
  407. {diffsky-0.2.4/diffsky/utils → diffsky-0.3.0/diffsky/systematics}/tests/__init__.py +0 -0
  408. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/systematics/tests/test_ssp_errors.py +0 -0
  409. {diffsky-0.2.4/scripts → diffsky-0.3.0/diffsky/tests}/__init__.py +0 -0
  410. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/tests/test_dependencies.py +0 -0
  411. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/tests/test_diffndhist.py +0 -0
  412. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/tests/test_diffsky_setup.py +0 -0
  413. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/tests/test_mc_diffsky.py +0 -0
  414. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/tests/test_phot_utils.py +0 -0
  415. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/tests/test_sbl18_photgrad.py +0 -0
  416. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/tests/test_tw_photgrad.py +0 -0
  417. {diffsky-0.2.4/scripts/tests → diffsky-0.3.0/diffsky/tests/testing_data}/__init__.py +0 -0
  418. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/tw_photgrad.py +0 -0
  419. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/utils/__init__.py +0 -0
  420. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/utils/crossmatch_utils.py +0 -0
  421. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/utils/sfh_utils.py +0 -0
  422. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/utils/tests/test_crossmatch_utils.py +0 -0
  423. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/utils/tests/test_sfh_utils.py +0 -0
  424. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/utils/tests/test_tw_utils.py +0 -0
  425. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/utils/tests/test_utility_funcs.py +0 -0
  426. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/utils/tw_utils.py +0 -0
  427. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky/utils/utility_funcs.py +0 -0
  428. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky.egg-info/dependency_links.txt +0 -0
  429. {diffsky-0.2.4 → diffsky-0.3.0}/diffsky.egg-info/top_level.txt +0 -0
  430. {diffsky-0.2.4 → diffsky-0.3.0}/docs/Makefile +0 -0
  431. {diffsky-0.2.4 → diffsky-0.3.0}/docs/make.bat +0 -0
  432. {diffsky-0.2.4 → diffsky-0.3.0}/docs/source/citation.rst +0 -0
  433. {diffsky-0.2.4 → diffsky-0.3.0}/docs/source/conf.py +0 -0
  434. {diffsky-0.2.4 → diffsky-0.3.0}/docs/source/index.rst +0 -0
  435. {diffsky-0.2.4 → diffsky-0.3.0}/docs/source/installation.rst +0 -0
  436. {diffsky-0.2.4 → diffsky-0.3.0}/pyproject.toml +0 -0
  437. {diffsky-0.2.4/scripts/LJ_LC_JOBS → diffsky-0.3.0/scripts/LJ_LC_MOCKS}/generate_sfh_mock_jobs.py +0 -0
  438. {diffsky-0.2.4/scripts → diffsky-0.3.0/scripts/LJ_LC_MOCKS}/inspect_lc_mock.py +0 -0
  439. /diffsky-0.2.4/scripts/make_sfh_lj_mock.py → /diffsky-0.3.0/scripts/LJ_SNAP_MOCKS/make_sfh_lj_snapshot_mock.py +0 -0
  440. {diffsky-0.2.4 → diffsky-0.3.0}/setup.cfg +0 -0
  441. {diffsky-0.2.4 → diffsky-0.3.0}/setup.py +0 -0
@@ -54,7 +54,6 @@ jobs:
54
54
  pip install --no-deps git+https://github.com/ArgonneCPAC/diffmah.git
55
55
  pip install --no-deps git+https://github.com/ArgonneCPAC/diffstar.git
56
56
  pip install --no-deps git+https://github.com/ArgonneCPAC/dsps.git
57
- pip install --no-deps git+https://${GITHUB_USER}:${GITHUB_TOKEN}@github.com/ArgonneCPAC/diffstarpop.git@main
58
57
  python -m pip install --no-build-isolation --no-deps -e .
59
58
 
60
59
  - name: test that no warnings are raised
@@ -53,7 +53,6 @@ jobs:
53
53
  pip install --no-deps git+https://github.com/ArgonneCPAC/diffmah.git
54
54
  pip install --no-deps git+https://github.com/ArgonneCPAC/diffstar.git
55
55
  pip install --no-deps git+https://github.com/ArgonneCPAC/dsps.git
56
- pip install --no-deps git+https://${GITHUB_USER}:${GITHUB_TOKEN}@github.com/ArgonneCPAC/diffstarpop.git@main
57
56
  python -m pip install --no-build-isolation --no-deps -e .
58
57
 
59
58
  - name: test
@@ -57,7 +57,6 @@ jobs:
57
57
  pip install --no-deps git+https://github.com/ArgonneCPAC/diffmah.git
58
58
  pip install --no-deps git+https://github.com/ArgonneCPAC/diffstar.git
59
59
  pip install --no-deps git+https://github.com/ArgonneCPAC/dsps.git
60
- pip install --no-deps git+https://${GITHUB_USER}:${GITHUB_TOKEN}@github.com/ArgonneCPAC/diffstarpop.git@main
61
60
  python -m pip install --no-build-isolation --no-deps -e .
62
61
 
63
62
  - name: test
@@ -1,3 +1,13 @@
1
+ 0.3.0 (2025-10-03)
2
+ -------------------
3
+ - Update diffsky to be compatible with diffstar v1.0
4
+
5
+
6
+ 0.2.5 (2025-10-01)
7
+ -------------------
8
+ - Minor changes before updating to diffstar v1.0
9
+
10
+
1
11
  0.2.4 (2025-09-02)
2
12
  -------------------
3
13
  - Release associated with diffskyopt+kdescent calibration by Alan Pearl
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: diffsky
3
- Version: 0.2.4
3
+ Version: 0.3.0
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
@@ -41,8 +41,7 @@ License-File: LICENSE.rst
41
41
  Requires-Dist: numpy
42
42
  Requires-Dist: jax
43
43
  Requires-Dist: diffmah>=0.7.2
44
- Requires-Dist: diffstar>=0.3.4
45
- Requires-Dist: diffstarpop>=0.0.2
44
+ Requires-Dist: diffstar>=1.0.0
46
45
  Requires-Dist: dsps>=0.4.5
47
46
  Requires-Dist: h5py
48
47
  Dynamic: license-file
@@ -50,8 +49,8 @@ Dynamic: license-file
50
49
  diffsky
51
50
  ============
52
51
 
53
- Diffsky is a python library based on JAX for producing mock catalogs based on
54
- `diffstar <https://diffstar.readthedocs.io/en/latest/>`_
52
+ Diffsky is a python library based on JAX for producing mock catalogs based on
53
+ `diffstar <https://diffstar.readthedocs.io/en/latest/>`_
55
54
  and `dsps <https://dsps.readthedocs.io/en/latest/>`_.
56
55
 
57
56
  Installation
@@ -77,18 +76,7 @@ For a typical development environment in conda-forge::
77
76
  Documentation
78
77
  -------------
79
78
 
80
- Online documentation for diffsky is available at
79
+ Online documentation for diffsky is available at
81
80
  `diffsky.readthedocs.io <https://diffsky.readthedocs.io/en/latest/>`_.
82
81
 
83
- Testing
84
- -------
85
- To run the suite of unit tests::
86
-
87
- $ cd /path/to/root/diffsky
88
- $ pytest
89
-
90
- To build html of test coverage::
91
-
92
- $ pytest -v --cov --cov-report html
93
- $ open htmlcov/index.html
94
82
 
@@ -1,8 +1,8 @@
1
1
  diffsky
2
2
  ============
3
3
 
4
- Diffsky is a python library based on JAX for producing mock catalogs based on
5
- `diffstar <https://diffstar.readthedocs.io/en/latest/>`_
4
+ Diffsky is a python library based on JAX for producing mock catalogs based on
5
+ `diffstar <https://diffstar.readthedocs.io/en/latest/>`_
6
6
  and `dsps <https://dsps.readthedocs.io/en/latest/>`_.
7
7
 
8
8
  Installation
@@ -28,18 +28,7 @@ For a typical development environment in conda-forge::
28
28
  Documentation
29
29
  -------------
30
30
 
31
- Online documentation for diffsky is available at
31
+ Online documentation for diffsky is available at
32
32
  `diffsky.readthedocs.io <https://diffsky.readthedocs.io/en/latest/>`_.
33
33
 
34
- Testing
35
- -------
36
- To run the suite of unit tests::
37
-
38
- $ cd /path/to/root/diffsky
39
- $ pytest
40
-
41
- To build html of test coverage::
42
-
43
- $ pytest -v --cov --cov-report html
44
- $ open htmlcov/index.html
45
34
 
@@ -0,0 +1 @@
1
+ __version__ = '0.3.0'
@@ -9,14 +9,16 @@ import h5py
9
9
  import numpy as np
10
10
  from diffmah import DEFAULT_MAH_PARAMS, logmh_at_t_obs
11
11
  from diffstar import DEFAULT_DIFFSTAR_PARAMS
12
- from diffstarpop import mc_diffstar_sfh_galpop
13
- from diffstarpop.defaults import DEFAULT_DIFFSTARPOP_PARAMS
14
- from diffstarpop.param_utils import mc_select_diffstar_params
12
+ from diffstar.diffstarpop import mc_diffstar_sfh_galpop
13
+ from diffstar.diffstarpop.defaults import DEFAULT_DIFFSTARPOP_PARAMS
14
+ from diffstar.diffstarpop.param_utils import mc_select_diffstar_params
15
15
  from dsps.cosmology import flat_wcdm
16
16
  from jax import random as jran
17
17
 
18
+ from ...experimental import mc_diffsky_seds
18
19
  from ...fake_sats import halo_boundary_functions as hbf
19
20
  from ...fake_sats import nfw_config_space as nfwcs
21
+ from ...param_utils import diffsky_param_wrapper as dpw
20
22
  from ...utils.sfh_utils import get_logsm_logssfr_at_t_obs
21
23
  from . import lightcone_utils as hlu
22
24
  from . import load_lc_cf
@@ -94,6 +96,10 @@ def write_lc_sfh_mock_to_disk(fnout, lc_data, diffsky_data):
94
96
  hdf_out[key_out] = diffsky_data[key]
95
97
 
96
98
 
99
+ def write_lc_sed_mock_to_disk(fnout, lc_data, diffsky_data):
100
+ raise NotImplementedError("Need to add SED quantities to write_lc_sed_mock_to_disk")
101
+
102
+
97
103
  def add_sfh_quantities_to_mock(sim_info, lc_data, diffsky_data, ran_key):
98
104
  lc_data["t_obs"] = flat_wcdm.age_at_z(
99
105
  lc_data["redshift_true"], *sim_info.cosmo_params
@@ -105,6 +111,7 @@ def add_sfh_quantities_to_mock(sim_info, lc_data, diffsky_data, ran_key):
105
111
  for pname, pval in zip(mah_params._fields, mah_params):
106
112
  diffsky_data[pname] = pval
107
113
  diffsky_data["has_diffmah_fit"] = msk_has_diffmah_fit
114
+ diffsky_data["mah_params"] = mah_params
108
115
 
109
116
  logmp0 = logmh_at_t_obs(
110
117
  mah_params, np.zeros(mah_params.logm0.size) + 10**sim_info.lgt0, sim_info.lgt0
@@ -121,7 +128,7 @@ def add_sfh_quantities_to_mock(sim_info, lc_data, diffsky_data, ran_key):
121
128
  gyr_since_infall = np.zeros_like(logmp0)
122
129
  upids = np.where(lc_data["central"] == 1, -1, 0)
123
130
 
124
- t_table = np.linspace(0.1, 10**sim_info.lgt0, 100)
131
+ diffsky_data["t_table"] = np.linspace(0.1, 10**sim_info.lgt0, 100)
125
132
 
126
133
  args = (
127
134
  DEFAULT_DIFFSTARPOP_PARAMS,
@@ -132,27 +139,102 @@ def add_sfh_quantities_to_mock(sim_info, lc_data, diffsky_data, ran_key):
132
139
  logmhost_infall,
133
140
  gyr_since_infall,
134
141
  ran_key,
135
- t_table,
142
+ diffsky_data["t_table"],
136
143
  )
137
144
 
138
145
  _res = mc_diffstar_sfh_galpop(*args)
139
146
  sfh_params_ms, sfh_params_q, sfh_ms, sfh_q, frac_q, mc_is_q = _res
140
147
 
141
- sfh = np.where(mc_is_q.reshape((-1, 1)), sfh_q, sfh_ms)
148
+ diffsky_data["sfh_table"] = np.where(mc_is_q.reshape((-1, 1)), sfh_q, sfh_ms)
142
149
  sfh_params = mc_select_diffstar_params(sfh_params_q, sfh_params_ms, mc_is_q)
143
150
 
151
+ diffsky_data["sfh_table_ms"] = sfh_ms
152
+ diffsky_data["sfh_table_q"] = sfh_q
153
+
154
+ diffsky_data["mc_is_q"] = mc_is_q
155
+ # Need to add SFH table after MC selection
156
+
144
157
  for key in sfh_params.ms_params._fields:
145
158
  diffsky_data[key] = getattr(sfh_params.ms_params, key)
146
159
  for key in sfh_params.q_params._fields:
147
160
  diffsky_data[key] = getattr(sfh_params.q_params, key)
148
161
 
149
- logsm_obs, logssfr_obs = get_logsm_logssfr_at_t_obs(lc_data["t_obs"], t_table, sfh)
162
+ logsm_obs, logssfr_obs = get_logsm_logssfr_at_t_obs(
163
+ lc_data["t_obs"], diffsky_data["t_table"], diffsky_data["sfh_table"]
164
+ )
150
165
  diffsky_data["logsm_obs"] = logsm_obs
151
166
  diffsky_data["logssfr_obs"] = logssfr_obs
152
167
 
168
+ logsm_obs_ms, logssfr_obs_ms = get_logsm_logssfr_at_t_obs(
169
+ lc_data["t_obs"], diffsky_data["t_table"], diffsky_data["sfh_table_ms"]
170
+ )
171
+ diffsky_data["logsm_obs_ms"] = logsm_obs_ms
172
+ diffsky_data["logssfr_obs_ms"] = logssfr_obs_ms
173
+
174
+ logsm_obs_q, logssfr_obs_q = get_logsm_logssfr_at_t_obs(
175
+ lc_data["t_obs"], diffsky_data["t_table"], diffsky_data["sfh_table_q"]
176
+ )
177
+ diffsky_data["logsm_obs_q"] = logsm_obs_q
178
+ diffsky_data["logssfr_obs_q"] = logssfr_obs_q
179
+
153
180
  return lc_data, diffsky_data
154
181
 
155
182
 
183
+ def add_sed_quantities_to_mock(
184
+ sim_info,
185
+ lc_data,
186
+ diffsky_data,
187
+ ssp_data,
188
+ u_param_arr,
189
+ precomputed_ssp_mag_table,
190
+ z_phot_table,
191
+ wave_eff_table,
192
+ ran_key,
193
+ ):
194
+ u_param_collection = dpw.get_u_param_collection_from_u_param_array(u_param_arr)
195
+ param_collection = dpw.get_param_collection_from_u_param_collection(
196
+ *u_param_collection
197
+ )
198
+
199
+ (
200
+ diffstarpop_params,
201
+ mzr_params,
202
+ spspop_params,
203
+ scatter_params,
204
+ ssp_err_pop_params,
205
+ ) = param_collection
206
+
207
+ n_z_table, n_bands, n_met, n_age = precomputed_ssp_mag_table.shape
208
+
209
+ ran_key, sfh_key = jran.split(ran_key, 2)
210
+ lc_data, diffsky_data = add_sfh_quantities_to_mock(
211
+ sim_info, lc_data, diffsky_data, sfh_key
212
+ )
213
+ n_gals = diffsky_data["logsm_obs"].size
214
+
215
+ ran_key, sed_key = jran.split(ran_key, 2)
216
+ args = (
217
+ sed_key,
218
+ lc_data["redshift_true"],
219
+ lc_data["t_obs"],
220
+ diffsky_data["mah_params"],
221
+ diffsky_data["logmp0"],
222
+ diffsky_data["t_table"],
223
+ ssp_data,
224
+ precomputed_ssp_mag_table,
225
+ z_phot_table,
226
+ wave_eff_table,
227
+ diffstarpop_params,
228
+ mzr_params,
229
+ spspop_params,
230
+ scatter_params,
231
+ ssp_err_pop_params,
232
+ sim_info.cosmo_params,
233
+ )
234
+ phot_info = mc_diffsky_seds._mc_diffsky_phot_kern(*args)
235
+ return phot_info, lc_data, diffsky_data
236
+
237
+
156
238
  def reposition_satellites(sim_info, lc_data, diffsky_data, ran_key, fixed_conc=5.0):
157
239
 
158
240
  pos = np.array((lc_data["x"], lc_data["y"], lc_data["z"])).T
@@ -5,8 +5,8 @@ import os
5
5
  import numpy as np
6
6
  from diffmah.diffmahpop_kernels.bimod_censat_params import DEFAULT_DIFFMAHPOP_PARAMS
7
7
  from diffmah.diffmahpop_kernels.mc_bimod_cens import mc_cenpop
8
- from diffstarpop import mc_diffstar_sfh_galpop
9
- from diffstarpop.defaults import DEFAULT_DIFFSTARPOP_PARAMS
8
+ from diffstar.diffstarpop import mc_diffstar_sfh_galpop
9
+ from diffstar.diffstarpop.defaults import DEFAULT_DIFFSTARPOP_PARAMS
10
10
  from dsps.constants import T_TABLE_MIN
11
11
  from dsps.cosmology import DEFAULT_COSMOLOGY
12
12
  from dsps.cosmology.flat_wcdm import _age_at_z_kern, age_at_z0
@@ -1,8 +1,7 @@
1
- """
2
- """
1
+ """ """
3
2
 
4
3
  import numpy as np
5
- from diffstarpop.defaults import DEFAULT_DIFFSTARPOP_PARAMS
4
+ from diffstar.diffstarpop.defaults import DEFAULT_DIFFSTARPOP_PARAMS
6
5
  from dsps.cosmology import flat_wcdm
7
6
  from dsps.cosmology.defaults import DEFAULT_COSMOLOGY
8
7
  from jax import random as jran
@@ -0,0 +1,157 @@
1
+ """Functions and script for optimizing parameters of bulge_shapes model"""
2
+
3
+ from collections import namedtuple
4
+
5
+ import numpy as np
6
+ from jax import jit as jjit
7
+ from jax import numpy as jnp
8
+ from jax import random as jran
9
+ from jax import value_and_grad
10
+
11
+ from .. import diffndhist
12
+ from . import bulge_shapes as eshape
13
+ from . import ellipse_proj_kernels as eproj
14
+
15
+
16
+ @jjit
17
+ def _mae(pred, target):
18
+ diff = pred - target
19
+ return jnp.mean(jnp.abs(diff))
20
+
21
+
22
+ @jjit
23
+ def get_all_params_from_varied(varied_params, default_params):
24
+ all_params = default_params._replace(**varied_params._asdict())
25
+ return all_params
26
+
27
+
28
+ @jjit
29
+ def _nondiff_loss_kern(bulge_params, loss_data):
30
+ x_target, ba_pdf_target, ran_key, mu_ran, phi_ran, ba_bins = loss_data
31
+ pred_data = ran_key, mu_ran, phi_ran, ba_bins, x_target
32
+
33
+ ba_pdf_pred = _nondiff_pred_kern(bulge_params, pred_data)
34
+ loss = _mae(ba_pdf_pred, ba_pdf_target)
35
+ return loss
36
+
37
+
38
+ @jjit
39
+ def loss_kern(varied_params, loss_data):
40
+ x_target, ba_pdf_target, ran_key, mu_ran, phi_ran, ba_bins, default_params = (
41
+ loss_data
42
+ )
43
+ bulge_params = get_all_params_from_varied(varied_params, default_params)
44
+ loss = _loss_kern(
45
+ bulge_params, x_target, ba_pdf_target, ran_key, mu_ran, phi_ran, ba_bins
46
+ )
47
+ return loss
48
+
49
+
50
+ @jjit
51
+ def _loss_kern(
52
+ bulge_params, x_target, ba_pdf_target, ran_key, mu_ran, phi_ran, ba_bins
53
+ ):
54
+ pred_data = x_target, ran_key, mu_ran, phi_ran, ba_bins
55
+
56
+ ba_pdf_pred = _pred_kern(bulge_params, pred_data)
57
+ loss = _mae(ba_pdf_pred, ba_pdf_target)
58
+ return loss
59
+
60
+
61
+ @jjit
62
+ def _pred_kern(bulge_params, pred_data):
63
+ x_target, ran_key, mu_ran, phi_ran, ba_bins = pred_data
64
+
65
+ ran_key, bulge_key = jran.split(ran_key, 2)
66
+ ellipse2d = _pred_ellipse_samples_kern(bulge_params, bulge_key, mu_ran, phi_ran)
67
+
68
+ nddata = jnp.array(ellipse2d.alpha / ellipse2d.beta).reshape((-1, 1))
69
+ ndsig = jnp.zeros_like(nddata) + 0.05
70
+
71
+ ndbins_lo = ba_bins[:-1].reshape((-1, 1))
72
+ ndbins_hi = ba_bins[1:].reshape((-1, 1))
73
+
74
+ wcounts = diffndhist.tw_ndhist(nddata, ndsig, ndbins_lo, ndbins_hi)
75
+ ba_pdf_pred_table = (wcounts / wcounts.sum()) / jnp.diff(ba_bins)
76
+
77
+ ba_binmids = 0.5 * (ba_bins[:-1] + ba_bins[1:])
78
+ ba_pdf_pred = jnp.interp(x_target, ba_binmids, ba_pdf_pred_table)
79
+
80
+ return ba_pdf_pred
81
+
82
+
83
+ @jjit
84
+ def _pred_ellipse_samples_kern(bulge_params, bulge_key, mu_ran, phi_ran):
85
+ ngals = mu_ran.shape[0]
86
+ axis_ratios = eshape.sample_bulge_axis_ratios(bulge_key, ngals, bulge_params)
87
+ a = jnp.ones_like(mu_ran)
88
+ b = a * axis_ratios.b_over_a
89
+ c = a * axis_ratios.c_over_a
90
+ ellipse2d = eproj.compute_ellipse2d(a, b, c, mu_ran, phi_ran)
91
+ return ellipse2d
92
+
93
+
94
+ @jjit
95
+ def _nondiff_pred_kern(bulge_params, pred_data):
96
+ ran_key, mu_ran, phi_ran, ba_bins, x_target = pred_data
97
+
98
+ ran_key, bulge_key = jran.split(ran_key, 2)
99
+ ellipse2d = _pred_ellipse_samples_kern(bulge_params, bulge_key, mu_ran, phi_ran)
100
+
101
+ alpha_over_beta = ellipse2d.alpha / ellipse2d.beta
102
+ ba_pdf_table, __ = jnp.histogram(alpha_over_beta, ba_bins, density=True)
103
+ ba_binmids = 0.5 * (ba_bins[:-1] + ba_bins[1:])
104
+ ba_pdf_pred = jnp.interp(x_target, ba_binmids, ba_pdf_table)
105
+
106
+ return ba_pdf_pred
107
+
108
+
109
+ loss_and_grad_kern = jjit(value_and_grad(loss_kern, argnums=0))
110
+
111
+
112
+ if __name__ == "__main__":
113
+ import argparse
114
+
115
+ from diffsky.mass_functions.fitting_utils.fitting_helpers import jax_adam_wrapper
116
+
117
+ parser = argparse.ArgumentParser()
118
+ parser.add_argument(
119
+ "-seed", help="Integer input to jax.random.key(seed)", default=0, type=int
120
+ )
121
+ parser.add_argument(
122
+ "-ngals", help="Number of galaxies to estimate pdf", default=50_000, type=int
123
+ )
124
+ parser.add_argument(
125
+ "-tdata_fname",
126
+ help="Number of galaxies to estimate pdf",
127
+ default="ellipsoid_b_over_a_pdf_rodriguez_padilla_2013.txt",
128
+ )
129
+ args = parser.parse_args()
130
+
131
+ VariedParams = namedtuple("VariedParams", ("ba_peak", "ba_sigma", "c_min"))
132
+ varied_params = VariedParams._make(
133
+ [getattr(eshape.DEFAULT_BULGE_PARAMS, key) for key in VariedParams._fields]
134
+ )
135
+
136
+ ran_key = jran.key(args.seed)
137
+ ran_key, loss_key = jran.split(ran_key, 2)
138
+
139
+ target_data = np.loadtxt(args.tdata_fname, delimiter=",")
140
+ X = target_data[:, 0]
141
+ Y = target_data[:, 1]
142
+
143
+ ba_bins = np.linspace(0.01, 0.99, 50)
144
+
145
+ ran_key, mu_key, phi_key = jran.split(ran_key, 3)
146
+ mu_ran = jran.uniform(mu_key, minval=-1, maxval=1, shape=(args.ngals,))
147
+ phi_ran = jran.uniform(phi_key, minval=0, maxval=2 * np.pi, shape=(args.ngals,))
148
+
149
+ default_params = eshape.DEFAULT_BULGE_PARAMS
150
+ loss_data = X, Y, loss_key, mu_ran, phi_ran, ba_bins, default_params
151
+ args = loss_and_grad_kern, varied_params, loss_data, 100
152
+ _res = jax_adam_wrapper(*args)
153
+ p_best, loss, loss_hist = _res[:3]
154
+ bulge_params_best = default_params._replace(**p_best._asdict())
155
+ print(f"\nInitial parameters:\n{default_params}")
156
+
157
+ print(f"\nBest-fitting parameters:\n{bulge_params_best}")
@@ -0,0 +1,43 @@
1
+ """Ellipsoidal model for PDF of bulge shapes"""
2
+
3
+ from collections import namedtuple
4
+ from functools import partial
5
+
6
+ from jax import jit as jjit
7
+ from jax import numpy as jnp
8
+ from jax import random as jran
9
+
10
+ from .pdf_model_utils import truncated_normal_sample
11
+
12
+ AxisRatios = namedtuple("AxisRatios", ("b_over_a", "c_over_a"))
13
+ BulgeAxisRatioParams = namedtuple(
14
+ "BulgeAxisRatioParams", ("ba_peak", "ba_sigma", "ba_min", "ba_max", "c_min")
15
+ )
16
+ DEFAULT_BULGE_PARAMS = BulgeAxisRatioParams(
17
+ ba_peak=1.3, ba_sigma=0.38, ba_min=0.3, ba_max=1.0, c_min=0.61
18
+ )
19
+
20
+
21
+ @partial(jjit, static_argnames=["n_samples"])
22
+ def sample_bulge_axis_ratios(ran_key, n_samples, bulge_params):
23
+ """Draw samples of axis ratios for bulges"""
24
+ ran_key_b, ran_key_c = jran.split(ran_key, 2)
25
+
26
+ b_over_a = truncated_normal_sample(
27
+ ran_key_b,
28
+ (n_samples,),
29
+ bulge_params.ba_peak,
30
+ bulge_params.ba_sigma,
31
+ bulge_params.ba_min,
32
+ bulge_params.ba_max,
33
+ )
34
+
35
+ c_over_b = jran.uniform(
36
+ ran_key_c, (n_samples,), minval=bulge_params.c_min, maxval=1.0
37
+ )
38
+
39
+ c_over_a = c_over_b * b_over_a
40
+ c_over_a = jnp.minimum(c_over_a, b_over_a * 0.99) # Ensure c <= b for safety
41
+
42
+ axis_ratios = AxisRatios(b_over_a, c_over_a)
43
+ return axis_ratios
@@ -0,0 +1,130 @@
1
+ """Functions and script for optimizing parameters of disk_shapes model"""
2
+
3
+ from collections import namedtuple
4
+
5
+ import numpy as np
6
+ from jax import jit as jjit
7
+ from jax import numpy as jnp
8
+ from jax import random as jran
9
+ from jax import value_and_grad
10
+
11
+ from .. import diffndhist
12
+ from . import disk_shapes as dshape
13
+ from . import ellipse_proj_kernels as eproj
14
+
15
+
16
+ @jjit
17
+ def _mae(pred, target):
18
+ diff = pred - target
19
+ return jnp.mean(jnp.abs(diff))
20
+
21
+
22
+ @jjit
23
+ def get_all_params_from_varied(varied_params, default_params):
24
+ all_params = default_params._replace(**varied_params._asdict())
25
+ return all_params
26
+
27
+
28
+ @jjit
29
+ def loss_kern(varied_params, loss_data):
30
+ x_target, ba_pdf_target, ran_key, mu_ran, phi_ran, ba_bins, default_params = (
31
+ loss_data
32
+ )
33
+ disk_params = get_all_params_from_varied(varied_params, default_params)
34
+ loss = _loss_kern(
35
+ disk_params, x_target, ba_pdf_target, ran_key, mu_ran, phi_ran, ba_bins
36
+ )
37
+ return loss
38
+
39
+
40
+ @jjit
41
+ def _loss_kern(disk_params, x_target, ba_pdf_target, ran_key, mu_ran, phi_ran, ba_bins):
42
+ pred_data = x_target, ran_key, mu_ran, phi_ran, ba_bins
43
+
44
+ ba_pdf_pred = _pred_kern(disk_params, pred_data)
45
+ loss = _mae(ba_pdf_pred, ba_pdf_target)
46
+ return loss
47
+
48
+
49
+ @jjit
50
+ def _pred_kern(disk_params, pred_data):
51
+ x_target, ran_key, mu_ran, phi_ran, ba_bins = pred_data
52
+
53
+ ran_key, disk_key = jran.split(ran_key, 2)
54
+ ellipse2d = _pred_ellipse_samples_kern(disk_params, disk_key, mu_ran, phi_ran)
55
+
56
+ nddata = jnp.array(ellipse2d.alpha / ellipse2d.beta).reshape((-1, 1))
57
+ ndsig = jnp.zeros_like(nddata) + 0.05
58
+
59
+ ndbins_lo = ba_bins[:-1].reshape((-1, 1))
60
+ ndbins_hi = ba_bins[1:].reshape((-1, 1))
61
+
62
+ wcounts = diffndhist.tw_ndhist(nddata, ndsig, ndbins_lo, ndbins_hi)
63
+ ba_pdf_pred_table = (wcounts / wcounts.sum()) / jnp.diff(ba_bins)
64
+
65
+ ba_binmids = 0.5 * (ba_bins[:-1] + ba_bins[1:])
66
+ ba_pdf_pred = jnp.interp(x_target, ba_binmids, ba_pdf_pred_table)
67
+
68
+ return ba_pdf_pred
69
+
70
+
71
+ loss_and_grad_kern = jjit(value_and_grad(loss_kern, argnums=0))
72
+
73
+
74
+ @jjit
75
+ def _pred_ellipse_samples_kern(disk_params, disk_key, mu_ran, phi_ran):
76
+ ngals = mu_ran.shape[0]
77
+ axis_ratios = dshape.sample_disk_axis_ratios(disk_key, ngals, disk_params)
78
+ a = jnp.ones_like(mu_ran)
79
+ b = a * axis_ratios.b_over_a
80
+ c = a * axis_ratios.c_over_a
81
+ ellipse2d = eproj.compute_ellipse2d(a, b, c, mu_ran, phi_ran)
82
+ return ellipse2d
83
+
84
+
85
+ if __name__ == "__main__":
86
+ import argparse
87
+
88
+ from diffsky.mass_functions.fitting_utils.fitting_helpers import jax_adam_wrapper
89
+
90
+ parser = argparse.ArgumentParser()
91
+ parser.add_argument(
92
+ "-seed", help="Integer input to jax.random.key(seed)", default=0, type=int
93
+ )
94
+ parser.add_argument(
95
+ "-ngals", help="Number of galaxies to estimate pdf", default=50_000, type=int
96
+ )
97
+ parser.add_argument(
98
+ "-tdata_fname",
99
+ help="Number of galaxies to estimate pdf",
100
+ default="spiral_b_over_a_pdf_rodriguez_padilla_2013.txt",
101
+ )
102
+ args = parser.parse_args()
103
+
104
+ VariedParams = namedtuple("VariedParams", ("c_min", "c_max"))
105
+ varied_params = VariedParams._make(
106
+ [getattr(dshape.DEFAULT_DISK_PARAMS, key) for key in VariedParams._fields]
107
+ )
108
+
109
+ ran_key = jran.key(args.seed)
110
+ ran_key, loss_key = jran.split(ran_key, 2)
111
+
112
+ target_data = np.loadtxt(args.tdata_fname, delimiter=",")
113
+ X = target_data[:, 0]
114
+ Y = target_data[:, 1]
115
+
116
+ ba_bins = np.linspace(0.01, 0.99, 50)
117
+
118
+ ran_key, mu_key, phi_key = jran.split(ran_key, 3)
119
+ mu_ran = jran.uniform(mu_key, minval=-1, maxval=1, shape=(args.ngals,))
120
+ phi_ran = jran.uniform(phi_key, minval=0, maxval=2 * np.pi, shape=(args.ngals,))
121
+
122
+ default_params = dshape.DEFAULT_DISK_PARAMS
123
+ loss_data = X, Y, loss_key, mu_ran, phi_ran, ba_bins, default_params
124
+ args = loss_and_grad_kern, varied_params, loss_data, 100
125
+ _res = jax_adam_wrapper(*args)
126
+ p_best, loss, loss_hist = _res[:3]
127
+ disk_params_best = default_params._replace(**p_best._asdict())
128
+ print(f"\nInitial parameters:\n{default_params}")
129
+
130
+ print(f"\nBest-fitting parameters:\n{disk_params_best}")
@@ -0,0 +1,34 @@
1
+ """Ellipsoidal model for PDF of disk shapes"""
2
+
3
+ from collections import namedtuple
4
+ from functools import partial
5
+
6
+ from jax import jit as jjit
7
+ from jax import numpy as jnp
8
+ from jax import random as jran
9
+
10
+ AxisRatios = namedtuple("AxisRatios", ("b_over_a", "c_over_a"))
11
+ DiskAxisRatioParams = namedtuple(
12
+ "DiskAxisRatioParams", ("ba_min", "ba_max", "c_min", "c_max")
13
+ )
14
+ DEFAULT_DISK_PARAMS = DiskAxisRatioParams(ba_min=0.8, ba_max=1.0, c_min=0.2, c_max=0.5)
15
+
16
+
17
+ @partial(jjit, static_argnames=["n_samples"])
18
+ def sample_disk_axis_ratios(ran_key, n_samples, disk_params):
19
+ """Draw samples of axis ratios for disks"""
20
+ ran_key_b, ran_key_c = jran.split(ran_key, 2)
21
+
22
+ b_over_a = jran.uniform(
23
+ ran_key_b, (n_samples,), minval=disk_params.ba_min, maxval=disk_params.ba_max
24
+ )
25
+
26
+ c_over_b = jran.uniform(
27
+ ran_key_c, (n_samples,), minval=disk_params.c_min, maxval=disk_params.c_max
28
+ )
29
+
30
+ c_over_a = c_over_b * b_over_a
31
+ c_over_a = jnp.minimum(c_over_a, b_over_a * 0.99) # Ensure c <= b for safety
32
+
33
+ axis_ratios = AxisRatios(b_over_a, c_over_a)
34
+ return axis_ratios