From f6ea38e9d831f7ad67084e532a5b0d7de0de547c Mon Sep 17 00:00:00 2001 From: nvill Date: Mon, 18 May 2026 13:46:48 -0500 Subject: [PATCH 1/3] Add BOUNDS_DIFFSTARPOP_PARAMS namedtuple. --- diffstar/diffstarpop/__init__.py | 1 + diffstar/diffstarpop/defaults.py | 1 + diffstar/diffstarpop/kernels/defaults_mgash.py | 6 ++++++ 3 files changed, 8 insertions(+) diff --git a/diffstar/diffstarpop/__init__.py b/diffstar/diffstarpop/__init__.py index c14809e..29950f3 100644 --- a/diffstar/diffstarpop/__init__.py +++ b/diffstar/diffstarpop/__init__.py @@ -4,6 +4,7 @@ from .defaults import ( DEFAULT_DIFFSTARPOP_PARAMS, DEFAULT_DIFFSTARPOP_U_PARAMS, + BOUNDS_DIFFSTARPOP_PARAMS, DiffstarPopParams, DiffstarPopUParams, ) diff --git a/diffstar/diffstarpop/defaults.py b/diffstar/diffstarpop/defaults.py index 0fa1d50..b42e488 100644 --- a/diffstar/diffstarpop/defaults.py +++ b/diffstar/diffstarpop/defaults.py @@ -5,6 +5,7 @@ from .kernels.defaults_mgash import ( DEFAULT_DIFFSTARPOP_PARAMS, DEFAULT_DIFFSTARPOP_U_PARAMS, + BOUNDS_DIFFSTARPOP_PARAMS, DiffstarPopParams, DiffstarPopUParams, ) diff --git a/diffstar/diffstarpop/kernels/defaults_mgash.py b/diffstar/diffstarpop/kernels/defaults_mgash.py index 87bd9fb..c5b2885 100644 --- a/diffstar/diffstarpop/kernels/defaults_mgash.py +++ b/diffstar/diffstarpop/kernels/defaults_mgash.py @@ -7,12 +7,14 @@ from .satquenchpop_model import ( DEFAULT_SATQUENCHPOP_PARAMS, DEFAULT_SATQUENCHPOP_U_PARAMS, + SATQUENCHPOP_PBOUNDS, get_bounded_satquenchpop_params, get_unbounded_satquenchpop_params, ) from .sfh_pdf_mgash import ( SFH_PDF_QUENCH_PARAMS, SFH_PDF_QUENCH_U_PARAMS, + SFH_PDF_QUENCH_PBOUNDS, get_bounded_sfh_pdf_params, get_unbounded_sfh_pdf_params, ) @@ -25,6 +27,10 @@ *SFH_PDF_QUENCH_PARAMS, *DEFAULT_SATQUENCHPOP_PARAMS ) +BOUNDS_DIFFSTARPOP_PARAMS = DiffstarPopParams( + *SFH_PDF_QUENCH_PBOUNDS, *SATQUENCHPOP_PBOUNDS +) + _U_PNAMES = ["u_" + key for key in DEFAULT_DIFFSTARPOP_PARAMS._fields] DiffstarPopUParams = namedtuple("DiffstarPopUParams", _U_PNAMES) From c055c0d1b59f5a6e6b4df1f21f60496a9366357e Mon Sep 17 00:00:00 2001 From: nvill Date: Tue, 19 May 2026 14:00:31 -0500 Subject: [PATCH 2/3] Change bounds namedtuple name for consistency. --- diffstar/diffstarpop/__init__.py | 2 +- diffstar/diffstarpop/defaults.py | 2 +- diffstar/diffstarpop/kernels/defaults_mgash.py | 4 +--- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/diffstar/diffstarpop/__init__.py b/diffstar/diffstarpop/__init__.py index 29950f3..6b26c5d 100644 --- a/diffstar/diffstarpop/__init__.py +++ b/diffstar/diffstarpop/__init__.py @@ -4,7 +4,7 @@ from .defaults import ( DEFAULT_DIFFSTARPOP_PARAMS, DEFAULT_DIFFSTARPOP_U_PARAMS, - BOUNDS_DIFFSTARPOP_PARAMS, + DIFFSTARPOP_PBOUNDS, DiffstarPopParams, DiffstarPopUParams, ) diff --git a/diffstar/diffstarpop/defaults.py b/diffstar/diffstarpop/defaults.py index b42e488..4a90609 100644 --- a/diffstar/diffstarpop/defaults.py +++ b/diffstar/diffstarpop/defaults.py @@ -5,7 +5,7 @@ from .kernels.defaults_mgash import ( DEFAULT_DIFFSTARPOP_PARAMS, DEFAULT_DIFFSTARPOP_U_PARAMS, - BOUNDS_DIFFSTARPOP_PARAMS, + DIFFSTARPOP_PBOUNDS, DiffstarPopParams, DiffstarPopUParams, ) diff --git a/diffstar/diffstarpop/kernels/defaults_mgash.py b/diffstar/diffstarpop/kernels/defaults_mgash.py index c5b2885..f44d2ba 100644 --- a/diffstar/diffstarpop/kernels/defaults_mgash.py +++ b/diffstar/diffstarpop/kernels/defaults_mgash.py @@ -27,9 +27,7 @@ *SFH_PDF_QUENCH_PARAMS, *DEFAULT_SATQUENCHPOP_PARAMS ) -BOUNDS_DIFFSTARPOP_PARAMS = DiffstarPopParams( - *SFH_PDF_QUENCH_PBOUNDS, *SATQUENCHPOP_PBOUNDS -) +DIFFSTARPOP_PBOUNDS = DiffstarPopParams(*SFH_PDF_QUENCH_PBOUNDS, *SATQUENCHPOP_PBOUNDS) _U_PNAMES = ["u_" + key for key in DEFAULT_DIFFSTARPOP_PARAMS._fields] DiffstarPopUParams = namedtuple("DiffstarPopUParams", _U_PNAMES) From 44eb9d85803a0b0fa6a30f5f0826c0e4453b4ad7 Mon Sep 17 00:00:00 2001 From: nvill Date: Tue, 19 May 2026 14:41:44 -0500 Subject: [PATCH 3/3] Add test to ensure that default values are within the bounds. --- .../diffstarpop/kernels/tests/test_defaults_mgash.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/diffstar/diffstarpop/kernels/tests/test_defaults_mgash.py b/diffstar/diffstarpop/kernels/tests/test_defaults_mgash.py index 938bba0..62e342d 100644 --- a/diffstar/diffstarpop/kernels/tests/test_defaults_mgash.py +++ b/diffstar/diffstarpop/kernels/tests/test_defaults_mgash.py @@ -5,6 +5,7 @@ from ..defaults_mgash import ( DEFAULT_DIFFSTARPOP_PARAMS, DEFAULT_DIFFSTARPOP_U_PARAMS, + DIFFSTARPOP_PBOUNDS, get_bounded_diffstarpop_params, get_unbounded_diffstarpop_params, ) @@ -19,3 +20,14 @@ def test_get_bounded_diffstarpop_params(): for u_p, u_p2 in zip(DEFAULT_DIFFSTARPOP_U_PARAMS, u_params): assert np.allclose(u_p, u_p2, rtol=5e-4) + + +def test_default_values_within_bounds(): + values = DEFAULT_DIFFSTARPOP_PARAMS._asdict() + bounds = DIFFSTARPOP_PBOUNDS._asdict() + + assert len(values) == len(bounds) + + for param_name, val in values.items(): + low, high = bounds[param_name] + assert low <= val <= high