Age-structured SEIcIscR (clinical/subclinical)¶
Age-structured SEIcIscR model of the Wuhan COVID-19 outbreak with clinical and subclinical infectious compartments and contact-matrix mediated transmission.
SEIcIscRModel(config)
¶
Bases: Model
Age-structured SEIcIscR model of the Wuhan COVID-19 outbreak.
Faithful translation of the SEIcIscR variant of Prem et al. (2020): a deterministic, discrete-time (dt = 1 day) age-structured model with
S -> E (contact-matrix mediated force of infection)
E -> Ic (clinical, fraction rho, age-specific)
E -> Isc (subclinical, fraction 1 - rho)
Ic -> R
Isc-> R
Clinical (Ic) cases are fully infectious; subclinical (Isc) cases are only 25% as infectious. Transitions use the discrete-time hazard 1 - exp(-1/duration) exactly as in the source (rather than 1/duration), so a fixed-step Euler solver reproduces the difference equations.
NOTE: the source's location-decomposed contact matrix (home/work/school/ others) and its time-varying pWorkOpen intervention schedule cannot be represented exactly; the framework's single aggregated (Prem 2021) contact matrix is used and the interventions are approximated as reductions on beta.
Source code in compartment/models/wuhan_seir_model/model.py
get_initial_population(admin_zones, compartment_list, **kwargs)
classmethod
¶
Seed each zone's infected percentage into the clinical infectious track.
The framework default seeds a compartment literally named "I", which this model does not have. The seed goes into Ic (clinical infectious); the E/Ic/Isc balance relaxes to the model's own proportions within a few simulated days.