#!/bin/ksh set -x #export RUN_ENVIR=${RUN_ENVIR:-"nco"} export PS4='$SECONDS + ' date ############################# # Source relevant config files ############################# export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} configs="base gldas" config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config} for config in $configs; do . $config_path/config.$config status=$? [[ $status -ne 0 ]] && exit $status done if [ $cyc -ne $gldas_cyc ]; then echo "GLDAS only runs for $gldas_cyc cycle; Skip GLDAS step for cycle $cyc" exit 0 fi xtime=$((gldas_spinup_hours+12)) if [ $CDATE -le $($NDATE +$xtime $SDATE) ]; then echo "GLDAS needs fluxes as forcing from cycles in previous $xtime hours" echo "starting from $SDATE. This gldas cycle is skipped" exit 0 fi ########################################## # Source machine runtime environment ########################################## . $HOMEgfs/env/${machine}.env gldas status=$? [[ $status -ne 0 ]] && exit $status ############################################## # Obtain unique process id (pid) and make temp directory ############################################## export pid=${pid:-$$} export outid=${outid:-"LL$job"} export DATA=${DATA:-${DATAROOT}/${jobid:?}} mkdir -p $DATA cd $DATA ############################################## # Run setpdy and initialize PDY variables ############################################## export cycle="t${cyc}z" setpdy.sh . ./PDY ############################################## # Determine Job Output Name on System ############################################## export pgmout="OUTPUT.${pid}" export pgmerr=errfile ############################################## # Set variables used in the exglobal script ############################################## export CDATE=${CDATE:-${PDY}${cyc}} export CDUMP=${CDUMP:-${RUN:-"gdas"}} export COMPONENT=${COMPONENT:-atmos} ############################################## # Begin JOB SPECIFIC work ############################################## export gldas_ver=${gldas_ver:-v2.3.0} export HOMEgldas=${HOMEgldas:-$HOMEgfs} export FIXgldas=${FIXgldas:-$HOMEgldas/fix/fix_gldas} export PARMgldas=${PARMgldas:-$HOMEgldas/parm/gldas} export EXECgldas=${EXECgldas:-$HOMEgldas/exec} export USHgldas=${USHgldas:-$HOMEgldas/ush} export PARA_CONFIG=$HOMEgfs/parm/config/config.gldas if [ $RUN_ENVIR = "nco" ]; then export COMIN=${COMIN:-$ROTDIR/$RUN.$PDY/$cyc/$COMPONENT} export COMOUT=${COMOUT:-$ROTDIR/$RUN.$PDY/$cyc/$COMPONENT} else export COMIN="$ROTDIR/$CDUMP.$PDY/$cyc/$COMPONENT" export COMOUT="$ROTDIR/$CDUMP.$PDY/$cyc/$COMPONENT" fi [[ ! -d $COMOUT ]] && mkdir -m 775 -p $COMOUT export COMINgdas=${COMINgdas:-$ROTDIR} export DCOMIN=${DCOMIN:-${DCOMROOT:-"/lfs/h1/ops/prod/dcom"}} export model=${model:-noah} export MODEL=${MODEL:-`echo $model |tr '[a-z]' '[A-Z]'`} ############################################################### # Run relevant exglobal script env msg="HAS BEGUN on `hostname`" $LOGSCRIPT ${GLDASSH:-$HOMEgldas/scripts/exgdas_atmos_gldas.sh} status=$? [[ $status -ne 0 ]] && exit $status ############################################## # End JOB SPECIFIC work ############################################## ############################################## # Final processing ############################################## if [ -e "$pgmout" ] ; then cat $pgmout fi msg="ENDED NORMALLY." ########################################## # Remove the Temporary working directory ########################################## cd $DATAROOT [[ $KEEPDATA = "NO" ]] && rm -rf $DATA date exit 0