isimip: Bias correction ISI-MIP method

isimipR Documentation

Bias correction ISI-MIP method

Description

Implementation of the ISI-MIP methodology

Usage

isimip(y, x, newdata, threshold = 1, type = c("additive", "multiplicative"))

Arguments

y

A grid or station data containing the observed climate data for the training period

x

A grid containing the simulated climate by the model for the training period. This can be either the same variable as obs, in the case of model calibration (bias correction and related techniques) or MOS (model output statistics) approaches, or a set of predictors in the case of perfect prog downscaling approaches (possibly after principal component analysis via the prinComp output).

newdata

A grid containing the simulated climate for the variables used in x, but considering the test period. If x is a multimember grid (the member dimension is > 1), the function assumes that the order of the members is the same in newdata.

threshold

The minimum value that is considered as a non-occurrence (e.g. precipitation). Default to 1.

type

Type of bias correction approach, either multiplicative (e.g. precipitation, type = "multiplicative") or additive (e.g. temperature, type = "additive", the default).

Details

The methods available are qqmap, delta, unbiasing, scaling and Piani (only precipitation).

ISI-MIP

Recently, Hempel et al.2013 proposed a new bias correction methodology within the ISI-MIP Project, the first Inter-Sectoral Impact Model Intercomparison Project, funded by the German Federal Ministry of Education and Research (BMBF). This method has been developed to preserve the change signal (trend, climate change signal, etc.) and can be applied to several variables (precipitation, mean, maximum and minimum temperature, windspeed and eastward/northward components, radiation, pressure and humidity). The main difference with the rest of bias correction methods included in the biasCorrection function is that the ISI-MIP method includes dependencies between some variables. That is, to correct some of the variables (maximum/minimum temperatures and eastward/northward wind components) others are needed (mean temperature and windspeed).

sim <- isimip(obs, pred, sim) # Temperature or other variable

sim <- isimip(obs, pred, sim, pr.threshold = threshold) # In the case of precipitation we should include the threshold considered of wet/dry days

Value

A calibrated object of the same spatio-temporal extent of the input grid

Author(s)

S. Herrera

References

  • Hempel, S., Frieler, K., Warszawski, L., Schewe, J., and Piontek, F. (2013) A trend-preserving bias correction: the ISI-MIP approach, Earth Syst. Dynam., 4, 219-236

See Also

biasCorrection for details on other standard methods for bias correction

Other downscaling: biasCorrection(), glimpr()

Examples

## Not run: 
# Download VALUE (station data) and NCEP (model data) datasets 
dir.create("mydirectory")
download.file("http://meteo.unican.es/work/downscaler/data/VALUE_ECA_86_v2.tar.gz", 
              destfile = "mydirectory/VALUE_ECA_86_v2.tar.gz")
download.file("http://meteo.unican.es/work/downscaler/data/Iberia_NCEP.tar.gz", 
              destfile = "mydirectory/Iberia_NCEP.tar.gz")
# Extract files from the tar.gz file
untar("mydirectory/VALUE_ECA_86_v2.tar.gz", exdir = "mydirectory")
untar("mydirectory/NCEP_Iberia.tar.gz", exdir = "mydirectory")
# Path to the VALUE dataset and the NCEP ncml file.
value <- "mydirectory/VALUE_ECA_86_v2"
ncep <- "mydirectory/Iberia_NCEP/Iberia_NCEP.ncml"
# Data inventories provides a quick overview of the available data
value.inv <- dataInventory(value)
ncep.inv <- dataInventory(ncep)
str(value.inv)
str(ncep.inv)
# Load precipitation for boreal winter (DJF) in the train (1991-2000) and test (2001-2010) periods,
# for the observations (VALUE) and the Iberia_NCEP datasets
obs <- loadStationData(dataset = value, var="precip", lonLim = c(-12,10), latLim = c(33,47),
                       season=c(12,1,2), years = 1991:2000)
prd <- loadGridData(ncep, var = "tp", lonLim = c(-12,10), latLim = c(33,47),
                    season = c(12,1,2), years = 1991:2000)
sim <- loadGridData(ncep, var = "tp", lonLim = c(-12,10), latLim = c(33,47),
                    season = c(12,1,2), years = 2001:2010)
# Interpolate the observations onto the model's grid. We use the method "nearest" 
# and the getGrid function to ensure spatial consistency:
obs <- interpGrid(obs, new.coordinates = getGrid(prd), method = "nearest")
# Apply the bias correction method:
simBC <- isimip (obs, prd, sim, threshold = 1) # ISI-MIP Method
par(mfrow = c(1,2))
plotMeanGrid(sim)
plotMeanGrid(simBC)
par(mfrow = c(1,1))

## End(Not run)

SantanderMetGroup/downscaleR documentation built on July 4, 2023, 4:28 a.m.