Skip to content

Commit def1dfe

Browse files
committed
add relative checks of ssfr_tau
1 parent e56470a commit def1dfe

1 file changed

Lines changed: 8 additions & 1 deletion

File tree

src/pst/cem.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1406,8 +1406,12 @@ def ssfr(self, value):
14061406
1 / u.Gyr,
14071407
doc="Average specific star-formation rates associated with each tau_ssfr bin",
14081408
)
1409+
# ssfr2 / ssfr1 < tau1 / tau2
1410+
ssfr_ratio = value.q[1:] / value.q[:-1]
1411+
if np.any(ssfr_ratio > self._tau_ratio):
1412+
raise ValueError("Input ``ssfr`` values are inconsistent with the ``tau_ssfr`` values.")
14091413
self._ssfr = value
1410-
masses = self.mass_today.q * np.cumsum(1 - self.tau_ssfr.q * self._ssfr.q)
1414+
masses = self.mass_today.q * (1 - self.tau_ssfr.q * self._ssfr.q)
14111415
self.masses = Parameter(
14121416
np.insert(masses, (0, masses.size), (0.0 * u.Msun, self.mass_today.q)),
14131417
fixed=True,
@@ -1433,6 +1437,9 @@ def tau_ssfr(self, value):
14331437
raise ValueError("Input ``tau_ssfr`` must be strictly decreasing")
14341438
self._tau_ssfr = value
14351439

1440+
# tau1 / tau2
1441+
self._tau_ratio = self._tau_ssfr.q[:-1] / self._tau_ssfr.q[1:]
1442+
14361443
times = self.today.to(u.Gyr) - self._tau_ssfr.to(u.Gyr)
14371444
self.times = Parameter(
14381445
np.insert(times, (0, times.size), (0 << u.Gyr, self.today.to(u.Gyr))),

0 commit comments

Comments
 (0)