#!/bin/bash ######################################## # WRF-SREF Preliminary data setup step # change log: # 07/18/2008, Jun Du - upgrade to WRFv2.2 # MODEL(MEMBER ...)=NMM(p01,n01,p02,n02)+ARW(p01,n01,p02,n02) # 9/20/2009, Julia Zhu Scripts are modified to be sharable # between EMC and NCO # 4/15/2010, Jun Du Generalized the script to run NEMS-NMMB # ensemble (MODEL=NMB) ######################################## set -eux export PS4='$SECONDS + ' export OMP_NUM_THREADS=1 export N_TASK=${NCPUS:-1} #export N_TASK=$LSB_DJOB_NUMPROC # # Specify whether the run is production or development # export RUN_ENVIR=${RUN_ENVIR:-nco} ##################################################################################### # Run config file to get input parameters # This config file should define the following variables # DATA_IN: Location of working directory, default to ${DATAROOT} # DEV_SMS: If the job is to be running using ecFflow, default to YES # SENDDBN: Set to NO for developers, default to YES # COM_IN: Directory for input files, default to ${COMROOT}/$NET/${envir} # COM_OUT: Directory for output file, default to ${COMROOT}/$NET/${envir} # gespath: Directory for the guess or restart files, default to ${GESROOT}/${envir} ##################################################################################### if [ "$RUN_ENVIR" != nco ] ### For Developers, "group_name" is passed from the ecFflow script then CONFIG_FILE=${CONFIG_FILE:-/lfs/h2/emc/lam/noscrub/${LOGNAME}/sref${PACKAGEROOTp1}/parm/sref_para_config} . $CONFIG_FILE export userid=$LOGNAME export DATA_IN=${DATA_IN:-/lfs/h2/emc/ptmp/$userid} fi echo `date` $0 `date -u` begin export CYC=${CYC:-${cyc}} export MEMBER=${MEMBER:-ctl} export MODEL=${MODEL:-ARW} export RES=${RES:-16km} ########################################################### # obtain unique process id (pid) and make temp directories # Note: ctl member needs to be run only once and can be used # for both NMM and ARW cores! ########################################################### export DATA_IN=${DATA_IN:-${DATAROOT}} export DATA=$DATA_IN/sref_${MODEL}_real_${CYC}_${envir} export WORK_DIR=$DATA/real.$MEMBER # Remove old directory if it exists rm -rf $WORK_DIR mkdir -p $WORK_DIR while [ ! -d $WORK_DIR ] do mkdir -p $WORK_DIR done cd $WORK_DIR #################################### # File To Log Msgs #################################### export jlogfile=${jlogfile:-$DATA/jlogfile.${job}.$$} #################################### # Determine Job Output Name on System #################################### export pgmout="OUTPUT.$$" export cycle=t${cyc}z ############################### # Specify NET and RUN name ############################## export NET=sref export RUN=sref ################################################## # SAVEGES - Copy Files From TMPDIR to $GESdir # SENDECF - Flag Events on ecFflow # SENDCOM - Copy Files From TMPDIR to $COMOUT # SENDDBN - Issue DBNet Client Calls # RERUN - Rerun fcst from beginning (default no) ################################################## export SENDCOM=${SENDCOM:-YES} export SENDECF=${SENDECF:-YES} export SENDDBN=${SENDDBN:-YES} export HOMEsref=${HOMEsref:-${PACKAGEROOT}/${NET}.${sref_ver}} export EXECsref=${EXECsref:-$HOMEsref/exec} export FIXsref=${FIXsref:-$HOMEsref/fix} export PARMsref=${PARMsref:-$HOMEsref/parm} export USHsref=${USHsref:-$HOMEsref/ush} ################################### # Set up the UTILITIES ################################### #machine=`hostname |cut -c1` machine=`cat /etc/cluster_name | cut -c 1-1` if [ $machine = c -o $machine = d ]; then export MACHINE=wcoss2 elif [ $machine = m -o $machine = v ]; then export MACHINE=dell fi # Run setup to initialize working directory and utility scripts ## setup.sh # no need, since using module load prod_util # Run setpdy and initialize PDY variables setpdy.sh . ./PDY ############################################# # COMIN and COMOUT ############################################# if [ ${RUN_ENVIR} != nco ] ; then export gespath=${gespath:-${GESROOT}/${envir}} export GESDIR=$gespath/${NET}.${PDY} export COMINnam=${COMINnam:-$(compath.py nam/prod)} export GES_IN=${GES_IN:-$gespath} export GESNAM=${GESNAM:-${GESROOTp3}/prod} export GESNDAS=${GESNDAS:-${GESROOTp3}/prod} #The following variables are turned off now #export GESnam=$GESNAM/nam.${PDY} export GESINndas=${GESINndas:-${GESNDAS}/nam.${PDY}} else export gespath=${gespath:-$(compath.py $envir/sref/$sref_ver)/nwges} export GESOUT=$gespath/${NET}.${PDY} export COMINnam=${COMINnam:-$(compath.py nam/$nam_ver)} export GES_IN=${GES_IN:-$gespath} export GESINnam=${GESINnam:-$(compath.py $envir/nam/$nam_ver)/nwges/nam.${PDY}} fi mkdir -p -m 775 $GESOUT env export FLENGTH=${FLENGTH:-87} export INCR=${INCR:-3} if [ "$MODEL" = NMB ];then export lsm=ndas fi # The coldstart program cannot be applied to RUC LSM if [ "$MODEL" = ARW ];then #if [ "$MEMBER" = p01 -o "$MEMBER" = n02 -o "$MEMBER" = n04 -o "$MEMBER" = p05 -o "$MEMBER" = p06 ];then # export lsm=own #else export lsm=ndas #fi fi export IOFORM=2 ######################################################## # Execute the script. export WPSDIR=$DATA_IN/sref_${MODEL}_wps_${CYC}_${envir} $HOMEsref/scripts/exsref_wrfreal.sh ######################################################## cat $pgmout msg="JOB COMPLETED NORMALLY" postmsg $jlogfile "$msg" export KEEPDATA=YES ################################ # Remove the Working Directory ################################ cd $DATA_IN if [ ${KEEPDATA:-NO} != YES ] ; then rm -rf $DATA ; fi date