Type: | Package |
Title: | Statistical Modeling and Assessment of Drought |
Version: | 1.2 |
Date: | 2024-03-19 |
Author: | Zengchao Hao |
Maintainer: | Zengchao Hao <z.hao4univ@gmail.com> |
Description: | Provide tools for drought monitoring based on univariate and multivariate drought indicators.Statistical drought prediction based on Ensemble Streamflow Prediction (ESP), drought risk assessments, and drought propagation are also provided. Please see Hao Zengchao et al. (2017) <doi:10.1016/j.envsoft.2017.02.008>. |
Depends: | R (≥ 3.5.0) |
Imports: | stats,copula,corrplot |
Suggests: | MASS |
License: | GPL-3 |
Repository: | CRAN |
RoxygenNote: | 7.1.2 |
Encoding: | UTF-8 |
NeedsCompilation: | no |
Packaged: | 2024-03-19 11:11:03 UTC; HAO |
Date/Publication: | 2024-03-19 12:40:02 UTC |
Statistical Modeling and Assessment of Drought
Description
Provide tools for drought monitoring based on univariate and multivariate drought indicators.Statistical drought prediction based on Ensemble Streamflow Prediction (ESP), drought risk assessments, and drought propagation are also provided. Please see Hao Zengchao et al. (2017) <doi:10.1016/j.envsoft.2017.02.008>.
Details
Package: | drought |
Type: | Package |
Version: | 1.1 |
License: | GPL-3 |
References
Hao, Z. et al. (2017), An integrated package for drought monitoring, prediction and analysis to aid drought modeling and assessment, Environ Modell Softw, 91, 199-209.
Hao, Z., and V. P. Singh (2015), Drought characterization from a multivariate perspective: A review J. Hydrol., 527
Hao and AghaKouchak (2013) Multivariate Standardized Drought Index: A parametric multi-index model, Advances in Water Resources 57, 12-18.
Kao, S. C. and R. S. Govindaraju (2010). A copula-based joint deficit index for droughts. Journal of Hydrology, 380(1-2): 121-134.
Hao, Z. et al. (2014). Global integrated drought monitoring and prediction system. Scientific Data, 1
Examples
#' X=runif(120, min = 0, max = 100) # 10-year monthly data
#' Yc<-ACCU(X,ts=6) # Compute the 6 month accumulated series
#' fit1<-SDI(X,ts=6) # Get the standardized drought index (or SPI)
#' z=matrix(t(fit1$SDI),ncol=1)
#' Res <- RunDS(z, -1)# Get drought duration and severity based on threshold SPI=-1
#' Y=runif(120, min = 0, max = 100) # 10-year monthly data
#' fit2<-MSDI(X,Y,ts=6) # Compute the 6 month Multivariate Standardized Drought Index (MSDI)
#' fit2$MSDI #Get the empirical MSDI
#' PropagationMCC(X, Y, 12, c(-1,1)) # Plot drought propagation
Obtain the accumulation of monthly hydro-climatic variables
Description
Obtain the accumulation of monthly hydro-climatic variables
Usage
ACCU(X, ts = 6)
Arguments
X |
The vector of monthly hydro-climatic variables of n years. ts is the accumulated time scale. |
ts |
The accumulated time scale |
Examples
X=runif(120, min = 0, max = 100) # 10-year monthly data
Y<-ACCU(X,ts=3) # Compute the 3 month accumulated series
Compute the bivariate empirical joint probability
Description
Compute the bivariate empirical joint probability
Usage
BiEmp(X, Y)
Arguments
X |
The vector of a monthly hydro-climatic variable of n years(e.g., August). |
Y |
The vector of a monthly hydro-climatic variable of n years(e.g., August). |
Value
The empirical joint probability of X and Y for a specific month (Gringorten plotting position)
Examples
X=runif(20, min = 0, max = 100) # 20 monthly values (e.g., August)
Y=runif(20, min = 0, max = 100)
fit<-BiEmp(X,Y)
Drought prediction with ESP method
Description
Drought prediction with ESP method
Usage
ESPPred(X, Y, L = 1, m = 7, ts = 6)
Arguments
X |
is the monthly variables. |
Y |
is the monthly variables. |
L |
is the lead time. |
m |
is the start time of prediction (or ending of observations) |
ts |
is the time scale of monthly variables. |
Value
The prediction of univariate and multivariate drought index based on ESP
Examples
X=runif(120, min = 0, max = 100) # 10-year monthly data
Y=runif(120, min = 0, max = 100)
ESPPred(X,Y,L=1,m=7,ts=6)
Compute Joint Drought Severity Index with joint distribution
Description
The JDSI can be computed based on joint distribution or kendall distribution
Usage
JDSI(X, Y, ts = 6, type = 1)
Arguments
X |
is the vector of a monthly hydro-climatic variable of n years. |
Y |
is the vector of a monthly hydro-climatic variable of n years. |
ts |
is the accumulated time scale. |
type |
is the method used to compute the JDSI (1 is Joint distribution and 2 is the Kendall function). |
Value
The multivariate drought index based on the joint distribution or Kendall distribution
References
Hao, Z. et al. (2017) An integrated package for drought monitoring, prediction and analysis to aid drought modeling and assessment, Environ Modell Softw, 91, 199-209.
Examples
X=runif(120, min = 0, max = 100) # 10-year monthly data
Y=runif(120, min = 0, max = 100) # 10-year monthly data
fit<-JDSI(X,Y,ts=6)
z=matrix(t(fit$JDSI),ncol=1)
plot(z, type="l", col=1, lwd=2, lty=1, xlim=c(0,120),xlab="Time",ylab="JDSI")
Compute the Multivariate Standardized Drought Index (MSDI)
Description
Based on a pair of monthly hydro-climatic variable (or corresponding marginals), the MSDI is computed using the joint distribution (parametric or nonparametric forms). The current version is based on the Gringorten plotting position. It can be extended to higher dimensions, such as trivariate case including meteorological, agricultural, and hydrological droughts. For the high dimension case, the copula or vine copula method can be employed
Usage
MSDI(X, Y, ts = 6)
Arguments
X |
is the vector of a monthly hydro-climatic variable of n years. |
Y |
is the vector of a monthly hydro-climatic variable of n years. |
ts |
is the accumulated time scale. |
Value
The monthly MSDI series of different time scales (based on Gringorten plotting position)
References
Hao and AghaKouchak (2013) Multivariate Standardized Drought Index: A parametric multi-index model, Advances in Water Resources 57, 12-18.
Examples
X=runif(120, min = 0, max = 100) # 10-year monthly data
Y=runif(120, min = 0, max = 100) # 10-year monthly data
fit<-MSDI(X,Y,ts=6) # Compute the 6 month drought index
fit$ProbEmp2 #Get the empirical drought index (e.g.,Gringorten plotting position )
Compute drought propagation based on maximum correlation
Description
Compute the pearson correlation between multi-time scale SPI and 1-month SRI to reflect the most possible propagation time (PT) from meteorological drought to hydrological drought. Note here the propagation of meteorological to hydrological drought is used as an example. The propagation of other types of drought can also be computed.
Usage
PropagationMCC(X, Y, acc = 12, lim = c(-1, 1), color = NA)
Arguments
X |
The vector of monthly meteorological variable (e.g., precipitation) |
Y |
The vector of monthly hydrological variables (e.g., runoff) |
acc |
Maximum of propagation time (or accumulation periods) |
lim |
The limits interval for color |
color |
Color vector in plot |
Value
Plot of correlation matrix
References
Xu, Y. et al (2019). Propagation from meteorological drought to hydrological drought under the impact of human activities: A case study in northern China. J. Hydrol. 579, 124147. Zhang Y., Hao Z., Feng S., et al. (2021). Agricultural drought prediction in China based on drought propagation and large-scale drivers. Agr. Water Manage., 255: 107028.
Examples
X=runif(120, min = 0, max = 100) # 10-year monthly data
Y=runif(120, min = 0, max = 100) # 10-year monthly data
acc <- 12
lim <- c(-1,1)
PropagationMCC(X, Y, acc, lim)
Compute drought duration and severity based on run theory
Description
The input data is monthly drought indices. Duration is defined as the length of consecutive time series when drought index is below the threshold value (e.g., -1). Severity is defined as the summation of drought index below the threshold. This analysis based on run theory is also referred to as threshold level method. Here the standardized drought index (SDI) is used as the example to compute the drought characteristics. Other univariate and multivariate drought indices can also be used.
Usage
RunDS(DI, thre)
Arguments
DI |
The vector of the drought index (e.g., monthly SPI) |
thre |
The threshold of drought index (e.g, -0.5,-1) |
Value
The duration and severity of each drought event
References
Yevjevich V. (1967). An Objective Approach to Definitions and Investigations of Continental Hydrologic Droughts. Hydrology Paper 23. Colorado State University, Fort Collins, CO.
Examples
X=runif(120, min = 0, max = 100) # 10-year monthly data
thre=-1 # specify the threshold value
fit<-SDI(X,ts=3) # Compute the univariate drought index, such as SPI
z=matrix(t(fit$SDI),ncol=1) # Reshape the matrix to a vector
Res <- RunDS(z, thre) # Compute the duration and severity
Compute the standardized drought index
Description
Based on the vector of monthly variables, the standardized drought index is computed. Note here the standardized precipitation index (SPI) is used as the example of the drought index in the univariate case. It also represents other drought indices computed in the similar way as SPI.
Usage
SDI(X, ts = 6, dist = "EmpGrin")
Arguments
X |
The vector of a monthly hydro-climatic variable of n years. |
ts |
is the accumulated time scale. |
dist |
is a distribution function.The inputs can be "EmpGrin","EmpWeib","Gamma","Lognormal". |
Details
Apart from the standardized drought index, the percentile (probability) is also provided,
Value
The (univariate) standardized drought index of different time scales from both the empirical and parametric distribution
Examples
X=runif(120, min = 0, max = 100) # 10-year monthly data
fit<-SDI(X,ts=3) # Compute the 3 month drought index
fit$SDI # Get the empirical drought index
z=matrix(t(fit$SDI),ncol=1)
plot(z, type="l", col=1, lwd=2, lty=1, xlim=c(0,120),xlab="Time",ylab="SDI")
Univariate and multivariate return period
Description
Univariate and multivariate return period
Usage
UMFreq(X, Y, EL = 1)
Arguments
X |
is the drought properties (e.g., duration) or indices (e.g., SPI) |
Y |
is the drought properties (e.g., duration) or indices (e.g., SRI) |
EL |
is the average recurrence time |
Value
The univariate and multivariate return period
Examples
X=runif(60, min = 0, max = 100) # 60 drought duration values or index values
Y=runif(60, min = 0, max = 100)
fit<-UMFreq(X,Y,1)
Compute the univariate empirical joint probability (EMP)
Description
Compute the univariate empirical joint probability (EMP)
Usage
UniEmp(X, dist = "Gringorten")
Arguments
X |
The vector of a monthly hydro-climatic variable of n years. |
dist |
is the function for the plotting position formula (Gringorten or Weibull). |
Value
The univariate EMP
Examples
X=runif(20, min = 0, max = 100) # 20 monthly values of precipitation (e.g., August)
fit<-UniEmp(X,dist = "Gringorten")