Implement weather-dependent transmission model#150
Conversation
Co-authored-by: Andrew Myers <atmyers@lbl.gov>
|
Hi Andrew, the example input file currently uses your local data. Could you change them to relative paths? Also, the weather transmission model substantially suppresses the virus transmission. Shouldn't we choose neutral model parameters to see more reasonable impact of the weather? |
Co-authored-by: Andrew Myers <atmyers@lbl.gov>
|
Opened #160 against this branch: it reference-normalizes the weather transmission scale factor. The exponential is currently referenced at |
The weather transmission model rho(T,AH) = p_max * exp(-beta_AH*AH - alpha_T*max(0,T-T0)) references the absolute-humidity exponential at AH=0, which never occurs in the data (US min 0.13, p05 2.9 g/m^3). As a result rho is far below 1 everywhere (US mean ~0.20, peak winter ~0.38). Because rho multiplies the calibrated baseline transmission probabilities (disease.p_trans / xmit_*), enabling the weather model suppressed effective transmission ~5x year-round and craters the calibrated R0. Move the exponential's reference point to a flu-season absolute humidity AH_ref (default 6.0 g/m^3) and clamp the result to 1: rho = min(1, p_max * exp(-beta_AH*(AH - AH_ref) - alpha_T*max(0,T-T0))) With p_max=1 the scale factor is 1 at/below AH_ref (and T<=T0), so the calibrated baseline is recovered during flu-season conditions and weather only attenuates toward summer. The clamp keeps 1 - infect*xmit*rho >= 0. Set AH_ref=0 to recover the previous un-normalised behaviour. The model form (exp decay in AH, T0~5C threshold) remains as supported by Shaman & Kohn 2009, Peci et al. 2019, Park et al. 2020, and Lowen et al. 2007; only the normalisation changes. Verified on a 120-day MA run: AH_ref=6 reproduces the no-weather baseline (~141k infections), whereas AH_ref=0 suppresses it to ~42k. Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
This implements a model where temperature and humidity data affect disease transmission. The formula used is:
where the meaning of the parameters is described in the documentation. To turn this on, add
agent.do_weather=1to your inputs file.