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 contains content types with files that need to be updated to match with metadata changes. Show content type files that need updating.
Authors: |
|
|
---|---|---|
Owners: |
|
This resource does not have an owner who is an active HydroShare user. Contact CUAHSI (help@cuahsi.org) for information on this resource. |
Type: | Resource | |
Storage: | The size of this resource is 1.6 GB | |
Created: | Mar 04, 2020 at 7:29 a.m. | |
Last updated: | Jun 30, 2020 at 9:38 p.m. (Metadata update) | |
Published date: | Mar 04, 2020 at 7:55 a.m. | |
DOI: | 10.4211/hs.0ce4aae4c5ba4606969d46d10389e0f5 | |
Citation: | See how to cite this resource |
Sharing Status: | Published |
---|---|
Views: | 1264 |
Downloads: | 17 |
+1 Votes: | Be the first one to this. |
Comments: | No comments (yet) |
Abstract
This resource contains code and simulation data that support the findings of the manuscript "Sensitivity of dryland vegetation patterns to storm characteristics", currently under review at GRL. Please see the readme for further details.
Subject Keywords
Content
readme.md
This resource contains code and simulation data that support the findings of the manuscript "Sensitivity of dryland vegetation patterns to storm characteristics", currently under review at GRL. The files support the execution of the workflow described below. A comprehensive description of each file is provided following the workflow summary. Note that all section references (e.g., to Sections 2.4 and 2.5) pertain to the manuscript.
List of Files:
.
│ environment.yml
│ readme.md
| workflow.png
│
└─── code
│ │ plot_functions.py
│ │ ravel_fxns_RF.py
│
└─── data
│ │ compare.csv
│ │ rg_RF_explore.pkl
│ │ rg_RF_test.pkl
│ │ rg_SVE_test.pkl
│ │ SVE_training_data.pkl
|
└─── figures
│ │
│ └─── SVE_tr-10,d-1.6
│ │ │ summary plots for the 10 min, 1.6 cm storms
│ │
│ └─── pattern_evolution
│ │ │ tr=10,D=0.4.png ...
│ |
| └─── side-by-side
│ │ │ tr=10,D=0.4.png ...
|
└─── notebooks
│ │ exploratory_simulations.ipynb
│ │ modify_Rietkerk_Guttal.ipynb
│ │ Random_forest_features.ipynb
│ │ Rietkerk_Guttal_model.ipynb
│ │ SVE_training_simulations.ipynb
│ │ test_simulations.ipynb
Workflow
The schematic above outlines the key steps in the workflow. For each of these steps, the code and simulation output to reproduce these findings is available as follows:
-
Running the physical flow model (the SVE model) to predict cumulative infiltration following rain events.
- The SVE model is described in Crompton et al. (2019).
- The SVE model code is archived on Zenodo:
Octavia Crompton. (2019, August 23). octavia-crompton/SVE-R: First release of SVE-R model (Version v1.0.0). Zenodo. http://doi.org/10.5281/zenodo.3375086
-
Extracting training data from the SVE simulations (i.e. infiltration predictions and features).
- Code is provided in
ravel_fxns_RF.py
andRandom_forest_features.ipynb
. - The SVE training set is provided in
SVE_training_data.pkl
.
- Code is provided in
-
Training the emulator model (i.e. ensemble of random forests) on these features.
- This was accomplished using scikit-learn, a free software machine learning library for Python (
https://scikit-learn.org/stable/
). - We not provide the trained emulator model due to the space requirements, but (1) and (2) contain all of the inputs needed to reproduce the emulator model.
- This was accomplished using scikit-learn, a free software machine learning library for Python (
-
Updating the pattern-forming vegetation model to take the output from either the SVE or emulator model.
- The original pattern-forming vegetation model (the Rietkerk/Guttal or R/G model) in its unmodified form is provided in
Rietkerk_Guttal_model.ipynb
. modify_Rietkerk_Guttal.ipynb
contains pseudo-code showing how to adapt the vegetation model to take output from either the SVE or emulator model as an input.
- The original pattern-forming vegetation model (the Rietkerk/Guttal or R/G model) in its unmodified form is provided in
-
Running the modified vegetation models to generate the output in the paper.
- The data used in the figures is available in
rg_RF_explore.pkl
,rg_RF_test.pkl
andrg_SVE_test.pkl
. - Code to replot this data is provided in
test_simulations.ipynb
,exploratory_simulations.ipynb
andcompare_SVE_RF.py
.
- The data used in the figures is available in
Notes about the data:
-
The data is all model-generated, and consists of two sets of simulations, labeled 'test' and 'exploratory'. The purpose of the test simulations was to verify that the R/G-emulator and R/G-SVE models produce similar results, for given initial conditions, storm climatologies, etc. The R/G-emulator model was then used to simulate a larger parameter space in the exploratory simulations.
-
Jupyter notebook files are provided in the
notebooks
folder to open, analyze and plot all simulations data. The notebooks also contain descriptions of the variable names, and code to reproduce the Figures in the manuscript and Supporting Information.
File descriptions :
-
environment.yml
: is a requirements file listing the Python libraries needed to execute the notebook files.For information on how to install a Conda environment, see:
https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html
Files in SI_datasets/code
:
-
compare_SVE_RF.py
: contains code to compare the R/G-SVE and R/G-emulator model simulations for the paired test simulations (described in Section 2.4: 'Testing the R/G-emulator model'). Seetest_simulations.ipynb
. -
plot_functions.py
: contains miscellaneous functions that are used by the Jupyter notebook files to visualize the model simulations. -
ravel_fxns_RF.py
: contains functions which extract, from a given vegetation field, the features upon which the emulator model is trained. The use of these functions to generate the training data is illustrated in the Jupyter notebook:notebooks/Random_forest_features.ipynb
Files in patterns/data
:
-
rg_RF_explore.pkl
: R/G-SVE model predictions for the 'exploratory' simulations (described in Section 2.5) Seeexploratory_simulations.ipynb
. -
rg_RF_test.pkl
: R/G-SVE model predictions for the 'test' simulations (described in Section 2.4). Seetest_simulations.ipynb
. -
rg_SVE_test.pkl
: R/G-SVE model predictions for the 'test' simulations (described in Section 2.4). Seetest_simulations.ipynb
. -
compare.csv
: Summary of the differences between the paired R/G-SVE and R/G-emulator simulations. Code to generate this data and explanation of the column names can be found intest_simulations.ipynb
. -
SVE_training_data.pkl
: SVE model simulations used to train the emulator model (i.e., the random forests). SeeSVE_training_sims.ipynb
.
Files in patterns/figures
:
-
pattern_evolution
: contains figures showing the R/G-SVE model predictions of the pattern evolution for each of the 16 storm cases in the test simulations (Section 2.4). These figures are analogous to SI Figure S3, and indicate that the simulated patterns are approaching steady states after the 632 simulated storms. Code to reproduce these figures can be found intest_simulations.ipynb
. -
side-by-side
: contains side-by-side comparisons of the paired R/G-SVE and R/G-emulator simulations after 632 storms (from the test simulations). Code to reproduce these figures can be found intest_simulations.ipynb
. -
SVE_tr-10,d-1.6
: contains plots of all the training simulations with storm duration = 40 min, and rain depth = 1.6 cm. All other training simulations can be viewed inSVE_training_sims.ipynb
.
Files in patterns/notebooks
:
To run the notebooks, please install and activate the virtual environment found in environment.yml
.
-
exploratory_simulations.ipynb
: contains code to load and plot the exploratory R/G-emulator simulations (described in Section 2.5 ) -
modify_Rietkerk_Guttal.ipynb
: contains pseudocode to illustrate how the R/G model is modified to replace the surface water equation (O) with SVE model predictions of infiltration (or emulations thereof). -
Random_forest_features.ipynb
: illustrates how the training data is extracted from the SVE simulations. -
Rietkerk_Guttal_model.ipynb
: contains a simple implementation of the original. Rietkerk/Guttal model. -
SVE_training_sims.ipynb
: contains code to visualize the SVE training simulations. -
test_simulations.ipynb
: contains code to load and plot the paired R/G-SVE and R/G-emulator model simulations (described in Section 2.4).
References
Crompton, O., Sytsma, A., & Thompson, S. (2019). Emulation of the saint venant equations enables rapid and accurate predictions of infiltration and overland flow velocity on spatially heterogeneous surfaces. Water Resources Research.
Guttal, V., & Jayaprakash, C. (2007). Self-organization and productivity in semi-arid ecosystems: Implications of seasonality in rainfall. Journal of theoretical biology, 248(3), 490-500.
Rietkerk, M., Boerlijst, M. C., van Langevelde, F., HilleRisLambers, R., de Koppel, J. V., Kumar, L., ... & de Roos, A. M. (2002). Self-organization of vegetation in arid ecosystems. The American Naturalist, 160(4), 524-530.
Related Resources
This resource has been replaced by a newer version | Crompton, O. (2020). Sensitivity of dryland vegetation patterns to storm characteristics, HydroShare, http://www.hydroshare.org/resource/2eba5bc0423d48f8906df68f8479ff89 |
How to Cite
This resource is shared under the Creative Commons Attribution CC BY.
http://creativecommons.org/licenses/by/4.0/
Comments
There are currently no comments
New Comment