This script debiases one dataset (e.g. GCM, re-analysis product) given another higher resolution product or empirical observations. It assumes input are in annual CF standard files that are generate from the pecan extract or download funcitons.

debias.met.regression(train.data, source.data, n.ens, vars.debias = NULL,
  CRUNCEP = FALSE, pair.anoms = TRUE, pair.ens = FALSE,
  uncert.prop = "mean", resids = FALSE, seed = Sys.Date(), outfolder,
  yrs.save = NULL, ens.name, ens.mems = NULL, force.sanity = TRUE,
  sanity.tries = 25, lat.in, lon.in, save.diagnostics = TRUE,
  path.diagnostics = NULL, parallel = FALSE, n.cores = NULL,
  overwrite = TRUE, verbose = FALSE)

Arguments

train.data

- training data coming out of align.met

source.data

- data to be bias-corrected aligned with training data (from align.met)

n.ens

- number of ensemble members to generate and save for EACH source ensemble member

vars.debias

- which met variables should be debiased? if NULL, all variables in train.data

CRUNCEP

- flag for if the dataset being downscaled is CRUNCEP; if TRUE, special cases triggered for met variables that have been naively gapfilled for certain time periods

pair.anoms

- logical stating whether anomalies from the same year should be matched or not

pair.ens

- logical stating whether ensembles from train and source data need to be paired together (for uncertainty propogation)

uncert.prop

- method for error propogation if only 1 ensemble member; options=c(random, mean); *Not Implemented yet

resids

- logical stating whether to pass on residual data or not *Not implemented yet

seed

- specify seed so that random draws can be reproduced

outfolder

- directory where the data should go

yrs.save

- what years from the source data should be saved; if NULL all years of the source data will be saved

ens.name

- what is the name that should be attached to the debiased ensemble

ens.mems

- what labels/numbers to attach to the ensemble members so we can gradually build bigger ensembles without having to do do giant runs at once; if NULL will be numbered 1:n.ens

force.sanity

- (logical) do we force the data to meet sanity checks?

sanity.tries

- how many time should we try to predict a reasonable value before giving up? We don't want to end up in an infinite loop

lat.in

- latitude of site

lon.in

- longitude of site

save.diagnostics

- logical; save diagnostic plots of output?

path.diagnostics

- path to where the diagnostic graphs should be saved

parallel

- (experimental) logical stating whether to run temporal_downscale_functions.R in parallel *Not Implemented yet

n.cores

- (experimental) how many cores to use in parallelization *Not implemented yet

overwrite

- overwrite existing files? Currently ignored

verbose

logical: should ncdf4 functions print debugging information as they run?

Details

Debias Meteorology using Multiple Linear Regression Statistically debias met datasets and generate ensembles based on the observed uncertainty

See also

Other debias - Debias & Align Meteorology Datasets into continuous time series: align.met