-
Notifications
You must be signed in to change notification settings - Fork 33
ModelTransmission
OpenMalaria simulates inter-human transmission of malaria, taking modeled values of human infectiousness to mosquitoes as input and translating this into subsequent human exposure to infectious mosquitoes (as inoculations per person per year, denoted EIR: Entomological Infection Rate). Humans vary in the extent to which they are bitten by mosquitoes and the consequent relative availability to mosquitoes must be taken into account both in determining how average exposure translates into infections in any specific human, and also the rate at which any specific human infection transmits to mosquitoes.
The simulator is designed to simulate seasonally forced transmission,i.e., we assume that in the absence of interventions the EIR recurs annually with the same seasonal pattern. The effect on transmission of interventions on the human population is simulated by changing the infectiousness to mosquitoes.The average human infectiousness to mosquitoes, denoted kappa
, is modelled as a function of simulated parasite densities following the model given by Ross et al, with a correction based on the field measurements reviewed in Killeen et al. At each timestep, the infectiousness of each human is computed (kappa_i
) and the overall value of kappa
for the population is calculated as a weighted averaged:
kappa = sum_{i in pop}( alpha_i * kappa_i ) / sum_i( alpha_i )
where pop
is the human population, alpha_i
is the availability(ModelTransmission#host-weight-and-availability-to-mosquitoes) of human i
relative to the population's mean availability, and kappa_i
is the infectiousness of human i
, expressed as the proportion of mosquitoes that acquire infections when they feed on that human.
OpenMalaria implements feedback from human infectiousness, kappa
, to subsequent Entomological Infection Rate (EIR), via three different modes. In each case there is a fixed time lag between infection of the mosquito and transmission to humans, corresponding to the duration of the sporogonic cycle in the mosquito.
The simulation comprises different phases as described here. During the warm-up period, the entomological parameters are adjusted to try to ensure that the output EIR corresponds as closely as possible to that input. An exact match, consistent with the emergence rate (N_v0) being positive, may not be possible. This is particularly the case with small simulated populations or when the simulation is close to the limit of sustainable transmission (e.g. with high case-management coverage)The seasonality of the simulated EIR (which is close to that of S_v plus the delay due to the lag) may differ from the seasonality of the input EIR substantially.
The EIR simulated during the intervention phase will vary because of the effects of interventions. In addition, there may be stochastic variations or fluctuations even in the absence of interventions. The user can configure the way in which the simulated EIR responds to changes in kappa
, by using the mode
parameter, which is specified in the entomology
element of the XML.
The Equilibrium mode is used for the initialisation phase. In this mode the pre-specified seasonal pattern of the EIR is used to introduce infections to the human population over repeated transmission cycles. At each time point,kappa
is used to determine the EIR, which in turn changes human infection and immunity status. The mosquito populations are adjusted iteratively in the course of the initialisation via an iterative fitting algorithm that achieves an approximate steady state by the end of the initialisation. The steady state values of kappa
achieved at the initialisation are collected and stored in initialKappa
. There is no user configuration of the equilibrium mode.
In the static mode there is no feedback from kappa
to subsequent EIR.
With static transmission the seasonality pattern during the intervention phase of the simulation, reproduces the input pattern of seasonality. This is used for simulating the effects of human interventions in situations where exposure is known, and not modifiable by the interventions and can be configured by the user in either
In the dynamic mode, kappa
is adjusted depending on simulated levels of human infection at each time step,
The mode is usually switched to dynamicEIR
, for the intervention phase of the simulation as this is compatible with the full set of interventions. If the simulation is run using the dynamic transmission mode then the simulated EIR is not constrained to repeat the same seasonal pattern as the input EIR after the warm-up period.
Configuration of the different modes depends on the entomology model variant and on the XML Version as follows:
Model variant | simulation phase | versions | specification | description |
---|---|---|---|---|
both | Equilibrium | all | n.a. | the same data is used as the transmission during the intervention period |
nonVector | Static | 1-29 | mode = 2 | the same EIR profile is used as the transmission during the intervention period |
both | Dynamic | 1-29 | mode = 4 | EIR is scaled by kappa_d / initialKappa_d where d is the day-of-year. |
nonVector | Static | 30+ | mode = "forced" | for static transmission (previously "2") |
both | Dynamic | 30+ | mode = "dynamic" | for dynamic transmission (previously "4") |
nonVector | Static | 30+ | mode = "transientEIRknown" | EIR data from a changeEIR intervention |
The user can control the mode used when commencing the intervention phase of the simulation. In versions before 30 of OpenMalaria the change from the static to dynamic generation of the EIR is at the end of the warm-up period. In these simulations, even if the annualEIR is equal before and after the end of the warm-up period, the switch in seasonality may alter the annual number of new infections. Running scenarios without interventions shows the dynamics of EIR and human infectiousness (the continuous output mode with duringInit="true" is convenient for viewing this).
Simulated EIR is delayed relative to changes in kappa_d / initialKappa_d
by the entomological innoculation duration, usually parameterised in our simulations with the non-vector model as 10 days. However, a bug introduced in schema version 26 reduced this lag to 1 time-step (5-days for the 5-day time-step model). This bug should be fixed in version 30.
From the perspective of the mosquito, human hosts can be thought of as a resource, different amounts of which are offered by different humans. The simulations allow the availability of individual humans to mosquitoes to depend on the host-age, with the intention of capturing observations that larger humans are bitten more by mosquitoes. Before schema 24, this function was hard coded; since then, the data for them have been included in the scenario file. Standard values (based on a dataset describing ponderal growth in rural Tanzania) are as follows:
<human>
<availabilityToMosquitoes>
<group lowerbound="0.0" value="0.225940909648"/>
<group lowerbound="1.0" value="0.286173633441"/>
<group lowerbound="2.0" value="0.336898395722"/>
<group lowerbound="3.0" value="0.370989854675"/>
<group lowerbound="4.0" value="0.403114915112"/>
<group lowerbound="5.0" value="0.442585112522"/>
<group lowerbound="6.0" value="0.473839351511"/>
<group lowerbound="7.0" value="0.512630464378"/>
<group lowerbound="8.0" value="0.54487872702"/>
<group lowerbound="9.0" value="0.581527755812"/>
<group lowerbound="10.0" value="0.630257580698"/>
<group lowerbound="11.0" value="0.663063362714"/>
<group lowerbound="12.0" value="0.702417432755"/>
<group lowerbound="13.0" value="0.734605377277"/>
<group lowerbound="14.0" value="0.788908765653"/>
<group lowerbound="15.0" value="0.839587932303"/>
<group lowerbound="20.0" value="1.0"/>
<group lowerbound="20.0" value="1.0"/>
</availabilityToMosquitoes>
<weight multStdDev="0.14">
<group lowerbound="0.0" value="13.9856718"/>
<group lowerbound="1.0" value="18.30372108"/>
<group lowerbound="2.0" value="21.745749"/>
<group lowerbound="3.0" value="24.25753512"/>
<group lowerbound="4.0" value="26.06595444"/>
<group lowerbound="5.0" value="28.48868784"/>
<group lowerbound="6.0" value="30.84202788"/>
<group lowerbound="7.0" value="33.48638244"/>
<group lowerbound="8.0" value="35.20335432"/>
<group lowerbound="9.0" value="37.19394024"/>
<group lowerbound="10.0" value="40.1368962"/>
<group lowerbound="11.0" value="42.00539916"/>
<group lowerbound="12.0" value="44.53731348"/>
<group lowerbound="13.0" value="46.77769728"/>
<group lowerbound="14.0" value="49.48396092"/>
<group lowerbound="15.0" value="54.36"/>
<group lowerbound="20.0" value="60.0"/>
<group lowerbound="20.0" value="60.0"/>
</weight>
</human>
(Note that the repetition of the last value is required by the interpolation algorithm).
The weight
data is only required for 1-day timestep models (it is used by the drug model); the availabilityToMosquitoes
data is needed for all models. Graphs of the availability and weight data with interpolations (linear interpolations, shown by the blue lines, are enabled by default):
| Download openmalaria | Installation instructions | XML Schema Documentation |
XML Schema Version | Program version | master |
develop |
---|---|---|---|
43 | schema-43.0 |
- User Guide
- Compilation Guide
- Developer Guide
- Schema Update Guide
- Scenario Design Guide
- Monitoring Guide
- Changelog
- Schema Documentation
- Human demography
- Levels of transmission
- Parasite dynamics within humans
- P vivax dynamics
- Vector bionomics and transmission to humans
- Mosquito population dynamics
- Clinical (illness) models
- Time in the models