#!/bin/ksh -l set -xa ########################################################## # HRRR Forecast Job to complete a run that didn't finish ########################################################## ###################################################### # The following two variable could be defined in the # loadleveler submission script (the ecf script), if # not they will take the default values which is set # for the NCO running enviroment ####################################################### export RUN_ENVIR=${RUN_ENVIR:-nco} ################################### # Specify NET and RUN Name and model #################################### export NET=${NET:-hrrr} export RUN=${RUN:-hrrr} export model=${model:-hrrr} ##################################################################################### # This block is for Developer's test run: # Run config file to get input parameters # This config file should define the following variables # DATA_IN: Location of working directory, default to ${DATAROOT} # SENDECF: If the job is to be running using ECF, default to YES # SENDDBN: Set to NO for developers, default to YES # COM_IN: Directory for input files, default to ${COMROOT}/$NET/${envir} # COM_OUT: Directory for output file, default to ${COMROOT}/$NET/${envir} # gespath: Directory for the guess or restart files, default to ${GESROOT}/${envir} ##################################################################################### if [ "$RUN_ENVIR" != nco ] ### For Developers, "group_name" is passed from the ECF script then group_name=${group_name:-meso} package_name=${package_name:-hrrr} # . /${group_name}/save/${LOGNAME}/${package_name}${PACKAGEROOT}/parm/${package_name}_para_config export userid=${userid:-$LOGNAME} fi export PS4='$SECONDS + ' date #################################### # obtain unique process id (pid) and make temp directory #################################### export DATA=${DATAROOT}/hrrr_${dom}_fcst_restart_${envir}_${cyc} export FCSTPROD=hrrr_${dom}_fcst_${envir}_${cyc} rm -rf $DATA mkdir -p $DATA cd $DATA export cycle=t${cyc}z export tmmark=tm00 export cycm1=`expr $cyc - 1` if [ "$cyc" = 00 ]; then cycm1=23 else cycm1=$(printf "%02d" $cycm1) fi export pgmout="OUTPUT.$$" #################################### # SENDECF - Flag Events on ECF # SENDCOM - Copy files to /com directory #################################### export SENDECF=${SENDECF:-YES} export SENDCOM=${SENDCOM:-YES} export SENDDBN=${SENDDBN:-YES} #################################### # Specify Execution Areas #################################### export HOMEhrrr=${HOMEhrrr:-${PACKAGEROOT}/${NET}.${hrrr_ver}} export EXEChrrr=${EXEChrrr:-${HOMEhrrr}/exec} export FIXhrrr=${FIXhrrr:-${HOMEhrrr}/fix/${dom}} export PARMhrrr=${PARMhrrr:-${HOMEhrrr}/parm/${dom}} export USHhrrr=${USHhrrr:-${HOMEhrrr}/ush/${dom}} ########################################### # Run setpdy and initialize PDY variables ########################################### setpdy.sh . PDY ############################################# # Define COM directories ############################################## export COMIN=${COMIN:-${COMROOT}/${NET}/${envir}/${RUN}.${PDY}/${dom}} export COMINm1=${COMINm1:-${COMROOT}/${NET}/${envir}/${RUN}.${PDYm1}/${dom}} export COMOUT=${COMOUT:-${COMROOT}/${NET}/${envir}/${RUN}.${PDY}/${dom}} env ######################################################## # Execute the script. ${HRRR_FCSTSH:-$HOMEhrrr/scripts/${dom}/exhrrr_fcst_restart.sh} ######################################################## cat $pgmout msg="ENDED NORMALLY." postmsg "$jlogfile" "$msg" export KEEPDATA=YES ######################################## # Remove the Temporary working directory ######################################## cd $DATA if [ ${KEEPDATA} = NO ] ; then rm -rf $DATA ; fi date