Title: | Partitioning Uncertainty Components of an Incomplete Ensemble of Climate Projections |
---|---|
Description: | These functions use data augmentation and Bayesian techniques for the assessment of single-member and incomplete ensembles of climate projections. It provides unbiased estimates of climate change responses of all simulation chains and of all uncertainty variables. It additionally propagates uncertainty due to missing information in the estimates. - Evin, G., B. Hingray, J. Blanchet, N. Eckert, S. Morin, and D. Verfaillie. (2019) <doi:10.1175/JCLI-D-18-0606.1>. |
Authors: | Guillaume Evin [aut, cre] |
Maintainer: | Guillaume Evin <[email protected]> |
License: | GPL-3 |
Version: | 2.3 |
Built: | 2024-11-19 05:25:57 UTC |
Source: | https://github.com/guillaumeevin/qualypso |
Fit trends for each simulation chain of an ensemble of nS
projections. Each simulation chain is a time series
of nY
time steps (e.g. number of years).
fit.climate.response(Y, args.smooth.spline, Xmat, Xfut, typeChangeVariable)
fit.climate.response(Y, args.smooth.spline, Xmat, Xfut, typeChangeVariable)
Y |
matrix of simulation chains: |
args.smooth.spline |
list of arguments to be passed to |
Xmat |
matrix of predictors corresponding to the projections, e.g. time or global temperature. |
Xfut |
values of the predictor over which the ANOVA will be applied. |
typeChangeVariable |
type of change variable: "abs" (absolute, value by default) or "rel" (relative) |
See QUALYPSO
for further information on arguments indexReferenceYear
and typeChangeVariable
.
list with the following fields for each simulation chain:
YStar: nS x nY
, change variable
phiStar: nS x nF
, climate change responses
etaStar: nS x nY
, deviation from the climate change response
due to the internal variability, for Xmat
phi: nS x nF
, raw trends obtained using smooth.spline
climateResponse: output from smooth.spline
varInterVariability: scalar, internal variability component of the MME
Guillaume Evin
Evin, G., B. Hingray, J. Blanchet, N. Eckert, S. Morin, and D. Verfaillie (2020) Partitioning Uncertainty Components of an Incomplete Ensemble of Climate Projections Using Data Augmentation. Journal of Climate. J. Climate, 32, 2423–2440. <doi:10.1175/JCLI-D-18-0606.1>.
Provide matrix Q derived from a matrix Q* of Helmert contrasts:
See Eq. A6 in Evin et al., 2019.
get.Qmat(p)
get.Qmat(p)
p |
integer |
matrix |
p x p matrix |
Guillaume Evin
Evin, G., B. Hingray, J. Blanchet, N. Eckert, S. Morin, and D. Verfaillie (2020) Partitioning Uncertainty Components of an Incomplete Ensemble of Climate Projections Using Data Augmentation. Journal of Climate. J. Climate, 32, 2423–2440. <doi:10.1175/JCLI-D-18-0606.1>.
Provide matrix containing Helmert contrasts (see Eq. A7 in Evin et al., 2019).
get.Qstar.mat(p)
get.Qstar.mat(p)
p |
integer |
matrix |
p x (p-1) matrix containing Helmert contrasts |
Guillaume Evin
Evin, G., B. Hingray, J. Blanchet, N. Eckert, S. Morin, and D. Verfaillie (2020) <doi:10.1175/JCLI-D-18-0606.1>.
Evin, G., B. Hingray, J. Blanchet, N. Eckert, S. Morin, and D. Verfaillie (2020) Partitioning Uncertainty Components of an Incomplete Ensemble of Climate Projections Using Data Augmentation. Journal of Climate. J. Climate, 32, 2423–2440. <doi:10.1175/JCLI-D-18-0606.1>.
Partition uncertainty in climate responses using an ANOVA inferred with a Bayesian approach.
lm.ANOVA(phiStar, scenAvail, listOption = NULL, namesEff)
lm.ANOVA(phiStar, scenAvail, listOption = NULL, namesEff)
phiStar |
matrix of climate change responses (absolute or relative changes): |
scenAvail |
data.frame |
listOption |
list of options (see |
namesEff |
names of the main effects |
list with the following fields:
GRANDMEAN: List of estimates for the grand mean:
strong: MEAN: vector of length n
of means
strong: SD: vector of length n
of standard dev.
strong: CI: matrix n
x 2 of credible intervals of
probability probCI
given in listOption
.
RESIDUALVAR: List of estimates for the variance of the residual errors:
strong: MEAN: vector of length n
MAINEFFECT: List of estimates for the main effects. For each main effect (GCM, RCM,..), each element of the list contains a list with:
strong: MEAN: matrix n
x nTypeEff
CHANGEBYEFFECT: For each main effect, list of estimates for the mean change by main effect, i.e. mean change by scenario (RCP4.5). For each main effect (GCM, RCM,..), each element of the list contains a list with:
strong: MEAN: matrix n
x nTypeEff
EFFECTVAR: variability related to the main effects (i.e.
variability between the different RCMs, GCMs,..). Matrix n
x
nTypeEff
CONTRIB_EACH_EFFECT: Contribution of each individual effect
to its component (percentage), e.g. what is the contribution of GCM1 to the
variability related to GCMs. For each main effect (GCM, RCM,..), each
element of the list contains a matrix n
x nTypeEff
listOption: list of options used to obtained these results
(obtained from QUALYPSO.check.option
)
listScenarioInput: list of scenario characteristics
(obtained from QUALYPSO.process.scenario
)
Guillaume Evin
Plot climate change responses.
plotQUALYPSOclimateChangeResponse( QUALYPSOOUT, lim = NULL, xlab = "", ylab = "Climate change response", ... )
plotQUALYPSOclimateChangeResponse( QUALYPSOOUT, lim = NULL, xlab = "", ylab = "Climate change response", ... )
QUALYPSOOUT |
output from |
lim |
y-axis limits (default is NULL) |
xlab |
x-axis label |
ylab |
y-axis label |
... |
additional arguments to be passed to |
Guillaume Evin
Plot the climate responses.
plotQUALYPSOclimateResponse( QUALYPSOOUT, lim = NULL, xlab = "X", ylab = "Y", ... )
plotQUALYPSOclimateResponse( QUALYPSOOUT, lim = NULL, xlab = "X", ylab = "Y", ... )
QUALYPSOOUT |
output from |
lim |
y-axis limits (default is NULL) |
xlab |
x-axis label |
ylab |
y-axis label |
... |
additional arguments to be passed to |
Guillaume Evin
Plot prediction of ANOVA effects for one main effect. By default, we plot we plot the credible intervals corresponding to a probability 0.95.
plotQUALYPSOeffect( QUALYPSOOUT, nameEff, includeMean = FALSE, lim = NULL, col = 1:20, xlab = "", ylab = "Effect", addLegend = TRUE, ... )
plotQUALYPSOeffect( QUALYPSOOUT, nameEff, includeMean = FALSE, lim = NULL, col = 1:20, xlab = "", ylab = "Effect", addLegend = TRUE, ... )
QUALYPSOOUT |
output from |
nameEff |
name of the main effect to be plotted in |
includeMean |
if TRUE, the grand mean is added to the main effect in the plot |
lim |
y-axis limits (default is NULL) |
col |
colors for each effect |
xlab |
x-axis label |
ylab |
y-axis label |
addLegend |
if TRUE, a legend is added |
... |
additional arguments to be passed to |
Guillaume Evin
Plot prediction of grand mean ensemble.
plotQUALYPSOgrandmean( QUALYPSOOUT, lim = NULL, col = "black", xlab = "", ylab = "Grand mean", addLegend = T, ... )
plotQUALYPSOgrandmean( QUALYPSOOUT, lim = NULL, col = "black", xlab = "", ylab = "Grand mean", addLegend = T, ... )
QUALYPSOOUT |
output from |
lim |
y-axis limits (default is NULL) |
col |
color for the overall mean and the credible interval |
xlab |
x-axis label |
ylab |
y-axis label |
addLegend |
if TRUE, a legend is added |
... |
additional arguments to be passed to |
Guillaume Evin
Plot fraction of total variance explained by each source of uncertainty.
plotQUALYPSOMeanChangeAndUncertainties( QUALYPSOOUT, col = NULL, ylim = NULL, xlab = "", ylab = "Change variable", addLegend = TRUE, ... )
plotQUALYPSOMeanChangeAndUncertainties( QUALYPSOOUT, col = NULL, ylim = NULL, xlab = "", ylab = "Change variable", addLegend = TRUE, ... )
QUALYPSOOUT |
output from |
col |
colors for each source of uncertainty, the first two colors corresponding to internal variability and residual variability, respectively |
ylim |
y-axis limits |
xlab |
x-axis label |
ylab |
y-axis label |
addLegend |
if TRUE, a legend is added |
... |
additional arguments to be passed to |
Guillaume Evin
Plot fraction of total variance explained by each source of uncertainty.
plotQUALYPSOTotalVarianceByScenario( QUALYPSOOUT, nameEff, nameScenario, col = NULL, ylim = NULL, xlab = "", ylab = "Change variable", addLegend = TRUE, ... )
plotQUALYPSOTotalVarianceByScenario( QUALYPSOOUT, nameEff, nameScenario, col = NULL, ylim = NULL, xlab = "", ylab = "Change variable", addLegend = TRUE, ... )
QUALYPSOOUT |
output from |
nameEff |
name of the main effect to be plotted in |
nameScenario |
name of the scenario to be plotted (as provided in |
col |
colors for each source of uncertainty, the first two colors corresponding to internal variability and residual variability, respectively |
ylim |
y-axis limits |
xlab |
x-axis label |
ylab |
y-axis label |
addLegend |
if TRUE, a legend is added |
... |
additional arguments to be passed to |
Guillaume Evin
Plot fraction of total variance explained by each source of uncertainty.
plotQUALYPSOTotalVarianceDecomposition( QUALYPSOOUT, vecEff = NULL, col = c("orange", "yellow", "cadetblue1", "blue1", "darkgreen", "darkgoldenrod4", "darkorchid1"), xlab = "", ylab = "% Total Variance", addLegend = TRUE, ... )
plotQUALYPSOTotalVarianceDecomposition( QUALYPSOOUT, vecEff = NULL, col = c("orange", "yellow", "cadetblue1", "blue1", "darkgreen", "darkgoldenrod4", "darkorchid1"), xlab = "", ylab = "% Total Variance", addLegend = TRUE, ... )
QUALYPSOOUT |
output from |
vecEff |
vector of indices corresponding to the main effects (NULL by default), so that the order of appearance in the plot can be modified |
col |
colors for each source of uncertainty, the first two colors corresponding to internal variability and residual variability, respectively |
xlab |
x-axis label |
ylab |
y-axis label |
addLegend |
if TRUE, a legend is added |
... |
additional arguments to be passed to |
Guillaume Evin
Partition uncertainty in climate responses using an ANOVA applied to climate change responses.
QUALYPSO(Y, scenAvail, X = NULL, Xfut = NULL, iFut = NULL, listOption = NULL)
QUALYPSO(Y, scenAvail, X = NULL, Xfut = NULL, iFut = NULL, listOption = NULL)
Y |
matrix |
scenAvail |
data.frame |
X |
(optional) predictors corresponding to the projections, e.g. time or global temperature.
It can be a vector if the predictor is the same for all scenarios (e.g. |
Xfut |
(optional) |
iFut |
index in |
listOption |
(optional) list of options
|
List providing the results for each of the n
values of Xfut
if Y
is a matrix or for each grid point if Y
is an array, with the following fields:
CLIMATERESPONSE: list of climate change responses and
corresponding internal variability. Contains phiStar
(climate change
responses), etaStar
(deviation from the climate change responses as
a result of internal variability), Ystar
(change variable from the
projections),and phi
(fitted climate responses).
GRANDMEAN: List of estimates for the grand mean:
MEAN: vector of length n
of means.
SD: vector of length n
of standard dev.
if ANOVAmethod=="QUALYPSO"
.
CI: matrix n
x 2 of credible intervals of
probability probCI
given in listOption
if
ANOVAmethod=="QUALYPSO"
.
QUANT: matrix n
x nQ
of quantiles of
probability quantilePosterior
given in listOption
if
ANOVAmethod=="QUALYPSO"
.
MAINEFFECT: List of estimates for the main effects. For each main effect (GCM, RCM,..), each element of the list contains a list with:
MEAN: matrix n
x nTypeEff
SD: matrix n
x nTypeEff
of standard dev.
if ANOVAmethod=="QUALYPSO"
.
CI: array n
x 2 x nTypeEff
of credible
intervals of probability probCI
given in listOption
if
ANOVAmethod=="QUALYPSO"
.
QUANT: array n
x nQ
x nTypeEff
of
quantiles of probability quantilePosterior
given in
listOption
if ANOVAmethod=="QUALYPSO"
.
CHANGEBYEFFECT: For each main effect, list of estimates for the mean change by main effect, i.e. mean change by scenario. For each main effect (GCM, RCM,..), each element of the list contains a list with:
MEAN: matrix n
x nTypeEff
SD: matrix n
x nTypeEff
of standard dev.
if ANOVAmethod=="QUALYPSO"
.
CI: array n
x 2 x nTypeEff
of credible
intervals of probability probCI
given in listOption
if
ANOVAmethod=="QUALYPSO"
.
QUANT: array n
x nQ
x nTypeEff
of
quantiles of probability quantilePosterior
given in
listOption
if ANOVAmethod=="QUALYPSO"
.
EFFECTVAR: Matrix n
x nTypeEff
giving, for each
time variability related to the main effects (i.e.
variability between the different RCMs, GCMs,..).
CONTRIB_EACH_EFFECT: Contribution of each individual effect
to its component (percentage), e.g. what is the contribution of GCM1 to the
variability related to GCMs. For each main effect (GCM, RCM,..), each
element of the list contains a matrix n
x nTypeEff
RESIDUALVAR: List of estimates for the variance of the residual errors:
MEAN: vector of length n
.
SD: vector of length n
of standard dev.
if ANOVAmethod=="QUALYPSO"
.
CI: matrix n
x 2 of credible intervals of
probability probCI
given in listOption
if
ANOVAmethod=="QUALYPSO"
.
QUANT: matrix n
x nQ
of quantiles of
probability quantilePosterior
given in listOption
if
ANOVAmethod=="QUALYPSO"
.
INTERNALVAR: Internal variability (constant over time)
TOTALVAR: total variability, i.e. the sum of internal variability, residual variability and variability related to the main effects
DECOMPVAR: Decomposition of the total variability for each component
RESERR: differences between the climate change responses and the additive anova formula (grand mean + main effects)
Xmat: matrix of predictors
Xfut: future predictor values
paralType: type of parallelisation (Time or Grid)
namesEff: names of the main effects
Y: matrix of available combinations given as inputs
listOption: list of options used to obtained these results
(obtained from QUALYPSO.check.option
)
listScenarioInput: list of scenario characteristics
(obtained from QUALYPSO.process.scenario
)
Guillaume Evin
Evin, G., B. Hingray, J. Blanchet, N. Eckert, S. Morin, and D. Verfaillie (2020) Partitioning Uncertainty Components of an Incomplete Ensemble of Climate Projections Using Data Augmentation. Journal of Climate. <doi:10.1175/JCLI-D-18-0606.1>.
########################################################################## # SYNTHETIC SCENARIOS ########################################################################## # create nS=3 fictive climate scenarios with 2 GCMs and 2 RCMs, for a period of nY=20 years n=20 t=1:n/n # GCM effects (sums to 0 for each t) effGCM1 = t*2 effGCM2 = t*-2 # RCM effects (sums to 0 for each t) effRCM1 = t*1 effRCM2 = t*-1 # These climate scenarios are a sum of effects and a random gaussian noise scenGCM1RCM1 = effGCM1 + effRCM1 + rnorm(n=n,sd=0.5) scenGCM1RCM2 = effGCM1 + effRCM2 + rnorm(n=n,sd=0.5) scenGCM2RCM1 = effGCM2 + effRCM1 + rnorm(n=n,sd=0.5) Y.synth = rbind(scenGCM1RCM1,scenGCM1RCM2,scenGCM2RCM1) # Here, scenAvail indicates that the first scenario is obtained with the combination of the # GCM "GCM1" and RCM "RCM1", the second scenario is obtained with the combination of # the GCM "GCM1" and RCM "RCM2" and the third scenario is obtained with the combination # of the GCM "GCM2" and RCM "RCM1". scenAvail.synth = data.frame(GCM=c('GCM1','GCM1','GCM2'),RCM=c('RCM1','RCM2','RCM1')) ########################################################################## # RUN QUALYPSO ########################################################################## # call main QUALYPSO function: two arguments are mandatory: # - Y: Climate projections for nS scenarios and nY time steps. if Y is a matrix nS x nY, we # run QUALYPSO nY times, for each time step. If Y is an array nG x nS x nY, for nG grid points, # we run QUALYPSO nG times, for each grid point, for one time step specified using the argument # iFut # - scenAvail: matrix or data.frame of available combinations nS x nEff. The number of # characteristics nEff corresponds to the number of main effects that will be included in the # ANOVA model. In the following example, we have nEff=2 main effects corresponding to the GCMs # and RCMs. # Many options can be specified in the argument "listOption". When ANOVAmethod=="QUALYPSO" # a Bayesian inference is performed. Here, we change the default values for nBurn and nKeep # in order to speed up computation time for this small example. However, it must be noticed # that convergence and sampling of the posterior distributions often require higher values # for these two arguments. listOption = list(nBurn=100,nKeep=100,ANOVAmethod="QUALYPSO",quantilePosterior=c(0.025,0.5,0.975)) # run QUALYPSO QUALYPSO.synth = QUALYPSO(Y=Y.synth, scenAvail=scenAvail.synth, X=2001:2020, listOption=listOption) ########################################################################## # SOME PLOTS ########################################################################## # plot grand mean plotQUALYPSOgrandmean(QUALYPSO.synth,xlab="Years") # plot main GCM effects plotQUALYPSOeffect(QUALYPSO.synth,nameEff="GCM",xlab="Years") # plot main RCM effects plotQUALYPSOeffect(QUALYPSO.synth,nameEff="RCM",xlab="Years") # plot fraction of total variance for the differences sources of uncertainty plotQUALYPSOTotalVarianceDecomposition(QUALYPSO.synth,xlab="Years") # plot mean prediction and total variance with the differences sources of uncertainty plotQUALYPSOMeanChangeAndUncertainties(QUALYPSO.synth,xlab="Years") #____________________________________________________________ # EXAMPLE OF QUALYPSO WHEN THE PREDICTOR IS TIME #____________________________________________________________ # list of options listOption = list(typeChangeVariable='abs') # call QUALYPSO QUALYPSO.time = QUALYPSO(Y=Y,scenAvail=scenAvail,X=X_time_vec, Xfut=Xfut_time,listOption=listOption) # grand mean effect plotQUALYPSOgrandmean(QUALYPSO.time,xlab="Years") # main GCM effects plotQUALYPSOeffect(QUALYPSO.time,nameEff="GCM",xlab="Years") # main RCM effects plotQUALYPSOeffect(QUALYPSO.time,nameEff="RCM",xlab="Years") # mean change and associated uncertainties plotQUALYPSOMeanChangeAndUncertainties(QUALYPSO.time,xlab="Years") # variance decomposition plotQUALYPSOTotalVarianceDecomposition(QUALYPSO.time,xlab="Years") #____________________________________________________________ # EXAMPLE OF QUALYPSO WHEN THE PREDICTOR IS THE GLOBAL TEMPERATURE #____________________________________________________________ # list of options listOption = list(typeChangeVariable='abs') # call QUALYPSO QUALYPSO.globaltas = QUALYPSO(Y=Y,scenAvail=scenAvail,X=X_globaltas, Xfut=Xfut_globaltas,listOption=listOption) # grand mean effect plotQUALYPSOgrandmean(QUALYPSO.globaltas,xlab="Global warming (Celsius)") # main GCM effects plotQUALYPSOeffect(QUALYPSO.globaltas,nameEff="GCM",xlab="Global warming (Celsius)") # main RCM effects plotQUALYPSOeffect(QUALYPSO.globaltas,nameEff="RCM",xlab="Global warming (Celsius)") # mean change and associated uncertainties plotQUALYPSOMeanChangeAndUncertainties(QUALYPSO.globaltas,xlab="Global warming (Celsius)") # variance decomposition plotQUALYPSOTotalVarianceDecomposition(QUALYPSO.globaltas,xlab="Global warming (Celsius)")
########################################################################## # SYNTHETIC SCENARIOS ########################################################################## # create nS=3 fictive climate scenarios with 2 GCMs and 2 RCMs, for a period of nY=20 years n=20 t=1:n/n # GCM effects (sums to 0 for each t) effGCM1 = t*2 effGCM2 = t*-2 # RCM effects (sums to 0 for each t) effRCM1 = t*1 effRCM2 = t*-1 # These climate scenarios are a sum of effects and a random gaussian noise scenGCM1RCM1 = effGCM1 + effRCM1 + rnorm(n=n,sd=0.5) scenGCM1RCM2 = effGCM1 + effRCM2 + rnorm(n=n,sd=0.5) scenGCM2RCM1 = effGCM2 + effRCM1 + rnorm(n=n,sd=0.5) Y.synth = rbind(scenGCM1RCM1,scenGCM1RCM2,scenGCM2RCM1) # Here, scenAvail indicates that the first scenario is obtained with the combination of the # GCM "GCM1" and RCM "RCM1", the second scenario is obtained with the combination of # the GCM "GCM1" and RCM "RCM2" and the third scenario is obtained with the combination # of the GCM "GCM2" and RCM "RCM1". scenAvail.synth = data.frame(GCM=c('GCM1','GCM1','GCM2'),RCM=c('RCM1','RCM2','RCM1')) ########################################################################## # RUN QUALYPSO ########################################################################## # call main QUALYPSO function: two arguments are mandatory: # - Y: Climate projections for nS scenarios and nY time steps. if Y is a matrix nS x nY, we # run QUALYPSO nY times, for each time step. If Y is an array nG x nS x nY, for nG grid points, # we run QUALYPSO nG times, for each grid point, for one time step specified using the argument # iFut # - scenAvail: matrix or data.frame of available combinations nS x nEff. The number of # characteristics nEff corresponds to the number of main effects that will be included in the # ANOVA model. In the following example, we have nEff=2 main effects corresponding to the GCMs # and RCMs. # Many options can be specified in the argument "listOption". When ANOVAmethod=="QUALYPSO" # a Bayesian inference is performed. Here, we change the default values for nBurn and nKeep # in order to speed up computation time for this small example. However, it must be noticed # that convergence and sampling of the posterior distributions often require higher values # for these two arguments. listOption = list(nBurn=100,nKeep=100,ANOVAmethod="QUALYPSO",quantilePosterior=c(0.025,0.5,0.975)) # run QUALYPSO QUALYPSO.synth = QUALYPSO(Y=Y.synth, scenAvail=scenAvail.synth, X=2001:2020, listOption=listOption) ########################################################################## # SOME PLOTS ########################################################################## # plot grand mean plotQUALYPSOgrandmean(QUALYPSO.synth,xlab="Years") # plot main GCM effects plotQUALYPSOeffect(QUALYPSO.synth,nameEff="GCM",xlab="Years") # plot main RCM effects plotQUALYPSOeffect(QUALYPSO.synth,nameEff="RCM",xlab="Years") # plot fraction of total variance for the differences sources of uncertainty plotQUALYPSOTotalVarianceDecomposition(QUALYPSO.synth,xlab="Years") # plot mean prediction and total variance with the differences sources of uncertainty plotQUALYPSOMeanChangeAndUncertainties(QUALYPSO.synth,xlab="Years") #____________________________________________________________ # EXAMPLE OF QUALYPSO WHEN THE PREDICTOR IS TIME #____________________________________________________________ # list of options listOption = list(typeChangeVariable='abs') # call QUALYPSO QUALYPSO.time = QUALYPSO(Y=Y,scenAvail=scenAvail,X=X_time_vec, Xfut=Xfut_time,listOption=listOption) # grand mean effect plotQUALYPSOgrandmean(QUALYPSO.time,xlab="Years") # main GCM effects plotQUALYPSOeffect(QUALYPSO.time,nameEff="GCM",xlab="Years") # main RCM effects plotQUALYPSOeffect(QUALYPSO.time,nameEff="RCM",xlab="Years") # mean change and associated uncertainties plotQUALYPSOMeanChangeAndUncertainties(QUALYPSO.time,xlab="Years") # variance decomposition plotQUALYPSOTotalVarianceDecomposition(QUALYPSO.time,xlab="Years") #____________________________________________________________ # EXAMPLE OF QUALYPSO WHEN THE PREDICTOR IS THE GLOBAL TEMPERATURE #____________________________________________________________ # list of options listOption = list(typeChangeVariable='abs') # call QUALYPSO QUALYPSO.globaltas = QUALYPSO(Y=Y,scenAvail=scenAvail,X=X_globaltas, Xfut=Xfut_globaltas,listOption=listOption) # grand mean effect plotQUALYPSOgrandmean(QUALYPSO.globaltas,xlab="Global warming (Celsius)") # main GCM effects plotQUALYPSOeffect(QUALYPSO.globaltas,nameEff="GCM",xlab="Global warming (Celsius)") # main RCM effects plotQUALYPSOeffect(QUALYPSO.globaltas,nameEff="RCM",xlab="Global warming (Celsius)") # mean change and associated uncertainties plotQUALYPSOMeanChangeAndUncertainties(QUALYPSO.globaltas,xlab="Global warming (Celsius)") # variance decomposition plotQUALYPSOTotalVarianceDecomposition(QUALYPSO.globaltas,xlab="Global warming (Celsius)")
Partition uncertainty in climate responses using an ANOVA inferred with a Bayesian approach.
QUALYPSO.ANOVA(phiStar, scenAvail, listOption = NULL, namesEff)
QUALYPSO.ANOVA(phiStar, scenAvail, listOption = NULL, namesEff)
phiStar |
matrix of climate change responses (absolute or relative changes): |
scenAvail |
data.frame |
listOption |
list of options (see |
namesEff |
names of the main effects |
list with the following fields:
GRANDMEAN: List of estimates for the grand mean:
strong: MEAN: vector of length n
of posterior means
strong: SD: vector of length n
of posterior standard dev.
strong: CI: matrix n
x 2 of credible intervals of
probability probCI
given in listOption
.
strong: QUANT: matrix n
x nQ
of quantiles related
to the probabilities quantilePosterior
given in listOption
RESIDUALVAR: List of estimates for the variance of the residual errors:
strong: MEAN: vector of length n
of posterior means
strong: SD: vector of length n
of posterior standard dev.
strong: CI: matrix n
x 2 of credible intervals of
probability probCI
given in listOption
.
strong: QUANT: matrix n
x nQ
of quantiles related
to the probabilities quantilePosterior
given in listOption
MAINEFFECT: List of estimates for the main effects. For each main effect (GCM, RCM,..), each element of the list contains a list with:
strong: MEAN: matrix n
x nTypeEff
of posterior means
strong: SD: matrix n
x nTypeEff
of posterior standard dev.
strong: CI: array n
x 2 x nTypeEff
of credible
intervals of probability probCI
given in listOption
.
strong: QUANT: array n
x nQ
x nTypeEff
of
quantiles related to the probabilities quantilePosterior
given in
listOption
CHANGEBYEFFECT: For each main effect, list of estimates for the mean change by main effect, i.e. mean change by scenario (RCP4.5). For each main effect (GCM, RCM,..), each element of the list contains a list with:
strong: MEAN: matrix n
x nTypeEff
of posterior means
strong: SD: matrix n
x nTypeEff
of posterior standard dev.
strong: CI: array n
x 2 x nTypeEff
of credible
intervals of probability probCI
given in listOption
.
strong: QUANT: array n
x nQ
x nTypeEff
of
quantiles related to the probabilities quantilePosterior
given in
listOption
EFFECTVAR: variability related to the main effects (i.e.
variability between the different RCMs, GCMs,..). Matrix n
x
nTypeEff
CONTRIB_EACH_EFFECT: Contribution of each individual effect
to its component (percentage), e.g. what is the contribution of GCM1 to the
variability related to GCMs. For each main effect (GCM, RCM,..), each
element of the list contains a matrix n
x nTypeEff
listOption: list of options used to obtained these results
(obtained from QUALYPSO.check.option
)
listScenarioInput: list of scenario characteristics
(obtained from QUALYPSO.process.scenario
)
Guillaume Evin
Evin, G., B. Hingray, J. Blanchet, N. Eckert, S. Morin, and D. Verfaillie (2020) Partitioning Uncertainty Components of an Incomplete Ensemble of Climate Projections Using Data Augmentation. Journal of Climate. <doi:10.1175/JCLI-D-18-0606.1>.
Partition sources of uncertainty in climate change responses for one lead time or one grid point.
QUALYPSO.ANOVA.i(phiStar.i, nMCMC, listScenarioInput)
QUALYPSO.ANOVA.i(phiStar.i, nMCMC, listScenarioInput)
phiStar.i |
vector of |
nMCMC |
number of MCMC simulation required |
listScenarioInput |
list containing specifications, provided by |
list with the following fields:
mu: vector of length nMCMC
, mean climate change response
sigma2: vector of length nMCMC
, variance of the residual terms
effect: list with nTypeEff
elements, where each element corresponds to a different type of effect (e.g. alpha, beta, gamma in Eq. 7)
Each element is a matrix nMCMC
x nMaineff
, and nMaineff
is the number of main effects (e.g. number of GCMs, RCMs, etc.)
Guillaume Evin
Evin, G., B. Hingray, J. Blanchet, N. Eckert, S. Morin, and D. Verfaillie (2020) Partitioning Uncertainty Components of an Incomplete Ensemble of Climate Projections Using Data Augmentation. Journal of Climate. <doi:10.1175/JCLI-D-18-0606.1>.
Check if input options provided in QUALYPSO
are valid and assigned default values if missing.
QUALYPSO.check.option(listOption)
QUALYPSO.check.option(listOption)
listOption |
list of options |
List containing the complete set of options.
Guillaume Evin
Process input scenarios.
QUALYPSO.process.scenario(scenAvail)
QUALYPSO.process.scenario(scenAvail)
scenAvail |
data.frame |
list of preprocessed objects (listEff, scenAvail, scenComp, nEff, nTypeEff, nComp, isMissing, nMissing, iMatchScen,
indexEffInCompScen, Qmat
)
Guillaume Evin
scenAvail gives the GCM and RCM which have been used for the 20 climate projections (obtained with the RCP8.5)
data(scenAvail)
data(scenAvail)
data.frame with 20 rows and two columns: GCM and RCM
Guillaume Evin [email protected]
Annual warming levels at the planetary scales simulated by different CMIP5 GCMs for the period 1971-2099. Warming levels are obtained with respect to the year 1860 (common starting year of the CMIP5 simulations). These warming levels have been obtained with the following steps:
Annual tas averages simulated by different CMIP5 have first been smoothed using a smoothing spline. Let us denote these smoothed values by tas_GCM(y) for a year y.
Large discrepancies can be observed for tas_GCM_smooth(y) even in the past due to large first-order biases in the GCM simulations. In order to obtain a common reference, we also consider observed tas estimates at the global scale. HadCRUT5 (Morice et al., 2021, 10.1029/2019JD032361) provides anomalies with respect to the period 1961-1990. An estimate of absolute average temperature for this period is 14°C (Jones et al., 1999, 10.1029/1999RG900002). Smoothed estimates of absolute tas averages are obtained using a smoothing spline and is denoted by tas_obs(y).
Warming levels are obtained as anomalies with respect to the period 1860 and considering a reference year, here 1990, where the warming levels WL are in agreement: WL(y) = tas_GCM(y)-tas_GCM(1990)+tas_obs(1990)-tas_obs(1860)
data(X_globaltas)
data(X_globaltas)
matrix 20 scenarios x 129 years
Guillaume Evin [email protected]
Years 1971-2099 repeated for the 20 scenarios
data(X_time_mat)
data(X_time_mat)
matrix 20 scenarios x 129 years
Guillaume Evin [email protected]
X_time_vec gives the years corr. to Y, i.e. from 1971 to 2099
data(X_time_vec)
data(X_time_vec)
vector of length 129
Guillaume Evin [email protected]
Equally spaced vector of of future warming levels
data(Xfut_globaltas)
data(Xfut_globaltas)
vector of length 13
Guillaume Evin [email protected]
Xfut_time is a vector of 11 years equally spaced from 1999 to 2099
data(Xfut_time)
data(Xfut_time)
vectors of length 11
Guillaume Evin [email protected]
climate projections of mean winter (DJF) temperature over the SREX region CEU simulated by 20 combinations of CMIP5 GCMs and RCMs for the period 1971-2099
data(Y)
data(Y)
matrix 20 scenarios x 129 years
Guillaume Evin [email protected]
Seneviratne, S. I. et al. Changes in Climate Extremes and their Impacts on the Natural Physical Environment, in: Managing the Risks of Extreme Events and Disasters to Advance Climate Change Adaptation: Special Report of the Intergovernmental Panel on Climate Change, edited by: Field, C., Barros, V., Stocker, T., and Dahe, Q., Cambridge University Press, Cambridge, 109-230, https://doi.org/10.1017/CBO9781139177245.006, 2012