#!/bin/bash echo "$(date -u) begin $(basename $BASH_SOURCE)" set -xa if [[ ${STRICT:-NO} == "YES" ]]; then # Turn on strict bash error checking set -eu fi export PS4='$SECONDS + $(basename $(basename $BASH_SOURCE))[$LINENO] ' #################################### # Determine Job Output Name on System #################################### export jobid=${jobid:-"$job.$PBS_JOBID"} export pgmout="OUTPUT.${PBS_JOBID}" export pgmerr=errfile #################################### # Specify and create working directory #################################### export DATA=${DATA:-${DATAROOT}/${jobid}} mkdir -p $DATA cd $DATA ###################################### # Set up compute resources ###################################### export total_tasks=${total_tasks:-8} #export APRUN_MPMD=${gefsmpexec_mpmd:-"mpiexec -n $total_tasks cfp mpmd_cmdfile"} export APRUN_MPMD=${gefsmpexec_mpmd:-"mpiexec --cpu-bind core --configfile mpmd_cmdfile"} #################################### # Specify NET and RUN Name and model #################################### export NET=${NET:-gefs} export envir=${envir:-prod} export RUN=${RUN:-gefs} export model=${model:-ensemble} ###################################### # SENDCOM - Copy Files From TMPDIR to $COMOUT # SENDDBN - Issue DBNet Client Calls # SENDECF - Flag Events on ECF # VERBOSE - Specify Verbose Output ###################################### export SENDCOM=${SENDCOM:-YES} export SENDDBN=${SENDDBN:-YES} export SENDECF=${SENDECF:-YES} export VERBOSE=${VERBOSE:-YES} ###################################### # Set up the date information ###################################### export cycle=t${cyc}z setpdy.sh source PDY #################################### # Specify Execution Areas #################################### export HOMEgefs=${HOMEgefs:-${PACKAGEROOT}/gefs.${gefs_ver}} export PARMgefs=${PARMgefs:-$HOMEgefs/parm} export GEMPAKgefs=${GEMPAKgefs:-$HOMEgefs/gempak} export FIXgempak=${FIXgempak:-$GEMPAKgefs/fix} ############################################## # Define COM directories ############################################## # gefs_meta_qpf.sh overrides COMIN locally to work with datatype.tbl ver=${ver:-$(echo ${gefs_ver}|cut -c1-5)} export COMIN=${COMIN:-$(compath.py $envir/com/$NET/${ver})/${RUN}.${PDY}/$cyc} export COMINs=${COMINs:-$(compath.py $envir/com/$NET/${ver})} export COMOUT=${COMOUT:-$(compath.py -o $NET/${ver})/${RUN}.${PDY}/$cyc} ############################# # Source relevant config files ############################# configs="gefs gefs_gempak_meta" config_path=$PARMgefs for config in $configs; do . $config_path/$config.parm export err=$? if [[ $err != 0 ]]; then echo "FATAL ERROR in $(basename $BASH_SOURCE): Error while loading parm file $config_path/$config.parm" exit $err fi done export COMINsgfs=${COMINsgfs:-$(compath.py $envir/com/gfs/${gfs_ver})} export COMINnawips=${COMINnawips:-$(compath.py $envir/com/nawips/${nawips_ver})} export COMINecmwf=${COMINecmwf:-$(compath.py $envir/com/ecmwf/${ecmwf_ver})/ecmwf} #export COMINukmet=${COMINukmet:-$(compath.py $envir/com/nawips/${nawips_ver})/ukmet} export COMINukmet=${COMINukmet:-$(compath.py $envir/com/ukmet/${ukmet_ver})/ukmet} export COMINnam=${COMINnam:-$(compath.py $envir/com/nam/${nam_ver})} export COMPONENT=${COMPONENT:-atmos} if [[ ! -d $COMOUT/$COMPONENT/gempak/meta ]]; then mkdir -p -m 755 $COMOUT/$COMPONENT/gempak/meta; fi echo "Environment before calling script" env | sort ############################################################# # Execute the script $HOMEgefs/scripts/exgefs_atmos_gempak_meta.sh export err=$? if [[ $err == 0 ]]; then echo "$job completed normally!" else echo "FATAL ERROR in $(basename $BASH_SOURCE): $job failed!" exit $err fi ############################################################# ############################## # Remove the Temporary working directory ############################## cd $DATAROOT if [ ${KEEPDATA:-NO} = NO ] ; then rm -rf $DATA ; fi echo "$(date -u) end $(basename $BASH_SOURCE)" exit $err