From 34b247b9552a1080e1b5c223a1ab6fa087edbc32 Mon Sep 17 00:00:00 2001
From: Anne Philipp <anne.philipp@univie.ac.at>
Date: Fri, 12 Oct 2018 12:56:04 +0200
Subject: [PATCH] new installation

---
 run/jobscripts/compilejob.ksh | 68 +++++++++++++++++++++++++++
 run/jobscripts/job.ksh        | 87 ++++++++++++++++++-----------------
 run/run.sh                    |  8 ++--
 setup.sh                      |  4 +-
 templates/compilejob.template |  8 ++--
 templates/job.temp            | 76 ++++++++++++++++++++++++++++++
 6 files changed, 200 insertions(+), 51 deletions(-)
 create mode 100644 run/jobscripts/compilejob.ksh
 create mode 100644 templates/job.temp

diff --git a/run/jobscripts/compilejob.ksh b/run/jobscripts/compilejob.ksh
new file mode 100644
index 0000000..566f03c
--- /dev/null
+++ b/run/jobscripts/compilejob.ksh
@@ -0,0 +1,68 @@
+#!/bin/ksh
+
+# ON ECGB:
+# start with ecaccess-job-submit -queueName ecgb NAME_OF_THIS_FILE  on gateway server
+# start with sbatch NAME_OF_THIS_FILE directly on machine
+
+#SBATCH --workdir=/scratch/ms/at/km4a
+#SBATCH --qos=normal
+#SBATCH --job-name=flex_ecmwf
+#SBATCH --output=flex_ecmwf.%j.out
+#SBATCH --error=flex_ecmwf.%j.out
+#SBATCH --mail-type=FAIL
+#SBATCH --time=12:00:00
+
+## CRAY specific batch requests
+##PBS -N flex_ecmwf
+##PBS -q ns
+##PBS -S /usr/bin/ksh
+##PBS -o /scratch/ms/at/km4a/flex_ecmwf.${Jobname}.${Job_ID}.out
+# job output is in .ecaccess_DO_NOT_REMOVE
+##PBS -j oe
+##PBS -V
+##PBS -l EC_threads_per_task=1
+##PBS -l EC_memory_per_task=3200MB
+
+set -x
+export VERSION=7.1
+case ${HOST} in
+  *ecg*)
+#  module load python
+#  module unload grib_api
+  module unload emos
+#  module load grib_api/1.14.5
+  module load emos/437-r64
+  export FLEXPART_ROOT_SCRIPTS=${HOME}
+  export MAKEFILE=Makefile.gfortran
+  ;;
+  *cca*)
+  module switch PrgEnv-cray PrgEnv-intel
+  module load grib_api
+  module load emos
+  module load python
+  echo ${GROUP}
+  echo ${HOME}
+  echo ${HOME} | awk -F / '{print $1, $2, $3, $4}'
+  export GROUP=`echo ${HOME} | awk -F / '{print $4}'`
+  export SCRATCH=/scratch/ms/${GROUP}/${USER}
+  export FLEXPART_ROOT_SCRIPTS=${HOME}
+  export MAKEFILE=Makefile.gfortran
+  ;;
+esac
+
+mkdir -p ${FLEXPART_ROOT_SCRIPTS}/flex_extract_v${VERSION}
+cd ${FLEXPART_ROOT_SCRIPTS}/flex_extract_v${VERSION}   # if FLEXPART_ROOT is not set this means cd to the home directory
+tar -xvf ${HOME}/flex_extract_v${VERSION}.tar
+cd source/fortran
+\rm *.o *.mod CONVERT2 
+make -f ${MAKEFILE} >flexcompile 2>flexcompile
+
+ls -l CONVERT2 >>flexcompile
+if [ $? -eq 0 ]; then
+  echo 'SUCCESS!' >>flexcompile
+  mail -s flexcompile.${HOST}.$$ ${USER} <flexcompile
+else
+  echo Environment: >>flexcompile
+  env >> flexcompile
+  mail -s "ERROR! flexcompile.${HOST}.$$" ${USER} <flexcompile
+fi
diff --git a/run/jobscripts/job.ksh b/run/jobscripts/job.ksh
index 7a7b1e4..dbe90c8 100644
--- a/run/jobscripts/job.ksh
+++ b/run/jobscripts/job.ksh
@@ -16,7 +16,7 @@
 ##PBS -N flex_ecmwf
 ##PBS -q np
 ##PBS -S /usr/bin/ksh
-## -o /scratch/ms/spatlh00/lh0/flex_ecmwf.$PBS_JOBID.out
+## -o /scratch/ms/at/km4a/flex_ecmwf.${PBS_JOBID}.out
 ## job output is in .ecaccess_DO_NOT_REMOVE
 ##PBS -j oe
 ##PBS -V
@@ -25,7 +25,7 @@
 
 set -x
 export VERSION=7.1
-case $HOST in
+case ${HOST} in
   *ecg*)
   module load python
   module unload grib_api
@@ -39,95 +39,100 @@ case $HOST in
   module load grib_api
   module load emos
   module load python
