From 1e6cc1f5c04985424fb58af3a0913127d22ae3c3 Mon Sep 17 00:00:00 2001
From: Anne Tipka <anne.tipka@ctbto.org>
Date: Thu, 28 Jul 2022 11:19:21 +0000
Subject: [PATCH] added new setup scripts to account for Bologna Servers

---
 setup_bologna.sh       |  99 ++++++++++++++++++++++++++++++++++++++
 setup_local_bologna.sh | 105 +++++++++++++++++++++++++++++++++++++++++
 2 files changed, 204 insertions(+)
 create mode 100755 setup_bologna.sh
 create mode 100755 setup_local_bologna.sh

diff --git a/setup_bologna.sh b/setup_bologna.sh
new file mode 100755
index 0000000..b7d5e50
--- /dev/null
+++ b/setup_bologna.sh
@@ -0,0 +1,99 @@
+#!/bin/bash
+#
+# @Author: Anne Philipp
+#
+# @Date: September, 10 2018
+#
+# @Description: 
+#    This file defines the flex_extract's available installation
+#    parameters and puts them together for the call of the actual 
+#    python installation script. It also does some checks to 
+#    guarantee necessary parameters were set.
+#
+# @Changes:
+#    July 2022 - Anne Tipka (formerly Philipp)
+#      - adapted for the use on  ECWMF Bologna servers
+#
+# @Licence:
+#    (C) Copyright 2014-2020.
+#
+#    SPDX-License-Identifier: CC-BY-4.0
+#
+#    This work is licensed under the Creative Commons Attribution 4.0
+#    International License. To view a copy of this license, visit
+#    http://creativecommons.org/licenses/by/4.0/ or send a letter to
+#    Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
+#
+# -----------------------------------------------------------------
+# AVAILABLE COMMANDLINE ARGUMENTS TO SET
+#
+# THE USER HAS TO SPECIFY THESE PARAMETERS
+#
+TARGET='ecs'
+MAKEFILE='makefile_atosecs'
+ECUID='<username>'
+ECGID='<groupID>'
+GATEWAY='<gatewayname>'
+DESTINATION='<username>@genericSftp'
+INSTALLDIR=None
+JOB_TEMPLATE=''
+CONTROLFILE='CONTROL_EA5'
+# -----------------------------------------------------------------
+#
+# AFTER THIS LINE THE USER DOES NOT HAVE TO CHANGE ANYTHING !!!
+#
+# -----------------------------------------------------------------
+
+# PATH TO INSTALLATION SCRIPT
+script="Source/Python/install.py"
+
+# INITIALIZE EMPTY PARAMETERLIST
+parameterlist=""
+
+# CHECK IF ON ECMWF SERVER; 
+if [[ $EC_CLUSTER == "ecs" ]] || [[ $EC_CLUSTER == "aa"* ]] || [[ $EC_CLUSTER == "ab"* ]] || [[ $EC_CLUSTER == "ac"* ]] || [[ $EC_CLUSTER == "ad"* ]]; then
+# LOAD PYTHON3 MODULE
+  module load python3
+fi 
+
+# DEFAULT PARAMETERLIST
+if [ -n "$TARGET" ]; then
+  parameterlist=" --target=$TARGET"
+else
+  echo "ERROR: No installation target specified."
+  echo "EXIT WITH ERROR"
+  exit
+fi
+
+# CHECK FOR MORE PARAMETER 
+if [ "$TARGET" == "ecs" ] || [ "$TARGET" == "hpc" ] ; then
+  # check if necessary Parameters are set
+  if [ -z "$ECUID" ] || [ -z "$ECGID" ] || [ "$ECUID" == "<username>" ] || [ "$ECGID" == "<groupID>" ] ; then
+    echo "ERROR: At least one of the following parameters are not properly set: ECUID or ECGID!"
+    echo "EXIT WITH ERROR"
+    exit
+  else
+    parameterlist+=" --ecuid=$ECUID --ecgid=$ECGID --gateway=$GATEWAY --destination=$DESTINATION"
+  fi
+  if [ -z "$GATEWAY" ] || [ -z "$DESTINATION" ] || [ "$GATEWAY" == "<gatewayname>" ] || [ "$DESTINATION" == "<username>@genericSftp" ] ; then
+    echo "WARNING: Not setting parameters GATEWAY and DESTINATION means there will be no file transfer to local gateway server."
+  fi
+fi
+if [ -n "$MAKEFILE" ]; then
+  parameterlist+=" --makefile=$MAKEFILE"
+fi
+if [ -n "$FLEXPARTDIR" ]; then # not empty
+  parameterlist+=" --flexpartdir=$FLEXPARTDIR"
+fi
+if [ -n "$JOB_TEMPLATE" ]; then
+  parameterlist+=" --job_template=$JOB_TEMPLATE"
+fi
+if [ -n "$CONTROLFILE" ]; then
+  parameterlist+=" --controlfile=$CONTROLFILE"
+fi
+
+# -----------------------------------------------------------------
+# CALL INSTALLATION SCRIPT WITH DETERMINED COMMANDLINE ARGUMENTS
+
+$script $parameterlist
+
diff --git a/setup_local_bologna.sh b/setup_local_bologna.sh
new file mode 100755
index 0000000..3d9f122
--- /dev/null
+++ b/setup_local_bologna.sh
@@ -0,0 +1,105 @@
+#!/bin/bash
+#
+# @Author: Anne Philipp
+#
+# @Date: September, 10 2018
+#
+# @Description: 
+#    This file defines the flex_extract's available installation
+#    parameters and puts them together for the call of the actual 
+#    python installation script. It also does some checks to 
+#    guarantee necessary parameters were set.
+#
+# @History:
+#    Leopold Haimberger; Aug 2020
+#       added new parameter for a system installation 
+#       (seperate executable and user directories)
+#    Anne Tipka; July 2022
+#       Adapted to use on Bologna servers
+#
+# @Licence:
+#    (C) Copyright 2014-2020.
+#
+#    SPDX-License-Identifier: CC-BY-4.0
+#
+#    This work is licensed under the Creative Commons Attribution 4.0
+#    International License. To view a copy of this license, visit
+#    http://creativecommons.org/licenses/by/4.0/ or send a letter to
+#    Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
+#
+# -----------------------------------------------------------------
+# AVAILABLE COMMANDLINE ARGUMENTS TO SET
+#
+# THE USER HAS TO SPECIFY THESE PARAMETERS
+#
+TARGET='local'
+MAKEFILE='makefile_local_gfortran'
+ECUID='<username>'
+ECGID='<groupID>'
+GATEWAY='<gatewayname>'
+DESTINATION='<username>@genericSftp'
+INSTALLDIR=None
+SYSINSTALLDIR=None
+JOB_TEMPLATE=''
+CONTROLFILE='CONTROL_EA5'
+# -----------------------------------------------------------------
+#
+# AFTER THIS LINE THE USER DOES NOT HAVE TO CHANGE ANYTHING !!!
+#
+# -----------------------------------------------------------------
+
+# PATH TO INSTALLATION SCRIPT
+script="Source/Python/install.py"
+
+# INITIALIZE EMPTY PARAMETERLIST
+parameterlist=""
+
+# CHECK IF ON ECMWF SERVER; 0
+if [[ $EC_CLUSTER == "ecs" ]] || [[ $EC_CLUSTER == "aa"* ]] || [[ $EC_CLUSTER == "ac"* ]] || [[ $EC_CLUSTER == "ad"* ]] || [[ $EC_CLUSTER == "ab"* ]]; then
+# LOAD PYTHON3 MODULE
+  module load python3
+fi 
+
+# DEFAULT PARAMETERLIST
+if [ -n "$TARGET" ]; then
+  parameterlist=" --target=$TARGET"
+else
+  echo "ERROR: No installation target specified."
+  echo "EXIT WITH ERROR"
+  exit
+fi
+
+# CHECK FOR MORE PARAMETER 
+if [ "$TARGET" == "ecs" ] || [ "$TARGET" == "hpc" ]; then
+  # check if necessary Parameters are set
+  if [ -z "$ECUID" ] || [ -z "$ECGID" ] || [ -z "$GATEWAY" ] || [ -z "$DESTINATION" ]; then
+    echo "ERROR: At least one of the following parameters are not set: ECUID, ECGID, GATEWAY, DESTINATION!"
+    echo "EXIT WITH ERROR"
+    exit
+  else
+    parameterlist+=" --ecuid=$ECUID --ecgid=$ECGID --gateway=$GATEWAY --destination=$DESTINATION"
+  fi
+fi
+if [ -n "$MAKEFILE" ]; then
+  parameterlist+=" --makefile=$MAKEFILE"
+fi
+if [ -n "$INSTALLDIR" ]; then 
+  parameterlist+=" --installdir=$INSTALLDIR"
+fi
+if [ -n "$SYSINSTALLDIR" ]; then 
+  parameterlist+=" --sysinstalldir=$SYSINSTALLDIR"
+fi
+if [ -n "$JOB_TEMPLATE" ]; then
+  parameterlist+=" --job_template=$JOB_TEMPLATE"
+fi
+if [ -n "$CONTROLFILE" ]; then
+  parameterlist+=" --controlfile=$CONTROLFILE"
+fi
+
+# -----------------------------------------------------------------
+# CALL INSTALLATION SCRIPT WITH DETERMINED COMMANDLINE ARGUMENTS
+
+$script $parameterlist
+
+
+
-- 
GitLab