swatp_pst is a set of python modules for SWAT+ model parameter estimation and uncertainty analysis with the open-source suite PEST (Doherty 2010a and 2010b, and Doherty and other, 2010).
You essentially have 2 options:
- Download the data zip file
- Unzip swatp_pst_wf-main.zip to a prefered location.
- You will need to install Git if you don't have it installed already. Downloads are available at [the link](https://git-scm.com/download). On windows, be sure to select the option that installs command-line tools
- For Git, you will need to set up SSH keys to work with Github. To do so:
- Go to GitHub.com and set up an account
- On Windows, open Git Bash (on Mac/Linux, just open a terminal) and set up ssh keys if you haven't already. To do this, simply type ssh-keygen in git bash/terminal and accept all defaults (important note - when prompted for an optional passphrase, just hit return.)
- Follow the instructions to set up the SSH keys with your GitHub account.
- Clone the materials from GitHub.
- Open a git bash shell from the start menu (or, on a Mac/Linux, open a terminal)
- Navigate to the folder you made to put the course materials
- Clone the materials by executing the following in the git bash or terminal window:
git clone https://github.com/spark-brc/swatp_pst_wf.git
To execute jupyter notebook, we need the Miniconda environment.
- If you don't already have conda installed, please download Miniconda for your operating system from https://conda.io/en/latest/miniconda.html (choose the latest version for your operating system, 64-bit). You should not need elevated rights to install this.
- Run the installer and select "only my user" when prompted. This will allow you to work with your python installation directly.
- After installation, go to the START menu and select "Miniconda Prompt" to open a DOS box.
- Let's update conda base first.
conda update -n base -c defaults conda
and hit ENTER.
- Using the cd command in the Miniconda DOS box, navigate to the location where you have environment.yml the file and type:
conda env create -f environment.yml
and hit ENTER.
After your virtual environment setup is complete, change the environment to swatp_pst_wf:
conda activate swatp_pst_wf
- Launch jupyter notebook
jupyter notebook
A browser window with a Jupyter notebook instance should open. Yay!
Brief overview of the API
from swatp_pst import handler
>>> prj_dir = "project directory"
>>> swatp_wd = "SWAT+ model"
>>> handler.init_setup(prj_dir, swatp_wd)
Creating 'main_opt' folder ... passed
'pestpp-glm' file copied ... passed
'pestpp-ies.exe' file copied ... passed
'pestpp-ies.exe' file copied ... passed
'forward_run.py' file copied ... passed