A nice series of video tutorial on R was just posted by the Google Developers Group, on youTube, here.

Recently many resources were added for hydrologists, which I list below with a little comment.

New: a second paper by distinguished colleagues is also on HESSD: Hydrology modelling R packages: a unified analysis of models and practicalities from a user perspective, by Astagnau et al.

New: Now we also have a very informative paper at HESSD: "Using R in hydrology: a review of recent developments and future directions" by Slate et al., 2019. It is a pity they do not cite this blog, but we cannot pretend too much!

- OCNet OCNet enables the creation and analysis of Optimal Channel Networks (OCNs). These are oriented spanning trees (built on rectangular lattices made up of square pixels) that reproduce all scaling features characteristic of real, natural river networks.
- DonwscaleR is an R package for empirical-statistical downscaling focusing on daily data and covering the most popular approaches and techniques (quantile mapping, analogs, regression, generalized regression, neural networks). This package has been conceived to work in the framework of both seasonal forecasting and climate change studies and is part of the climate4R framework, formed by
`loadeR`

,`transformeR`

,`downscaleR`

and`visualizeR`

. - bigleaf (version 0.6.5), an open source toolset for the derivation of meteorological, aerodynamic, and physiological ecosystem properties from eddy covariance (EC) flux observations and concurrent meteorological measurements.
- rtop is a package for geostatistical interpolation of data with irregular spatial support such as runoff related data or data from administrative units.
- The boussinesq package is a collection of functions implementing the one-dimensional Boussinesq Equation (ground-water).
- dynatopmodel is a native R implementation and enhancement of the Dynamic TOPMODEL, Beven and Freers’ (2001) extension to the semi-distributed hydrological model TOPMODEL (Beven and Kirkby, 1979).

RclimTool. It was designed with the aim of facilitating users in statistical analysis for quality control, filling of missing data, homogeneity analysis and calculation of indicators for daily weather series for temperature (maximum and minimum) and precipitation. - LumpR a tool for HRU delineations (the reference paper is here).
- Cropwat FAO model (it is a decision support system developed by the Land and Water Development Division of FAO for planning and management of irrigation) translated into R.
- Two socio-hydrological models of human-flood interactions that were recently developed. The two models are similar, but based on different socio-economic variables (wealth and human proximity to rivers VS relative population density). A full description of the two models can be found in the following two papers: HESS (2013), https://www.hydrol-earth-syst-sci.net/17/3295/2013/hess-17-3295-2013.pdf; WRR (2015), http://onlinelibrary.wiley.com/doi/10.1002/2014WR016416/full
- RWater: A Cyber-enabled Data-driven Tool for Enhancing Hydrology Education
- airGR: Hydrological modelling tools developed at Irstea-Antony (HBAN Research Unit, France). The package includes several conceptual rainfall-runoff models , a snowmelt module and the associated functions for their calibration and evaluation
- airGRteaching:“It is an add-on package to the 'airGR' package that simplifies its use and is aimed at being used for teaching hydrology. The package provides 1) three functions that allow to complete very simply a hydrological modelling exercise 2) plotting functions to help students to explore observed data and to interpret the results of calibration and simulation of the GR ('Génie rural') models 3) a 'Shiny' graphical interface that allows for displaying the impact of model parameters on hydrographs and models internal variables.“
- lumpR. A tool facilitating landscape discretisation for hillslope-based hydrological models. It is described in a paper on GMDD
- HydroGOF and HydroTSM by Mauricio Zambrano-Bigiarini. The first provides functions implementing both statistical and graphical goodnes-of-fit measures between observed and simulated values, mainly oriented to be used during the calibration, validation, and application of hydrological models. The second provides functions for management, analysis, interpolation and plotting of time series used in hydrology and related environmental sciences. Mauricio also had a poster at EGU 2010 general assembly on the topic.
- Jasper Vrugt's DREAM calibration method
- RMWAGEN by Emanuele Cordano which is a weather generator, a package that contains functions for spatial multi-site stochastic generation of daily timeseries of temperature and precipitation. A presentation can be found here.
- Other stochastic generators of precipitation can be found here. Do not forget to explore the links in that page, and particularly the presentations given at the Roscoff's Workshop on stochastic generators, where many examples are in R
- The RHydro which included TOPMODEL (apparently not anymore supported), tools for DEM analysis (this last type of tools however are also available through the work by R. Bivand, E.J. Pebesma and V. Gomez-Rubio ), an implementation of the FUSE by Clark et al (2008) methodology, and many other tools for hydrological analysis. These were initially promoted by Wouter Buytaert and Dominik Reusser who also gave a nice tutorial at EGU a few years ago.
- Hydromad: It provides a modelling framework for environmental hydrology: water balance accounting and flow routing in spatially aggregated catchments. It supports simulation, estimation, assessment and visualisation of flow response to time series of rainfall and other drivers
- TUWmodel is a lumped conceptual rainfall-runoff model, following the structure of the HBV model. The model runs on a daily time step and consists of a snow routine, a soil moisture routine and a flow routing routine. See Parajka, J., R. Merz, G. Bloeschl (2007) Uncertainty and multiple objective calibration in regional water balance modelling: case study in 320 Austrian catchments, Hydrological Processes, 21, 435-446
- Sean Turner's and Stefano Galelli's, reservoir package, Tools for Analysis, Design, and Operation of Water Supply Storages. Sean Turners's also buildes Scenario

