SEIR
Overview
The extended SEIR Model with Vaccination was first proposed by Ghostine et al. (2021) [1] to simulate the novel coronavirus disease (COVID-19) spread. The model considers 7 stages of infection:
Susceptible (S),
Exposed (E),
Infected (I),
Quarantined (Q),
Recovered (R),
Deaths (D),
Vaccinated (V).
There are several parameters that can be changed to study different cases and regions:
\(\theta\): New births and new residents per unit of time,
\(\beta\): Transmission rate divided by the population size,
\(\alpha\): Vaccination rate,
\(\mu\): Natural death rate,
\(\gamma\): Average latent time,
\(\delta\): Average quarantine time,
\(\kappa\): Mortality rate,
\(\lambda\): Average days until recovery,
\(\rho\): Average days until death,
\(\sigma\): Vaccine in-efficacy (\(0 \leq \sigma \leq 1\)).
Earth system models are often descritized in space. The state in these models represents variables at different spatial locations. The variables of the SEIR model describe the stage/phase of the disease and they do not have a physical location. To this end, techniques such as spatial localization are not applicable in this model. DART assumes that all 7 variables belong to the same virtual point in space. Any assimilated observation will impact all 7 variables.
The SEIR model uses identity observations. Typical observations that can be assimilated are:
Recovered, Death and Vaccinated.
Some agencies provide data for “Confirmed” cases. This can be used to compute and assimilate the number of active (which is equivelant to quarantined) cases as shown:
Active/Quarantined (Q) = Confirmed - Recovered (R) - Deaths (D)
Initial versions of the model were tested using DART_LAB. This was conducted by Shaniah Reece as part of her SIParCS internship at NSF NCAR (2022).
Namelist
The &model_nml
namelist is read from the input.nml
file. Namelists
start with an ampersand &
and terminate with a slash /
. Character
strings that contain a /
must be enclosed in quotes to prevent them from
prematurely terminating the namelist.
&model_nml
model_size = 40,
delta_t = 0.04167,
time_step_days = 0,
time_step_seconds = 3600,
num_pop = 331996199,
pert_size = 0.5,
t_incub = 5.6,
t_infec = 3.8,
t_recov = 14.0,
t_death = 7.0,
alpha = 0.000001,
theta = 12467,
mu = 0.000025,
sigma = 0.05,
beta = 0.00000000136,
kappa = 0.00308,
/
Description of each namelist entry
Item |
Type |
Description |
---|---|---|
model_size |
integer |
Number of variables in model. |
delta_t |
real(r8) |
Non-dimensional timestep. This is mapped to the dimensional timestep specified by time_step_days and time_step_seconds. |
time_step_days |
integer |
Number of days for dimensional timestep, mapped to delta_t. |
time_step_seconds |
integer |
Number of seconds for dimensional timestep, mapped to delta_t. |
num_pop |
integer |
Population size. |
pert_size |
real(r8) |
Size of perturbation used to create an ensemble using a lognormal pdf. |
t_incub |
real(r8) |
Incubation period \(\equiv 1/\gamma\). |
t_infec |
real(r8) |
Infection time \(\equiv 1/\delta\). |
t_recov |
real(r8) |
Recovery period \(\equiv 1/\lambda\). |
t_death |
real(r8) |
Time until death \(\equiv 1/\rho\). |
alpha |
real(r8) |
Vaccination rate. If study period starts before vaccination is available, this must be set to 0. |
theta |
integer |
New birth and new residents. |
mu |
real(r8) |
Natural death rate. |
sigma |
real(r8) |
Vaccination inefficacy (e.g., if the vaccine is 95% effective, then \(\sigma = 1-0.95 = 0.05\)). |
beta |
real(r8) |
Transmission rate divided by population size. |
kappa |
real(r8) |
Mortality rate. |