Skip to content

Commit

Permalink
adding ESM to paper; addressing openjournals/joss-reviews#4237
Browse files Browse the repository at this point in the history
  • Loading branch information
jonschwenk committed May 31, 2022
1 parent f40e4c6 commit 52c95b9
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 2 deletions.
21 changes: 21 additions & 0 deletions paper.bib
Original file line number Diff line number Diff line change
@@ -1,3 +1,24 @@
@article{fisher2019parametric,
title={Parametric controls on vegetation responses to biogeochemical forcing in the CLM5},
author={Fisher, Rosie A and Wieder, William R and Sanderson, Benjamin M and Koven, Charles D and Oleson, Keith W and Xu, Chonggang and Fisher, Joshua B and Shi, Mingjie and Walker, Anthony P and Lawrence, David M},
journal={Journal of Advances in Modeling Earth Systems},
volume={11},
number={9},
pages={2879--2895},
year={2019},
publisher={Wiley Online Library}
}

@article{chen2020global,
title={Global land use for 2015--2100 at 0.05 resolution under diverse socioeconomic and climate scenarios},
author={Chen, Min and Vernon, Chris R and Graham, Neal T and Hejazi, Mohamad and Huang, Maoyi and Cheng, Yanyan and Calvin, Katherine},
journal={Scientific Data},
volume={7},
number={1},
pages={1--11},
year={2020},
publisher={Nature Publishing Group}
}