- R Code: Handy routines for Hydrologists by Dan Moore and others.
- Hydrosanity: It provides a graphical user interface for exploring hydrological time series. It is designed to work with catchment surface hydrology data (mainly rainfall and streamflow time series at a set of locations). There are functions to import from a database or files; summarise and visualise the dataset in various ways; estimate areal rainfall; fill gaps in rainfall data; and estimate the rainfall-runoff relationship. Probably the most useful features are the interactive graphical displays of a spatial set of time series. (This project seems actually being abandoned).
- aqp: Algorithms for quantitative pedology. A collection of algorithms related to modeling of soil resources, soil classification, soil profile aggregation, and visualization by Dylan Beaudette and Pierre Roudier. A paper talking about it is given here. And a presentation is not missing.
- A package for plotting soil water retention curves and hydraulic conductivity by Emanuele Cordano, Fabio Zottele and Daniele Andreis is soilwater.
- soilDB, of the same authors of aqp, is useful to access some soil databases.
- soiltexture: Functions for soil texture plot, classification and transformation by Jules Moeys
- Hydrome: This package estimates the parameters in infiltration and water retention models by curve-fitting method.
- SoilWater address to a couple of packages for estimating Soil Water Retention Curves and some Pedotransfer Functions
- hydropso: This package implements a state-of-the-art version of the Particle Swarm Optimisation (PSO) algorithm, with a special focus on the calibration of environmental models.
- Evapotranpiration: by Dan Lu Guo and Seth Westra. This package estimates Potential and Actual Evapotranspiration with multiple models (see also the paper here).
- EcoHydRology developed by DR. Fuka, MT Walter, JA Archibald, TS Steenhuis, and ZM Easton which presents a community modeling foundation for Eco-Hydrology.
- Claudia Vitolo's Curve Number (Curve Number!) and other R stuff, including some tools for data discovery. Claudia also manages a Google+ group, R4Hydrology.
- nsRFA: this is collection of statistical tools for objective (non-supervised) applications of the Regional Frequency Analysis methods in hydrology made by Alberto Viglione. The package refers to the index-value method and, more precisely, helps the hydrologist to: (1) regionalize the index-value; (2) form homogeneous regions with similar growth curves; (3) fit distribution functions to the empirical regional growth curves.
- Wasim: Helpful tools for data processing and visualisation of results of the hydrological model WASIM-ETH.
- Geotopbricks by Emanuele Cordano, analyses raster maps and other information as input/output files from the Hydrological Distributed Model GEOtop
- hddtools by Claudia Vitolo is a tool for hydrological data discovery.
- waterData is a USGS Package for Retrieval, Analysis, and Anomaly Calculation of Daily Hydrologic Time Series Data
- Lmoments and Lmomco are two packages for the estimation of the L-moments of a distribution.
- The SPEI R Package by Santiago Begueria which includes a set of functions for computing potential evapotranspiration and several widely used drought indices including the Standardized Precipitation-Evapotranspiration Index (SPEI).
- The USGS-R packages at github
- Alessio Pugliese and Attilio Castellarin pREC: a package for the regionalisation of some hydrological variables.
- Alberto Montanari version of Hymod: here.
- Emanuele Cordano work in connecting R with JGrasstools, here, to do geomorphological analysis (slides in Italian here, and in English here) within R.
- meteo package by Kilibarda, Sekulic, Hengl, Pebesma and Graeler, A package for spatio-temporal geostatistical mapping of meteorological data. Global spatio-temporal models calculated using publicly available data are stored in package.
- The reservoir package by Sean Turner [aut, cre], Jia Yi Ng [aut], Stefano Galelli [aut]. It measures single-storage water supply system performance using resilience, reliability, and vulnerability metrics; assess storage-yield-reliability relationships; determine no-fail storage with sequent peak analysis; optimize release decisions for water supply, hydropower, and multi-objective reservoirs using deterministic and stochastic dynamic programming; evaluate inflow persistence using the Hurst coefficient. A companion paper for this tool is available.
- The scripts and data I use in my short mini-classes on R inside my Hydrology and Hydraulic Constructions classes. The include a quick introduction to R, plotting a treating a time serie of rainfall data read from a file, reading and plotting discharges data from a file, estimating the idf curves of rainfall from a standard (Italian standard) set of maxima of annual precipitation, with interpolation of Gumbel probabilities with various methods.
- Anne Van Loon Drougths R code