-  export SCRATCH=$TMPDIR
+  export SCRATCH=${TMPDIR}
   export PATH=${PATH}:${HOME}/flex_extract_v7.1/source/python
   ;;
 esac
 
-cd $SCRATCH
+cd ${SCRATCH}
 mkdir -p python$$
 cd python$$
 
 export CONTROL=CONTROL
 
-cat >$CONTROL<<EOF
-accuracy 16
+cat >${CONTROL}<<EOF
+accmaxstep 12
+acctime 06/18
+acctype FC
+accuracy 24
 addpar 186 187 188 235 139 39 
 area 
 basetime None
-controlfile CONTROL.temp
+controlfile CONTROL_EA5.testgrid
 cwc 0
+dataset None
 date_chunk 3
 debug 1
 destination annep@genericSftp
 dpdeta 1
-dtime 3
+dtime 1
 ecfsdir ectmp:/${USER}/econdemand/
 ecgid at
 ecstorage 0
 ectrans 1
 ecuid km4a
-end_date 20120908
-eta 0
+end_date 20180108
+eta 1
 etadiff 0
 etapar 77
 expver 1
 format GRIB1
 gateway srvx8.img.univie.ac.at
-gauss 1
+gauss 0
+gaussian 
 grib2flexpart 0
-grid 5000
-inputdir ../../run/workspace/test
+grid 1000
+inputdir /raid60/nas/tmc/Anne/Interpolation/flexextract/flex_extract_v7.1/run/workspace
 install_target None
 job_template job.temp
-left -15000
-level 60
-levelist 40/to/60
-logicals gauss omega omegadiff eta etadiff dpdeta cwc wrf grib2flexpart ecstorage ectrans debug request 
-lower 30000
+left -5000
+level 137
+levelist 100/to/137
+logicals gauss omega omegadiff eta etadiff dpdeta cwc wrf grib2flexpart ecstorage ectrans debug request public 
+lower 10000
 mailfail ${USER} 
 mailops ${USER} 
 makefile Makefile.gfortran
-marsclass EI
-maxstep 11
+marsclass EA
+maxstep 0
 number OFF
 omega 0
 omegadiff 0
-outputdir ../../run/workspace/test
-ppid 41511
-prefix EI
-queue local
-request 1
-resol 63
-right 45000
+outputdir /raid60/nas/tmc/Anne/Interpolation/flexextract/flex_extract_v7.1/run/workspace
+prefix EA
+public 0
+queue ecgate
+request 2
+resol 159
+right 5000
 smooth 0
-start_date 20120908
-step 00 01 02 03 04 05 00 07 08 09 10 11 00 01 02 03 04 05 00 07 08 09 10 11 
+start_date 20180108
+step 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
 stream OPER
-time 00 00 00 00 00 00 06 00 00 00 00 00 12 12 12 12 12 12 18 12 12 12 12 12 
-type AN FC FC FC FC FC AN FC FC FC FC FC AN FC FC FC FC FC AN FC FC FC FC FC 
-upper 75000
+time 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 
+type AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN 
+upper 20000
 wrf 0
 EOF
 
 
-submit.py --controlfile=$CONTROL --inputdir=./work --outputdir=./work 1> prot 2>&1
+submit.py --controlfile=${CONTROL} --inputdir=./work --outputdir=./work 1> prot 2>&1
 
 if [ $? -eq 0 ] ; then
   l=0
-  for muser in `grep -i MAILOPS $CONTROL`; do
-      if [ $l -gt 0 ] ; then 
-         mail -s flex.${HOST}.$$ $muser <prot
+  for muser in `grep -i MAILOPS ${CONTROL}`; do
+      if [ ${l} -gt 0 ] ; then 
+         mail -s flex.${HOST}.$$ ${muser} <prot
       fi
-      l=$(($l+1))
+      l=$((${l}+1))
   done
 else
   l=0
-  for muser in `grep -i MAILFAIL $CONTROL`; do
-      if [ $l -gt 0 ] ; then 
-         mail -s "ERROR! flex.${HOST}.$$" $muser <prot
+  for muser in `grep -i MAILFAIL ${CONTROL}`; do
+      if [ ${l} -gt 0 ] ; then 
+         mail -s "ERROR! flex.${HOST}.$$" ${muser} <prot
       fi
-      l=$(($l+1))
+      l=$((${l}+1))
   done
 fi
 
diff --git a/run/run.sh b/run/run.sh
index 65acf26..045b343 100755
--- a/run/run.sh
+++ b/run/run.sh
@@ -14,20 +14,20 @@
 # THE USER HAS TO SPECIFY THESE PARAMETER
 #
 
-QUEUE=None
-START_DATE='20120908'
+QUEUE='ecgate'
+START_DATE='20180108'
 END_DATE=None
 DATE_CHUNK=None
 BASETIME=None
 STEP=None
 LEVELIST=None
 AREA=None
-INPUTDIR='/nas/tmc/Anne/Interpolation/flexextract/flex_extract_v7.1/run/workspace/test3'
+INPUTDIR=''
 OUTPUTDIR=None
 FLEXPART_ROOT_SCRIPTS=None 
 PP_ID=None
 JOB_TEMPLATE='job.temp' 