@article{gorelick_google_2017,
title = {Google {Earth} {Engine}: {Planetary}-scale geospatial analysis for everyone},
Expand Down
4 changes: 2 additions & 2 deletions paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ River and Basin Profiler (`rabpro`) is a Python package to delineate watersheds,

## Statement of Need

Watersheds play a central and vital role in many scientific, engineering, and environmental management applications (See @brooks_hydrology_2003 for a comprehensive overview). While `rabpro` can benefit any watershed-based research or analysis, it was designed to satisfy the needs of data-driven rainfall-runoff models. These models aim to predict streamflow (runoff) time series as a function of precipitation over upstream land area (i.e. the watershed). In addition to watershed delineations and precipitation estimates, they typically require data on both time-varying parameters (or forcing data) like temperature, humidity, soil moisture, and vegetation as well as static watershed properties like topography, soil type, or land use/land cover [@kratzert_toward_2019; @gauch_rainfallrunoff_2021; @nearing_data_2021; @kratzert_note_2021]. The `rabpro` API enables users to manage the complete data pipeline necessary to drive such a model starting from the initial watershed delineation through the calculation of static and time-varying parameters. Some hydrologic and hydraulic models also require channel slope for routing streamflow [@boyle_toward_2001; @piccolroaz_hyperstream_2016; @wilson_water_2008], developing rating curves [@fenton_calculation_2001; @colby_relationship_1956], or modeling local hydraulics [@schwenk_life_2015; @schwenk_high_2017; @schwenk_meander_2016].
Watersheds play a central and vital role in many scientific, engineering, and environmental management applications (See @brooks_hydrology_2003 for a comprehensive overview). While `rabpro` can benefit any watershed-based research or analysis, it was designed to satisfy the needs of data-driven rainfall-runoff models. These models aim to predict streamflow (runoff) time series as a function of precipitation over upstream land area (i.e. the watershed). In addition to watershed delineations and precipitation estimates, they typically require data on both time-varying parameters (or forcing data) like temperature, humidity, soil moisture, and vegetation as well as static watershed properties like topography, soil type, or land use/land cover [@kratzert_toward_2019; @gauch_rainfallrunoff_2021; @nearing_data_2021; @kratzert_note_2021]. The `rabpro` API enables users to manage the complete data pipeline necessary to drive such a model starting from the initial watershed delineation through the calculation of static and time-varying parameters. Some hydrologic and hydraulic models also require channel slope for routing streamflow [@boyle_toward_2001; @piccolroaz_hyperstream_2016; @wilson_water_2008], developing rating curves [@fenton_calculation_2001; @colby_relationship_1956], or modeling local hydraulics [@schwenk_life_2015; @schwenk_high_2017; @schwenk_meander_2016]. Finally, Earth System Models commonly require sampling raster datasets over watersheds or other polygons for parameterizations and validations [@fisher2019parametric; chen2020global].

The need for watershed-based data analysis tools is exemplified by the growing collection of published datasets that provide watershed boundaries, forcing data, and/or watershed attributes in precomputed form, including CAMELS [@addor_camels_2017], CAMELS-CL, -AUS, and -BR [@alvarez-garreton_camels-cl_2018; @fowler_camels-aus_2021; @chagas_camels-br_2020], Hysets [@arsenault_comprehensive_2020], and HydroAtlas [@linke_global_2019]. These datasets provide off-the-shelf options for building streamflow models, but they suffer from a degree of inflexibility. For example, someone desiring to add a watershed attribute, to use a new remotely-sensed data product, or to update the forcing data time-series to include the most recently available data must go through the arduous process of sampling it themselves. `rabpro` was designed to provide flexibility for both building a watershed dataset from scratch or appending to an existing one.

Expand All @@ -55,7 +55,7 @@ One unique `rabpro` innovation is its automation of “hydrologically addressing

`rabpro` executes watershed delineation based on either the MERIT-Hydro dataset, which provides a global, ~90 meter per pixel, hydrologically-processed DEM suite, or the HydroBASINS data product, which provides pre-delineated subbasins at approximately ~230 km^2 per subbasin. Conceptually, basin delineation is identical for both. The user-provided coordinate is hydrologically addressed by finding the downstream-most pixel (MERIT-Hydro) or subbasin (HydroBASINS). The watershed is then delineated by finding all upstream pixels or subbasins that drain into the downstream pixel/subbasin and taking the union of these pixels/subbasins to form a single polygon. A user must therefore download either the MERIT-Hydro tiles covering their study watershed or the appropriate HydroBASINS product; `rabpro` provides tooling to automate these downloads and create its expected data structure (See the Downloading data [notebook](https://github.com/VeinsOfTheEarth/rabpro/blob/main/docs/source/examples/notebooks/downloading_data.ipynb)). `rabpro` does not currently provide support for custom watershed datasets similar to HydroBASINS due to attribute field and data structure requirements that must be consistent for generalizability.

There are three primary operations supported by `rabpro`: 1) basin delineation, 2) elevation profiling, and 3) subbasin (zonal) statistics. If operating on a single coordinate pair, the cleanest workflow is to instantiate an object of the `profiler` class and call (in order) the `delineate_basins()`, `elev_profile()`, and `basin_stats()` methods (See the [Basic Example](https://veinsoftheearth.github.io/rabpro/examples/notebooks/basic_example.html) notebook). If operating on multiple coordinate pairs, the workflow is to loop through each coordinate pair while delineating each watershed (optionally calculating its elevation profile). As the loop runs, the user collects each basin polygon in a list, concatenates the list, and directly calls `subbasin_stats.compute()` on the resulting GeoDataFrame (See the [Full Example](https://veinsoftheearth.github.io/rabpro/examples/notebooks/full_example.html) notebook). More details on package functionality can be found in [the documentation](https://VeinsOfTheEarth.github.io/rabpro/).
There are three primary operations supported by `rabpro`: 1) basin delineation, 2) elevation profiling, and 3) subbasin (zonal) statistics. If operating on a single coordinate pair, the cleanest workflow is to instantiate an object of the `profiler` class and call (in order) the `delineate_basins()`, `elev_profile()`, and `basin_stats()` methods (See the [Basic Example](https://veinsoftheearth.github.io/rabpro/examples/notebooks/basic_example.html) notebook). If operating on multiple coordinate pairs, the workflow is to loop through each coordinate pair while delineating each watershed (optionally calculating its elevation profile). As the loop runs, the user collects each basin polygon in a list, concatenates the list, and directly calls `basin_stats.compute()` on the resulting GeoDataFrame (See the [Multiple Basins Example](https://veinsoftheearth.github.io/rabpro/examples/notebooks/multiple_basins.html) notebook). More details on package functionality can be found in [the documentation](https://VeinsOfTheEarth.github.io/rabpro/).

![rabpro can return statistics for multiple polygons with a single call. Here, dam-associated [@prior_vote-dams_2022] watersheds in Sri Lanka are delineated and zonal statistics are run for water occurrence, temperature, and precipitation.\label{fig:figure_2}](./docs/paper_fig/figure_2.png)

Expand Down

0 comments on commit 52c95b9

Please sign in to comment.