#!/bin/sh set -xa export PS4='$SECONDS + ' date ############################################ # GDAS GEMPAK PRODUCT GENERATION ############################################ echo echo "=============== BEGIN GEMPAK ===============" echo echo "=============== BEGIN TO SOURCE RELEVANT CONFIGS ===============" configs="base gempak" export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} for config in $configs; do . $EXPDIR/config.${config} status=$? [[ $status -ne 0 ]] && exit $status done ############################################################### echo echo "=============== BEGIN TO SOURCE MACHINE RUNTIME ENVIRONMENT ===============" . $BASE_ENV/${machine}.env gempak status=$? [[ $status -ne 0 ]] && exit $status ########################################################## # obtain unique process id (pid) and make temp directory ########################################################## export DATA=${DATA:-${DATAROOT}/${jobid:?}} mkdir -p $DATA cd $DATA ###################################### # Set up the cycle variable ###################################### export cycle=${cycle:-t${cyc}z} ########################################### # Run setpdy and initialize PDY variables ########################################### setpdy.sh . ./PDY ################################ # Set up the HOME directory ################################ export HOMEgfs=${HOMEgfs:-${PACKAGEROOT}/gfs.${gfs_ver}} export EXECgfs=${EXECgfs:-$HOMEgfs/exec} export PARMgfs=${PARMgfs:-$HOMEgfs/parm} export PARMwmo=${PARMwmo:-$HOMEgfs/parm/wmo} export PARMproduct=${PARMproduct:-$HOMEgfs/parm/product} export FIXgempak=${FIXgempak:-$HOMEgfs/gempak/fix} export USHgempak=${USHgempak:-$HOMEgfs/gempak/ush} export SRCgfs=${SRCgfs:-$HOMEgfs/scripts} export UTILgfs=${UTILgfs:-$HOMEgfs/util} ############################################ # Set up model and cycle specific variables ############################################ export fend=09 export finc=3 export fstart=00 export GRIB=pgrb2f export EXT="" export DBN_ALERT_TYPE=GDAS_GEMPAK export SENDCOM=${SENDCOM:-NO} export SENDDBN=${SENDDBN:-NO} export DBNROOT=${DBNROOT:-${UTILROOT}/fakedbn} ################################### # Specify NET and RUN Name and model #################################### export NET=${NET:-gfs} export RUN=${RUN:-gdas} export model=${model:-gdas} export COMPONENT=${COMPONENT:-atmos} ############################################## # Define COM directories ############################################## export COMIN=${COMIN:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY}/${cyc}/$COMPONENT} export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/$COMPONENT/gempak} if [ $SENDCOM = YES ] ; then mkdir -m 775 -p $COMOUT fi export pgmout=OUTPUT.$$ env if [ -f $DATA/poescrip ]; then rm $DATA/poescript fi ######################################################## # Execute the script. echo "$SRCgfs/exgdas_atmos_nawips.sh gdas 009 GDAS_GEMPAK " >> poescript ######################################################## ######################################################## # Execute the script for quater-degree grib echo "$SRCgfs/exgdas_atmos_nawips.sh gdas_0p25 009 GDAS_GEMPAK " >>poescript ######################################################## cat poescript chmod 775 $DATA/poescript export MP_PGMMODEL=mpmd export MP_CMDFILE=$DATA/poescript ntasks=${NTASKS_GEMPAK:-$(cat $DATA/poescript | wc -l)} ptile=${PTILE_GEMPAK:-4} threads=${NTHREADS_GEMPAK:-1} export OMP_NUM_THREADS=$threads APRUN="mpiexec -l -np $ntasks --cpu-bind verbose,core cfp" APRUN_GEMPAKCFP=${APRUN_GEMPAKCFP:-$APRUN} APRUNCFP=$(eval echo $APRUN_GEMPAKCFP) $APRUNCFP $DATA/poescript export err=$?; err_chk ######################################################## echo "JOB $job HAS COMPLETED NORMALLY!" ############################################ # print exec I/O output ############################################ if [ -e "$pgmout" ] ; then cat $pgmout fi ################################### # Remove temp directories ################################### if [ "$KEEPDATA" != "YES" ] ; then rm -rf $DATA fi date