#!/bin/bash # ----------------------------------------------------------- # UNIX Shell Script File # Tested Operating System(s): RHEL 5,6 # Tested Run Level(s): 3, 5 # Shell Used: BASH shell # Original Author(s): Roberto Padilla-Hernandez # File Creation Date: 06/04/2015 # Date Last Modified: # # Version control: 1.00 # # Support Team: # # Contributors: Floyd fayton # # ----------------------------------------------------------- # ------------- Program Description and Details ------------- # ----------------------------------------------------------- # # Job Card to set the resources required for a NWPS run # # ----------------------------------------------------------- date export PS4='$SECONDS ${0/\/nw.*\/nwps.*\/} + ' set -xa # ############################################# # SETUP NWPS SHELL VARIABLES # ############################################# #curhour=$(date -u +%H) #if [ $curhour -lt 12 ]; then CYCLE="00"; fi #if [ $curhour -ge 12 ] && [ $curhour -lt 18 ]; then CYCLE="06"; fi #if [ $curhour -ge 18 ] && [ $curhour -lt 22 ]; then CYCLE="12"; fi #if [ $curhour -ge 22 ]; then CYCLE="18"; fi #echo "" #echo "INFO - Current hour is ${curhour}, setting model cycle to ${CYCLE}" #export cyc=${CYCLE} export cyc=`cat CYC.${WFO^^}` export cycle=t${cyc}z export pgmout=OUTPUT.$$ cd /lfs/h2/emc/ptmp/${DEVWCOSS_USER}/$NET/$ver/retro export utilscript=${UTILROOT}/ush export USHutil=${UTILROOT}/ush . ./PDY.${WFO^^} export pgm="NWPS" export DATA=/lfs/h2/emc/ptmp/${DEVWCOSS_USER}/$NET/$ver/retro/${WFO}.${PDY} mkdir -p $DATA cd $DATA #################################### # Specify NET and RUN Name and model #################################### export NET=${model} export OFS=ofs export RUN=$(echo ${job}|awk -F"_" '{print $2}') #################################### # SENDECF - Flag Events on ECFLOW # SENDCOM - Copy Files From TMPDIR to $COMOUT # SENDDBN - Issue DBNet Client Calls #################################### export SENDCOM=${SENDCOM:-YES} export SENDECF=${SENDECF:-YES} export SENDDBN=${SENDDBN:-NO} #################################### # Specify Execution Areas #################################### #export HOMEnwps=${NWROOT}/${model}.${nwps_ver} export HOMEnwps=${NWROOT} export FIXnwps=${FIXnwps:-${HOMEnwps}/fix} export EXECnwps=${EXECnwps:-${HOMEnwps}/exec} export SORCnwps=${SORCnwps:-${HOMEnwps}/sorc} export PARMnwps=${PARMnwps:-${HOMEnwps}/parm} export USHnwps=${USHnwps:-${HOMEnwps}/ush} export PMnwps=${PMnwps:-${USHnwps}/pm} export BATHYdb=${BATHYdb:-${FIXnwps}/bathy_db} export SHAPEFILEdb=${SHAPEFILEdb:-${FIXnwps}/shapefile_db} # Set processing DIRs here export ARCHdir=${ARCHdir:-${DATA}/archive} export DATAdir=${DATAdir:-${DATA}/data} export INPUTdir=${INPUTdir:-${DATA}/input} export VARdir=${VARdir:-${DATA}/var} export OUTPUTdir=${OUTPUTdir:-${DATA}/output} export GRIB2dir=${GRIB2dir:-${DATA}/output/grib2} export RUNdir=${RUNdir:-${DATA}/run} export TMPdir=${TMPdir:-${DATA}/tmp} export LOGdir=${LOGdir:-${DATA}/logs} export GEN_NETCDF=${GEN_NETCDF:-FALSE} export GEN_HDF5=${GEN_HDF5:-FALSE} export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${HOMEnwps}/lib/szip:${HOMEnwps}/lib/proj # Set NWPS run conditions export DEBUGGING=${DEBUGGING:-TRUE} export DEBUG_LEVEL=${DEBUG_LEVEL:-1} export ISPRODUCTION=${ISPRODUCTION:-TRUE} export SITETYPE=${SITETYPE:-EMC} export MODELTYPE="SWAN" # Determine WFO's Region export REGION=$( grep ${WFO,,} ${PARMnwps}/wfo.tbl | cut -c1-2 | tr '[:upper:]' '[:lower:]' ) echo ${REGION} ############################################## # Define COM directory ############################################## export COMIN=${COMROOT}/${NET}/$ver/${REGION}.${PDY}/${WFO} export COMINm1=${COMROOT}/${NET}/$ver/${REGION}.${PDYm1}/${WFO} export COMINm2=${COMROOT}/${NET}/$ver/${REGION}.${PDYm2}/${WFO} export COMINm3=${COMROOT}/${NET}/$ver/${REGION}.${PDYm3}/${WFO} export COMOUT=${COMROOT}/${NET}/$ver/${REGION}.${PDY}/${WFO} export GESOUT=${COMROOT}/${NET}/$ver/${NET}.${PDY}/nwges export COMINestofs=${COMROOT}/${NET}/${ver}/ofs.${PDY}/estofs/${WFO}_output export COMINestofsm1=${COMROOT}/${NET}/${ver}/ofs.${PDYm1}/estofs/${WFO}_output export COMINrtofs=${COMROOT}/${NET}/${ver}/ofs.${PDY}/rtofs/${WFO}_output export COMINrtofsm1=${COMROOT}/${NET}/${ver}/ofs.${PDYm1}/rtofs/${WFO}_output export COMINpsurge=${COMROOT}/${NET}/${ver}/ofs.${PDY}/psurge/${WFO}_output export COMINpsurgem1=${COMROOT}/${NET}/${ver}/ofs.${PDYm1}/psurge/${WFO}_output export dcom=/lfs/h1/ops/prod/dcom export FORECASTWINDdir="${dcom}/${PDY}/wgrbbul/${NET}" export COM_nwps_R_ES_TOFS="/com" export COMOUTwmo=${COMROOT}/${NET}/${ver}/${REGION}.${PDY}/wmo if [ "${SENDCOM}" = YES ]; then mkdir -p $COMOUT fi mkdir -p $COMIN $LOGdir $RUNdir $TMPdir $OUTPUTdir $ARCHdir $DATAdir $INPUTdir $VARdir $GESOUT $COMOUTwmo startmsg ############################################## # Execute the script ${HOMEnwps}/dev/scripts/exnwps_prdgen.sh ############################################## #if [ "$?" -eq 0 ] && [ "${N,,}" == "n" ]; then if [ "${N,,}" == "n" ]; then #dfile=$(ecflow_client --group="get ${ECF_NAME%/*}/jnwps_prep ; show state"|grep label|awk '{print $NF}'|sed 's/\"//g') dfile=$(head -1 ${NWPSdir}/dev/ecf/jobids_${WFO}_ret.log ) if [ -z ${dcom_hist} ]; then echo "*** Run history file dcom_hist not set! See ${NWPSdir}/dev/ecf/jnwps_datachk.ecf" } else echo "FINISHED $dfile AT $(date -u "+%Y%m%d%H%M")" >> ${dcom_hist} fi fi msg="JOB $job HAS COMPLETED NORMALLY." postmsg $jlogfile "$msg" if [ -e $pgmout ]; then cat $pgmout fi cd $DATAROOT if [ "$KEEPDATA" != YES ]; then rm -rf $DATA fi date