regIDF: Determine coefficients of IDF curves by means...

View source: R/regIDF.R

regIDFR Documentation

Determine coefficients of IDF curves by means Levenberg-Marquardt algorithm

Description

An Intensity-Duration-Frequency curve (IDF Curve) is a graphical representation of the probability that a given average rainfall intensity will occur. This function allows compute the coefficients of an equation that represents IDF per each return period: I(D) = A/(B+D)^C.

where I are intensities [mm/h] per each return periods, D is time duration [min] and A, B and C are coefficients. The last are calibrated by the Levenberg-Marquardt algorithm (see nls.lm). Moreover, regIDF computes confidence and prediction intervals to calibrate equiations by means of predFit function (see investr package). Finally, this function assesses the performance of the equations by means of four metrics: roor mean square error (rmse), coefficient of determination (br2) multiplied by the slope of the regression line between sim and obs (br2), mean square error mse and information criteria AIC and BIC.

Usage

regIDF(Intensity, Periods, Durations, logaxe, Plot = 34,
  Intervals = TRUE, Resolution = 300, SAVE = FALSE, Strategy, M.fit,
  Type, name, Station)

Arguments

Intensity

a matrix with intensity values per specific time durations (by rows) and return Periods (by columns). To use this function, the smallest matrix dimension must be 3 rows and 1 column.

Periods

a numeric vector with return periods.

Durations

a numeric vector specifying a time duration of the Intensity in minutes.

logaxe

a character to plot axis in log scale: x, y or both (xy). In other case used "".

Plot

use (3) to plot IDF curves (Durations versus Intensity) for all return Periods. Use (4) to plot IDF curve for each return period with its confidence and prediction intervals. Or use both numbers to get these graphs. If you use other number the graphs will not appear.

Intervals

a logical value specifying whether confidence and prediction intervals will be computed.

Resolution

a number to determine resolution that the plot function will used to save graphs. It can has two options: 300 and 600 ppi. See resoPLOT.

SAVE

a logical value. TRUE will save Plot FALSE just will show Plot it.

Strategy

a numeric vector used to identify Strategy when it is used to SAVE.

M.fit

a character specifying a name or number of pluviographic station where data were measured, and it is used to save results.

Type

a character specifying the name of distribution function that it will be employed: exponencial, gamma, gev, gumbel, log.normal3, normal, log.pearson3 and wakeby (see selecDIST).

name

a vector of characters used to save graphs. It allows differentiation strategy to compute IDF curves.

Station

a character specifying a name or number of pluviographic station where data were measured, and it is used to save results.

Value

A list of

  • Predict a numeric matrix with the intensities values of the IDF equation calibrated. Durations by rows and return periods by columns.

  • Coefficients a numeric matrix with values of the coefficients A, B and C for each return period.

  • test.fit.reg a numeric matrix with perfomance metrics (rmse, mse, br2, AIC and BIC by each equation.

  • Prediction.Int a list with matrices. Each matrix has the lower and upper limit of the prediction interval per each specific time duration. Two columns by n durations.

  • Confidence.Int a list with matrices. Each matrix has the lower and upper limit of the confidence interval per each specific time duration. Two columns by n durations.

Author(s)

David Zamora <dazamoraa@unal.edu.co> Water Resources Engineering Research Group - GIREH

Examples


# Meteorology station in the Airport Farfan in Tulua, Colombia.
data(IDFdata)
TEST.out <- regIDF(Intensity = IDFdata, Periods = c(2,3,5,10,25,50,100), 
                 Durations = c(5,10,15,20,30,60,120,360), logaxe = "", Plot = 34, 
                 Resolution = 300, SAVE = FALSE, Strategy = 1,
                 M.fit = "lmoments", Type = "gumbel", name = "Test", Station = "2601")
                 

dazamora/IDFtool documentation built on Jan. 1, 2023, 3:29 p.m.