- Tony Ladson's fresh and informative blog, and its links

- The TSA package contains R functions and datasets detailed in the book "Time Series Analysis with Applications in R (second edition)" by Jonathan Cryer and Kung-Sik Chan

- Here James B. Elsner and Thomas H. Jagger wrote a tutorial for using R for Climate Research.
- Here tools for visualising California snow cover data are provided.
- A visualisation of the Bayesian search of a distribution stimulated by Climate Research.
- Simulating wind speed with R.
- Visualising droughts.
- Visualising NCEP global data
- Resources for Spatial Analysis
- Analysis of Dutch Rainfall data

but also:

- evir
- evdbayes
- ismev
- extRemes [for Windows users (I do not like the packages linked to a platform!!!)]
- SpatialExtremes

Frankly I did not test them all: but usually CRAN packages are really good.

Finally, Mauricio Zambrano suggested also a series of other CRAN R packages that could be useful:

**Geostatistics**: gstat, automap, geoR, fields, RandomFields**GIS**: spgrass6, RSAGA, rgdal, sp, proj4, raster, mapproj, maptools, RGoogleMaps, RArcInfo, RpyGeo,**Flood frequency**: POT, evd, nsRFA, extremes, lmomco**Optimization**: pso, DEoptim,**High Performance Computing**: parallel, snowfall, multicore, jit, nws, Rmpi, snow, taskPR**Spreadsheets & DB**: RPostgreSQL, RMySQL, RSQLite, RNetCDF, RexcelInstaller, xlsReadWrite**Bayesian statistics**: BAS, BLR, ensembleBMA, evdbayes, LearnBayes,- ramps, spBayes,...
**Latex**: xtable, Sweave**Wavelets**: wavelets; wavethresh, wmtsa, Rwave**Data Mining**: Rweka, rattle, party, RandomForest, ...- Machine Learning tools (in Java with R connection)

If you arrived here and you never used R, you can start from here.

