#!/usr/bin/env sh #### UNIX Script Documentation Block # # Script Name: JNWM_MODEL #### date export PS4=' $SECONDS + ' set -xa ########################## # Specify NET and RUN Name ########################## export NET=nwm export RUN=nwm export cycle=t${cyc}z ######################################################## # Make working directory ######################################################## # export DATA=${DATA:-${DATAROOT:?}/${model}_${CASETYPE}_${cyc}_${nwmVer}} if [ ! -e $DATA ]; then mkdir -p $DATA fi cd ${DATA} #################################### # Specify Application Areas #################################### export HOMEnwm=${HOMEnwm:-${PACKAGEROOT:?}/${NET}.${nwm_ver}} export USHnwm=${USHnwm:-${HOMEnwm}/ush} export EXECnwm=${EXECnwm:-${HOMEnwm}/exec} export PARMnwm=${PARMnwm:-${HOMEnwm}/parm} export SCRIPTnwm=${SCRIPTnwm:-${HOMEnwm}/scripts} ################################### # define dbn_alert type ################################### export DBN_ALERT_TYPE=${DBN_ALERT_TYPE:-NWM_NCDF} ############################################## # Set PDY ############################################## setpdy.sh . ./PDY ################################### # Intput data directory ################################### export GESIN=${GESIN:-$(compath.py -o ${NET}/${nwm_ver})/${RUN}.${PDY}/nwges/${RUN}} export GESINDPARM=${GESIN:-$(compath.py -o ${NET}/${nwm_ver})/${RUN}.${PDY}/nwges/${RUN}}/dynparm export GESINDPARM1=${GESIN:-$(compath.py -o ${NET}/${nwm_ver})/${RUN}.${PDYm1}/nwges/${RUN}}/dynparm export GESOUT=${GESOUT:-$(compath.py -o ${NET}/${nwm_ver})/${RUN}.${PDY}/nwges/${RUN}} ######################################################## # COMINDPARM is the path to server with dynamic # parameter files. Once this has been defined. The # system should be able to automatic update the new # dynamic parameters. ######################################################## export COMINDPARM=${COMINDPARM:-${DCOMROOT}/nwm_parms} ########################################################### # GESINSPINRST is used to update the restart file. ########################################################### export GESINSPINRST=${GESINSPINRST:-$(compath.py -o $RUN/${nwm_ver})/spin_rst} ################################### # Output data directory ################################### export COMOUT=${COMOUT:-$(compath.py -o ${RUN}/${nwm_ver})/$RUN.$PDY} export DATAlogs=$DATA/logs export COMOUTlogs=${COMOUTlogs:-${COMOUT}/logs} export pgmout="${DATAlogs}/${CASETYPE}_OUTPUT_${PDY}${cyc}.$$" export RESTARTDIR=$(compath.py -o ${RUN}/${nwm_ver})/${RUN} export genericRst=$PARMnwm/climateRestart export RESUME_RESTART="NO" case $CASETYPE in "analysis_assim" | "short_range" | "analysis_assim_extend" ) export forcing_atm=$GESIN/${CASETYPE} ;; "analysis_assim_extend_long") export forcing_atm=$GESIN/analysis_assim_extend ;; "medium_range_mem${mem}") export time_lagged=$((($mem - 1) * 6)) hoursOld=$($NDATE -$time_lagged $PDY$cyc) daysOld=`echo ${hoursOld} | cut -c1-8` export GESIN=$(compath.py -o ${NET}/${nwm_ver})/${RUN}.${daysOld}/nwges/${RUN} export forcing_atm=$GESIN/medium_range export RESUME_RESTART="YES" ;; "medium_range_blend") export forcing_atm=$GESIN/medium_range_blend export RESUME_RESTART="YES" ;; "analysis_assim_long") export forcing_atm=$GESIN/analysis_assim ;; "long_range_mem${mem}") export forcing_atm=$GESIN/long_range_mem${mem} export RESUME_RESTART="YES" ;; "analysis_assim_hawaii") export forcing_atm=$GESIN/analysis_assim_hawaii ;; "short_range_hawaii") export forcing_atm=$GESIN/short_range_hawaii ;; "analysis_assim_puertorico") export forcing_atm=$GESIN/analysis_assim_puertorico ;; "short_range_puertorico") export forcing_atm=$GESIN/short_range_puertorico ;; "analysis_assim_alaska") export forcing_atm=$GESIN/analysis_assim_alaska ;; "short_range_alaska") export forcing_atm=$GESIN/short_range_alaska ;; "medium_range_alaska_mem${mem}") export time_lagged=$((($mem - 1) * 6)) hoursOld=$($NDATE -$time_lagged $PDY$cyc) daysOld=`echo ${hoursOld} | cut -c1-8` export GESIN=$(compath.py -o ${NET}/${nwm_ver})/${RUN}.${daysOld}/nwges/${RUN} export forcing_atm=$GESIN/medium_range_alaska ;; "analysis_assim_extend_alaska") export forcing_atm=$GESIN/analysis_assim_extend_alaska ;; "medium_range_blend_alaska") export forcing_atm=$GESIN/medium_range_blend_alaska ;; esac export COMOUTm1=${COMOUTm1:-$(compath.py -o ${RUN}/${nwm_ver})/$RUN.$PDYm1} export COMOUTm2=${COMOUTm2:-$(compath.py -o ${RUN}/${nwm_ver})/$RUN.$PDYm2} #export NUDGOBSDIRm1=$COMOUTm1/usgs_timeslices export NUDGOBSDIRm1=$COMOUTm1/merged_usgs_and_ca_timeslices #export NUDGOBSDIR=$COMOUT/usgs_timeslices export NUDGOBSDIR=$COMOUT/merged_usgs_and_ca_timeslices export COMOUTp1=${COMOUTp1:-$(compath.py -o ${RUN}/${nwm_ver})/$RUN.$PDYm1} #export NUDGOBSDIRp1=$COMOUTp1/usgs_timeslices export NUDGOBSDIRp1=$COMOUTp1/merged_usgs_and_ca_timeslices export USGSOBSDIR=$COMOUT/usgs_timeslices export USGSOBSDIRm1=$COMOUTm1/usgs_timeslices export USGSOBSDIRm2=$COMOUTm2/usgs_timeslices export USACEOBSDIR=$COMOUT/usace_timeslices export USACEOBSDIRm1=$COMOUTm1/usace_timeslices export USACEOBSDIRm2=$COMOUTm2/usace_timeslices export RFCFSTDIR=$COMOUT/rfc_timeseries export RFCFSTDIRm1=$COMOUTm1/rfc_timeseries export RFCFSTDIRm2=$COMOUTm2/rfc_timeseries if [ ! -e $GESIN ]; then err_exit "Forcing engine directory ${GESIN} does not exist" fi if [ ! -e $DATAlogs ]; then mkdir -p $DATAlogs fi if [ ! -e $COMOUTlogs ]; then mkdir -p $COMOUTlogs fi if [ "$SENDCOM" = "YES" ]; then mkdir -m 775 -p $COMOUT fi env ######################################################## # Execute the script. ######################################################## ${SCRIPTnwm}/exnwm_model.sh msg="JOB $job FOR NWM_TEST HAS COMPLETED NORMALLY" postmsg $pgmout "$msg" if [ -e $pgmout ]; then cat $pgmout cpfs $pgmout $COMOUTlogs/ fi cd $DATAROOT if [ "$KEEPDATA" != YES ]; then rm -rf $DATA fi date