#!/bin/sh
################################################
# This script gets in situ data from the tanks
################################################

echo "*** Started script $0"
echo "platform argument = '$3' "

pastdate=$1
srtdate=$2

if [ .$3 = '.ALL' ] ; then platform='all' ; fi
if [ .$3 != '.all' ] ; then
  echo "WARNING : ofs_get_sstsitu.sh assumes 'ALL' as platform"
else
  platform=$3
fi

datatype='ships dbuoy mbuoy lcman' 
${dumpmb} ${pastdate} ${srtdate} $datatype

ADATE=$pastdate
#enddate=`$NDATE +24 $srtdate$cyc | cut -c1-8`
enddate=`${utilexec}/ndate +\`expr 24 \` ${srtdate}00`
enddate=`echo $enddate | cut -c1-8`

#######################################################
# decode situ data with ofs_metar.f
#    generates single ascii file with all platforms
#######################################################

export pgm=ofs_metar   ### necessary for prep_step
. prep_step

### export XLFRTEOPTS="unit_vars=yes"
### this is set in prep_step

while [[ $ADATE < $enddate ]]
do
  n=14  ## first unit number expected
  for p in $datatype ; do
    echo "DEBUG: unit number $n in $DATA/$p.${ADATE}"
    ls -l $DATA/$p.${ADATE}
    export XLFUNIT_$n="$DATA/$p.${ADATE}"
    #  n=`expr $n + 1`
    (( n+=1 ))
    if [ ! -s $DATA/$p.${ADATE} ] ; then
      msg="$p data not available for ${ADATE}"
      echo "OFS_GET_SSTSITU: ${msg}"
#    sh ${utilscript}/postmsg.sh ${jlogfile} "${msg}"
    fi
  done
  export XLFUNIT_44="$FIXofs/${RUN}_${modID}.sst_metarlist"
  export XLFUNIT_81="situ.$field.$platform.$ADATE.$level"
  export XLFUNIT_51="testfile"

cat > ofs_metar.in <<EOF
${lonobsmin}
${lonobsmax}
${latobsmin}
${latobsmax}
${ADATE}
EOF

  startmsg
  $EXECofs/ofs_metar < ofs_metar.in >> $pgmout 2> errfile
  export err=$?;err_chk
  
  cat situ.$field.$platform.$ADATE.$level >> tmp.file
  
  #ADATE=`$NDATE +24 $ADATE$cyc | cut -c1-8`
  ADATE=`${utilexec}/ndate +\`expr 24 \` ${ADATE}00 | cut -c1-8`
done

mv tmp.file situ.$field.$platform.$srtdate.$level

echo "*** Finished script $0"
