#!/bin/sh date export PS4=' $SECONDS + ' set -x #################################### # 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 export RUN=gfsmos #################################### # 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 com files to OSO # SENDDBN_NTC - Send pcom files #################################### export SENDECF=${SENDECF:-YES} export SENDCOM=${SENDCOM:-YES} export SENDDBN=${SENDDBN:-YES} export SENDDBN_NTC=${SENDDBN_NTC:-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 HOMEmdl=${HOMEmdl:-$NWROOT/gfsmos.${GFSMOS_MODEL_VERSION}} export HOMEcode=${HOMEcode:-$NWROOT/mos_shared.${GFSMOS_CODE_VERSION}} export EXECmdl=${EXECmdl:-$HOMEcode/exec} export FIXmdl=${FIXmdl:-$HOMEmdl/fix} export FIXcode=${FIXcode:-$HOMEcode/fix} export PARMmdl=${PARMmdl:-$HOMEmdl/parm} export PARMcode=${PARMcode:-$HOMEcode/parm} export SCRIPTSmdl=${SCRIPTSmdl:-$HOMEmdl/scripts} ############################## # Run setpdy and initialize PDY variables ############################## setpdy.sh . PDY ############################################## # Define COM directories ############################################## export COMIN=${COMIN:-$PTMPROOT/retro/retro.$PDY} #export COMIN=${COMIN:-$COMROOT/${NET}/${envir}/${RUN}.${PDY}} export COMINm1=${COMINm1:-$PTMPROOT/retro/retro.$PDY} #export COMINm1=${COMINm1:-$COMROOT/${NET}/${envir}/${RUN}.${PDYm1}} export COMOUT=${COMOUT:-$COMROOT/${NET}/${envir}/${RUN}.${PDY}} export PCOM=${PCOM:-$PCOMROOT/${RUN}} mkdir -m 775 -p $COMOUT $PCOM env ######################################## # EXECUTE THE SCRIPTS USING MPMD ######################################## rm -f $DATA/mpmdscript_omp if [[ $cyc == "00" || $cyc == "12" ]]; then complist="higridded akgridded" complist2="cogridded cotstm" else complist="station" complist2="" fi echo '#!/bin/bash' > $DATA/mpmdscript_omp for comp in $complist do mkdir -p $DATA/$comp echo "$SCRIPTSmdl/exgfsmos_${comp}_extprdgen.sh.ecf &" >> $DATA/mpmdscript_omp done for comp in $complist2 do mkdir -p $DATA/$comp if [ "$comp" == "cogridded" ]; then echo "$SCRIPTSmdl/exgfsmos_${comp}_extprdgen.sh.ecf &" >> $DATA/mpmdscript_omp else echo "$SCRIPTSmdl/exgfsmos_${comp}_extfcst.sh.ecf &" >> $DATA/mpmdscript_omp fi done echo "wait" >> $DATA/mpmdscript_omp chmod 755 $DATA/mpmdscript_omp export MP_LABELIO=YES export MP_STDOUTMODE=unordered aprun -n ${NTASK} -N ${PTILE} -d ${OMP_NUM_THREADS} --cc depth $DATA/mpmdscript_omp export err=$?; err_chk set +x i=0 export out_dir=${out_dir:-${COMROOT}/output/${envir}/today} for comp in $complist $complist2 do out_file=$out_dir/gfsmos_extprdgen_${comp}_$cyc.o${pid} echo "############# OUTPUT FOR GFSMOS $comp #################" > $out_file if [[ "$comp" == "cotstm" ]]; then grep -E "${comp}_extfcst " $LSB_OUTPUTFILE | cut -d" " -f 2- >> $out_file else grep -E "${comp}_extprdgen " $LSB_OUTPUTFILE | cut -d" " -f 2- >> $out_file fi cat $DATA/$comp/$pgmout >> $out_file let i=i+1 done set -x msg="JOB $job HAS COMPLETED NORMALLY" postmsg $jlogfile "$msg" if [ -e $pgmout ]; then cat $pgmout fi if [ "$KEEPDATA" != YES ]; then cd $DATAROOT rm -rf $DATA fi date