#!/bin/sh ######################################## # NHC_GUIDANCE_CLIPER5 Preliminary data setup step ######################################## set -ax # # Specify whether the run is production or development # ##################################################################################### # Run config file to get input parameters # This config file should define the following variables # DATA_IN: Location of working directory, default to /tmpnwprd2 # DEV_ECF: 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 /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} ##################################################################################### ############################### # Specify NET and RUN name ############################## export NET=${NET:-nhc} export RUN=${RUN:-guidance} ## TBD export MODEL=${MODEL:-cliper5} ## TBD export CYC=${CYC:-${cyc}} echo `date` $0 `date -u` begin export PS4='$SECONDS + ' ########################################################### # obtain unique process id (pid) and make temp directories ########################################################### export pid=$$ export DATA=$DATAROOT/${NET}_${RUN}_${CYC}_${envir} export WORK_DIR=$DATA # Remove old directory if it exists # rm -rf $WORK_DIR mkdir -p $WORK_DIR while [ ! -d $WORK_DIR ] do mkdir -p $WORK_DIR sleep 1 done cd $WORK_DIR #################################### # Determine Job Output Name on System #################################### export pgmout="OUTPUT.${pid}" export cycle=t${cyc}z ################################################## # SENDECF - Flag Events on ECF # SENDCOM - Copy Files From TMPDIR to $COMOUT # SENDDBN - Issue DBNet Client Calls # RERUN - Rerun fcst from beginning (default no) # SEND2NHC - send a .com file to NHC ################################################## export SENDCOM=${SENDCOM:-YES} export SENDECF=${SENDECF:-YES} export SENDDBN=${SENDDBN:-NO} export SEND2NHC=${SEND2NHC:-NO} export HOMEnhc_guidance=${HOMEnhc_guidance:-/${PACAKGEROOT}/nhc_guidance.${model_ver}} export EXECnhc_guidance=${EXECnhc_guidance:-$HOMEnhc_guidance/exec} export FIXnhc_guidance=${FIXnhc_guidance:-$HOMEnhc_guidance/fix} export PARMnhc_guidance=${PARMnhc_guidance:-$HOMEnhc_guidance/parm} export USHnhc_guidance=${USHnhc_guidance:-$HOMEnhc_guidance/ush} export SCRnhc_guidance=${SCRnhc_guidance:-$HOMEnhc_guidance/scripts} ############################################# # COMIN and COMOUT ############################################# export COM_IN=${COM_IN:-$(compath.py ${envir}/com/${NET}/${nhc_guidance_ver})} export COM_OUT=${COM_OUT:-$(compath.py ${envir}/com/${NET}/${nhc_guidance_ver})} export COMIN=${COMIN:-${COM_IN}/storm-data} export GFSDIR=${GFSDIR:-/com2/gfs/prod/} export stormlabel=${stormlabel:-storm01} cp $COMIN/inpdata/${stormlabel}.txt . export stormid=`cat ${stormlabel}.txt |awk '{print $1}'` export storm_day_time=`cat ${stormlabel}.txt |awk '{print $2}'` export storm_tday=`echo $storm_day_time | cut -c 5-8` export storm_ttim=`echo $storm_day_time | cut -c 9-10` export COM_STORM_DATA=${COM_STORM_DATA:-$(compath.py ${envir}/com/${NET}/${nhc_guidance_ver})/storm-data} export COMOUT=${COMOUT:-${COM_OUT}/storm-data/${stormid}} export atcfIPdir=${atcfIPdir:-${COM_STORM_DATA}/ncep/return_atcfIP} mkdir -p -m 775 $COMOUT $atcfIPdir ################################### # stormid ################################### export stormid=${stormid:-al122013} ################################### # Set up DBNET environment ################################### export DBNROOT=${DBNROOT:-/iodprod/dbnet_siphon} export dbnet_type=${dbnet_type:-WAN_TEXT} #export dbnetdir=${dbnetdir:-/stmp/${stormid}} ################################### # Set client connection data information for xfer utilization # connection information ################################### export CLIENT=${CLIENT:-"140.90.176.13"} export USER=${USER:-"atcf-ops"} ################################### # base directories on client's ATCF system ################################### export CLIENT_BASE_DIR=${CLIENT_BASE_DIR:-"/home/atcf-ops/atcf"} ############################################# # Define primary root storm directories # atcfdir - primary root storm directory # stormdir - storm directory # zcomdir - carq pickoff directory for production execution # atcfIPdir - return_atcfIP for IP address per storm at nhc ############################################# export atcfdir=${atcfdir:-/lfs/h1/nhc/nhc/save/guidance} export zcomdir=${zcomdir:-${atcfdir}/storm-data/zcom} #export stormdir=${stormdir:-${atcfdir}/storm-data/${stormid}} export stormdir=${stormdir:-${WORK_DIR}/storm-data/${stormid}} export dbnetdir=${dbnetdir:-${stormdir}} export nhcatcfIPdir=${nhcatcfIPdir:-/lfs/h1/nhc/nhc/save/guidance/storm-data/ncep/return_atcfIP} ############################################# # location of programs (executables and scripts) ############################################# # export prgmsdir=$prgmsdir:-/nhc/save/guidance/prgms} export prgmsdir=${prgmsdir:-${HOMEnhc_guidance}} export exedir=${exedir:-${prgmsdir}/exec} # export scriptdir=${scriptdir:-${prgmsdir}/scripts} export scriptdir=${scriptdir:-${prgmsdir}/ush} export utilsdir=${utilsdir:-${prgmsdir}/ush} ############################################# # location of log directory ############################################# #export logdir=${logdir:-${atcfdir}/storm-data/log} export logdir=${logdir:-${WORK_DIR}/storm-data/log} echo ${logdir}/${stormid} mkdir -p ${logdir}/${stormid} ############################################# # input compute filename convention ############################################# export input=${input:-${stormid}.com} ############################################# # basin info (parse from com) ############################################# export basin=`echo ${stormid} | cut -c1-2 | tr 'a-z' 'A-Z'` ############################################# # output A-deck filename convention ############################################# export output=${output:-a${stormid}.dat} ############################################# # tcvitals - model initialization ############################################# export ncepfile=${ncepfile:-${atcfdir}/storm-data/ncep/tcvitals} ############################################# # CLIPER5 coefficent location ############################################# #export cliper5coef=${cliper5coef:-${prgmsdir}/coefs} export cliper5coef=${cliper5coef:-${prgmsdir}/parm} ############################################# # EPCLIPER coefficent location ############################################# #export epclipercoef=${epclipercoef:-${prgmsdir}/coefs} export epclipercoef=${epclipercoef:-${prgmsdir}/parm} ################################### # Set up the UTILITIES ################################### export utilscript=/nwprod/util/ush export utilexec=/nwprod/util/exec machine=`hostname |cut -c1` if [ $machine = t -o $machine = g ]; then export MACHINE=wcoss fi #===================================================================== # Check for the existence of the storm directory. If not present, # create it. if [[ ! -d $stormdir ]]; then mkdir -p $stormdir fi # Move to the storm directory cd $stormdir # Run setpdy and initialize PDY variables setpdy.sh . ./PDY env ######################################################## # Execute the script. ${SCRnhc_guidance}/exnhc_guidance_chk.sh ######################################################## cat $pgmout cp -pr ${logdir} ${COM_OUT}/storm-data/. msg="JOB COMPLETED NORMALLY" echo "$msg" ################################ # Remove the Working Directory ################################ cd $DATA_IN #if [ ${RM_TMPDIR:-NO} = YES ] ; then rm -rf $DATA ; fi date