Climate sensitive infectious diseases are a subject of major concern for public health agencies around the world in the context of global change. Malaria is an infectious disease caused by parasites of the genus Plasmodium and transmitted by mosquitoes of the genus Anopheles. Although Europe has been free of endemic malaria circulation since the early 1970s as a result of improving socio-economic conditions, improving climatic conditions pose a risk of malaria re emergence in the continent.
In the context of the Lancet Countdown in Europe collaboration, the Climate Suitability for Malaria indicator was created for tracking the climatic conditions for transmission of this disease in the continent between 1950 and 2021. This indicator is based on the climatic requirements from Plasmodium vivax, former parasite endemic to Europe.
In this vignette, we propose to show the computation of the Climate Suitability for Malaria indicator using the TotalTimeExceedingThreshold - function from the CSIndicators package. This function is able to operate with multidimensional arrays and s2dv_cube objects. In this example, we will make use of the CST_TotalTimeExceedingThreshold function, which was developed for the latter (For further information about the different types of objects visit the section about Data retrieval and storage from CSTools package ).
In addition to the functiosn from the CSIndicators package, we will make use of functions from the CSTools package.
Temporary links to functions
In this vignette, the malaria indicator between 2010 and 2020 will be computed for the Iberian Peninsula.
To compute the malaria indicator, we will use reanalysis data from the ERA5-Land repository. These data are produced by the Copernicus service and extracted and curated by the Earth Sciences department from the Barcelona Supercomputing Center. The function CST_Load
from the CSTools
package allows the user to access the processed data and to work with it using function from the CSIndicators
package.
In order to extract data using CST_Load
, there are some requirements to be met. First, the path to the files is introduced using whitecards delimited by dollar signs, which are useful for iterating over variables. Second, the temporal extent and resolution of the output is inputted with sdates
, which takes a vector of all necessary dates. The spatial extent is insputed within lonmax
, lonmin
, latmax
and latmin.
# Path to file locations using whitecards
path_ERA5_CDS <- list(path='/esarchive/recon/ecmwf/era5land/$STORE_FREQ$_mean/$VAR_NAME$_f1h/$VAR_NAME$_$YEAR$$MONTH$.nc')
# Temporal extent and resolution:
# We will work with all months from 2010 to 2020
year_in <- 2020 # initial year
year_fi <- 2021 # last year
month_in <- 1 # first month
month_fi <- 12 # last month
sdates <- paste0(year_in:year_fi, '0101')
# Extract data
vars <- c('tas', 'tdps', 'prlr')
out <- NULL
for(var in vars){
out[[var]] <- CST_Load_s2dv(var = var,
exp = NULL, # We only require observved data
obs = list(path_ERA5_CDS),
sdates = sdates,
lonmax = 355, lonmin = 350,
latmax = 45, latmin = 43,
storefreq = 'monthly',
leadtimemin = month_in,
leadtimemax = month_fi,
output = "lonlat")
}
This function creates s2dv_cube
objects, defined as XXXX. For further information about these objects visit Data retrieval and storage.
As an example, we will show the dimensions of near surface temperature
## dataset member sdate ftime lat lon
## 1 1 2 12 21 51
Near surface temperature is made up of 10 years with 12 months per year distributed over a grid of XXxXX.
The first step before working with temperature is transforming their unit from Kelvin (K) to Degrees Celsius (C).
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## 272.5 281.8 284.7 284.9 288.7 292.9 19680
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## -0.67 8.61 11.56 11.77 15.56 19.78 19680
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## 0 0 0 0 0 0 19680
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## 2.22 61.84 99.72 107.85 142.38 395.53 19680
out$rh <- out$tas
out$rh$data <- 100*(exp((17.625*out$tdps$data)/(243.04+out$tdps$data)) /
exp((17.625*out$tas$data) / (243.04+out$tas$data)))
summary(out$rh$data)
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## 67.55 79.30 81.90 81.88 83.97 116.08 19680
Add chunk
Add chunk
Add chunk
Add chunk
Add text