-CONTROLFILE='CONTROL_EA5' 
+CONTROLFILE='CONTROL_EA5.testgrid' 
 DEBUG=1 
 REQUEST=2
 PUBLIC=0
diff --git a/setup.sh b/setup.sh
index 18d3395..013ece4 100755
--- a/setup.sh
+++ b/setup.sh
@@ -19,8 +19,8 @@ ECGID='at'
 GATEWAY='srvx8.img.univie.ac.at'
 DESTINATION='annep@genericSftp'
 FLEXPART_ROOT_SCRIPTS=""
-JOB_TEMPLATE="job.temp.o"
-CONTROLFILE="CONTROL.test"
+JOB_TEMPLATE="job.template"
+CONTROLFILE="CONTROL_EA5.testgrid"
 # -----------------------------------------------------------------
 #
 # AFTER THIS LINE THE USER DOES NOT HAVE TO CHANGE ANYTHING !!!
diff --git a/templates/compilejob.template b/templates/compilejob.template
index e75a9aa..927633a 100644
--- a/templates/compilejob.template
+++ b/templates/compilejob.template
@@ -27,10 +27,10 @@ set -x
 export VERSION=$version_number
 case $${HOST} in
   *ecg*)
-  module load python
-  module unload grib_api
+#  module load python
+#  module unload grib_api
   module unload emos
-  module load grib_api/1.14.5
+#  module load grib_api/1.14.5
   module load emos/437-r64
   export FLEXPART_ROOT_SCRIPTS=$fp_root_scripts
   export MAKEFILE=$makefile
@@ -53,7 +53,7 @@ esac
 mkdir -p $${FLEXPART_ROOT_SCRIPTS}/flex_extract_v$${VERSION}
 cd $${FLEXPART_ROOT_SCRIPTS}/flex_extract_v$${VERSION}   # if FLEXPART_ROOT is not set this means cd to the home directory
 tar -xvf $${HOME}/flex_extract_v$${VERSION}.tar
-cd src
+cd source/fortran
 \rm *.o *.mod $fortran_program 
 make -f $${MAKEFILE} >flexcompile 2>flexcompile
 
diff --git a/templates/job.temp b/templates/job.temp
new file mode 100644
index 0000000..ae3ac9a
--- /dev/null
+++ b/templates/job.temp
@@ -0,0 +1,76 @@
+#!/bin/ksh
+
+# ON ECGB:
+# start with ecaccess-job-submit -queueName ecgb NAME_OF_THIS_FILE  on gateway server
+# start with sbatch NAME_OF_THIS_FILE directly on machine
+
+#SBATCH --workdir=/scratch/ms/at/km4a
+#SBATCH --qos=normal
+#SBATCH --job-name=flex_ecmwf
+#SBATCH --output=flex_ecmwf.%j.out
+#SBATCH --error=flex_ecmwf.%j.out
+#SBATCH --mail-type=FAIL
+#SBATCH --time=12:00:00
+
+## CRAY specific batch requests
+##PBS -N flex_ecmwf
+##PBS -q np
+##PBS -S /usr/bin/ksh
+## -o /scratch/ms/at/km4a/flex_ecmwf.${PBS_JOBID}.out
+## job output is in .ecaccess_DO_NOT_REMOVE
+##PBS -j oe
+##PBS -V
+##PBS -l EC_threads_per_task=24
+##PBS -l EC_memory_per_task=32000MB
+
+set -x
+export VERSION=7.1
+case ${HOST} in
+  *ecg*)
+  module load python
+  module unload grib_api
+  module unload emos
+  module load grib_api/1.14.5
+  module load emos/437-r64
+  export PATH=${PATH}:${HOME}/flex_extract_v7.1/source/python
+  ;;
+  *cca*)
+  module switch PrgEnv-cray PrgEnv-intel
+  module load grib_api
+  module load emos
+  module load python
+  export SCRATCH=${TMPDIR}
+  export PATH=${PATH}:${HOME}/flex_extract_v7.1/source/python
+  ;;
+esac
+
+cd ${SCRATCH}
+mkdir -p python$$
+cd python$$
+
+export CONTROL=CONTROL
+
+cat >${CONTROL}<<EOF
+EOF
+
+
+submit.py --controlfile=${CONTROL} --inputdir=./work --outputdir=./work 1> prot 2>&1
+
+if [ $? -eq 0 ] ; then
+  l=0
+  for muser in `grep -i MAILOPS ${CONTROL}`; do
+      if [ ${l} -gt 0 ] ; then 
+         mail -s flex.${HOST}.$$ ${muser} <prot
+      fi
+      l=$((${l}+1))
+  done
+else
+  l=0
+  for muser in `grep -i MAILFAIL ${CONTROL}`; do
+      if [ ${l} -gt 0 ] ; then 
+         mail -s "ERROR! flex.${HOST}.$$" ${muser} <prot
+      fi
+      l=$((${l}+1))
+  done
+fi
+
-- 
GitLab