#!/usr/bin/env bash ######################################################################## # # JOB NAME: JLMP_POP_MOSFCST # (ADAPTED FROM JLMP_1HCNVLTG_MOSFCST) # # HISTORY: SEP 11 2018 SHAFER CREATED # SEP 08 2021 lamp.v2.4.0 SAMPLATSKY MODIFIED FOR WCOSS2 UPDATES # JAN 13 2023 lmp.v2.5.0 SHAFER ADDRESSING BUGZILLA - CHECK FOR # EXISTENCE OF $pgmout BEFORE CATTING # ######################################################################## ########################################################### # SET SHELL PROCESSING VARIABLES ########################################################### date export PS4=' $SECONDS + ' set -x ########################################################### # OBTAIN UNIQUE PROCESS ID (PID) AND CREATE TEMP DIRECTORY ########################################################### export DATA=${DATA:-${DATAROOT:?}/${jobid:?}} mkdir -p $DATA cd $DATA export cycle=t${cyc}z export HOUR=$cyc ########################################################### # SPECIFY NET AND MODEL VARIABLES ########################################################### export NET=${NET:-lmp} export RUN=${RUN:-lmp} ########################################################### # DETERMINE JOB OUTPUT NAME (USED IN $DATA WHILE JOB IS # RUNNING) ########################################################### export pgmout="OUTPUT.$$" ########################################################### # SENDECF - Flag Events on ECF # SENDCOM - Copy Files From TMPDIR to $com # SENDDBN - Send files to OSO ########################################################### export SENDECF=${SENDECF:-YES} export SENDCOM=${SENDCOM:-YES} export SENDDBN=${SENDDBN:-YES} ########################################################### # SPECIFY DIRECTORIES WHERE JOB-RELATED FILES RESIDE ########################################################### export USHlmp=${USHlmp:-${HOMElmp}/ush} export EXEClmp=${EXEClmp:-${HOMElmp}/exec} export FIXlmp=${FIXlmp:-${HOMElmp}/fix} export PARMlmp=${PARMlmp:-${HOMElmp}/parm} export SCRlmp=${SCRlmp:-${HOMElmp}/scripts} export EXEClamp_shared=${EXEClamp_shared:-${HOMElamp_shared}/exec} ########################################################### # SET DATE AND TIME VARIABLES ########################################################### export PDY=$PDY setpdy.sh . ./PDY ############################################################ # SET DATE AND TIME VARIABLES. ############################################################ export DAT=${DAT:-${PDY}${HOUR}} export PDYm1=`$NDATE -24 ${PDY}${HOUR} | cut -c 1-8` case ${HOUR} in 00 | 12 ) export offset_ecm=12 export offset_nam=06;; 01 | 13 ) export offset_ecm=13 export offset_nam=07;; 02 | 14 ) export offset_ecm=14 export offset_nam=08;; 03 | 15 ) export offset_ecm=15 export offset_nam=03;; 04 | 16 ) export offset_ecm=16 export offset_nam=04;; 05 | 17 ) export offset_ecm=17 export offset_nam=05;; 06 | 18 ) export offset_ecm=18 export offset_nam=06;; 07 | 19 ) export offset_ecm=07 export offset_nam=07;; 08 | 20 ) export offset_ecm=08 export offset_nam=08;; 09 | 21 ) export offset_ecm=09 export offset_nam=03;; 10 | 22 ) export offset_ecm=10 export offset_nam=04;; 11 | 23 ) export offset_ecm=11 export offset_nam=05;; esac export offset_hrrr=01 export offset_hrrrm1=02 export offset_hrrrm2=03 export MOSDATecm=`$NDATE -${offset_ecm} ${DAT}` export MOSDATnam=`$NDATE -${offset_nam} ${DAT}` export MOSDAThrrr=`$NDATE -${offset_hrrr} ${DAT}` export MOSDAThrrrm1=`$NDATE -${offset_hrrrm1} ${DAT}` export MOSDAThrrrm2=`$NDATE -${offset_hrrrm2} ${DAT}` export MOSPDYecm=`echo ${MOSDATecm} | cut -c1-8` export MOSCYCecm=`echo ${MOSDATecm} | cut -c9-10` export MOSPDYnam=`echo ${MOSDATnam} | cut -c1-8` export MOSCYCnam=`echo ${MOSDATnam} | cut -c9-10` export MOSPDYhrrr=`echo ${MOSDAThrrr} | cut -c1-8` export MOSCYChrrr=`echo ${MOSDAThrrr} | cut -c9-10` export MOSPDYhrrrm1=`echo ${MOSDAThrrrm1} | cut -c1-8` export MOSCYChrrrm1=`echo ${MOSDAThrrrm1} | cut -c9-10` export MOSPDYhrrrm2=`echo ${MOSDAThrrrm2} | cut -c1-8` export MOSCYChrrrm2=`echo ${MOSDAThrrrm2} | cut -c9-10` ########################################################### # SET UP DIRECTORY PATHS DEPENDENT ON DATE VARIABLES ########################################################### export COMINecm=${COMINecm:-$(compath.py ${envir}/com/ecmwf_mos/${ecmwf_mos_ver})/ecmwf_mos.${MOSPDYecm}} export COMINnam=${COMINnam:-$(compath.py ${envir}/com/nam_mos/${nam_mos_ver})/nam_mos.$MOSPDYnam} export COMIN=${COMIN:-$(compath.py ${envir}/com/${NET}/${lmp_ver})/${RUN}.${PDY}} export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${lmp_ver})/${RUN}.${PDY}} export COMOUTm1=${COMOUTm1:-$(compath.py -o ${NET}/${lmp_ver})/${RUN}.${PDYm1}} mkdir -p ${COMOUT} export MAILTO="nco.sos@noaa.gov, nco.spa@noaa.gov" #export MAILTO="chenjie.huang@noaa.gov" env ############################################################# # EXECUTE THE SCRIPT USING CFP ############################################################# for model in ecm nam hrrr do echo "${SCRlmp}/exlmp_pop_mosfcst.sh $model" >> ${DATA}/mpmdscript done chmod 755 $DATA/mpmdscript export MP_PGMMODEL=mpmd export MP_LABELIO=YES mpiexec --configfile $DATA/mpmdscript export err=$?; err_chk for model in ecm nam hrrr do if [ -f ${DATA}/${model}pop/${pgmout} ]; then cat ${DATA}/${model}pop/${pgmout} fi done ########################################################### # DELETE WORKING DIRECTORY ########################################################### if [ "${KEEPDATA^^}" != "YES" ]; then rm -rf ${DATA} fi date