#!/bin/sh
#
#****s* fm/test_fm_TWOD.sh
#
# NAME
#    test_fm_TWOD.sh - Test the ropp_fm routines on 2D ECMWF backgrounds.
#
# SYNOPSIS
#   test_fm_TWOD.sh
#
# DESCRIPTION
#   Tests the 2D ROPP forward model routines.
#   Uses input 2D data files ../data/ECMWF_2D_DATA.DAT etc.
#
# NOTES
#   1) If $ROPP_VERBOSE is set, the log files wil be 'cat'ed.
#
# REFERENCES
#   See the ROPP User Guide (SAF/ROM/METO/UG/ROPP/002)
#
#****

#-------------------------------------------------------------------------------
# 0. Loop over tests
#-------------------------------------------------------------------------------

for i_test in 1 2 ; do  # physical options

  for i_type in FM TL AD ; do # model type

#-------------------------------------------------------------------------------
# 1. Define variables
#-------------------------------------------------------------------------------

    case $i_type in

      FM) # Forward model code
        EXEC=./t_twodop
        COMMENT="FM TWOD"
        ;;

      TL) # Tangent linear code
        EXEC=./t_twodtl
        COMMENT="FM_TL TWOD"
        ;;

      AD) # Adjoint code
        EXEC=./t_twodad
        COMMENT="FM_AD TWOD"
        ;;

    esac

    case $i_test in

      1)  # default options
        CMD="$EXEC"
        TEST=`echo "$EXEC"_1 |sed -es/'.\/'//`
        COMMENT="$COMMENT"
        ;;

      2)  # compressibility factors
        CMD="$EXEC -comp"
        TEST=`echo "$EXEC"_2 |sed -es/'.\/'//`
        COMMENT="$COMMENT -comp"
        ;;

    esac

    LOGFILE=${TEST}.log

    echo " "
    echo "Running $TEST ($COMMENT) ..."

    echo "*** Results log of $TEST ($COMMENT) ***" > $LOGFILE

    if [ "$(echo $(basename $(dirname $PWD)) |cut -c1-7)"/"$(basename $PWD)" != "ropp_fm/tests" ] ; then
      echo "*** Not in ropp_fm*/tests subdirectory - test NOT PERFORMED"  >> $LOGFILE
      exit 1
    fi


#-------------------------------------------------------------------------------
# 2. Run the ropp_fm executable
#-------------------------------------------------------------------------------

    if [ -f $EXEC ]; then

      echo "$CMD"  >> $LOGFILE
            $CMD  >> $LOGFILE

    else

      echo "*** $EXEC not found - test FAILED"  >> $LOGFILE

    fi

    if [ -n ${ROPP_VERBOSE:-''} ] ; then

      cat $LOGFILE

    else

      if [ -f $EXEC ]; then

        echo "****************************"
        echo "**********"  `tail -1 ./compare.txt |cut -d"|" -f5 | sed -es/' '//g`  "**********"
        echo "****************************"

      else

        echo "*** $EXEC not found - test FAILED"

      fi

    fi


#-------------------------------------------------------------------------------
# 3. Finish
#-------------------------------------------------------------------------------

    echo "... examine $LOGFILE for details"
    echo " "

  done  # loop over model types

done  # loop over options

exit 0
