#!/bin/ksh -x

########## config.vrfy ##########
# Verification step specific

echo "BEGIN: config.vrfy"

# Get task specific resources
. $EXPDIR/config.resources vrfy

export DO_VSDB=${DO_VSDB:-"NO"}   # Switch to run VSDB package; set in config.base

export VDUMP="gfs"                # Verifying dump
export CDUMPFCST="gdas"           # Fit-to-obs with GDAS/GFS prepbufr
export CDFNL="gdas"               # Scores verification against GDAS/GFS analysis

export MKPGB4PRCP="YES"           # Make 0.25-deg pgb files in ARCDIR for precip verification
export VRFYFITS="YES"             # Fit to observations
export VSDB_STEP1="NO"           # Populate VSDB database
export VSDB_STEP2="NO"
export VRFYG2OBS="NO"            # Grid to observations, see note below if turning ON
export VRFYPRCP="NO"             # Precip threat scores
export VRFYRAD="YES"              # Radiance data assimilation monitoring
export VRFYOZN="YES"              # Ozone data assimilation monitoring
export VRFYMINMON="YES"           # GSI minimization monitoring
export VRFYTRAK="YES"             # Hurricane track verification
export VRFYGENESIS="YES"          # Cyclone genesis verification
export VRFYFSU="NO"               # Cyclone genesis verification (FSU)
export RUNMOS="NO"                # whether to run entire MOS package

#-------------------------------------------------
# Fit to Observations
#-------------------------------------------------

if [ $VRFYFITS = "YES" ]; then

    export fitdir="$BASE_GIT/Fit2Obs/${fit_ver}/batrun"
    export PRVT=$HOMEgfs/fix/fix_gsi/prepobs_errtable.global
    export HYBLEVS=$HOMEgfs/fix/fix_am/global_hyblev.l${LEVS}.txt
    export CUE2RUN=$QUEUE

    export VBACKUP_FITS=24
    export RUN_ENVIR=netcdf
    export CONVNETC="YES"
    export ACPROFit="YES"

    if [ ${netcdf_diag:-".false."} = ".true." ]; then
        export CONVNETC="YES"
    fi

    if [ $machine = "WCOSS2" ]; then
        export PREPQFITSH="$fitdir/subfits_wcoss2"
    elif [ $machine = "WCOSS_DELL_P3" ]; then
        export PREPQFITSH="$fitdir/subfits_dell_nems"
    elif [ $machine = "HERA" ]; then
        export PREPQFITSH="$fitdir/subfits_hera"
    elif [ $machine = "ORION" ]; then
        export PREPQFITSH="$fitdir/subfits_orion"
    else
        echo "Fit2Obs NOT supported on this machine"
    fi

fi

#----------------------------------------------------------
# VSDB STEP1, Verify Precipipation and Grid To Obs options
#----------------------------------------------------------
# All these call $VSDBSH

if [ "$CDUMP" = "gfs" ] ; then
    ddd=`echo $CDATE |cut -c 1-8`
    #if [ $ddd -eq 5 -o $ddd -eq 10 ]; then export VSDB_STEP2 = "YES" ;fi

    if [ $VSDB_STEP1 = "YES" -o $VSDB_STEP2 = "YES" -o $VRFYPRCP = "YES" -o $VRFYG2OBS = "YES" ]; then
        export BACKDATEVSDB=24                          # execute vsdbjob for the previous day
        export VBACKUP_PRCP=24                          # back up for QPF verification data
        export vsdbsave="$NOSCRUB/archive/vsdb_data"    # place to save vsdb database
        export vsdbhome=$BASE_VERIF                     # location of global verification scripts
        export VSDBSH="$vsdbhome/vsdbjob.sh"            # VSDB job script
        export VSDBJOBSH=$SCRgfs/vsdbjob_submit.sh      # VSDB submission job
        export vlength=$FHMAX_GFS                       # verification length
        export vhr_rain=$FHMAX_GFS                      # verification length for precip
        export ftyplist="pgbq"                          # verif. files used for computing QPF ETS scores
        export ptyplist="PRATE"                         # precip types in GRIB: PRATE or APCP
        export anltype="gfs"                            # default=gfs, analysis type (gfs or gdas) for verification
        export rain_bucket=6                            # prate in pgb files is 6-hr accumulated

        export VSDB_START_DATE="$SDATE"                 # starting date for vsdb maps
        export webhost="emcrzdm.ncep.noaa.gov"          # webhost(rzdm) computer
        export webhostid="$USER"                        # webhost(rzdm) user name
        export SEND2WEB="NO"                            # whether or not to send maps to webhost
        export WEBDIR="/home/people/emc/www/htdocs/gmb/${webhostid}/vsdb/$PSLOT"
        export mdlist="gfs $PSLOT "                     # exps (up to 10) to compare in maps
    fi
