CRAN Hydrology Task View - [Under Construction and not actually on CRAN]
Switch branches/tags
Clone or download

README.md

CRAN Task View: Water Science

Maintainer: Sam Zipper, Sam Albers, Ilaria Prosdocimi
Contact: samuelczipper at gmail.com
Version: 2018-11-13
URL: https://CRAN.R-project.org/view=hydrology

This Task View contains information about packages broadly relevant to hydrology , defined as the movement, distribution and quality of water and water resources over a broad spatial scale of landscapes. Packages are broadly grouped according to their function; however, many have functionality that spans multiple categories. We also highlight other, existing resources that have related functions - for example, statistical analysis or spatial data processing. See also Riccardo Rigon’s excellent list of hydrology-related R tools and resources.

If you have any comments or suggestions for additions or improvements for this Task View, go to GitHub and submit an issue, or make some changes and submit a pull request. If you can’t contribute on GitHub, send Sam Zipper an email. If you have an issue with one of the packages discussed below, please contact the maintainer of that package.

Data Retrieval

Hydrological data sources (surface water/groundwater quantity and quality)

  • dataRetrieval: Collection of functions to help retrieve U.S. Geological Survey (USGS) and U.S. Environmental Protection Agency (EPA) water quality and hydrology data from web services.

  • dbhydroR: Client for programmatic access to the South Florida Water Management District’s DBHYDRO database, with functions for accessing hydrologic and water quality data.

  • hddtools: Hydrological Data Discovery Tools. Facilitates discovery and handling of hydrological data, access to catalogues and databases.

  • hydrolinks: Tools to link geographic data with hydrologic network, including lakes, streams and rivers. Includes automated download of U.S. National Hydrography Network and other hydrolayers.

  • hydroscoper: R interface to the Greek National Data Bank for Hydrological and Meteorological Information. It covers Hydroscope’s data sources and provides functions to transliterate, translate and download them into tidy dataframes (tibbles).

  • kiwisR: Wrapper for retrieving data from KISTERS WISKI databases via the KiWIS API. GitHub only package.

  • rnrfa: Utility functions to retrieve data from the UK National River Flow Archive. There are functions to retrieve stations falling in a bounding box, to generate a map and extracting time series and general information.

  • sbtools: Tools for interacting with U.S. Geological Survey ScienceBase data cataloging and collaborative data management platform. Functions included for querying ScienceBase, and creating and fetching datasets.

  • tidyhydat: Provides functions to access historical and real-time national ‘hydrometric’ data from Water Survey of Canada data sources ( http://dd.weather.gc.ca/hydrometric/csv/ and http://collaboration.cmc.ec.gc.ca/cmc/hydrometrics/www/) and then applies tidy data principles.

  • washdata: Urban water and sanitation survey dataset from survey conducted in Dhaka, Bangladesh, part of a series of surveys to be conducted in various cities including Accra, Ghana; Nakuru, Kenya; Antananarivo, Madagascar; Maputo, Mozambique; and, Lusaka, Zambia.

  • waterData: Imports U.S. Geological Survey (USGS) daily hydrologic data from USGS web services, plots the data, addresses some common data problems, and calculates and plots anomalies.

  • WaterML: Lets you connect to any of the Consortium of Universities for the Advancement of Hydrologic Sciences, Inc. (‘CUAHSI’) Water Data Center ‘WaterOneFlow’ web services and read any ‘WaterML’ hydrological time series data file.

Meteorological data (precipitation, radiation, temperature, etc - including both measurements and reanalysis)

  • bomrang: Provides functions to interface with Australian Government Bureau of Meteorology (BOM) data, fetching data and returning a tidy data frame of précis forecasts, historical and current weather data from stations, agriculture bulletin data, BOM 0900 or 1500 weather bulletins or a raster stack object of satellite imagery from GeoTIFF files.

  • countyweather: Interacts with NOAA data sources (including the NCDC API and ISD data) using functions from the ‘rnoaa’ package to obtain and compile weather time series for U.S. counties.

  • getMet: Functions for sourcing, formatting, and editing meteorological data for hydrologic models.

  • GSODR: Provides automated downloading, parsing, cleaning, unit conversion and formatting of Global Surface Summary of the Day (GSOD) weather data from the from the USA National Centers for Environmental Information (NCEI) for use in R.

  • MODISTools: Programmatic Interface to the MODIS Land Products Subsets Web Services. Allows for easy downloads of ‘MODIS’ time series.

  • rdwd: Handle climate data from the German DWD (‘Deutscher Wetterdienst’).

  • RNCEP: Contains functions to retrieve, organize, and visualize weather data from the NCEP/NCAR Reanalysis and NCEP/DOE Reanalysis II datasets.

  • rnoaa: Client for many NOAA data sources including the NCDC climate API, with functions for each of the API endpoints: data, data categories, data sets, data types, locations, location categories, and stations. Includes interface NOAA sea ice data, severe weather inventory, Historical Observing Metadata Repository (‘HOMR’), storm data via ‘IBTrACS’, tornado data via the NOAA storm prediction center, and more.

  • rpdo: Get Monthly Pacific Decadal Oscillation (PDO) index values from January 1900 to present. See also rsoi for downloading Southern Oscillation Index, Oceanic Nino Index and North Pacific Gyre Oscillation data.

  • rwunderground: Tools for getting historical weather information and forecasts from wunderground.com. Historical weather and forecast data includes, but is not limited to, temperature, humidity, windchill, wind speed, dew point, heat index. Additionally, the weather underground weather API also includes information on sunrise/sunset, tidal conditions, satellite/webcam imagery, weather alerts, hurricane alerts and historical high/low temperatures.

  • smapr: Acquisition and Processing of NASA Soil Moisture Active-Passive (SMAP) Data. Facilitates programmatic access to search for, acquire, and extract NASA Soil Moisture Active Passive (SMAP) data.

  • weathercan: Provides means for downloading historical weather data from the Environment and Climate Change Canada website. Data can be downloaded from multiple stations and over large date ranges and automatically processed into a single dataset. Tools are also provided to identify stations either by name or proximity to a location.

  • worldmet: Functions to import data from more than 30,000 surface meteorological sites around the world managed by the National Oceanic and Atmospheric Administration (NOAA) Integrated Surface Database (ISD).

Data Analysis

Data tidying (gap-filling, data organization, QA/QC, etc)

  • driftR: A tidy implementation of equations that correct for instrumental drift in continuous water quality monitoring data using one or two standard reference values. The equations implemented are from Hasenmueller (2011).

  • fasstr Functions to tidy, summarize, analyze, trend, and visualize streamflow data. This package summarizes continuous daily mean streamflow data into various daily, monthly, annual, and long-term statistics, completes annual trends and frequency analyses, in both table and plot formats. GitHub only package.

  • climdex.pcic: PCIC Implementation of Climdex Routines PCIC’s implementation of Climdex routines for computation of extreme climate indices.

  • climatol: Functions for the quality control, homogenization and missing data infilling of climatological series and to obtain climatological summaries and grids from the results. Also functions to draw wind-roses and Walter&Lieth climate diagrams.

  • getMet: Functions for sourcing, formatting, and editing meteorological data for hydrologic models.

Hydrograph analysis (functions for working with streamflow data, e.g. flow statistics, trends, biological indices, etc.)

  • biotic: Calculates a range of UK freshwater invertebrate biotic indices including BMWP, Whalley, WHPT, Habitat-specific BMWP, AWIC, LIFE and PSI.

  • EcoHydRology: This package provides a flexible foundation for scientists, engineers, and policy makers to base teaching exercises as well as for more applied use to model complex eco-hydrological interactions, including some SWAT calibration functions.

  • ecoval: Functions for evaluating and visualizing ecological assessment procedures for surface waters containing physical, chemical and biological assessments in the form of value functions.

  • EflowStats: Calculates a suite of ecological flow statistics and fundamental properties of daily streamflow for a given set of data. GitHub only package.

  • EGRET: Exploration and Graphics for RivEr Trends (EGRET): analysis of long-term changes in water quality and streamflow, including the water-quality method Weighted Regressions on Time, Discharge, and Season (WRTDS).

  • EGRETci: A bootstrap method for estimating uncertainty of water quality trends.

  • FAdist: Probability distributions that are sometimes useful in hydrology.

  • FlowScreen: Screens daily streamflow time series for temporal trends and change-points. This package has been primarily developed for assessing the quality of daily streamflow time series. It also contains tools for plotting and calculating many different streamflow metrics.

  • hydrostats: Calculates a suite of hydrologic indices for daily time series data that are widely used in hydrology and stream ecology.

  • hydroTSM: Functions for management, analysis, interpolation and plotting of time series used in hydrology and related environmental sciences. In particular, this package is highly oriented to hydrological modelling tasks.

  • lfstat: Functions to compute and plot statistics described in the “Manual on Low-flow Estimation and Prediction”, published by the World Meteorological Organisation (WMO).

Meteorology (functions for working with meteorological and climate data)

  • Evapotranspiration: Functions to calculate potential evapotranspiration (PET) and actual evapotranspiration (AET) from 21 different formulations including Penman, Penman-Monteith FAO 56, Priestley-Taylor and Morton models.

  • humidity: Functions for calculating saturation vapor pressure (hPa), partial water vapor pressure (Pa), relative humidity (%), absolute humidity (kg/m^3), specific humidity (kg/kg), and mixing ratio (kg/kg) from temperature (K) and dew point (K). Conversion functions between humidity measures are also provided.

  • MBC: Multivariate Bias Correction of Climate Model Outputs. Calibrate and apply multivariate bias correction algorithms for climate model simulations of multiple climate variables.

  • meteoland: Functions to estimate weather variables at any position of a landscape.

  • musica: Multiscale Climate Model Assessment. Provides function to compare and analyse time series.

  • qmap: Empirical adjustment of the distribution of variables originating from (regional) climate model simulations using quantile mapping.

  • Rainmaker: Instantaneous rainfall data processing for defining event periods, determination of antecedent rainfall conditions and X-hr intensities. GitHub only package.

Other

  • berryFunctions: Draw horizontal histograms, color scattered points by 3rd dimension, enhance date- and log-axis plots, zoom in X11 graphics, trace errors and warnings, use the unit hydrograph in a linear storage cascade, convert lists to data.frames and arrays, fit multiple functions.

  • GWSDAT: Shiny application for the analysis of groundwater monitoring data, designed to work with simple time-series data for solute concentration and ground water elevation, but can also plot non-aqueous phase liquid (NAPL) thickness if required.

  • hydrogeo: Contains one function for drawing Piper diagrams (also called Piper-Hill diagrams) of water analyses for major ions.

  • kitagawa: Provides tools to calculate the theoretical hydrodynamic response of an aquifer undergoing harmonic straining or pressurization. There are two classes of models here: (1) for sealed wells, based on the model of Kitagawa et al (2011), and (2) for open wells, based on the models of Cooper et al (1965), Hsieh et al (1987), Rojstaczer (1988), and Liu et al (1989).

  • MBSStools: Suite of tools for data manipulation and calculations for Maryland DNR MBSS program. GitHub only package.

  • MODIStsp: Suite of tools to automate the Download and Preprocessing of MODIS Land Products Data. Allows automating the creation of time series of rasters derived from MODIS Satellite Land Products data. It performs several typical preprocessing steps such as download, mosaicking, reprojection and resize of data acquired on a specified time period.

  • lulcc: Classes and methods for spatially explicit land use change modelling.

  • wql: Functions to assist in the processing and exploration of data from environmental monitoring programs. Intended for programs that sample approximately monthly, quarterly or annually at discrete stations, a feature of many legacy data sets. Most of the functions should be useful for analysis of similar-frequency time series regardless of the subject matter.

  • WRTDStidal: An adaptation for estuaries (tidal waters) of weighted regression on time, discharge, and season to evaluate trends in water quality time series.

Spatial data processing

The CRAN Spatial Task View gives an overview of packages to be used in R to read, visualise, and analyse spatial data. See also the ROpenSci MapTools Listing.

  • hydrolinks: Tools to link geographic data with hydrologic network, including lakes, streams and rivers. Includes automated download of U.S. National Hydrography Network and other hydrolayers.

  • lumpR: Functions for a semi-automated approach of the delineation and description of landscape units and partition into terrain components. It can be used for the pre-processing of semi-distributed large-scale hydrological and erosion models using catena-representation (WASA-SED, CATFLOW). GitHub only package.

  • lakemorpho: Lake morphometry metrics are used by limnologists to understand, among other things, the ecological processes in a lake. The ‘lakemorpho’ package provides the tools to calculate a typical suite of these metrics from an input elevation model and lake polygon.

  • Watersheds: Methods for watersheds aggregation and spatial drainage network analysis.

Modeling

Process-based modeling (scripts for preparing inputs/outputs and running process-based models)

See also the RHydro project on R-forge.

  • airGR: Hydrological modelling tools developed at Irstea-Antony (HYCAR Research Unit, France). The package includes several conceptual rainfall-runoff models (GR4H, GR4J, GR5J, GR6J, GR2M, GR1A), a snow accumulation and melt model (CemaNeige) and the associated functions for their calibration and evaluation.

  • airGRteaching: Add-on package to the ‘airGR’ package that simplifies its use and is aimed at being used for teaching hydrology.

  • bigleaf: Calculation of physical (e.g. aerodynamic conductance, surface temperature), and physiological (e.g. canopy conductance, water-use efficiency) ecosystem properties from eddy covariance data and accompanying meteorological measurements. Calculations assume the land surface to behave like a ‘big-leaf’ and return bulk ecosystem/canopy variables.

  • boussinesq: Collection of functions for the One-Dimensional Boussinesq Equation (ground-water).

  • dynatopmodel: Implementation and enhancement of the Dynamic TOPMODEL semi-distributed hydrological model. Includes some preprocessing, utility and routines for displaying outputs. See also topmodel.

  • Ecohydmod: Simulates the soil water balance (soil moisture, evapotranspiration, leakage and runoff), rainfall series by using the marked Poisson process and the vegetation growth through the normalized difference vegetation index (NDVI). See Souza et al. (2016).

  • EcoHydRology: Flexible foundation for scientists, engineers, and policy makers to base teaching exercises as well as for more applied use to model complex eco-hydrological interactions, including some SWAT calibration functions.

  • geotopbricks: An R Plug-in for the Distributed Hydrological Model GEOtop. The package analyzes raster maps and other information as input/output files from the Hydrological Distributed Model GEOtop.

  • hydromad: Hydrological Model Assessment and Development - website. GitHub only package.

  • hydroPSO: Particle Swarm Optimisation (PSO) algorithm for the calibration of environmental and other real-world models that need to be executed from the system console. hydroPSO is model-independent, allowing the user to easily interface any computer simulation model with the PSO calibration engine.

  • kwb.hantush: Calculation groundwater mounding beneath an infiltration basin based on the Hantush (1967) equation. The correct implementation is shown with a verification example based on a USGS report (page 25).

  • loadflex: Models and Tools for Watershed Flux Estimates. See paper. GitHub only package.

  • reservoir: Tools for Analysis, Design, and Operation of Water Supply Storages. Measure 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; generate inflow replicates using parametric and non-parametric models; evaluate inflow persistence using the Hurst coefficient.

  • RHMS: Hydrologic modelling system is an object oriented tool which enables R users to simulate and analyze hydrologic events. The package proposes functions and methods for construction, simulation, visualization, and calibration of hydrologic systems.

  • RSAlgaeR: Builds Empirical Remote Sensing Models of Water Quality Variables and Analyzes Long-Term Trends. Assists in processing reflectance data, developing empirical models using stepwise regression and a generalized linear modeling approach, cross- validation, and analysis of trends in water quality conditions (specifically chl-a) and climate conditions using the Theil-Sen estimator.

  • streamDepletr: Package for assessing the impacts of groundwater pumping on streams. GitHub only package.

  • streamMetabolizer: Estimate aquatic photosynthesis and respiration (collectively, metabolism) from time series data on dissolved oxygen, water temperature, depth, and light via inverse modeling. The package assists with data preparation, handles data gaps during modeling, and provides tabular and graphical reports of model outputs. GitHub only package.

  • SWATmodel: The Soil and Water Assessment Tool (SWAT) is a river basin or watershed scale model developed by Dr. Jeff Arnold for the USDA-ARS.

  • topmodel: Set of hydrological functions including the hydrological model TOPMODEL, which is based on the 1995 FORTRAN version by Keith Beven. From version 0.7.0, the package is put into maintenance mode. See also dynatopmodel.

  • TUWmodel: Lumped Hydrological Model for Education Purposes: a lumped conceptual rainfall-runoff model, following the structure of the HBV model. The model runs on a daily or shorter time step and consists of a snow routine, a soil moisture routine and a flow routing routine.

  • wasim: Helpful tools for data processing and visualisation of results of the hydrological model WASIM-ETH.

  • water: Tools and functions to calculate actual Evapotranspiration using surface energy balance models.

  • WRSS: Water resources system simulator is a tool for simulation and analysis of large-scale water resources systems. ‘WRSS’ proposes functions and methods for construction, simulation and analysis of primary water resources features (e.g. reservoirs, aquifers, and etc.) based on Standard Operating Policy (SOP).

Statistical modeling (hydrology-related statistical models)

The Environmetrics: Task View gives an overview of packages used in the analysis of environmental data, encompassing hydrological data, including many statistical approaches used in the ecological sciences. Additionally, packages that help model datasets with extreme values are discussed in the ExtremeValue Task View.

  • CityWaterBalance: Retrieves data and estimates unmeasured flows of water through the urban network. Any city may be modeled with preassembled data, but data for US cities can be gathered via web services using this package and dependencies geoknife and dataRetrieval.

  • dream: DiffeRential Evolution Adaptive Metropolis (DREAM). Efficient global MCMC even in high-dimensional spaces. R-Forge only package.

  • fuse: An R package implementing the Framework for Understanding Structural Errors cvitolo.github.io/fuse/. GitHub only package.

  • hydroApps: Package providing tools for hydrological applications and models developed for regional analysis in Northwestern Italy focused on Flood Frequency Analysis.

  • hydroGOF: S3 functions implementing both statistical and graphical goodness-of-fit measures between observed and simulated values, mainly oriented to be used during the calibration, validation, and application of hydrological models.

  • HydroMe: Estimates the parameters in infiltration and water retention models by curve-fitting method. The models considered are those that are commonly used in soil science.

  • hyfo: Focuses on data processing and visualization in hydrology and climate forecasting. Main function includes data extraction, data downscaling, data resampling, gap filler of precipitation, bias correction of forecasting data, flexible time series plot, and spatial map generation. It is a good pre- processing and post-processing tool for hydrological and hydraulic modellers.

  • IDF: Functions to read precipitation data from German weather service (DWD) files and Berlin station data from and additionally Intensity-duration-frequency (IDF) parameters can be estimated from a given data.frame containing a precipitation time series. IDF parameters are estimated on the basis of a duration-dependent generalised extreme value distribution and IDF curves based on these estimated parameters can be plotted.

  • NEON-stream-discharge: NEON Stage-Discharge Rating Curve. Instructions to set up a docker container which calculates the stage-discharge rating curve for a site and water year, developed using a Bayesian modeling technique. GitHub only package.

  • LPM: Apply Univariate Long Memory Models, Apply Multivariate Short Memory Models To Hydrological Dataset, Estimate Intensity Duration Frequency curve to rainfall series.

  • meteo: Spatio-temporal geostatistical mapping of meteorological data.

  • nsRFA: A collection of statistical tools for objective (non-supervised) applications of the Regional Frequency Analysis methods in hydrology.

  • RMAWGEN: Functions for spatial multi-site stochastic generation of daily time series of temperature and precipitation.

  • rtop: Interpolation of Data with Variable Spatial Support Geostatistical interpolation of data with irregular spatial support such as runoff related data or data from administrative units.

  • SCI: Functions for generating Standardized Climate Indices (SCI). SCI is a transformation of (smoothed) climate (or environmental) time series that removes seasonality and forces the data to take values of the standard normal distribution. SCI was originally developed for precipitation. In this case it is known as the Standardized Precipitation Index (SPI).

  • soilwater: Implements parametric formulas of soil water retention or conductivity curve. At the moment, only Van Genuchten (for soil water retention curve) and Mualem (for hydraulic conductivity) were implemented.

  • SPEI: A set of functions for computing potential evapotranspiration and several widely used drought indices including the Standardized Precipitation-Evapotranspiration Index (SPEI).

  • swmmr: Functions to connect the widely used Storm Water Management Model (SWMM) of the United States Environmental Protection Agency (US EPA) to R.

CRAN packages:

Related links: