swatmf is a set of python modules for SWAT-MODFLOW model (Bailey et al., 2016) 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 swatmf_tut-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/swatmf_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.
- 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 swatmf_wf:
conda activate swatmf_wf
- Launch jupyter notebook
jupyter notebook
A browser window with a Jupyter notebook instance should open. Yay!
Brief overview of the API
from swatmf import swatmf_pst_utils
>>> prj_dir = "project directory"
>>> swatmfwd = "SWAT-MODFLOW model"
>>> swatwd = "SWAT model"
>>> swatmf_pst_utils.init_setup(prj_dir, swatmfwd, swatwd))
Creating 'backup' folder ... passed
'Absolute_SWAT_Values.txt' file copied ... passed
'pestpp-glm' file copied ... passed
'pestpp-ies.exe' file copied ... passed
'pestpp-ies.exe' file copied ... passed
'forward_run.py' file copied ... passed