Skip to content

Commit bb5cfe4

Browse files
committed
Add a check on afeindx when updating parameters, and add zmet and afeindx to tests of the parameter checking.
1 parent c18b870 commit bb5cfe4

2 files changed

Lines changed: 21 additions & 6 deletions

File tree

src/fsps/fsps.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1409,18 +1409,21 @@ def check_params(self):
14091409
NZ = driver.get_nz()
14101410
assert self._params["zmet"] in range(
14111411
1, NZ + 1
1412-
), "zmet={0} out of range [1, {1}]".format(self._params["zmet"], NZ)
1412+
), f"zmet={self._params['zmet']} out of range [1, {NZ}]"
1413+
NAFE = driver.get_nafe()
1414+
assert self._params["afeindx"] in range(
1415+
1, NAFE + 1
1416+
), f"afeindx={self._params['afeindx']} out of range [1, {NAFE}]"
14131417
assert self._params["dust_type"] in range(
14141418
7
1415-
), "dust_type={0} out of range [0, 6]".format(self._params["dust_type"])
1419+
), f"dust_type={self._params['dust_type']} out of range [0, 6]"
14161420
assert self._params["imf_type"] in range(
14171421
6
1418-
), "imf_type={0} out of range [0, 5]".format(self._params["imf_type"])
1422+
), f"imf_type={self._params['imf_type']} out of range [0, 5]"
14191423
assert (self._params["tage"] <= 0) | (
14201424
self._params["tage"] > self._params["sf_start"]
1421-
), "sf_start={0} is greater than tage={1}".format(
1422-
self._params["sf_start"], self._params["tage"]
1423-
)
1425+
), (f"sf_start={self._params['sf_start']} is greater than "
1426+
f"tage={self._params['tage']}")
14241427
assert (
14251428
self._params["const"] + self._params["fburst"]
14261429
) <= 1, "const + fburst > 1"

tests/tests.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,18 @@ def test_param_checks(pop_and_params):
9191
pop.params["sf_start"] = 0.1
9292
w, s = pop.get_spectrum(tage=pop.params["tage"])
9393

94+
pop.params["zmet"] = 100
95+
with pytest.raises(AssertionError):
96+
w, s = pop.get_spectrum(tage=pop.params["tage"])
97+
pop.params["zmet"] = 1
98+
w, s = pop.get_spectrum(tage=pop.params["tage"])
99+
100+
pop.params["afeindx"] = pop.n_afe + 1
101+
with pytest.raises(AssertionError):
102+
w, s = pop.get_spectrum(tage=pop.params["tage"])
103+
pop.params["afeindx"] = 1
104+
w, s = pop.get_spectrum(tage=pop.params["tage"])
105+
94106

95107
def test_smooth_lsf(pop_and_params):
96108
# recomputes SSPs

0 commit comments

Comments
 (0)