diff --git a/diffstar/diffstarpop/__init__.py b/diffstar/diffstarpop/__init__.py index c14809e..6b26c5d 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, + DIFFSTARPOP_PBOUNDS, DiffstarPopParams, DiffstarPopUParams, ) diff --git a/diffstar/diffstarpop/defaults.py b/diffstar/diffstarpop/defaults.py index 0fa1d50..4a90609 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, + DIFFSTARPOP_PBOUNDS, DiffstarPopParams, DiffstarPopUParams, ) diff --git a/diffstar/diffstarpop/kernels/defaults_mgash.py b/diffstar/diffstarpop/kernels/defaults_mgash.py index 87bd9fb..f44d2ba 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,8 @@ *SFH_PDF_QUENCH_PARAMS, *DEFAULT_SATQUENCHPOP_PARAMS ) +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) 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