Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.pyc
46 changes: 30 additions & 16 deletions install.sh
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,36 +1,50 @@
#!/bin/bash

# To isolate this from other Python projects, create a specific user on your machine
# and install libraries at user level, excepted qgis, python3-pip and mpich packages.
#
# Before launching this script make sure that the following packages have been installed
#
# For Ubuntu 20.04
# sudo apt install qgis python3-pip mpich
# pip3 install --user geopandas peewee cython scipy
#
# set version to download
version="1.0.4"
# set swat home
export SWAT_AW_HOME="~/dev/conda/pesteaux_conda/swat_tools"

rm -r "$HOME/.SWAT/SWATPlus"
rm -r "$HOME/.local/share/swatplus"
rm -r "$SWAT_AW_HOME/.SWAT/SWATPlus"
rm -r "$SWAT_AW_HOME/.local/share/swatplus"

mkdir -p "$HOME/.SWAT/SWATPlus"
mkdir -p "$HOME/.local/share/swatplus"
mkdir -p "$SWAT_AW_HOME/.SWAT/SWATPlus"
mkdir -p "$SWAT_AW_HOME/.local/share/swatplus"

wget -c "https://github.com/celray/swatplus-automatic-workflow/archive/v$version.zip"
wget -c "https://github.com/celray/swatplus-automatic-workflow/releases/download/v$version/TauDEM5Bin_Linux.zip"
wget -c "https://github.com/celray/swatplus-automatic-workflow/raw/master/editor_api/swatplus_wgn.sqlite"
# wget -c "https://github.com/celray/swatplus-automatic-workflow/raw/master/editor_api/swatplus_wgn.sqlite"
wget -c "https://bitbucket.org/swatplus/swatplus.editor/downloads/swatplus_wgn.sqlite"

unzip "./v$version.zip"
unzip "./TauDEM5Bin_Linux.zip"

echo "copying files"
mv "./swatplus-automatic-workflow-$version" "$HOME/.SWAT/SWATPlus/Workflow"
mv "./TauDEM5Bin" "$HOME/.local/share/swatplus/TauDEM5Bin"
mv "./swatplus_wgn.sqlite" "$HOME/.SWAT/SWATPlus/Workflow/editor_api/"
chmod 777 "$HOME/.SWAT/SWATPlus/Workflow/swatplus_aw.sh"
chmod -R 777 "$HOME/.local/share/swatplus/TauDEM5Bin"
mv "./swatplus-automatic-workflow-$version" "$SWAT_AW_HOME/.SWAT/SWATPlus/Workflow"
mv "./TauDEM5Bin" "$SWAT_AW_HOME/.local/share/swatplus/TauDEM5Bin"
mv "./swatplus_wgn.sqlite" "$SWAT_AW_HOME/.SWAT/SWATPlus/Workflow/editor_api/"
chmod 777 "$SWAT_AW_HOME/.SWAT/SWATPlus/Workflow/swatplus_aw.sh"
chmod -R 777 "$SWAT_AW_HOME/.local/share/swatplus/TauDEM5Bin"

# cleanup
echo "cleaning up"
rm "$HOME/.SWAT/SWATPlus/Workflow/.gitattributes"
rm "$HOME/.SWAT/SWATPlus/Workflow/swatplus_aw.bat"
rm "$HOME/.SWAT/SWATPlus/Workflow/code_of_conduct.md"
rm -r "$HOME/.SWAT/SWATPlus/Workflow/.github"
rm "$SWAT_AW_HOME/.SWAT/SWATPlus/Workflow/.gitattributes"
rm "$SWAT_AW_HOME/.SWAT/SWATPlus/Workflow/swatplus_aw.bat"
rm "$SWAT_AW_HOME/.SWAT/SWATPlus/Workflow/code_of_conduct.md"
rm -r "$SWAT_AW_HOME/.SWAT/SWATPlus/Workflow/.github"
rm "./TauDEM5Bin_Linux.zip"
rm "./v$version.zip"

# set environmental variables
echo "setting up environmental variables"
echo 'export PATH=$PATH:$HOME/.SWAT/SWATPlus/Workflow' >>~/.bashrc
echo 'export swatplus_wf_dir=$HOME/.SWAT/SWATPlus/Workflow' >>~/.bashrc
echo 'export PATH=$PATH:$SWAT_AW_HOME/.SWAT/SWATPlus/Workflow' >>~/.bashrc
echo 'export swatplus_wf_dir=$SWAT_AW_HOME/.SWAT/SWATPlus/Workflow' >>~/.bashrc
4 changes: 2 additions & 2 deletions main_stages/prepare_project.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
from glob import glob
from shutil import copyfile, rmtree

