Learn R Programming

RWDataPlyr

Overview

RWDataPlyr is a tool to read and manipulate data generated from RiverWareTM simulations in rdf, csv, and nc formats and work with those data in a dplyr pipeline. It provides functions to gather, aggregate, and summarize data from multiple RiverWare simulations, i.e., scenarios.

Installation

RWDataPlyr can be installed from CRAN:

install.packages("RWDataPlyr")

Or the development version can be installed from GitHub:

# install.packages("devtools")
devtools::install_github("BoulderCodeHub/RWDataPlyr")

Usage

RWDataPlyr provides at least three workflows for reading and using RiverWare data:

  1. Reading and manipulating a single scenario
    • Fast
    • Best for inspecting a single slot
    • If comparing scenarios, must manually repeat for each scenario
    • Relies on read_rdf() and read_rw_csv()
  2. Summarizing multiple slots of data from a single scenario
    • Repeatable; allows user to process many slots at once
    • Best for producing "polished" analyses of a single scenario
    • Relies on rdf_aggregate() and user specified rwd_agg object
  3. Aggregating and summarizing many scenarios
    • Repeatable; allows user to process many slots for many scenarios at once
    • Repeats summary of a single scenario on multiple scenarios and combines results together
    • Relies on rw_scen_aggregate() and user specified rwd_agg object

Check out the workflow vignette for more details:

vignette("rwdataplyr-workflow", package = "RWDataPlyr")

Log

  • 2020-04-17: version 0.6.4 available
  • 2020-03-03: version 0.6.3 available
  • 2018-08-16: version 0.6.2 available (first version available on CRAN)
  • 2018-06-07: version 0.6.1 available
  • 2018-04-10: version 0.6.0 available
  • 2017-05-26: version 0.5.0 available
  • 2016-11-01: version 0.4.1.1 available. The package is now actually called RWDataPlyr.
  • 2016-10-20: version 0.4.1 available
  • Previous versions were originally available as the RWDataPlot package
    • 2016-07-13: version 0.4 available
    • 2016-03-22: version 0.3 available
    • 2015-07-01: version 0.2 available
    • 2014-09-16: working to create an R Package from existing code.

Disclaimer

This software is in the public domain because it contains materials that originally came from the U.S. Bureau of Reclamation, an agency of the United States Department of Interior.

Although this code has been used by Reclamation, no warranty, expressed or implied, is made by Reclamation or the U.S. Government as to the accuracy and functioning of the program and related program material nor shall the fact of distribution constitute any such warranty, and no responsibility is assumed by Reclamation in connection therewith.

This software is provided "AS IS."

Copy Link

Version

Install

install.packages('RWDataPlyr')

Monthly Downloads

242

Version

0.6.5

License

CC0

Issues

Pull Requests

Stars

Forks

Maintainer

Alan Butler

Last Published

December 1st, 2025

Functions in RWDataPlyr (0.6.5)

rwd_agg

Class to specify how to aggregate RiverWare data
rwd_agg_template

Create a rwd_agg template
rwtbl_slot_names

List the slot names in a tbl_df
rwtbl_var_to_slot

Map a variable name to the RiverWare slot name
rdf_to_rwtbl

Convert an rdf to a tibble
rdf_slot_names

Returns all slots contained in an rdf file.
read_rw_csv

Read RiverWare/RiverSMART produced csv files
ym_get_wateryear

Get the water year from a year-month (yearmon) value
rdf_get_timespan

Returns the simulation timespan from an rdf
read.rdf

Read an rdf file into R.
sysRdf

Example rdf file with annual data.
rwslot_annual_sum

Simple aggregation functions for monthly matrix data
rwtbl_get_scen_folder

Map a scenario name to the original scenario folder
slot_agg_list

A class to control how RiverWare data are aggregated
scen_data

Example aggregated scenario data
rw_scen_gen_names

Create a vector of scenarios from different dimensions
read_rwd_agg

Read in a rwd_agg file
RWDataPlyr-package

RWDataPlyr: Read and Manipulate Data from 'RiverWare'
getDataForAllScens

Get and aggregate data from an rdf file(s)
createSlotAggList

Creates a list for use by getDataForAllScens.
as_rwd_agg

Coerce lists, matrices, and data.frames to RiverWare data aggregators
is_rwd_agg

Test if the object is a rwd_agg
is_rdf

Test if the object is an rdf
rdf_get_slot

Get a slot out of an rdf object
rbind.rwd_agg

Combine RiverWare data aggregators
getTraceSum

Get the annual sum for each trace
getArrayPctl

Get values at the input exceedance levels for the entire array by date
getTraceMonthVal

Get values that meet a month requirement
getTraceMin

Get the annual minimum for each trace
getTraceMax

Get the annual maximum for each trace
getTraceAvg

Get the average annual value for each trace
getArrayThresholdExceedance

Get values at the input exceedance levels for the entire array by date
is_slot_agg_list

Test if the object is a slot_agg_list
rdfSlotToXTS

Get one slot out of an rdf list and put it in an XTS object
keyRdf

Example rdf file with monthly data.
rdf_aggregate

Aggregate RiverWare output for one or more scenarios