Title: | Spatial Downscaling Using Bias Correction Approach |
---|---|
Description: | Spatial downscaling of climate data (Global Circulation Models/Regional Climate Models) using quantile-quantile bias correction technique. |
Authors: | Rasheed AM, Egodawatta P, Goonetilleke A, McGree J |
Maintainer: | Rasheed AM <[email protected]> |
License: | GPL-2 |
Version: | 0.1.0 |
Built: | 2024-12-18 06:45:03 UTC |
Source: | CRAN |
EC-EARTH (GCM) rainfall data at the Gold Coast Seaway meteorologican station, Australia (station number - 40764, Period- 1/1/2000 to 12/31/2012, Latitude/longitude - -27.9390/153.4283)
data_model
data_model
A data.frame of time and precipitation in mm for every 3h interval.
EC-EARTH (GCM) furure (RCP 4.5) rainfall data at the Gold Coast Seaway meteorologican station, Australia (station number - 40764, Period- 1/1/2026 to 12/31/2045, Latitude/longitude - -27.9390/153.4283)
data_model_future
data_model_future
A data.frame of time and precipitation in mm for every 3h interval.
Observational rainfall data at the Gold Coast Seaway meteorologican station, Australia (station number - 40764, Period- 1/4/2000 to 12/31/2012, Latitude/longitude - -27.9390/153.4283)
data_observation
data_observation
A data.frame of time and precipitation in mm for every 3h interval
Generating the future climate data (rainfall)
downscale(obs_c, mod_c, obs_v, mod_v, mod_fut)
downscale(obs_c, mod_c, obs_v, mod_v, mod_fut)
obs_c |
vector of observational climate data (rainfall) used for calibrating the model |
mod_c |
vector of GCM/RCM rainfall data (rainfall) used for calibrating the model |
obs_v |
vector of observational climate data (rainfall) used for validating the model |
mod_v |
vector of GCM/RCM climate data (rainfall) used for validating the model |
mod_fut |
vector of GCM/RCM future climate data (rainfall) need to be downscaled |
1) Dry-days correction / Defining threshold values
The relationship between the cumulative frequencies (thresholds) corresponding to the dry days of GCM/RCM data and that of the observational data is defined by a polynomial function given by;
threshold_obs = (threshold_mod)^n
n = ln(threshold_obs_c) / ln(threshold_mod_c)
2) wet-days correction / Correcting the intensity of the GCM/RCM data
Two parameter (shape and scale factors) gamma distribution function is used to model the frequency distributions of the rainfall data. The GCM/RCM rainfall above the threshold were corrected using unique correction factors for different cumulative frequencies.
corrected_mod_fut = mod_fut * F-1(F.mod_fut, sh_obs_c,,sc_obs_c)/ F-1 (F.mod_fut,sh_mod_c,,sc_mod_c)
where obs - observational data; mod - GCM/RCM data; n - constant; c - calibration; v - validation; fut - future data; sh - shape factor; sc- scale factor; F. - cumulative density function and F-1 - inverse of cumulative density function
#subsetting dat_model mod_calibration=subset(data_model,(year==2003|year==2005|year==2007|year==2009|year==2011)) mod_validation= subset(data_model,(year==2004|year==2006|year==2008|year==2010|year==2012)) #subsetting data_observation obs_calibration=subset(data_observation,(year==2003|year==2005|year==2007|year==2009|year==2011)) obs_validation=subset(data_observation,(year==2004|year==2006|year==2008|year==2010|year==2012)) #creating the input vectors obs_c=obs_calibration$pr mod_c=mod_calibration$pr obs_v=obs_validation$pr mod_v=mod_validation$pr mod_fut= data_model_future$pr downscale(obs_c,mod_c,obs_v,mod_v,mod_fut)
#subsetting dat_model mod_calibration=subset(data_model,(year==2003|year==2005|year==2007|year==2009|year==2011)) mod_validation= subset(data_model,(year==2004|year==2006|year==2008|year==2010|year==2012)) #subsetting data_observation obs_calibration=subset(data_observation,(year==2003|year==2005|year==2007|year==2009|year==2011)) obs_validation=subset(data_observation,(year==2004|year==2006|year==2008|year==2010|year==2012)) #creating the input vectors obs_c=obs_calibration$pr mod_c=mod_calibration$pr obs_v=obs_validation$pr mod_v=mod_validation$pr mod_fut= data_model_future$pr downscale(obs_c,mod_c,obs_v,mod_v,mod_fut)
Displays the shape factors, scale factors and the threshold values of the observation and GCM/RCM data set which ultimately define the model
ParaCal(obs_c, mod_c, obs_v, mod_v, mod_fut)
ParaCal(obs_c, mod_c, obs_v, mod_v, mod_fut)
obs_c |
vector of observational climate data (rainfall) used for calibrating the model |
mod_c |
vector of GCM/RCM climate data (rainfall) used for calibrating the model |
obs_v |
vector of observational climate data (rainfall) used for validating the model |
mod_v |
vector of GCM/RCM climate data (rainfall) used for validating the model |
mod_fut |
vector of GCM/RCM future climate data (rainfall) need to be downscaled |
1) Dry-days correction / Defining threshold values
The relationship between the cumulative frequencies (thresholds) corresponding to the dry days of GCM/RCM data and that of the observational data is defined by a polynomial function given by;
threshold_obs = (threshold_mod)^n
n = ln(threshold_obs_c) / ln(threshold_mod_c)
2) wet-days correction / Correcting the intensity of the GCM/RCM data
Two parameter (shape and scale factors) gamma distribution function was used to model the frequency distributions of the rainfall data. The GCM/RCM rainfall above the threshold were corrected using unique correction factors for different cumulative frequencies.
corrected_mod_fut = mod_fut * F-1(F.mod_fut, sh_obs_c,,sc_obs_c)/ F-1 (F.mod_fut,sh_mod_c,,sc_mod_c)
where obs - observational data; mod - GCM/RCM data; n - constant; c - calibration; v - validation; fut - future data; sh - shape factor; sc- scale factor; F. - cumulative density function and F-1 - inverse of cumulative density function
#subsetting dat_model mod_calibration=subset(data_model,(year==2003|year==2005|year==2007|year==2009|year==2011)) mod_validation= subset(data_model,(year==2004|year==2006|year==2008|year==2010|year==2012)) #subsetting data_observation obs_calibration=subset(data_observation,(year==2003|year==2005|year==2007|year==2009|year==2011)) obs_validation=subset(data_observation,(year==2004|year==2006|year==2008|year==2010|year==2012)) #creating the input vectors obs_c=obs_calibration$pr mod_c=mod_calibration$pr obs_v=obs_validation$pr mod_v=mod_validation$pr mod_fut= data_model_future$pr ParaCal(obs_c,mod_c,obs_v,mod_v,mod_fut)
#subsetting dat_model mod_calibration=subset(data_model,(year==2003|year==2005|year==2007|year==2009|year==2011)) mod_validation= subset(data_model,(year==2004|year==2006|year==2008|year==2010|year==2012)) #subsetting data_observation obs_calibration=subset(data_observation,(year==2003|year==2005|year==2007|year==2009|year==2011)) obs_validation=subset(data_observation,(year==2004|year==2006|year==2008|year==2010|year==2012)) #creating the input vectors obs_c=obs_calibration$pr mod_c=mod_calibration$pr obs_v=obs_validation$pr mod_v=mod_validation$pr mod_fut= data_model_future$pr ParaCal(obs_c,mod_c,obs_v,mod_v,mod_fut)
Displays the summary of the validation.
ResVal(obs_c, mod_c, obs_v, mod_v, mod_fut)
ResVal(obs_c, mod_c, obs_v, mod_v, mod_fut)
obs_c |
vector of observational climate data (rainfall) used for calibrating the model |
mod_c |
vector of GCM/RCM climate data (rainfall) used for calibrating the model |
obs_v |
vector of observational climate data (rainfall) used for validating the model |
mod_v |
vector of GCM/RCM climate data (rainfall) used for validating the model |
mod_fut |
vector of GCM/RCM future climate data (rainfall) need to be downscaled |
1) Dry-days correction / Defining threshold values
The relationship between the cumulative frequencies (thresholds) corresponding to the dry days of GCM/RCM data and that of the observational data is defined by a polynomial function given by;
threshold_obs = (threshold_mod)^n
n = ln(threshold_obs_c) / ln(threshold_mod_c)
2) wet-days correction / Correcting the intensity of the GCM/RCM data
Two parameter (shape and scale factors) gamma distribution function was used to model the frequency distributions of the rainfall data. The GCM/RCM rainfall above the threshold were corrected using unique correction factors for different cumulative frequencies.
corrected_mod_fut = mod_fut * F-1(F.mod_fut, sh_obs_c,,sc_obs_c)/ F-1 (F.mod_fut,sh_mod_c,,sc_mod_c)
where obs - observational data; mod - GCM/RCM data; n - constant; c - calibration; v - validation; fut - future data; sh - shape factor; sc- scale factor; F. - cumulative density function and F-1 - inverse of cumulative density function
#subsetting dat_model mod_calibration=subset(data_model,(year==2003|year==2005|year==2007|year==2009|year==2011)) mod_validation= subset(data_model,(year==2004|year==2006|year==2008|year==2010|year==2012)) #subsetting data_observation obs_calibration=subset(data_observation,(year==2003|year==2005|year==2007|year==2009|year==2011)) obs_validation=subset(data_observation,(year==2004|year==2006|year==2008|year==2010|year==2012)) #creating the input vectors obs_c=obs_calibration$pr mod_c=mod_calibration$pr obs_v=obs_validation$pr mod_v=mod_validation$pr mod_fut= data_model_future$pr ResVal(obs_c,mod_c,obs_v,mod_v,mod_fut)
#subsetting dat_model mod_calibration=subset(data_model,(year==2003|year==2005|year==2007|year==2009|year==2011)) mod_validation= subset(data_model,(year==2004|year==2006|year==2008|year==2010|year==2012)) #subsetting data_observation obs_calibration=subset(data_observation,(year==2003|year==2005|year==2007|year==2009|year==2011)) obs_validation=subset(data_observation,(year==2004|year==2006|year==2008|year==2010|year==2012)) #creating the input vectors obs_c=obs_calibration$pr mod_c=mod_calibration$pr obs_v=obs_validation$pr mod_v=mod_validation$pr mod_fut= data_model_future$pr ResVal(obs_c,mod_c,obs_v,mod_v,mod_fut)