Finally, you also would like to know why it is so hard to learn R. This blogpost clarify it, and also why I am using other languages for real model development.

From Shaun Harrigan:

ReplyDeleteThank you Riccardo for your helpful post.

I have recently started a PhD in Hydrology and have chosen R to perform the majority of my statistical analyses and to produce publication quality graphics. I also use it to write code (Making good progress but still learning) for managing and cleaning up hydrological and climate data (data aggregation, missing data, extracting indicators for testing etc.).

After spending quite some time deciding whether to concentrate my time learning R or Matlab I chose R as I can see a real future for it in hydrologists’ day to day tasks. Matlab is also very good, however, the fact that R is free is a big help for students and researchers. Cost aside, R has a rapid growing user group that are continually adding really nice libraries. It means often you don’t have to re-invent the wheel for every task.

Some helpful libraries I use are:

- HydroGOF and HydroTSM (as discussed in Riccardo’s blog)

- Kendall ( for Mann-kendall trend test)

- zyp (Sen’s slope method)

- wq (water quality monitoring, also has Mann-Kendall and Sen slope included)

- boot (functions for bootstrapping)

The more hydrologists use R the more libraries that will be created. It would be great if a workshop/conference was organised to get an international community of R using hydrologists together. I am not aware of any? Be great to here from other hydrologists using R.

Shaun Harrigan,

National University of Ireland Maynooth (NUIM)

This comment has been removed by a blog administrator.

DeleteWow... Just came across this old comment I wrote as a fresh-faced PhD student almost 7 years ago! I'm happy to say that we have indeed advanced the use and training of R in Hydrology, significantly.

DeleteIn-case anyone is interested, here's a link to our short course on "Using R in Hydrology" that will be running for the third year in a row at the European Geosciences Union (EGU) conference in Vienna at the start of April: https://meetingorganizer.copernicus.org/EGU2019/orals/30963

A recent paper is also in discussion in the HESS journal that reviews progress and adds some thoughts on future directions. Hopefully it complements this excellent list of R reseoures contained within this blog:

https://www.hydrol-earth-syst-sci-discuss.net/hess-2019-50/

Cheers,

Shaun.

I am not aware of any specialised R-for-Hydrologists conferences. I think that Wouter Buytaert and Dominik Reusser, as well as Mauricio Zambrano could be interested in organizing something.

ReplyDeleteI just came across this page - what a great resource, thank you Riccardo! In fact Dan Fuka and I tried to organize a session for R in Hydrology last year (2011) at the AGU conference in San Francisco. We didn't publicize it enough, and unfortunately it was too small and had to be combined with another environmental modeling session, so it lost its R focus. If there is interest, perhaps we could try again for a R-Hydrology session at AGU next year (2013).

DeleteInteresting page. I am trying to get acquainted with it.

ReplyDeleteDear colleagues.

ReplyDeleteYou could find two more R packages for hydrologists in itia's research team website here

http://itia.ntua.gr/en/softinfo/3/

and here

http://itia.ntua.gr/en/softinfo/29/

The first is "Hyetos-R". It is a package for the temporal stochastic simulation of rainfall process at fine time scales based on Bartlett-Lewis rectangular pulses rainfall model.

The second is "eas" which is an evolutionary annealing-simplex algorithm. The first package uses it to estimate the Bartlett-Lewis model's parameters.

Hristos Tyralis

National Technical University of Athens

Dear Hristos,

Deletethank you for your information. However it would be great if you could upload your packages on the CRAN web site.

All the best,

riccardo

Please feel free to add to your list my blog and github sites on hydrology and stochastic precipitation.

ReplyDeletehttp://gopigoteti.tumblr.com/

https://github.com/RationShop

Thanks

Gopi Goteti

Dear Ricardo, thank you for sharing these links. I am just starting my period as visiting scholar in Sydney University. My background is geology (which is in very qualitative approach), whereas now I am working in the Environmental Dept (which is very quantitative). And I am a very beginner in R, but I have fun though, learning R from very start, and gathering scattered information about scripts etc. The interesting thing was, we could get help from anyone on the net. Thank you once again.

