BiasCorrection.Rd 2.97 KB
Newer Older
% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/Calibration.R
\name{BiasCorrection}
\alias{BiasCorrection}
\title{Bias Correction based on the mean and standard deviation adjustment following Torralba et al. (2017) }
\usage{
BiasCorrection(data)
}
\arguments{
\item{data}{a list of s2dverification objects (lists) as output by the \code{Load} function from the s2dverification package, one for each variable.}

\value{
\code{$biasCorrected} {An array with the bias corrected forecasts with same dimensions that data$mod}
}
\description{
This function applies the simple bias adjustment technique described in Torralba et al. (2017). The adjusted forecasts have an equivalent standard deviation and mean to that of the reference dataset.
}
\examples{
# Creation of sample s2dverification objects. These are not complete
# s2dverification objects though. The Load function returns complete objects.
# Example
mod1 <- 1 : (1 * 3 * 4 * 5 * 6 * 7)
dim(mod1) <- c(dataset = 1, member = 3, sdate = 4, ftime = 5, lat = 6, lon = 7)
obs1 <- 1 : (1 * 1 * 4 * 5 * 6 * 7)
dim(obs1) <- c(dataset = 1, member = 1, sdate = 4, ftime = 5, lat = 6, lon = 7)
lon <- seq(0, 30, 5)
lat <- seq(0, 25, 5)
data1 <- list(mod = mod1, obs = obs1, lat = lat, lon = lon)
a <- BiasCorrection(data1)
str(a)
dim(mod1) <-
  c(
    dataset = 1,
    member = 3,
    sdate = 4,
    ftime = 5,
    lat = 6,
    lon = 7
  )
dim(obs1) <-
  c(
    dataset = 1,
    member = 1,
    sdate = 4,
    ftime = 5,
    lat = 6,
    lon = 7
  )
lon <- seq(0, 30, 5)
lat <- seq(0, 25, 5)

data1 <- list(
  mod = mod1,
  obs = obs1,
  lat = lat,
  lon = lon
)
a1 <- BiasCorrection(data1)

mod2 <- mod1
mod2[1, 2, 1, 1, 1, 1] <- NA
data2 <- list(
  mod = mod2,
  obs = obs1,
  lat = lat,
  lon = lon
)
a2 <- BiasCorrection(data2)

obs2 <- obs1
obs2[1, 1, 2, 1, 1, 1] <- NA
data3 <- list(
  mod = mod1,
  obs = obs2,
  lat = lat,
  lon = lon
)
a3 <- BiasCorrection(data3)

data4 <- list(
  mod = mod2,
  obs = obs2,
  lat = lat,
  lon = lon
)
a4 <- BiasCorrection(data4)

lat2 <- lat
lat2[3] <- NA
data5 <- list(
  mod = mod1,
  obs = obs1,
  lat = lat2,
  lon = lon
)
a5 <- BiasCorrection(data5)

lon2 <- lon
lon2[5] <- NA
data6 <- list(
  mod = mod1,
  obs = obs1,
  lat = lat,
  lon = lon2
)
a6 <- BiasCorrection(data6)

data7 <- list(
  mod = mod1,
  obs = obs1,
  lat = lat2,
  lon = lon2
)
a7 <- BiasCorrection(data7)

data8 <- list(
  mod = mod1,
  obs = obs2,
  lat = lat2,
  lon = lon2
)
a8 <- BiasCorrection(data8)

data9 <- list(
  mod = mod2,
  obs = obs1,
  lat = lat2,
  lon = lon2
)
a9 <- BiasCorrection(data9)

data10 <- list(
  mod = mod2,
  obs = obs2,
  lat = lat2,
  lon = lon2
)
a10 <- BiasCorrection(data10)
}
\references{

Torralba, V., Doblas-Reyes, F. J., MacLeod, D., Christel, I., & Davis, M. (2017). Seasonal climate prediction: A new source of information for the management of wind energy resources. Journal of Applied Meteorology and Climatology, 56(5), 1231-1247.

}
\author{
Verónica Torralba, \email{veronica.torralba@bsc.es}
}