#!/bin/bash # needed env vars: SIGI, SFCI, HOMEGLOBAL, ANALHR, RUN, JCAP, LEVS # DATOUT, FHOUT, FHMAX, FHDFI, datapath, analdate, analdatep1, charnanal # HOSTFILE, nprocs echo "starting drive_gfs at `date`" export ANALHR=`echo $analdate | cut -c9-10` export cyc=$ANALHR #set -xa # #### 05/05/99 ############################### # SETUP GFS FCST PROCESSING VARIABLES # ############################################# #################################### # obtain unique process id (pid) and make temp directory #################################### export pid=$$ export DATA=$datapath2/gfstmp.${pid} homedir=$PWD mkdir $DATA cd $DATA export cycle=t${cyc}z #################################### # Specify NET and RUN Name and model #################################### export NET=$RUN #################################### # SENDSMS - Flag Events on SMS # SENDCOM - Copy Files From TMPDIR to $DATOUT # SENDDBN - Issue DBNet Client Calls # RERUN - Rerun fcst from beginning (default no) # VERBOSE - Specify Verbose Output in exglobal_fcst.sh.sms #################################### export SENDSMS=YES export SENDCOM=YES export SENDDBN=NO export RERUN=YES export VERBOSE=NO #################################### # Specify Execution Areas #################################### #export EXECGLOBAL=$HOMEGLOBAL/bin #export FIXGLOBAL=$HOMEGLOBAL/fix ############################################## # Define COM directories ############################################## mkdir -m 775 -p $DATOUT #################################### # Specify Special Fcst Vars #################################### # # Forecast Horizontal Resolution # # JCAP from env # # Forecast Vertical Resolution # # LEVS from env # export added by Grant and Rich 11/13/2003 # for T382 if [[ $JCAP == '382' ]]; then export DELTIM=180 #Added to compensate for failure #due to 'unphysical max speed' error. fi export CO2CON=$FIXGLOBAL/global_co2con.l${LEVS}.f77 export MTNVAR=$FIXGLOBAL/global_mtnvar.t${JCAP}.f77 export CLTUNE=$FIXGLOBAL/global_cldtune.f77 export DTBTHE=$FIXGLOBAL/global_tbthe.f77 export O3FORC=$FIXGLOBAL/global_o3prdlos.f77 export O3CLIM=$FIXGLOBAL/global_o3clim.txt export OROGRAPHY=$FIXGLOBAL/global_orography.t$JCAP.grb export CHGRESEXEC=$EXEGLOBAL/global_chgres # # Restart File Names # export SIGR1=$DATOUT/${RUN}.${cycle}.sigr1.t${JCAP}l${LEVS} export SIGR2=$DATOUT/${RUN}.${cycle}.sigr2.t${JCAP}l${LEVS} export SFCR=$DATOUT/${RUN}.${cycle}.sfcr.t${JCAP}l${LEVS} msg="HAS BEGUN on `hostname`" env export NTHREADS=1 #export OMP_NUM_THREADS=1 #################################### # Check if this is a restart # # Define Initialization File Names # # Run Forecast # #################################### if test -f $SIGR1 -a -f $SIGR2 -a -f $SFCR -a $RERUN = "NO" then cp $SIGR1 $DATA/sigr1 cp $SIGR2 $DATA/sigr2 cp $SFCR $DATA/sfcr export SIGI=$SIGR1 export SIGI2=$SIGR2 export SFCI=$SFCR msg="Forecast Starting with Restart files in $GESdir" else # # Forecast Start Hour # export FHINI=0 # SIGI, SFCI must be specified as env vars. if test -f $SIGI -a -f $SFCI then echo "Forecast Starting with Initial Guess Fields" else echo "Initial Guess Fields Not Available/No Guess from J920" fi fi ############################################################ # Start Section 2 of the GFS Forecast 180-384 Hours ############################################################ # # Forecast hour to Read One Time level # export FHROT=0 # # Forecast Hour Output Frequency # #export FHOUT=12 # # Forecast Length (Hours) # #export FHMAX=240 # # Forecast Hour Restart Frequency # #export FHRES=$FHMAX # # Interval to Zero out precip field,etc. # Should not be less that FHOUT # export FHZER=$FHOUT # # Half number of hours of digital filter initialization # #export FHDFI=3 # # Surface cycling boundary condition update frequency in hours # #export FHCYC=24 # # PDS Grid Designator # export IGEN=96 export LIOPE=.false. # no IO server node (default is .true.) # # Output File Names # #export SIGO=${SIGO:-$DATOUT/${RUN}.${cycle}.sf'${FH}'} #export SFCO=${SFCO:-$DATOUT/${RUN}.${cycle}.bf'${FH}'} #export FLXO=${FLXO:-$DATOUT/${RUN}.${cycle}.sfluxgrbf'${FH}'} #export LOGO=${LOGO:-$DATOUT/${RUN}.${cycle}.logf'${FH}'} export SIGO=${SIGO:-${DATOUT}/sfg_${analdatep1}_fhr'${FH}'_${charnanal}} export SFCO=${SFCO:-${DATOUT}/bfg_${analdatep1}_fhr'${FH}'_${charnanal}} export FLXO=${FLXO:-${DATOUT}/sflxgrb_${analdatep1}_fhr'${FH}'_${charnanal}} #export LOGO=${LOGO:-${DATOUT}/log_${analdatep1}_fhr'${FH}'_${charnanal}} # don't need flux and log files. #export FLXO=/dev/null export LOGO=/dev/null #cp $SIGR1 $DATA/sigr1 #cp $SIGR2 $DATA/sigr2 #cp $SFCR $DATA/sfcr # # Execute the Forecast script # echo "executing run_gfs at `date`" sh ${homedir}/run_gfs msg="ENDED NORMALLY." ############################## # Remove the Temporary working directory ############################## cd $homedir rm -rf $DATA # remove *.fh00 files /bin/rm -rf $DATOUT/*_fhr00_${charnanal} echo "ending run_gfs at `date`"