ReplyDeleteDea Desapta, thank you for your kind words. Please do not hesitate if you come to know new pieces of R software that can be added to this list.

ReplyDeletericcardo

Thanks for this post, I'm writing a paper and this was usefull. Soon me and my collegues will we post a new package with a hydrologic model much used in Brazil.

ReplyDeleteAll the best.

I got admitted in PhD on this jan and am intersted to do water quality analysis, its prediction and bayesian analysis of water quality. please suggest me the packages and the books available for beginners like me.

ReplyDeletethank you

Dear Sahoo,

ReplyDeleteI will not be able to give you suggestions on the topic you like. You should be also more specific. What do you mean for water quality ? Analysis of chemicals in water ? Advection/dispersion of pollutants and nutrients in groundwater or surface water ? Sanitation ?

R is my statistical software of election. I had hard time to convince my Ph.D. students to adopt it, but finally they did, and, as usually happens, ... mitfernbedienung.blogspot.de

ReplyDeleteI have started a PhD in Hydrology and I have chosen R to write code (about disaggregation streamflow from annual to daily by using K-nearest neighbour( K-NN) model) if you have a code ,please help me .

ReplyDeleteR is great ... i used it in my M.Sc. thesis and i'm still learning new things

ReplyDeleteas an advice for new learners ... there is an R package to learn R "Sounds funny but it is really efficient"

you can see this website http://swirlstats.com/

it is "probably" the same used for coursera : https://www.coursera.org/course/rprog

and it starts in 3 days if you want to join.

We wanted people to be aware of two new R packages from USGS. Both are now available on CRAN.

ReplyDeletedataRetrieval - retrieves all types of USGS water data and enters it directly into R data frames. Also retrieves from the water quality data portal that contains USGS, EPA-STORET, and USDA-STEWARDS data base.

EGRET (Exploration and Graphics for RivEr Trends) does exploratory data analysis dealing with long term streamflow statistics, surface water quality loads (fluxes) and water quality trends. Strongly oriented towards graphical methods. Contains its own data retrieval routines that ingest data from USGS NWIS, Water Quality Portal, or spreadsheets.

For more information see: https://github.com/USGS-R/EGRET/wiki

Thank you for the information you shared in your blog.

ReplyDeleteI think there is a need to have a specific youtube channel for hydrologists to help them in using R.

Dear Morteza, thank you for the suggestion. However, in the open source community, everything is based on volunteers. So you could be the first to give a good example.

ReplyDeleteThis comment has been removed by a blog administrator.

ReplyDeleteThanks for posting this, Riccardo, I will be looking into some of those packages asap. As Desapta says, it is sometimes hard to bridge the gap between the qualitative and quantitative approaches in eco-hydrological work. I am a biologist doing a PhD on eco-hydrology in temporary ponds, and I want to link precipitation to groundwater patterns and flood episodes (using met records and diver data, so lots of data!). A lot of the focus in the time series analysis methods seems to be on rivers and surface waters - are you aware of any packages that look at groundwater? I hope this is not a stupid question - there is just so much information out there it is hard to know where to look.

ReplyDeleteI do not inow about specific packages, but there should be no difference in doing correlations between rainfall and groundwater levels and doing any other correlation.

DeleteModern techniques could actually involve Machine Learning (I have a post or two on it) which is certainly covered in some R package.

Hi,

ReplyDeleteI am a hydro geologist.

Is there R package relating discharge,Q, of a well, specific capacity, hydraulic conductivity, and drawdown?

I wanted people looking at this site to know about a new blog from the USGS Office of Water Information. It is at https://owi.usgs.gov/blog/. On that blog there are a couple of posts about new developments in the EGRET software (Exploration and Graphics for RivEr Trends) and EGRETci ("ci" for confidence intervals). There are many new R tools for hydrologists coming out of USGS these days. Bob Hirsch, Research Hydrologist, USGS