fi


#----------------------------------------------------------
# Minimization, Radiance and Ozone Monitoring
#----------------------------------------------------------

if [ $VRFYRAD = "YES" -o $VRFYMINMON = "YES" -o $VRFYOZN = "YES" ]; then

    export envir="para"

    # Radiance Monitoring
    if [[ "$VRFYRAD" == "YES" && "$CDUMP" == "$CDFNL" ]] ; then

        export RADMON_SUFFIX=$PSLOT
        export TANKverf="$NOSCRUB/monitor/radmon"
        export VRFYRADSH="$HOMEgfs/jobs/JGDAS_ATMOS_VERFRAD"

    fi

    # Minimization Monitoring
    if [[ "$VRFYMINMON" = "YES" ]] ; then

        export MINMON_SUFFIX=$PSLOT
        export TANKverf_min="$NOSCRUB/monitor/minmon"
        if [[ "$CDUMP" = "gdas" ]] ; then
            export VRFYMINSH="$HOMEgfs/jobs/JGDAS_ATMOS_VMINMON"
        elif [[ "$CDUMP" = "gfs" ]] ; then
            export VRFYMINSH="$HOMEgfs/jobs/JGFS_ATMOS_VMINMON"
        fi

    fi

    # Ozone Monitoring
    if [[ "$VRFYOZN" == "YES" && "$CDUMP" == "$CDFNL" ]] ; then

        export HOMEgfs_ozn="$HOMEgfs"
        export OZNMON_SUFFIX=$PSLOT
        export TANKverf_ozn="$NOSCRUB/monitor/oznmon"
        export VRFYOZNSH="$HOMEgfs/jobs/JGDAS_ATMOS_VERFOZN"

    fi

fi


#-------------------------------------------------
# Cyclone genesis and cyclone track verification
#-------------------------------------------------

if [ $machine = "WCOSS_DELL_P3" ] ; then
    export ens_tracker_ver=v1.1.15.3
    export HOMEens_tracker=$BASE_GIT/tracker/ens_tracker.${ens_tracker_ver}
fi
export HOMEens_tracker=$BASE_GIT/TC_tracker/${tracker_ver}

if [ "$VRFYTRAK" = "YES" ]; then
    export TRACKERSH="$HOMEgfs/jobs/JGFS_ATMOS_CYCLONE_TRACKER"
    if [ "$CDUMP" = "gdas" ]; then
        export FHOUT_CYCLONE=3            
        export FHMAX_CYCLONE=$FHMAX
    else
        export FHOUT_CYCLONE=6            
        export FHMAX_CYCLONE=$(( FHMAX_GFS<240 ? FHMAX_GFS : 240 ))
    fi
fi

if [[ "$VRFYGENESIS" == "YES" && "$CDUMP" == "gfs" ]]; then
    export GENESISSH="$HOMEgfs/jobs/JGFS_ATMOS_CYCLONE_GENESIS"
fi

if [[ "$VRFYFSU" == "YES" && "$CDUMP" == "gfs" ]]; then
    export GENESISFSU="$HOMEgfs/jobs/JGFS_ATMOS_FSU_GENESIS"
fi

if [[ "$RUNMOS" == "YES" && "$CDUMP" == "gfs" ]]; then
    if [ $machine = "WCOSS_DELL_P3" ] ; then
        export RUNGFSMOSSH="$HOMEgfs/scripts/run_gfsmos_master.sh.dell"
    elif [ $machine = "HERA" ] ; then
        export RUNGFSMOSSH="$HOMEgfs/scripts/run_gfsmos_master.sh.hera"
    else
        echo "WARNING: MOS package is not enabled on $machine!"
        export RUNMOS="NO"
        export RUNGFSMOSSH=""
    fi
fi

echo "END: config.vrfy"