#!/bin/sh date export PS4=' $SECONDS + ' set -x envir=${envir:?} # Typically set to prod DATAROOT=${DATAROOT:?} # Typically default to {DATAROOT:-/tmpnwprd1} COMROOT=${COMROOT:?} # Typically default to -/com PACKAGEROOT=${PACKAGEROOT:?} # Typically default to -/nw${envir}} #################################### # obtain unique process id (pid) and make temp directory #################################### export pid=${pid:-$$} export DATA=${DATA:-$DATAROOT/${job}}.${pid} mkdir -p $DATA cd $DATA export cycle=${cycle:-t${cyc}z} #################################### # Specify NET Name and RUN # # RUN - RUN grib field to repack #################################### export NET=gfs_mos export RUN=gfs_mos #################################### # Determine Job Output Name on System #################################### export outid="LL$job" export jobid="${outid}.o${pid}" export pgmout="OUTPUT.${pid}" #################################### # SENDECF - Flag Events on ECF # SENDCOM - Copy Files From TMPDIR to $com # SENDDBN - Send files to OSO #################################### export SENDECF=${SENDECF:-YES} export SENDCOM=${SENDCOM:-YES} export SENDDBN=${SENDDBN:-YES} #################################### # Specify GFS-MOS version number #################################### export GFSMOS_MODEL_VERSION=${GFSMOS_MODEL_VERSION:-${gfsmos_ver}} export GFSMOS_CODE_VERSION=${GFSMOS_CODE_VERSION:-${mos_shared_ver}} #################################### # Specify Execution Areas #################################### export FIXgfs_mos=${FIXgfs_mos:-$HOMEgfs_mos/fix} export PARMgfs_mos=${PARMgfs_mos:-$HOMEgfs_mos/parm} export SCRIPTSgfs_mos=${SCRIPTSgfs_mos:-$HOMEgfs_mos/scripts} #export HOMEcode=${HOMEcode:-$PACKAGEROOT/mos_shared.${GFSMOS_CODE_VERSION}} #export EXECcode=${EXECcode:-$HOMEcode/exec} #export FIXcode=${FIXcode:-$HOMEcode/fix} #export PARMcode=${PARMcode:-$HOMEcode/parm} ############################## # Run setpdy and initialize PDY variables ############################## setpdy.sh . ./PDY ############################################## # Define COM directories ############################################## export COMINgfs=${COMINgfs:-$(compath.py ${envir}/com/gfs/${gfs_ver}/gfs.${PDY})} export COMOUT=${COMOUT:-$(compath.py -o ${RUN}/${gfs_mos_ver}/${RUN}.${PDY})} export COMPONENT=${COMPONENT:-atmos} mkdir -m 775 -p $COMOUT env ######################################## # EXECUTE THE SCRIPTS USING MPMD ######################################## rm -f $DATA/mpmdscript complist="prep47 pac_prep" for comp in $complist do mkdir -p $DATA/$comp echo "$SCRIPTSgfs_mos/exgfsmos_ext${comp}.sh 2>&1| sed 's/^/${comp}:/'" >> $DATA/mpmdscript done chmod 755 $DATA/mpmdscript export MP_LABELIO=YES export MP_STDOUTMODE=unordered mpiexec -n $NTASK -ppn $PTILE --cpu-bind core cfp $DATA/mpmdscript export err=$?; err_chk #set +x #export out_dir=${out_dir:-${OPSROOT}/${envir}/output/${PDY}} #pbs_id=`echo $PBS_JOBID | awk -F. '{print $1}'` #export PBS_OUTPUTFILE=${PBS_OUTPUTFILE:-$out_dir/$job.o$pbs_id} export PBS_OUTPUTFILE=$PBS_O_WORKDIR/$job.o$pbs_id for comp in $complist do out_file=$DATA/gfsmos_ext${comp}_$cyc.o${pid} echo "############# OUTPUT FOR GFSMOS $comp #################" > $out_file grep -E "^${comp}:" $PBS_OUTPUTFILE | cut -d: -f 2- >> $out_file cat $DATA/$comp/$pgmout >> $out_file done #set -x msg="JOB $job HAS COMPLETED NORMALLY" postmsg "$msg" if [ -e $pgmout ]; then cat $pgmout fi if [ "$KEEPDATA" != YES ]; then cd $DATAROOT rm -rf $DATA fi date