Please wait for the process to complete.
Checking for non-preferred file/folder path names (may take a long time depending on the number of files/folders) ...
This resource contains some files/folders that have non-preferred characters in their name. Show non-conforming files/folders.
||This resource does not have an owner who is an active HydroShare user. Contact CUAHSI (firstname.lastname@example.org) for information on this resource.|
|Storage:||The size of this resource is 478.3 MB|
|Created:||Mar 15, 2022 at 11:11 p.m.|
|Last updated:|| Mar 15, 2022 at 11:30 p.m.
|Citation:||See how to cite this resource|
|+1 Votes:||Be the first one to this.|
|Comments:||No comments (yet)|
Water age and flow pathways should be related; however, it is still generally unclear how integrated catchment runoff generation mechanisms result in streamflow age distributions at the outlet. Lapides et al. (2021) combined field observations of runoff generation at the Dry Creek catchment with StorAge Selection (SAS) age models to explore the relationship between streamwater age and runoff pathways. Dry Creek is an intensively monitored catchment in the northern California Coast Ranges with a Mediterranean climate and thin subsurface critical zone. Due to limited storage capacity, runoff response is rapid (~1-2 hours), and total annual streamflow consists predominantly of saturation overland flow, based on field mapping of saturated extents and runoff thresholds. Even though SAS modeling reveals that streamflow is younger at higher wetness states, flow is still typically older than one day. Because streamflow is mostly overland flow, this means that a significant portion of overland flow must not be event-rain but instead derive from older groundwater returning to the surface, consistent with field observations of exfiltrating head gradients, return flow through macropores, and extensive saturation days after storm events. We conclude that even in a landscape with widespread overland flow, runoff pathways may be longer than anticipated, with implications for contaminant delivery and biogeochemical reactions. Our findings have implications for the assumptions built into classic hydrograph separation inferences, namely, whether overland flow consists of new water.
For this work, we translated SAS modeling code in Matlab from Benettin and Bertuzzo (2018) to Python and provide here a set of code for SAS modeling in Python and example data for Dry Creek, CA produced for the SAS modeling publication by Lapides et al. (2022).
This data repository contains supporting code and data for Lapides et al. (2022). Links are provided to data stored in Google Drive and code in Google Colab notebooks for ease of access and use, but all data and code are also stored in the appropriate 'Data' and 'Code' directories in this repository, as described below.
Summary of results
summary_data_streamflow_info.csv: Table of summary data for streamflow at Dry Creek, CA. These data include: streamflow, overland flow, areal fraction of landscape saturated, direct precipitation on saturated area (DPSA, rainfall intensity multipled by areal fraction of landscape saturated), fraction of streamflow from overland flow, and pressure head at piezometer MNP3.
summary_data_ages.csv: Table of summary results from StorAge Selection (SAS) modeling of streamflow ages at Dry Creek, CA. These data include: median age of water in storage, median age of water in streamflow, mean fraction of streamflow younger than 1 day, and mean fraction of streamflow from the youngest 10th percentile of storage. For each data type, the reported mean/25th percentile/75th percentile is calculated amongth the top 95th percentile of paramter sets for the SAS model.
Isotopic analysis at Dry Creek, CA
Lapides et al. (2021) collected precipitation and streamflow isotopes at the Dry Creek catchment in Northern California. Here, we provide raw data for measured isotope values and hydrologic monitoring information including streamflow, evapotranspiration, precipitation, and piezometer measurements. These data can be found at:
Raw isotope data, also found at Data/isotope_data_czo_2021 - isotope_data_czo_2021.csv
Clean precipitation isotope data, also found at Data/Sagehorn_isotopes_TTD - SagehornPrecipIsotopes_forTTD.csv
Standard format streamflow isotope data, also found at Data/DryCreek_TTD_runoff - dry_ck_isotope_runoff_for_ttd_raw.csv
Evapotranspiration data, also found at Data/Sagehorn_PET_TTD - sagehorn_pet_daily.csv
Piezometer data, also found at Data/dry_ck_piezometer - piezometer.csv
Code for rainfall isotope analysis and data visualization, also found at Code/DryCreek_sampling1.ipynb
Code for modeling saturation extent with a logistic regression, also found at Code/saturation_extent_modeling1.ipynb
Hydrograph and runoff analysis
We calculated runoff coefficients and performed lag to peak analysis for a set of well-defined runoff events at Dry Creek to support understanding of runoff generation. The code used for this analysis can be found at:
Runoff ratio analysis, also found at Code/Event_runoffs_ratio.ipynb
Lag to peak analysis, also found at Code/Lag_to_Peak.ipynb
SAS Modeling in Python
We translated the StorAge Selection (SAS) function Matlab code written by Benettin and Bertuzzo (2018) into Python. All simulations begin on 10/1/2016 and are conducted in 4 hr increments. Here, we provide SAS code in Python along with modeled output and visualized results, including:
Python SAS modeling and visualized output code, also found at Code/run_SAS_drycreek.ipynb
Calibration data with low flows excluded, also found in Data/calibration_data_nolow_drycreek - calibrate_test_nolow_20yr.csv
Calibration data for full dataset during study period only, also found in Data/calibration_data_drycreek - calibration_data.csv
Monte Carlo calibration output for top 95th percentile parameter sets (evaluation on 2019-2020 water year), also found in Data/calibration_results - evaluate_results.csv
Areal extent of saturation over time, also found in Data/dry_ck_saturation - dry_ck_saturation.csv
Cumulative age distributions for top 95th percentile of parameter sets (filename in this repository: modeled_cdf_weighted_final.csv)
Streamflow age data over time for top 95th percentile of parameter sets (files found in this repository in subdirectory: ensemble_ages). Code to work with this data is included in the Google Colab notebook.
meanAges_ensemble_1day_final.csv: mean streamflow age at each timestep (row in 4hr increments) for each simulation (column)
meanStorAges_ensemble_1day_final.csv: mean storage age at each timestep (row in 4hr increments) for each simulation (column)
medianAges_ensemble_1day_final.csv: median streamflow age at each timestep (row in 4hr increments) for each simulation (column)
medianStorAges_ensemble_1day_final.csv: median storage age at each timestep (row in 4hr increments) for each simulation (column)
modeled_ensemble_1day_final.csv: modeled dD at each timestep (row in 4hr increments) for each simulation (column)
youngFraction_ensemble_1day_final.csv: fraction of streamflow younger than 1 day at each timestep (row in 4hr increments) for each simulation (column)
youngFractionPercent_ensemble_1day_final.csv: fraction of streamflow from youngest 10th percentile of storage at each timestep (row in 4hr increments) for each simulation (column)
Ensemble mean parameters and interquartile range for all simulation outputs in ensemble_ages (files found in this repository in subdirectory: ensemble_means). Code to visualize this data is included in the Colab notebook.
meanAges_ensemble.pkl: mean streamflow age and interquartile range over time (row in 4hr increments)
meanStorAges_ensemble.pkl: mean storage age and interquartile range over time (row in 4hr increments)
medianAges_ensemble.pkl: median streamflow age and interquartile range over time (row in 4hr increments)
medianStorAges_ensemble.pkl: median storage age and interquartile range over time (row in 4hr increments)
youngFraction_ensemble.pkl: fraction of streamflow younger than 1 day over time with interquartile range (row in 4hr increments)
youngFractionPercent_ensemble.pkl: fraction of streamflow from youngest 10th percentile of storage at each timestep with interquartile range (row in 4hr increments)
Benettin, Paolo, and Enrico Bertuzzo. "tran-SAS v1. 0: a numerical model to compute catchment-scale hydrologic transport using StorAge Selection functions." Geoscientific Model Development 11.4 (2018): 1627-1639.
Lapides, Dana A, Dralle, David N, Rempe, Daniella N, Dietrich, William E., and Hahm, W. Jesse. "Controls on streamwater age in a saturation overland flow-dominated catchment." In Preparation.
|This resource updates and replaces a previous version||Lapides, D. A., W. J. Hahm, D. M. Rempe, W. E. Dietrich, D. Dralle (2022). Calculating streamwater age using StorAge Selection functions at Dry Creek, CA, HydroShare, https://doi.org/10.4211/hs.4871ac7e869d40d8ad05cf02ae545cd5|
People or Organizations that contributed technically, materially, financially, or provided general support for the creation of the resource's content but are not considered authors.
|W. Jesse Hahm||UC Berkeley|
|David Dralle||US Forest Service||CA, US|
|Daniella Marie Rempe||University of Texas at Austin|
|William Dietrich||University of California, Berkeley|