#!/bin/sh ############################################ # Set up environment for gefs2sref jobs # # change log: # 05/29/2012, Jun Du: Initial program # ############################################ $SMSBIN/smsinit $LOADL_STEP_ID set -xa export MP_IOAGENT_CNT=all export MP_IO_BUFFER_SIZE=8M ########################################### # Run sref_config to get input parameters ########################################### if [ "$RUN_ENVIR" = dev ] ### For Developers then . /meso/save/$LOGNAME/sref/nwprod/parm/sref_config fi # ################################### # SET SHELL PROCESSING VARIABLES # ################################### export PS4='$SECONDS + ' date # # obtain unique process id (pid) and make temp directories # export pid=$$ if [ "$RUN_ENVIR" = dev ] ### For Developers then export DATA_IN=${DATA_IN:-/ptmp/$LOGNAME/tmpnwprd} else ### For Operations export DATA_IN=/tmpnwprd fi export DATA=$DATA_IN/${job}.$pid rm -rf $DATA mkdir -p $DATA cd $DATA #################################### # File To Log Msgs #################################### if [ "$RUN_ENVIR" = dev ] ### For Developers then export jlogfile=${jlogfile:-$DATA_IN/jlogfile} else ### For Operations export jlogfile=/com/logs/jlogfile fi #################################### # Determine Job Output Name on System #################################### export outid="LL$job" export jobid="${outid}.o${pid}" export pgmout="OUTPUT.${pid}" export cycle=t${cyc}z export NET=sref export RUN=sref ################################################## # SAVEGES - Copy Files From TMPDIR to $GESdir # SENDSMS - Flag Events on SMS # SENDCOM - Copy Files From TMPDIR to $COMOUT # SENDDBN - Issue DBNet Client Calls # RERUN - Rerun fcst from beginning (default no) ################################################## if [ "$RUN_ENVIR" = dev ] ### For Developers then export SENDCOM=${SENDCOM:-YES} export SENDDBN=${SENDDBN:-YES} export SENDDBN_GB2=${SENDDBN_GB2:-NO} export SENDSMS=${SENDSMS:-YES} export RUN_TCTRACK=${RUN_TCTRACK:-NO} export HOMEsref=${HOMEsref:-/nw${envir}} export EXECsref=${EXECsref:-$HOMEsref/exec} export FIXsref=${FIXsref:-$HOMEsref/fix} export PARMsref=${PARMsref:-$HOMEsref/parm} export USHsref=${USHsref:-$HOMEsref/ush} else ### For Operations export SENDCOM=YES export SENDDBN=NO export SENDSMS=YES export HOMEsref=/nw${envir}/${NET}.${model_ver} export EXECsref=$HOMEsref/exec export FIXsref=$$HOMEsref/fix export PARMsref=$HOMEsref/parm export USHsref=$$HOMEsref/ush fi ################################### # Set up the UTILITIES ################################### export utilscript=/nwprod/util/ush export utilexec=/nwprod/util/exec # Run setup to initialize working directory and utility scripts sh $utilscript/setup.sh msg="JOB $job HAS BEGUN" postmsg "$jlogfile" "$msg" # Run setpdy and initialize PDY variables sh $utilscript/setpdy.sh . PDY typeset -Z2 gefscyc if [ $cyc -eq 03 ]; then export gefscyc=00 fi if [ $cyc -eq 09 ]; then export gefscyc=06 fi if [ $cyc -eq 15 ]; then export gefscyc=12 fi if [ $cyc -eq 21 ]; then export gefscyc=18 fi if [ "$RUN_ENVIR" = dev ] ### For Developers then export COM_IN=${COM_IN:-/ptmp/$LOGNAME/com/${NET}/${envir}} export COM_OUT=${COM_OUT:-/ptmp/$LOGNAME/com/${NET}/${envir}} export COMIN=$COM_IN/${RUN}.${PDY}/pgrb_gefs/$gefscyc export COMOUT=$COM_OUT/${RUN}.${PDY}/ensprod_gefs/$gefscyc else ### For Operations export COM_IN=/com/${NET}/${envir} export COM_OUT=/com/${NET}/${envir} export COMIN=$COM_IN/${RUN}.${PDY}/pgrb_gefs/$gefscyc export COMOUT=$COM_OUT/${RUN}.${PDY}/ensprod_gefs/$gefscyc fi mkdir -p $COMIN $COMOUT ####################################################### # Pass information which is needed to run the Script ####################################################### export ENDHOUR=90 export INCHOUR=3 env ################################################### # Execute the Scripts ################################################### #1. Convert gefs to sref mkdir -m 775 $DATA/gefs2sref cd $DATA/gefs2sref rm -rf $DATA/gefs2sref/poescript typeset -Z2 HR HR=00 while [ $HR -le $ENDHOUR ] do mkdir -m 775 $DATA/gefs2sref/$HR echo "$HOMEsref/scripts/exsref_gefs2sref.sh.sms $HR > $DATA/gefs2sref/${HR}.out" >>$DATA/gefs2sref/poescript HR=`expr $HR + $INCHOUR` done chmod 775 $DATA/gefs2sref/poescript export MP_PGMMODEL=mpmd export MP_CMDFILE=$DATA/gefs2sref/poescript /usr/bin/poe -cmdfile $DATA/gefs2sref/poescript -pgmmodel mpmd -ilevel 3 -labelio yes -stdoutmode ordered #2. Create ensemble product mkdir -p $DATA/212_3hrly cd $DATA/212_3hrly $HOMEsref/scripts/exsref_enspost4GEFS.sh.sms 3hrly 212 222 > $DATA/212_3hrly.out mkdir -p $DATA/243_3hrly cd $DATA/243_3hrly $HOMEsref/scripts/exsref_enspost4GEFS.sh.sms 3hrly 243 222 > $DATA/243_3hrly.out mkdir -p $DATA/216_3hrly cd $DATA/216_3hrly $HOMEsref/scripts/exsref_enspost4GEFS.sh.sms 3hrly 216 222 > $DATA/216_3hrly.out cd $DATA cat $DATA/212_3hrly.out >>$pgmout cat $DATA/243_3hrly.out >>$pgmout cat $DATA/216_3hrly.out >>$pgmout cat $pgmout msg="JOB $job HAS COMPLETED NORMALLY." postmsg "$jlogfile" "$msg" cd $DATA_IN rm -rf $DATA date $SMSBIN/smscomplete