From 621b8dfdc29d2a5df71d8b4c888d855025d936b7 Mon Sep 17 00:00:00 2001 From: jean pierre huart Date: Thu, 8 Oct 2020 14:44:47 +0200 Subject: [PATCH 1/6] comments on prerequisites for ubuntu install --- .gitignore | 1 + install.sh | 7 +++++++ swatplus_aw.sh | 49 ++++++++++++++++++++++++++++++++++++++++--------- 3 files changed, 48 insertions(+), 9 deletions(-) create mode 100644 .gitignore mode change 100644 => 100755 swatplus_aw.sh diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7e99e36 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.pyc \ No newline at end of file diff --git a/install.sh b/install.sh index a208fa2..47265c8 100644 --- a/install.sh +++ b/install.sh @@ -1,3 +1,10 @@ +#!/bin/bash +# 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 geopandas peewee cython scipy +# # set version to download version="1.0.4" diff --git a/swatplus_aw.sh b/swatplus_aw.sh old mode 100644 new mode 100755 index 22c7877..48bb8cf --- a/swatplus_aw.sh +++ b/swatplus_aw.sh @@ -5,7 +5,7 @@ # 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_make_config=$HOME/.SWAT/SWATPlus/Workflow/main_stages/generate_config.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 @@ -14,19 +14,50 @@ export python_script_clean_up=$HOME/.SWAT/SWATPlus/Workflow/main_stages/run_clea export BASE_DIR=$PWD export swatplus_wf_dir=$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 - -python3 $python_script_make_namelist $BASE_DIR -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_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_run_calibration $BASE_DIR + echo 'un_calibration done' + + 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.' \ No newline at end of file From 7ced6fea956b037a6b3a6e25ca1d68abb61b4527 Mon Sep 17 00:00:00 2001 From: jean pierre huart Date: Fri, 16 Oct 2020 12:53:32 +0200 Subject: [PATCH 2/6] Update of install instruction + new swatplus_wgn.sqlite source --- install.sh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/install.sh b/install.sh index 47265c8..4766e05 100644 --- a/install.sh +++ b/install.sh @@ -1,9 +1,13 @@ #!/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 geopandas peewee cython scipy +# pip3 install --user geopandas peewee cython scipy # # set version to download version="1.0.4" @@ -16,7 +20,8 @@ mkdir -p "$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" From 4259d81b3e19719e1f6ebb6fa18d0f3d577d8110 Mon Sep 17 00:00:00 2001 From: jean pierre huart Date: Fri, 23 Apr 2021 15:03:19 +0200 Subject: [PATCH 3/6] customize install dir in my conda environment --- install.sh | 32 +++++++++++++++++--------------- swatplus_aw.sh | 18 ++++++++++-------- 2 files changed, 27 insertions(+), 23 deletions(-) mode change 100644 => 100755 install.sh diff --git a/install.sh b/install.sh old mode 100644 new mode 100755 index 4766e05..7140e07 --- a/install.sh +++ b/install.sh @@ -11,12 +11,14 @@ # # set version to download version="1.0.4" +# set swat home +export SWAT_HOME="/home/jph/dev/conda/pesteaux_conda/swat_tools" -rm -r "$HOME/.SWAT/SWATPlus" -rm -r "$HOME/.local/share/swatplus" +rm -r "$SWAT_HOME/.SWAT/SWATPlus" +rm -r "$SWAT_HOME/.local/share/swatplus" -mkdir -p "$HOME/.SWAT/SWATPlus" -mkdir -p "$HOME/.local/share/swatplus" +mkdir -p "$SWAT_HOME/.SWAT/SWATPlus" +mkdir -p "$SWAT_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" @@ -27,22 +29,22 @@ 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_HOME/.SWAT/SWATPlus/Workflow" +mv "./TauDEM5Bin" "$SWAT_HOME/.local/share/swatplus/TauDEM5Bin" +mv "./swatplus_wgn.sqlite" "$SWAT_HOME/.SWAT/SWATPlus/Workflow/editor_api/" +chmod 777 "$SWAT_HOME/.SWAT/SWATPlus/Workflow/swatplus_aw.sh" +chmod -R 777 "$SWAT_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_HOME/.SWAT/SWATPlus/Workflow/.gitattributes" +rm "$SWAT_HOME/.SWAT/SWATPlus/Workflow/swatplus_aw.bat" +rm "$SWAT_HOME/.SWAT/SWATPlus/Workflow/code_of_conduct.md" +rm -r "$SWAT_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_HOME/.SWAT/SWATPlus/Workflow' >>~/.bashrc +echo 'export swatplus_wf_dir=$SWAT_HOME/.SWAT/SWATPlus/Workflow' >>~/.bashrc diff --git a/swatplus_aw.sh b/swatplus_aw.sh index 48bb8cf..ad9591d 100755 --- a/swatplus_aw.sh +++ b/swatplus_aw.sh @@ -2,18 +2,20 @@ # set the directory of QGIS # export QGIS_Dir=C:\Program Files\QGIS 3.10 # set ERRORLEVEL=0 +# set swat home +export SWAT_HOME="/home/jph/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_config=$HOME/.SWAT/SWATPlus/Workflow/main_stages/generate_config.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_HOME/.SWAT/SWATPlus/Workflow/main_stages/prepare_project.py +export python_script_make_config=$SWAT_HOME/.SWAT/SWATPlus/Workflow/main_stages/generate_config.py +export python_script_run_qswat=$SWAT_HOME/.SWAT/SWATPlus/Workflow/main_stages/run_qswat.py +export python_script_run_editor=$SWAT_HOME/.SWAT/SWATPlus/Workflow/main_stages/run_editor.py +export python_script_run_calibration=$SWAT_HOME/.SWAT/SWATPlus/Workflow/main_stages/run_calibration.py +export python_script_make_figures=$SWAT_HOME/.SWAT/SWATPlus/Workflow/main_stages/run_make_figures.py +export python_script_clean_up=$SWAT_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_HOME/.SWAT/SWATPlus/Workflow/ # add qgis plugins folder to pythonpath export WF_QGIS=/usr/share/qgis/python/plugins From 7b9f90500f9e64d42ed56ae7a407ba6bfe7f6e87 Mon Sep 17 00:00:00 2001 From: jean pierre huart Date: Fri, 23 Apr 2021 19:16:30 +0200 Subject: [PATCH 4/6] update import of osgeo modules --- main_stages/prepare_project.py | 4 ++-- packages/helper_functions.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/main_stages/prepare_project.py b/main_stages/prepare_project.py index 27da009..a4a8b88 100644 --- a/main_stages/prepare_project.py +++ b/main_stages/prepare_project.py @@ -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"])) diff --git a/packages/helper_functions.py b/packages/helper_functions.py index e96456d..a593228 100644 --- a/packages/helper_functions.py +++ b/packages/helper_functions.py @@ -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 From ff903d6a2f550d7fd0bf69f574972ab009158660 Mon Sep 17 00:00:00 2001 From: Jean Pierre Huart Date: Tue, 5 Oct 2021 16:47:43 +0200 Subject: [PATCH 5/6] Update install.sh --- install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install.sh b/install.sh index 7140e07..690d38c 100755 --- a/install.sh +++ b/install.sh @@ -12,7 +12,7 @@ # set version to download version="1.0.4" # set swat home -export SWAT_HOME="/home/jph/dev/conda/pesteaux_conda/swat_tools" +export SWAT_HOME="~/dev/conda/pesteaux_conda/swat_tools" rm -r "$SWAT_HOME/.SWAT/SWATPlus" rm -r "$SWAT_HOME/.local/share/swatplus" From dd2eeb7f882eb2d4ab7e1e5265c10b9beb93ddc4 Mon Sep 17 00:00:00 2001 From: jean pierre huart Date: Tue, 5 Oct 2021 16:57:19 +0200 Subject: [PATCH 6/6] change variable name to avoid confusion --- install.sh | 32 ++++++++++++++++---------------- swatplus_aw.sh | 18 +++++++++--------- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/install.sh b/install.sh index 690d38c..f98c5cd 100755 --- a/install.sh +++ b/install.sh @@ -12,13 +12,13 @@ # set version to download version="1.0.4" # set swat home -export SWAT_HOME="~/dev/conda/pesteaux_conda/swat_tools" +export SWAT_AW_HOME="~/dev/conda/pesteaux_conda/swat_tools" -rm -r "$SWAT_HOME/.SWAT/SWATPlus" -rm -r "$SWAT_HOME/.local/share/swatplus" +rm -r "$SWAT_AW_HOME/.SWAT/SWATPlus" +rm -r "$SWAT_AW_HOME/.local/share/swatplus" -mkdir -p "$SWAT_HOME/.SWAT/SWATPlus" -mkdir -p "$SWAT_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" @@ -29,22 +29,22 @@ unzip "./v$version.zip" unzip "./TauDEM5Bin_Linux.zip" echo "copying files" -mv "./swatplus-automatic-workflow-$version" "$SWAT_HOME/.SWAT/SWATPlus/Workflow" -mv "./TauDEM5Bin" "$SWAT_HOME/.local/share/swatplus/TauDEM5Bin" -mv "./swatplus_wgn.sqlite" "$SWAT_HOME/.SWAT/SWATPlus/Workflow/editor_api/" -chmod 777 "$SWAT_HOME/.SWAT/SWATPlus/Workflow/swatplus_aw.sh" -chmod -R 777 "$SWAT_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 "$SWAT_HOME/.SWAT/SWATPlus/Workflow/.gitattributes" -rm "$SWAT_HOME/.SWAT/SWATPlus/Workflow/swatplus_aw.bat" -rm "$SWAT_HOME/.SWAT/SWATPlus/Workflow/code_of_conduct.md" -rm -r "$SWAT_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:$SWAT_HOME/.SWAT/SWATPlus/Workflow' >>~/.bashrc -echo 'export swatplus_wf_dir=$SWAT_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 diff --git a/swatplus_aw.sh b/swatplus_aw.sh index ad9591d..de2ba75 100755 --- a/swatplus_aw.sh +++ b/swatplus_aw.sh @@ -3,19 +3,19 @@ # export QGIS_Dir=C:\Program Files\QGIS 3.10 # set ERRORLEVEL=0 # set swat home -export SWAT_HOME="/home/jph/dev/conda/pesteaux_conda/swat_tools" +export SWAT_AW_HOME="~/dev/conda/pesteaux_conda/swat_tools" # set variables for project initialisation -export python_script_prepare_qswat=$SWAT_HOME/.SWAT/SWATPlus/Workflow/main_stages/prepare_project.py -export python_script_make_config=$SWAT_HOME/.SWAT/SWATPlus/Workflow/main_stages/generate_config.py -export python_script_run_qswat=$SWAT_HOME/.SWAT/SWATPlus/Workflow/main_stages/run_qswat.py -export python_script_run_editor=$SWAT_HOME/.SWAT/SWATPlus/Workflow/main_stages/run_editor.py -export python_script_run_calibration=$SWAT_HOME/.SWAT/SWATPlus/Workflow/main_stages/run_calibration.py -export python_script_make_figures=$SWAT_HOME/.SWAT/SWATPlus/Workflow/main_stages/run_make_figures.py -export python_script_clean_up=$SWAT_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=$SWAT_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