Package 'drought'

Title: 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>.
Authors: Zengchao Hao
Maintainer: Zengchao Hao <[email protected]>
License: GPL-3
Version: 1.2
Built: 2024-10-16 02:44:51 UTC
Source: https://github.com/cran/drought

Help Index


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")