7. Environmental description

7.1. Temperature

Temperature is daily mean. This is translated to a hut temperature, and also influences the mosquito’s sporogonic and gonotrophic cycles, as well as larval maturation and adult vector survival.

The model distinguishes between ambient outdoor temperature ($T_{outdoor}$) and indoor temperature ($T_{indoor}$).

The indoor temperature ($T_{indoor}$) is calculated based on the daily mean outdoor temperature using the scheme from Lunde et al. (Malaria Journal 2013, 12:28):

\[T_{indoor} = 10.33 + 0.58 \times T_{outdoor}\]

Important parameter: $T_{outdoor}$ (rtemp in code)

The temperature experienced by the vector ($T_{vector}$) is then a weighted mix of the indoor and outdoor temperatures, controlled by the parameter $beta_{indoor}$ (rbeta_indoor in code), which represents the proportion of time spent indoors:

\[T_{vector} = \beta_{indoor} \times T_{indoor} + (1 - \beta_{indoor}) \times T_{outdoor}\]

Important parameter: $beta_{indoor}$ (rbeta_indoor in code)

Additionally, a water temperature ($T_{water}$) is derived by adding an offset ($Offset_{water}$) to the outdoor temperature:

\[T_{water} = T_{outdoor} + Offset_{water}\]

Important parameter: $Offset_{water}$ (rwater_tempoffset in code)

These calculated temperatures ($T_{vector}$ and $T_{water}$) are then used in various temperature-dependent processes within the model, such as the gonotrophic cycle, sporogonic cycle, and vector/larvae survival.

7.2. Hydrology

7.2.1. Temporary Pond parameterization

The model simulates temporary ponding, which is crucial for mosquito breeding. The variable $W_{pond}$ (rwaterpond in code) represents the fraction of water surface available for breeding. The scheme for calculating $W_{pond}$ depends on the parameter $Scheme_{pond}$ (npud_scheme in code).

Scheme 0: External Data

If $Scheme_{pond}$ is set to 0, the ponding fraction ($W_{pond}$) is read from an external data file, and rainfall is not used for pond calculation.

Scheme 1: Simple Hydro Scheme (Tompkins and Ermert 2013)

This is a simpler hydrological scheme:

\[W_{pond}^{t+dt} = \frac{W_{pond}^{t} + Rate_{pond} \times dt \times R \times W_{max}}{1 + Rate_{pond} \times dt \times (R + Evap_{pond} + Infil_{soil})}\]

Where: * $W_{pond}^{t}$: Pond fraction at current time step. * $W_{pond}^{t+dt}$: Pond fraction at next time step. * $R$: Daily rainfall (zrain in code), with safety limits applied (0.0 to 200.0 mm). * $Rate_{pond}$: Ponding rate (wpond_rate in code). * $dt$: Timestep. * $W_{max}$: Maximum pond fraction (wpond_max in code). * $Evap_{pond}$: Pond evaporation rate (wpond_evap in code). * $Infil_{soil}$: Soil infiltration rate (rsoilinfil in code).

Important parameters: $Rate_{pond}$, $W_{max}$, $Evap_{pond}$, $Infil_{soil}$.

Scheme 2: Revised Hydrology (Asare et al. 2016a, Geospatial Health)

This is a more sophisticated implicit scheme that incorporates pond geometry, initial abstraction, runoff calculation, and evaporation/infiltration. This scheme is described in detail in Asare et al. 2016a (Geospatial Health) and Asare, Tompkins and Bomblies (PLOS One 2016). It includes a shape factor for pond geometry and initial abstraction, which is important to prevent ponding after light rain events.

The scheme’s core equation is based on the change in water depth over time: $dw/dt = K w^{-p/2} (fQ - w(E+fI))$, where: * $K$: Pond geometry scale factor (related to $S_0$ and $h_0$ in geometry model). * $p$: Pond geometry power factor (0.5-2 for temporary ponds, 3-5 for lakes). * $f$: Proportion of maximum pond area factor ($1 - w/w_{max}$). * $Q$: Runoff. * $E$: Evaporation from ponds. * $I$: Maximum infiltration rate from ponds.

First, runoff ($Q$) is calculated using the SCS (Soil Conservation Service) formula:

\[Q = \frac{\max(0.0, R - \lambda_{pond} \times S_{pond})^2}{R + (1 - \lambda_{pond}) \times S_{pond}}\]

Where: * $R$: Daily rainfall (zrain in code). * $lambda_{pond}$: Initial abstraction coefficient (wpond_lambda in code, traditionally 0.2). * $S_{pond}$: Potential maximum retention (wpond_S in code).

Important parameters: $lambda_{pond}$, $S_{pond}$.

Then, intermediate parameters for the implicit solution, $C_1$ (zpud1 in code) and $C_2$ (zpud2 in code), are calculated based on pond geometry parameters:

\[C_1 = \frac{2 \times dt}{P_{shape} \times D_{ref}}\]
\[C_2 = \frac{2 \times dt \times W_{ref}^{P_{shape}/2}}{P_{shape} \times D_{ref}}\]

Where: * $P_{shape}$: Pond geometry power factor + 2 (wpond_shapep2 in code). * $D_{ref}$: Reference water depth (wpond_depthref in code). * $W_{ref}$: Reference pond area (wpond_ref in code).

Important parameters: $P_{shape}$, $D_{ref}$, $W_{ref}$.

A first guess solution ($W_{guess}$) for $W_{pond}$ is computed:

\[W_{guess} = \frac{W_{pond}^{t} + C_1 \times (Q \times W_{max})}{1 + C_1 \times (Q + Evap_{pond} - R + \frac{W_{ref} \times R}{W_{max}} + \frac{W_{ref} \times Infil_{soil}}{W_{max}})}\]

Finally, the solution for $W_{pond}$ is updated using an implicit formulation:

\[W_{pond}^{t+dt} = \frac{W_{pond}^{t} + C_2 \times W_{guess}^{-P_{shape}/2} \times Q \times W_{max}}{1 + C_2 \times W_{guess}^{-P_{shape}/2} \times (Q + Evap_{pond} - R + \frac{W_{guess} \times R}{W_{max}} + \frac{W_{guess} \times Infil_{soil}}{W_{max}})}\]

Regardless of the scheme chosen, the final $W_{pond}$ value is constrained within minimum and maximum bounds ($W_{min}$, $W_{max}$).

Important parameters: $W_{min}$ (wpond_min in code), $W_{max}$ (wpond_max in code).

7.2.2. Urban breeding sites

The provided code excerpt does not contain explicit details about “Urban breeding sites” as a separate hydrological component. The pond model described in Section 7.2.1 appears to be a general mechanism for temporary pond formation. If urban breeding sites are handled differently, it would likely be through specific parameterizations within the $W_{pond}$ related variables (e.g., $W_{max}$, $Infil_{soil}$) or by using $Scheme_{pond}=0$ to input urban-specific pond data.

7.2.3. Permanent water features

The code mentions $W_{perm}$ (rwaterperm in code) as a separate variable for “permanent water bodies” in comments (e.g., “breeding water fraction is the sum of temporary ponds and permanent water bodies”). However, the provided excerpt of the “Pond model” section only shows the update for $W_{pond}$ (temporary ponds). There is no explicit calculation or update for $W_{perm}$ shown in this section of the code. This implies that $W_{perm}$ is likely a static input or is handled in a different part of the model. The final $W_{pond}$ value, after calculation, represents the “temporary pond” component, which would then be combined with $W_{perm}$ (permanent water) elsewhere in the model to determine the total breeding water.