#!/bin/sh set -xa ######################################## # NOS_OFS_PREP ######################################## ###################################################### # The following two variable could be defined in the # loadleveler submission script (the sms script), if # not they will take the default values which is set # for the NCO running enviroment ####################################################### export RUN_ENVIR=${RUN_ENVIR:-prod} export SENDSMS=${SENDSMS:-YES} ################################### # Specify NET and RUN Name and model #################################### export OFS=${OFS:-ngofs} export NET=${NET:-nos} export RUN=${RUN:-$OFS} export model=${model:-$OFS} ############################################################### # This block can be modified for different Production test # environment. This is used for operational testings ############################################################### if [ "$RUN_ENVIR" = prod -a $envir != prod ]; then export SENDDBN=${SENDDBN:-YES} #SH export SENDDBN=${SENDDBN:-NO} export jlogfile=${jlogfile:-/com/logs/${envir}/jlogfile} export DBN_ALERT_TYPE_NETCDF=NOS_OFS_FCST_NETCDF_PARA export DBN_ALERT_TYPE_NETCDF_LRG=NOS_OFS_FCST_NETCDF_LRG_PARA export DBN_ALERT_TYPE_TEXT=NOS_OFS_FCST_TEXT_PARA #SH export DBNROOT=/nwprod/spa_util/fakedbn fi ############################################################### # Specify DBN_ALERT_TYPE_???? for different Production envir. ############################################################### export DBN_ALERT_TYPE_NETCDF=${DBN_ALERT_TYPE_NETCDF:-NOS_OFS_FCST_NETCDF} export DBN_ALERT_TYPE_NETCDF_LRG=${DBN_ALERT_TYPE_NETCDF_LRG:-NOS_OFS_FCST_NETCDF_LRG} export DBN_ALERT_TYPE_TEXT=${DBN_ALERT_TYPE_TEXT:-NOS_OFS_FCST_TEXT} ##################################################################################### # This block is for Developer's test run: # Run config file to get input parameters # This config file should define the following variables # DATA_IN: Location of working directory, default to /tmpnwprd # SENDSMS: 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 group_name=${group_name:-nos} package_name=${package_name:-nosofs_shared.${model_ver}} . /${group_name}/save/${LOGNAME}/${package_name}/parm/${package_name}_para_config export userid=${userid:-$LOGNAME} export DATA_IN=${DATA_IN:-/ptmp/$LOGNAME/${OFS}.${code_ver}/${OFS}} # NOS OFS Development Running # export DATA=/ptmp/$LOGNAME/${OFS}.${code_ver}/${OFS} # NOS OFS Development Running export pid=$$ export DATA=${DATA:-$DATA_IN/${job}.${pid}} export jlogfile=$DATA/jlogfile export HOMEnos=/nos/save/$LOGNAME/nosofs_shared.${model_ver} export OFSnos=/nos/save/$LOGNAME/${OFS}.${code_ver} export FTP=tidepool.nos.noaa.gov export FTPDIR=/pub/incoming/NCEP_OFS/${OFS} ## For development run only export jlogfile=$DATA/${NET}.${RUN}.jlog.${PDY}.${cycle}.log export CORMSLOG=$DATA/${NET}.${RUN}.corms.${PDY}.${cycle}.log # for development # export COMOUT00=/ptmp/$LOGNAME/${NET}/${envir} export COMOUT00=/ptmp/$LOGNAME/${OFS}.${code_ver}/${envir} export COMOUT=$COMOUT00/${RUN}.${PDY} # output directory export CORMS=$COMOUT00/${RUN}.${PDY} # output directory fi if [ $SENDSMS = YES ] then $SMSBIN/smsinit $LOADL_STEP_ID fi export PS4='$SECONDS + ' date #################################### # obtain unique process id (pid) and make temp directory #################################### export pid=$$ export DATA_IN=${DATA_IN:-/tmpnwprd} export DATA=${DATA:-$DATA_IN/${job}.${pid}} if [ ! -d $DATA ] then mkdir -p $DATA cd $DATA else cd $DATA rm -fr $DATA/* fi if [ $OCEAN_MODEL == "SELFE" -o $OCEAN_MODEL =="selfe" ] then mkdir -p $DATA/outputs mkdir -p $DATA/sflux fi export cycle=t${cyc}z ############################################ # Determine Job Output Name on System ############################################ export outid="LL$job" export jobid="${outid}.o${pid}" export pgmout="OUTPUT.${pid}" export MP_PULSE=0 export MP_TIMEOUT=9000 export MP_SHARED_MEMORY=yes #################################### # File To Log Msgs #################################### export jlogfile=${jlogfile:-/com/logs/jlogfile} #################################### # SENDSMS - Flag Events on SMS # SENDCOM - Copy files to /com directory #################################### export SENDSMS=${SENDSMS:-YES} export SENDCOM=${SENDCOM:-YES} export SENDDBN=${SENDDBN:-YES} #################################### # Specify Execution Areas #################################### export HOMEnos=${HOMEnos:-/nw${envir}/nosofs_shared.${model_ver}} export OFSnos=${OFSnos:-/nw${envir}/${OFS}.${code_ver}} export EXECnos=${EXECnos:-${HOMEnos}/exec} export FIXnos=${FIXnos:-${HOMEnos}/fix} export PARMnos=${PARMnos:-${HOMEnos}/parm} export USHnos=${USHnos:-${HOMEnos}/ush} export SCRIPTSnos=${SCRIPTSnos:-${HOMEnos}/scripts} export EXECofs=${EXECofs:-${OFSnos}/exec} export USHofs=${USHofs:-${OFSnos}/ush} export FIXofs=${FIXofs:-${OFSnos}/fix} ################################### # Set up the UTILITIES ################################### export utilscript=${utilscript:-/nwprod/util/ush} export utilexec=${utilexec:-/nwprod/util/exec} export utilities=${utilities:-/nwprod/util/ush} ############################################################### # Run setup to initialize working directory and utility scripts ############################################################### sh $utilscript/setup.sh # export PDY=20120709 ########################################### # Run setpdy and initialize PDY variables ########################################### sh $utilscript/setpdy.sh . PDY ########################################### ### Set up time, date, and data utilities ########################################### export NDATE=$utilexec/ndate export NHOUR=$utilexec/nhour export JDAY=$utilscript/date2jday.sh export WGRIB=$utilexec/wgrib export WGRIB2=$utilexec/wgrib2 export WGRIB2INDEX=$utilexec/grb2index ############################################## ### Set up input data path ############################################## export COMNAM=/com/nam/prod export COMNDFD=/dcom/us007003 export COMGFS=/com/gfs/prod export COMRTMA=/com/rtma/prod export COMRUC=/com/ruc/prod export COMETSS=/com/gfs/prod export COMNCOM=/dcom/us007003 export COMUSGS=/dcom/us007003 export COMPORTS=/dcom/us007003 export NOSBUFR=xx012 export USGSBUFR=xx009 export COMRTOFS=/com/rtofs/prod export LOCALRTOFS=/ptmp/$LOGNAME/rtofs/prod ############################################## # Define COM directories ############################################## export COM_IN=${COM_IN:-/com/${NET}/${envir}} export COM_OUT=${COM_OUT:-/com/${NET}/${envir}} export COM=${COM:-COM_IN} export COMIN=${COMIN:-${COM_IN}/${RUN}.${PDY}} # input directory export COMOUT00=${COMOUT00:-${COM_OUT}} # output directory export COMOUT=${COMOUT:-${COM_OUT}/${RUN}.${PDY}} # output directory export CORMS=${CORMS:-${COM_OUT}/${RUN}.${PDY}} # output directory mkdir -m 775 -p $COMOUT $CORMS #### Log File To Sys Report export nosjlogfile=${COMOUT}/${NET}.${RUN}.jlogfile.${PDY}.${cycle}.log #### Log File To CORMS export CORMSLOG=${COMOUT}/${NET}.${RUN}.corms.${PDY}.${cycle}.log echo "LAUNCH ${RUN} NOWCAST/FORECAST SIMULATIONS at time: " `date ` >> $CORMSLOG echo "NOWCAST/FORECAST CYCLE IS: " $time_nowcastend >> $CORMSLOG export CTL_FILE=${CTL_FILE:-${FIXofs}/${NET}.${RUN}.ctl} echo "$NET $RUN control file is $CTL_FILE " >> $CORMSLOG env echo "Start ${RUN} " >> $CORMSLOG ######################################################## # Execute the script. $HOMEnos/scripts/exnos_ofs_nowcast_forecast.sh.sms $OFS ######################################################## cat $pgmout msg="ENDED NORMALLY." postmsg "$jlogfile" "$msg" ############################## # Remove the Temporary working directory ############################## cd $DATA_IN # rm -rf ${DATA} date if [ $SENDSMS = YES ]; then $SMSBIN/smscomplete; fi