#! /bin/ksh

set -x

cd "$DATA"

# Read the variables created by the hwrf_parse_vitals.sh script:
. $stormlabel.vitals.in

# Set up a base directory:

export CSTREAM=${DATA}/${STORM}.$YYYY$MM$DD$CYC

mkdir -p $DATA/tmp
mkdir -p ${CSTREAM}
mkdir -p ${CSTREAM}/MESSAGES
mkdir -p ${CSTREAM}/LOG/3DVAR
cp storm_vit $CSTREAM/MESSAGES/.

# Copy the central lat/lon to a file:
cat << eor > $CSTREAM/MESSAGES/domain.center
$CENLA
$CENLO
eor
cp -p $CSTREAM/MESSAGES/domain.center $COMOUT/$stormid.$YYYY$MM$DD$CYC.domain.center

# Save storm center information
cat << eor > $CSTREAM/MESSAGES/storm.center           
$STORM_LAT
$STORM_LON
eor
cp -p $CSTREAM/MESSAGES/domain.center $COMOUT/$stormid.$YYYY$MM$DD$CYC.storm.center

########################################################################
# Determine if MODEL will run COUPLED or ATMOS based on 
# domain and latitude. 
#
# obtain last letter of stormid (E=EASTPAC, A=ATLANTIC, C=CENTRAL PACIFIC)
letter=`echo ${stormid} | cut -c3`
echo 'letter = ' ${letter}

case "$letter" in
    # North Atlantic and East Pacific:
    [lLeE]) /bin/true ;; # do not modify coupling setting

    # ALL other basins:
    *) MODEL=ATMOS ;; # disable coupling
esac

echo 'For this simulation MODEL = ' ${MODEL}  

# Echo variables out to a temporary file so that the next
# job can read them in.

setvarfile=${COMOUT}/${stormlabel}.holdvars.txt 
rm -f $setvarfile
sync

if [ $OCEAN == HYCOM ]; then
    previous_domain="none"
    prevcyc=`${NDATE_PATH} -06 $YYYY$MM$DD$CYC`
    if [ -d $HISTDATA ]
    then
        prevstorm=`ls $HISTDATA/ocean_status.*.$prevcyc`
        prevstorm=`basename $prevstorm`
        prevstorm=`echo $prevstorm|cut -d. -f2`
        if [ -s $HISTDATA/ocean_status.$prevstorm.$prevcyc ]
        then
            previous_domain=`grep Application $HISTDATA/ocean_status.$prevstorm.$prevcyc|cut -d= -f2`
        fi
    fi
    export previous_domain
fi

if [[ "$PARAFLAG" == NO ]] ; then
    export ATMOS_INPUT="${ATMOS_INPUT:-$DATA/WINDS/gfs.$YYYY$MM$DD$HH}"
else
    export ATMOS_INPUT="${ATMOS_INPUT:-$CDSCRUB/$user/DATA/WINDS/gfs.$YYYY$MM$DD$HH}"
fi

# Determine processor config
if [[ "$PARAFLAG" == NO ]] ; then
    # Use default values for NCO
    $USHhwrf/hwrf_stream_parse.pl "$PARMhwrf/hwrf_proc_config.in" ${stormlabel}.proc_config.in
else
    "$USHhwrf/hwrf_proc_config.sh"
fi

# We're done.  Now make the final holdvars file, and clean it up by
# removing any blank lines, comment lines and leading space:
setvarfile=${COMOUT}/${stormlabel}.holdvars.txt 
$USHhwrf/hwrf_stream_parse.pl $PARMhwrf/hwrf_config.in - | \
    grep -vE '^ *(#.*)$' | sed 's,^ *,,g' > "$setvarfile"