import gdal
import osr
from osgeo import gdal
from osgeo import osr

sys.path.insert(0, os.path.join(os.environ["swatplus_wf_dir"], "packages"))
sys.path.append(os.path.join(os.environ["swatplus_wf_dir"]))
Expand Down
2 changes: 1 addition & 1 deletion packages/helper_functions.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
import shutil
from glob import glob
from shutil import copyfile, copytree
import gdal
# import gdal
import pickle
import xml.etree.ElementTree as ET
from osgeo import gdal
Expand Down
61 changes: 47 additions & 14 deletions swatplus_aw.sh
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -2,31 +2,64 @@
# set the directory of QGIS
# export QGIS_Dir=C:\Program Files\QGIS 3.10
# set ERRORLEVEL=0
# set swat home
export SWAT_AW_HOME="~/dev/conda/pesteaux_conda/swat_tools"

# set variables for project initialisation
export python_script_prepare_qswat=$HOME/.SWAT/SWATPlus/Workflow/main_stages/prepare_project.py
export python_script_make_namelist=$HOME/.SWAT/SWATPlus/Workflow/main_stages/generate_namelist.py
export python_script_run_qswat=$HOME/.SWAT/SWATPlus/Workflow/main_stages/run_qswat.py
export python_script_run_editor=$HOME/.SWAT/SWATPlus/Workflow/main_stages/run_editor.py
export python_script_run_calibration=$HOME/.SWAT/SWATPlus/Workflow/main_stages/run_calibration.py
export python_script_make_figures=$HOME/.SWAT/SWATPlus/Workflow/main_stages/run_make_figures.py
export python_script_clean_up=$HOME/.SWAT/SWATPlus/Workflow/main_stages/run_clean_up.py
export python_script_prepare_qswat=$SWAT_AW_HOME/.SWAT/SWATPlus/Workflow/main_stages/prepare_project.py
export python_script_make_config=$SWAT_AW_HOME/.SWAT/SWATPlus/Workflow/main_stages/generate_config.py
export python_script_run_qswat=$SWAT_AW_HOME/.SWAT/SWATPlus/Workflow/main_stages/run_qswat.py
export python_script_run_editor=$SWAT_AW_HOME/.SWAT/SWATPlus/Workflow/main_stages/run_editor.py
export python_script_run_calibration=$SWAT_AW_HOME/.SWAT/SWATPlus/Workflow/main_stages/run_calibration.py
export python_script_make_figures=$SWAT_AW_HOME/.SWAT/SWATPlus/Workflow/main_stages/run_make_figures.py
export python_script_clean_up=$SWAT_AW_HOME/.SWAT/SWATPlus/Workflow/main_stages/run_clean_up.py

export BASE_DIR=$PWD
export swatplus_wf_dir=$HOME/.SWAT/SWATPlus/Workflow/
export swatplus_wf_dir=$SWAT_AW_HOME/.SWAT/SWATPlus/Workflow/
# add qgis plugins folder to pythonpath
export WF_QGIS=/usr/share/qgis/python/plugins

# # add default plugins and model directory to python path
export PYTHONPATH=$BASE_DIR:$PYTHONPATH
export PYTHONPATH=$BASE_DIR:$WF_QGIS:$PYTHONPATH
# export PATH=%PATH%

# start runing the workflow using PyQGIS

python3 $python_script_prepare_qswat $BASE_DIR
if [ "$?" -ne "0" ];
then
echo "prepare_qswat failed"
exit 1
else
echo 'prepare_qswat done'
python3 $python_script_make_config $BASE_DIR
if [ "$?" -ne "0" ];
then
echo "make_config failed"
exit 1
else
echo 'make_config done'
python3 $python_script_run_qswat $BASE_DIR
if [ "$?" -ne "0" ];
then
echo "run_qswat failed"
exit 1
else
echo 'run_qswat done'
python3 $python_script_run_editor $BASE_DIR
echo 'run_editor done'

python3 $python_script_make_namelist $BASE_DIR
python3 $python_script_run_calibration $BASE_DIR
echo 'un_calibration done'

python3 $python_script_run_qswat $BASE_DIR
python3 $python_script_run_editor $BASE_DIR
python3 $python_script_run_calibration $BASE_DIR
python3 $python_script_make_figures $BASE_DIR
python3 $python_script_make_figures $BASE_DIR
echo 'make_figures done'
fi

fi
fi

python3 $python_script_clean_up $BASE_DIR
echo 'clean_up done'

echo 'This is the end.'