An R package incorporating a set of functions for computing potential or reference evapotranspiration and several widely used drought indices, currently including the Standardized Precipitation-Evapotranspiration Index (SPEI) and the Standardized Precipitation Index (SPE).
The package is centered on the SPEI. For more information on this drought index, please visit spei.csic.es.
Functions <spei>
and <spi>
are the workhorse of the SPEI library. Other functions such as <kern>
, <cdfglo>
or <pglo>
are auxiliary low-level functions and they will not be used directly by the typical user. Functions for computing potential evapotranspiration are provided, too, for helping computing the SPEI. These are: <thornthwaite>
, <hargreaves>
and <penman>
.
Install the latest stable development version from GitHub:
library(devtools)
install_github('sbegueria', 'SPEI')
Or get it from the CRAN repository:
install.packages('SPEI')
Please, note that the CRAN version may not be the very latest version of the package.
You can cite this references if you use the SPEI library on your work:
-
S.M. Vicente-Serrano, S. Beguería, J.I. López-Moreno. 2010. A Multi-scalar drought index sensitive to global warming: The Standardized Precipitation Evapotranspiration Index – SPEI. Journal of Climate 23: 1696, DOI: 10.1175/2009JCLI2909.1.
-
Beguería S, Vicente-Serrano SM, Reig F, Latorre B. 2014. Standardized precipitation evapotranspiration index (SPEI) revisited: parameter fitting, evapotranspiration models, tools, datasets and drought monitoring. International Journal of Climatology 34(10): 3001-3023.
Other (possibly useful) references:
-
Vicente-Serrano, S.M., Beguería, S., López-Moreno, J.I., Angulo, M., El Kenawy, A. 2010. A new global 0.5° gridded dataset (1901-2006) of a multiscalar drought index: comparison with current drought index datasets based on the Palmer Drought Severity Index. Journal of Hydrometeorology 11: 1033--1043.
-
Beguería, S., Vicente-Serrano, S.M. y Angulo, M. 2010. A multi-scalar global drought data set: the SPEIbase: A new gridded product for the analysis of drought variability and impacts. Bulletin of the American Meteorological Society 91: 1351--1354.
-
Vicente-Serrano, S.M., Beguería, S. and Juan I. López-Moreno. 2011. Comment on “Characteristics and trends in various forms of the Palmer Drought Severity Index (PDSI) during 1900-2008” by A. Dai. Journal of Geophysical Research-Atmosphere 116: D19112, doi:10.1029/2011JD016410.
-
Vicente-Serrano, S.M., Santiago Beguería, Jorge Lorenzo-Lacruz, Jesús Julio Camarero, Juan I. López-Moreno, Cesar Azorin-Molina, Jesús Revuelto, Enrique Morán-Tejeda and Arturo Sánchez-Lorenzo. 2012. Performance of drought indices for ecological, agricultural and hydrological applications. Earth Interactions 16: 1--27.
-
Vicente-Serrano, S.M., Célia Gouveia, Jesús Julio Camarero, Santiago Beguería, Ricardo Trigo, Juan I. López-Moreno, César Azorín-Molina, Edmond Pasho, Jorge Lorenzo-Lacruz, Jesús Revuelto, Enrique Morán-Tejeda and Arturo Sanchez-Lorenzo. 2012. The response of vegetation to drought time-scales across global land biomes. Proceedings of the National Academy of Sciences of the United States of America, doi: 10.1073/pnas.1207068110.
-
Vicente-Serrano, S.M., Gerard Van der Schrier, Santiago Beguería, Cesar Azorin-Molina, Juan-I. Lopez-Moreno. 2015. Contribution of precipitation and reference evapotranspiration to drought indices under different climates. Journal of Hydrology 426: 42--54.
-
Vicente-Serrano, S.M., Beguería, S. 2016. Comment on "Candidate Distributions for Climatological Drought Indices (SPI and SPEI)" by James H. Stagge et al. International Journal of Climatology 36: 2120--213.
- Several code optimizations and improvements (by github user doug-friedman).
- Added formal unit testing with testthat (doug-friedman).
- Move documentation over to roxygen (doug-friedman).
- Update
<spei>
function to allow processing data with frequency different than 12 (by github user MuDestructor).
- Corrected an error in
<spei>
function, which was not working when distribution was Gamma or PeasonIII and using user provided parameters. (Fixed by Emanuele Cordano, emanuele.cordano@gmail.com -- ecor) - Added probability of monthly precipitation = 0 (pze) when using user provided parameters. (Fixed by Emanuele Cordano, emanuele.cordano@gmail.com -- ecor)
- Corrected a bug in the
<kern>
function which resulted in a multiplicative kernel instead of an additive one such the one expected in the<spei>
and<spi>
functions. - Some small corrections to the plotting function and to the examples.
- Corrected an error in the function
<thornthwaite>
which resulted in wrong potential evapotranspiration estimates when a multivariate time series was used as input. - Corrected an error in the function
<spi>
which resulted in wrong handling of zero precipitation months when using the Gamma or PearsonIII distribution. - Minor fixes to the
<spi>
and<plot.spei>
functions to correctly handle \code{spei} objects when they result from a call to<spi>
. - Modification to the
<kern>
function, which now yields kernel coefficients averaging one. - Corrected an error in the functions
<spi>
and<spei>
which resulted in ub-pwm method being used irrespective of the value of the \code{fit} parameter used, when using the 'Gamma' or 'PearsonIII' distributions. - Minor changes to the documentation.
- Optimization of function
<spei>
, now using embed() for accumulating the data at the desired time scale.
- Minor fixes to functions
<penman>
and<pwm>
. - Documentation of the penman function defined by mistake ed as the saturation vapour pressure, while it should read 'actual vapour pressure'.
- Function zzz.R added to display basic information about the SPEI package at startup.
- Function
<SPEINews>
added to display the NEWS file.
- Minor fixes to functions
<spei>
and<penman>
. - Added new option for user-supplied SPEI parameters in the
<spei>
function. This overrides the fitting of a probability function to the data. - Added new dataset
<cabinda>
from Allen et al. (1998).
- Fixed a bug causing several functions to fail when a time series not belonging to matrix class was provided.
- Function
<plot.spei>
now distinguises between calls to spei and spi and labels the axis accordingly.
- Functions
<spei>
and<spi>
now yield an object of class "spei". - New functions for summarizing and plotting "spei" objects are provided.
- An option to establish a reference period for the computation of the indices has been implemented in functions
<spei>
and<spi>
.
First release of the SPEI package.
- Complete the documentation for pwmLC.Rd.
- New options for computing reference evapotranspiration.
- Review method plot.spei() that produces wrong results in some cases.
- Implement parallel processing - see branch parallel.
- Analysis function - see branch corel_anal.
- Add a warning message to penman function to inform the user about the options being used. A verbose option will control wether or not to display this warning.
- A version of penman function for daily data (there is one version on my blog, http://santiago.begueria.es).
- Different versions of the Penman-Monteith ET0 calculation (FAO-56, ASDE, etc), as Miquel did.
Feel free to write an issue if you have any questions or problems.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.