#!/bin/ksh set -xa ##################################### ## Specify NET and RUN Name and model ##################################### export NET=cfs export RUN=cdas export RUN1=cdas1 ##################################### ## set up job name and environment ##################################### export job=${job:-$RUN} export envir=${envir:-prod} export host=${host:-`hostname | cut -c1`} export PS4='$SECONDS + ' date ########################################################### export DATA=${DATA:-${DATAROOT:?}/${jobid:?}} mkdir -p $DATA cd $DATA #################################### # Determine Job Output Name on System #################################### export pgmout="OUTPUT.$$" export pgmerr=errfile export cycle=t${cyc}z export VERBOSE=${VERBOSE:-YES} export FILESTYLE='C' ############################## # Run setpdy and initialize PDY variables ############################## sh setpdy.sh . ./PDY ########################################################## # define cfs directories/scripts/executables ########################################################## export EXECcfs=$HOMEcfs/exec export PARMcfs=$HOMEcfs/parm export USHcfs=$HOMEcfs/ush export FIXcfs=$HOMEcfs/fix ############################################## # Define COM directories ############################################## export COMROT=${COMROT:-$(compath.py -o ${NET}/${cfs_ver})} export COMIN=${COMIN:-$(compath.py ${NET}/${cfs_ver})/${RUN}.${PDY}} export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${cfs_ver})/${RUN}.${PDY}} export COMDIR=${COMDIR:-$(compath.py ${NET}/${cfs_ver})/${RUN}.${PDY}} mkdir -m775 -p $COMOUT ### Input parameters for GODAS export GODAS_PARM_INPUT=${GODAS_PARM_INPUT:-$PARMcfs/cfs_parm_om/cfs_godas_input} set -a; . $GODAS_PARM_INPUT; set +a export Obs_dir=${Obs_dir:-$DATA/GDS_Obs} export GESDIR=${GESDIR:-$(compath.py ${NET}/${cfs_ver})/nwges} #export RESDIR=${RESDIR:-$GESDIR} mkdir -p $COMROT $RESDIR $Obs_dir msg="HAS BEGUN on `hostname`" postmsg "$msg" # Define Previous Guess File Names (DEV users should set it to NO in the config file) export GETGES_PROD=${GETGES_PROD:-YES} #################################### # getges must provide omrestart, sstgrb and icegrb files if [ $GETGES_PROD = YES ] ; then CDATEm1=`$NDATE -6 $CDATE` cdaym1=`echo $CDATEm1 |cut -c1-8` ccycm1=`echo $CDATEm1 |cut -c9-10` export OCNGES=$COMROT/${RUN}.${cdaym1}/${RUN1}.t${ccycm1}z.next_ocnr.tar fi export CDUMP=gdas if [ -s $OCNGES ] ; then msg="Analysis Starting/Guess Fields Found" postmsg "$msg" else msg="Analysis Cannot Start/Guess Fields Not Available" postmsg "$msg" export pgm=$job export err=911; err_chk fi ############################ # Added to reduce wall time when running more than one task per node export MP_SHARED_MEMORY=YES export MEMORY_AFFINITY=MCM export BIND_TASKS=YES export NTHSTACK=102400000 export APRUN="aprun -n1" # ------------------------------------------------------- # either run the godas every synoptic time or olny at 00z # ------------------------------------------------------- if [[ $cyc = 00 || ${GODAS:-00} = 24 ]]; then ${GODASSH:-$HOMEcfs/scripts/excfs_cdas_godas.sh} $CDATE $CDUMP $DATA $RESDIR $FIX_OCN $DATA $Obs_dir else # use guess as analysis mkdir -p $DATA/OCNrest; cd $DATA/OCNrest; rm -f * tar -xvf $OCNGES # This is the guess/restart files for newname in $(ls -rt ${CDATE}* | cut -c11-) ; do mv ${CDATE}$newname $newname done cp $FIXcfs/M4tables/input.nml . cp $FIXcfs/M4tables/*_table . tar -cvf ocnanl.$CDATE.tar *.res *.nc *_table input.nml cp ocnanl.$CDATE.tar $COMOUT/${RUN1}.t${cyc}z.ocnanl.tar fi export err=$?; err_chk msg="ENDED NORMALLY." postmsg "$msg" ######################################## # Remove the Temporary working directory ######################################## cd $DATAROOT if [ ${KEEPDATA:-NO} = NO ] ; then rm -rf $DATA ; fi date