#!/bin/ksh ##################################################################### # 9/20/2009, Julia Zhu Scripts are modified to be sharable # between EMC and NCO # Please note that variable "RUN_ENVIR" is set and used # in the development enviroment only. ###################################################################### export RUN_ENVIR=${RUN_ENVIR:-prod} echo `date` $0 `date -u` begin set -xa export PS4='$SECONDS + ' #################################### # 01/28/2013 New variables added for WCOSS and cross-machine unfication export gefsmachine=${gefsmachine:-dell} export gefsmpexec=${gefsmpexec:-mpirun} ########################################### # Run gefs_config to get input parameters ########################################### if [ "$RUN_ENVIR" = dev ] ### For Developers then # RLW 20141008 modify to obtain and use version for vertical structure . $basesource/nw$envir/*/versions/gefs_legacy.ver . $basesource/nw$envir/gefs_legacy.${gefs_legacy_ver}/parm/gefs_config fi # #### 05/05/99 ############################### # SETUP ENS POST PROCESSING VARIABLES # ############################################# #################################### # obtain unique process id (pid) and make temp directory #################################### export pid=$$ if [ "$RUN_ENVIR" = dev ] ### For Developers then export DATA_IN=${DATA_IN:-$basetmp/tmpnwprd1} else ### For Operations export DATA_IN=$DATAROOT fi #export DATA=$DATA_IN/${job}.${pid} export DATA=${DATA:-$DATA_IN/${job}.${pid}} mkdir -p $DATA cd $DATA export cycle=t${cyc}z #################################### # Specify NET and RUN Name and model #################################### export NET=gens export RUN=stat #################################### # File To Log Msgs #################################### if [ "$RUN_ENVIR" = dev ] ### For Developers then export jlogfile=${jlogfile:-$baselog/com/logs/jlogfile} fi export jlogfile=${jlogfile:-${DATA}/jlogfile} #################################### # Determine Job Output Name on System #################################### export outid="LL$job" export jobid="${outid}.o${pid}" export pgmout="OUTPUT.${pid}" export pgmerr=errfile #################################### # SENDECF - Flag Events on ECF # SENDCOM - Copy Files From TMPDIR to $COMOUT # SENDDBN - Issue DBNet Client Calls #################################### if [ "$RUN_ENVIR" = dev ] ### For Developers then export SENDCOM=${SENDCOM:-YES} export SENDECF=${SENDECF:-YES} export SENDDBN=${SENDDBN:-NO} export SENDDBN_GB2=${SENDDBN_GB2:-NO} export SENDDBN_GB2_IDX=${SENDDBN_GB2_IDX:-NO} # Specify Execution Areas export HOMEGLOBAL=${HOMEGLOBAL:-/nw${envir}} export EXECGLOBAL=${EXECGLOBAL:-$HOMEGLOBAL/exec} export USHGLOBAL=${USHGLOBAL:-$HOMEGLOBAL/ush} export FIXGLOBAL=${FIXGLOBAL:-$HOMEGLOBAL/fix} export PARMGLOBAL=${PARMGLOBAL:-$HOMEGLOBAL/parm} export HOMEgefs=${HOMEgefs_legacy:-/gpfs/dell1/nco/ops/nw${envir}/gefs_legacy.${gefs_legacy_ver}} export EXECgefs=${EXECgefs:-$HOMEgefs/exec} export USHgefs=${USHgefs:-$HOMEgefs/ush} export FIXgefs=${FIXgefs:-$HOMEgefs/fix} export PARMgefs=${PARMgefs:-$HOMEgefs/parm} if [[ $gefsmachine = zeus ]]; then export HOMEglobal=${HOMEglobal:-/nw${envir}} export EXECglobal=${EXECglobal:-$HOMEglobal/exec} export USHglobal=${USHglobal:-$HOMEglobal/ush} export FIXglobal=${FIXglobal:-$HOMEglobal/fix} export PARMglobal=${PARMglobal:-$HOMEglobal/parm} fi if [[ $gefsmachine = wcoss ]]; then export FIXglobal=${FIXglobal:-$HOMEglobal/fix} fi else ### For Operations export SENDCOM=YES export SENDECF=YES if [[ $cyc = 00 ]]; then export SENDDBN=NO export SENDDBN_GB2=YES export SENDDBN_GB2_IDX=NO else export SENDDBN=NO export SENDDBN_GB2=NO export SENDDBN_GB2_IDX=NO fi # Specify Execution Areas export HOMEgefs=${HOMEgefs_legacy:-/gpfs/dell1/nco/ops/nw${envir}/gefs_legacy.${gefs_legacy_ver}} export HOMEGLOBAL=${HOMEGLOBAL:-$HOMEgefs} export HOMEglobal=${HOMEglobal:-$HOMEgefs} #export HOMEGLOBAL=${HOMEGLOBAL:-/nwprod} export EXECGLOBAL=${EXECGLOBAL:-$HOMEGLOBAL/exec} export USHGLOBAL=${USHGLOBAL:-$HOMEGLOBAL/ush} export FIXGLOBAL=${FIXGLOBAL:-$HOMEGLOBAL/fix} export PARMGLOBAL=${PARMGLOBAL:-$HOMEGLOBAL/parm} #export HOMEgefs=${HOMEgefs_legacy:-/gpfs/dell1/nco/ops/nw${envir}/gefs_legacy.${gefs_legacy_ver}} #export HOMEgefs=${HOMEgefs_legacy:-/gpfs/dell1/nco/ops/nw${envir}/gefs_legacy.${gefs_legacy_ver}} export EXECgefs=${EXECgefs:-$HOMEgefs/exec} export USHgefs=${USHgefs:-$HOMEgefs/ush} export FIXgefs=${FIXgefs:-$HOMEgefs/fix} export PARMgefs=${PARMgefs:-$HOMEgefs/parm} fi export ERRSCRIPT=err_chk export LOGSCRIPT=startmsg export REDOUT='1>>' export REDERR='2>' ############################## # Set up the UTILITIES ############################## export HOMEUTIL=/nwprod/util export utilscript=$HOMEUTIL/ush export EXECUTIL=$HOMEUTIL/exec export FIXUTIL=$HOMEUTIL/fix #export GRBINDEX=/nwprod/util/exec/grbindex if [[ $gefsmachine = zeus ]]; then #DHOU 03/26/2012 for ZEUS export HOMEUTIL=$HOMEglobal/util export utilscript=$HOMEglobal/util/ush export GRBINDEX=$HOMEglobal/util/exec/grbindex fi # if [[ $gefsmachine = wcoss ]]; then # Add somthing if needed # fi ############################## # Run setup to initialize working directory and utility scripts ############################## #sh $utilscript/setup.sh ############################## # Run setpdy and initialize PDY variables ############################## #sh $utilscript/setpdy.sh setpdy.sh . PDY ############################################## # Define COM directories ############################################## #export COMINgfs=/com2/gfs/prod/gfs.${PDY} if [ "$RUN_ENVIR" = dev ] ### For Developers then export COM_IN=${COM_IN:-/global/noscrub/$LOGNAME/com/${NET}/${envir}} export COM_OUT=${COM_OUT:-/global/noscrub/$LOGNAME/com/${NET}/${envir}} export COMIN=$COM_IN/gefs_legacy.${PDY} export COMINm1=$COM_IN/gefs_legacy.${PDYm1} export COMOUT=$COM_OUT/gefs_legacy.${PDY} else ### For Operations #export COMIN=/com/${NET}/${envir}/gefs_legacy.${PDY} #export COMINm1=/com/${NET}/${envir}/gefs_legacy.${PDYm1} #export COMOUT=/com/${NET}/${envir}/gefs_legacy.${PDY} export COMIN=$COMROOT/${NET}/${envir}/gefs_legacy.${PDY} export COMINm1=$COMROOT/${NET}/${envir}/gefs_legacy.${PDYm1} export COMOUT=$COMROOT/${NET}/${envir}/gefs_legacy.${PDY} fi mkdir -m 775 -p $COMOUT/$cyc/pgrba mkdir -m 775 -p $COMOUT/$cyc/pgrbalr mkdir -m 775 -p $COMOUT/$cyc/pgrb2a mkdir -m 775 -p $COMOUT/$cyc/pgrb2alr msg="HAS BEGUN on `hostname`" postmsg "$jlogfile" "$msg" #################################### # Specify Timeout Behavior of Post # # SLEEP_TIME - Amount of time to wait for # a restart file before exiting # SLEEP_INT - Amount of time to wait between # checking for restart files #################################### export SLEEP_TIME=900 export SLEEP_INT=5 ############################################## echo set parameters using gefs.parm ############################################## . $PARMgefs/gefs.parm . $PARMgefs/gefs_ensstat.parm export NTHREADS=1 #################################### # Specify Forecast Hour Range #################################### # allow different forecast lengths in different cycles if [[ $envir = dev ]]; then case $cyc in (00) fhmax=$fhmax00 ;; (06) fhmax=$fhmax06 ;; (12) fhmax=$fhmax12 ;; (18) fhmax=$fhmax18 ;; (*) echo cyc=$cyc IS UNDEFINED export pgm=JGEFS_ENSSTAT export err=111 ;; esac fi if (( fhmaxh > fhmax )); then fhmaxh=$fhmax fi export FHINC=06 fcstlong=true case $FORECAST_SEGMENT in (hr) # high resolution segment export SHOUR=00 if [[ $fcstlong = true ]]; then export FHOUR=$fhmaxh else export FHOUR=06 fi ;; (lr) # low resolution segment export SHOUR=$(( $fhmaxh + FHINC )) if [[ $fcstlong = true ]]; then export FHOUR=$fhmax else export FHOUR=06 fi ;; (*) # whole forecast period export SHOUR=00 if [[ $fcstlong = true ]]; then export FHOUR=$fhmax else export FHOUR=06 fi ;; esac echo FORECAST_SEGMENT=$FORECAST_SEGMENT echo FHINC=$FHINC echo SHOUR=$SHOUR echo FHOUR=$FHOUR env | sort ############################################################# # Execute the script export ext_h="" $HOMEgefs/scripts/exgefs_ensstat.sh.ecf msg="JOB COMPLETED NORMALLY" postmsg "$jlogfile" "$msg" ############################## # Remove the Temporary working directory ############################## cd $DATA_IN rm -rf $DATA