Skip to content
Snippets Groups Projects
Select Git revision
  • 03fb1b572a9f94de3e31e89060b58973fbf880d3
  • master default protected
  • teaching-2024
  • old_config_2023-05 protected
  • v2025.8
  • v2025.2
  • v2024.6
  • v2024.2.20
8 results

run_ens.vsc.single.sh

Blame
  • setup_local_reading.sh 2.86 KiB
    #!/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)
    #
    # @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='<name>@genericSftp'
    INSTALLDIR=None
    SYSINSTALLDIR=None
    JOB_TEMPLATE=''
    CONTROLFILE='CONTROL_CERA'
    # -----------------------------------------------------------------
    #
    # 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 [[ $HOST == *"ecgb"* ]] || [[ $HOST == *"cca"* ]] || [[ $HOST == *"ccb"* ]]; 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" == "ecgate" ] || [ "$TARGET" == "cca" ]; 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