Current behaviour
The multi-disease acquisition probability for disease $i$ is computed as
$$p^{(i)} = \left(1 - \frac{p_\text{NI}^{(i)}}{c_S^{(i)}}\right)\left(1 - c_I^{(i)}\right)$$
where $p_\text{NI}^{(i)}$ is the daily probability of avoiding infection from contacts, $c_S^{(i)}$ is the co-susceptibility coefficient, and $c_I^{(i)}$ is the cross-immunity coefficient. Two corrections are applied at sample time: $p^{(i)}$ is overridden to zero when $p_\text{NI}^{(i)} = 1$, and negative values are produced as zero infection events through the standard uniform-draw comparison.
Issue
The formula is not naturally bounded in $[0,1]$:
- For $p_\text{NI}^{(i)} = 1$ (no infectious contacts) and $c_S^{(i)} > 1$, the first factor evaluates to $1 - 1/c_S^{(i)} > 0$, yielding a non-zero acquisition probability with no infectious agent present.
- For $c_S^{(i)} < p_\text{NI}^{(i)}$, the first factor is negative.
Both regimes are handled by out-of-band code paths rather than by the stated equation. The resulting parameter-dependent clipping is non-differentiable and obscures interpretation of co-susceptibility sweeps.
Proposed change
Replace the formula with the multiplicative-hazard form
$$p^{(i)} = \left(1 - \left(p_\text{NI}^{(i)}\right)^{c_S^{(i)}}\right)\left(1 - c_I^{(i)}\right)$$
The form is bounded in $[0,1]$ for all $p_\text{NI}^{(i)} \in [0,1]$, $c_S^{(i)} > 0$, and $c_I^{(i)} \in [0,1]$. The interpretation is that $c_S^{(i)}$ scales the per-day cumulative hazard $-\ln p_\text{NI}^{(i)}$.
Limits
-
$p_\text{NI}^{(i)} = 1 \Rightarrow p^{(i)} = 0$ for all $c_S^{(i)} > 0$.
-
$c_S^{(i)} = 1 \Rightarrow p^{(i)} = \left(1 - p_\text{NI}^{(i)}\right)\left(1 - c_I^{(i)}\right)$, recovering the neutral-coupling form.
-
$c_I^{(i)} = 1 \Rightarrow p^{(i)} = 0$.
-
$c_S^{(i)} \to \infty \Rightarrow p^{(i)} \to 1 - c_I^{(i)}$, bounded above by the residual susceptibility after cross-immunity.
-
$c_S^{(i)} \to 0 \Rightarrow p^{(i)} \to 0$.
Implementation impact
- Modify the per-step acquisition probability in the multi-disease infection update kernels.
- The two out-of-band corrections (override at $p_\text{NI}^{(i)} = 1$ and the implicit clip for $p^{(i)} < 0$) can be removed.
- All multi-disease validation scenarios will require re-execution; quantitative outputs will shift, though the form agrees with the current implementation at $c_S^{(i)} = 1$ and for small per-day infection probabilities.
- The change affects only the multi-disease coupling layer; single-disease behaviour is unchanged.
Reference
Reported in the internal review of the multi-disease paper (Nugent, 2026-04-25), major issue 1. The paper retains the current formula with an explicit piecewise specification and physical justification; the formula change is deferred to this issue.
Current behaviour
The multi-disease acquisition probability for disease$i$ is computed as
where$p_\text{NI}^{(i)}$ is the daily probability of avoiding infection from contacts, $c_S^{(i)}$ is the co-susceptibility coefficient, and $c_I^{(i)}$ is the cross-immunity coefficient. Two corrections are applied at sample time: $p^{(i)}$ is overridden to zero when $p_\text{NI}^{(i)} = 1$ , and negative values are produced as zero infection events through the standard uniform-draw comparison.
Issue
The formula is not naturally bounded in$[0,1]$ :
Both regimes are handled by out-of-band code paths rather than by the stated equation. The resulting parameter-dependent clipping is non-differentiable and obscures interpretation of co-susceptibility sweeps.
Proposed change
Replace the formula with the multiplicative-hazard form
The form is bounded in$[0,1]$ for all $p_\text{NI}^{(i)} \in [0,1]$ , $c_S^{(i)} > 0$ , and $c_I^{(i)} \in [0,1]$ . The interpretation is that $c_S^{(i)}$ scales the per-day cumulative hazard $-\ln p_\text{NI}^{(i)}$ .
Limits
Implementation impact
Reference
Reported in the internal review of the multi-disease paper (Nugent, 2026-04-25), major issue 1. The paper retains the current formula with an explicit piecewise specification and physical justification; the formula change is deferred to this issue.