#!/bin/sh set -xa # # Specify whether the run is production or development # export RUN_ENVIR=${RUN_ENVIR:-prod} ##################################################################################### # Run config file to get input parameters # This config file should define the following variables # DATA_IN: Location of working directory, default to /tmpnwprd # DEV_SMS: If the job is to be running using SMS, default to YES # SENDDBN: Set to NO for developers, default to YES # COM_IN: Directory for input files, default to /com/$NET/${envir} # COM_OUT: Directory for output file, default to /com/$NET/${envir} # gespath: Directory for the guess or restart files, default to /nwges/${envir} ##################################################################################### if [ "$RUN_ENVIR" != prod ] ### For Developers, "group_name" is passed from the SMS script then . /climate/save/${LOGNAME}/cfsv2/nwprod/parm/cfs_para_config export userid=$LOGNAME export DATA_IN=${DATA_IN:-/ptmp/$userid} fi ############################################################### # This block can be modified for different test environment # This is used for operational testings ############################################################### if [ "$RUN_ENVIR" = prod -a $envir != prod ]; then export SENDDBN=${SENDDBN:-NO} export jlogfile=${jlogfile:-/com/logs/${envir}/jlogfile} fi # if [[ $RUN_ENVIR = prod || ${DEV_SMS:-YES} = YES ]] ; then $SMSBIN/smsinit $LOADL_STEP_ID fi #################################### # Specify NET and RUN Name and model #################################### export NET=cfs export RUN=cfs #################################### # set up job name and environment #################################### export job=${job:-$RUN} export envir=${envir:-prod} export host=${host:-`hostname | cut -c1`} ############################################### # SETUP CDAS POST PROCESSING VARIABLES ############################################### export PS4='$SECONDS + ' date ########################################################## # obtain unique process id (pid) and make temp directory ########################################################## export pid=${pid:-$$} export DATA_IN=${DATA_IN:-/tmpnwprd} export DATA=$DATA_IN/${job}.${pid} mkdir -p $DATA cd $DATA #################################### # Determine Job Output Name on System #################################### export cyc=${cyc:-00} export outid="LL$job" [ $envir != prod ] && export outid="LL${job}_${envir}" export jobid="${outid}.o${pid}" export pgmout="OUTPUT.${pid}" export pgmerr=errfile export cycle=t${cyc}z #################################### # 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 posts from beginning (default no) # VERBOSE - Specify Verbose Output in global_postgp.sh #################################### export SENDSMS=${SENDSMS:-YES} export SENDCOM=${SENDCOM:-YES} export SENDDBN=${SENDDBN:-NO} ################################# # Define the Log File directory ################################# export jlogfile=${jlogfile:-/com/logs/jlogfile} ############################## # Set up the UTILITIES ############################## export utilscript=${utilscript:-/nwprod/util/ush} export utilexec=${utilexec:-/nwprod/util/exec} # Run setup to initialize working directory and utility scripts ############################## sh $utilscript/setup.sh #################################### # Specify Execution Areas #################################### export HOMEcfs=${HOMEcfs:-/nw${envir}} export USHcfs=${USHcfs:-$HOMEcfs/ush} export EXECcfs=${EXECcfs:-$HOMEcfs/exec} export PARMcfs=${PARMcfs:-$HOMEcfs/parm} export FIXcfs=${FIXcfs:-$HOMEcfs/fix} export HOMEUTIL=${HOMEUTIL:-/nwprod/util} export EXECUTIL=${EXECUTIL:-$HOMEUTIL/exec} export FIXUTIL=${FIXUTIL:-$HOMEUTIL/fix} ############################## # Run setpdy and initialize PDY variables ############################## export PDY=20121106 sh $utilscript/setpdy.sh . PDY ############################################## # Define COM directories ############################################## export COM_IN=${COM_IN:-/com/${NET}/${envir}/cfs} export COM_OUT=${COM_OUT:-/com/${NET}/${envir}/cfs} export COMROT=${COMROT:-/com/${NET}/${envir}} env ############################### # Execute the Script ############################### rm $DATA/poescript for mem in 01 02 03 04 do mkdir -p $DATA/$mem echo "${CFSARCHIVESH:-$HOMEcfs/ush/cfs_archive.sh} $PDYm1$cyc $mem $DATA/$mem" >>$DATA/poescript done chmod 775 $DATA/poescript export MP_PGMMODEL=mpmd export MP_CMDFILE=$DATA/poescript # # Execute the script. # /usr/bin/poe -cmdfile $DATA/poescript -pgmmodel mpmd -ilevel 3 -labelio yes -stdoutmode ordered export err=$?; err_chk cd $DATA cat $pgmout msg="ENDED NORMALLY." postmsg "$jlogfile" "$msg" ############################## # Remove the Temporary working directory ############################## cd $DATA_IN if [ ${RM_TMPDIR:-YES} = YES ] ; then rm -rf $DATA ; fi date if [[ $RUN_ENVIR = prod || ${DEV_SMS:-YES} = YES ]] ; then $SMSBIN/endt fi