ReplyDeleteHi there - I am wondering if there are any known R packages available that will allow the user to develop and update a stage-discharge rating curve using stream discharge measurement records? Thanks -- Nick Harrison

ReplyDeleteThis comment has been removed by a blog administrator.

ReplyDeleteThis comment has been removed by a blog administrator.

ReplyDeleteR-programming helps a lot not only for data analysis and interpretation but also for improving the quality of education as it is a step by step procedure in solving practical problems.

ReplyDeleteSuch a useful blog! It would be great that the video classes would be spoken in English but it's an inspiration when people share their knowledge in the way you do. It would be great to have a professor like you.

ReplyDeleteRegards from Perú

This comment has been removed by a blog administrator.

ReplyDeleteThank you for the nice topic blog.

ReplyDeleteThank you professor,

ReplyDeleteI really admire your work.

I am currently using R to correct climate model bias (in the context of climate change). The package is 'DownscaleR', from Santander Met Group. Information about the package available in github (https://github.com/SantanderMetGroup/downscaleR/wiki).

Regards from Brazil,

Federal University of Paraná

I added Your Package to the list (on top)

ReplyDeleteDisdrometer is very useful for Hydrologists. This is Jack, have been working in the meteorological industry for more than 15 years. I have made a special presentation on disdrometer.

ReplyDeleteHttps://www.weatherstation1.com/what-is-disdrometer/

Maybe it will help more people.

Ciao Riccardo. Conosci un good R package for GIUH? thx!

ReplyDeleteNo Matteo, I do not know any package doing GIUH in R. We have one (called Peakflow) in the Horton Machine though. (Written in Java).

ReplyDeletePython has written flopy package to aid MODFLOW modeling.

ReplyDeleteFor us who love R and prefer everything to be done in R...we r now an orphaned lot.

What could explain the dearth of R packages to run scripting in modflow ?

The conventional modflow modeling in the GUI is boring n time-wasting.

R coder /programmers out there. . Please intervene before we begin learning anaconda n jupyter interfaces.

Shalom!

I actually moved since a couple of years to Jupyter and Python instead of R. R is still superior when we talk about statistics but Python is more suited to the mind of my fellow engineers. Python pandas library covers almost all the needs a normal user have. Numpy, scipy and Matplotlib have a huge and vibrant community of developers. Jupyter lab is a very nice interface which let you mix text, formulas and code interactively (it works also for R). So, I went into that direction too

ReplyDeleteThanks for this insightful response.. .I need to begun learning anaconda now.

DeleteI have been doing neural network n fuzzy logic models if groundwater hydraulic variables n got really hooked to R.

I need to learn python in its entirety, then.

Thanks once again.

I am taking this new challenge to learn python NOW

P.S. - Python is much better than R as a programming language.

ReplyDeletehello everyone,

ReplyDeleteI am very new in R. I am currently investing the intermittency of wet and dry daily-sub daily clusters for rainfall.

I would like to ask if anyone could help me in creating a r script for the Poissonian Rectangular Pulse (PRP) model for generating synthetic data for my study. I am unable to know which package to be used and what is needed to create such models. Any help would be appreciated.

Regards

Sunil,

IIT Roorkee, India

hello sir! i am phd candidate in Ethiopia and i want to work with you can you help me in picking my phd thesis in the areas of hydrology,hydraulics and water resource system analysis and climate change?

ReplyDeleteDear Juhar,

ReplyDeleteplease write to my personal email: riccardo.rigon at unitn.it

hello i want to plot monthly rainfall for 4 months in R like;

ReplyDeleteMonths Rain Temp

Apr 113.8 30.00

May 56.2 29.00

Jun 143.6 22.00

Jul 61 27.00

Aug 21.4 31.00

any help can be sent to azizinga@gmail.com

Wao, nice!

ReplyDelete