#!/bin/sh
#
#****s* fm/test_fm_iono2.sh
#
# NAME
#    test_fm_iono2.sh - Test the ropp_fm L1 and L2 bangle routines on 1D ECMWF backgrounds.
#
# SYNOPSIS
#   test_fm_iono2.sh
#
# DESCRIPTION
#   Tests the ROPP L1/2 bangle foprward modelling routines.
#   Uses input data file ../data/bgr20090401_000329_M02_2030337800_N0007_YYYY.nc
#
# 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 ; 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_iono
        COMMENT="FM iono2"
        ;;

      TL) # Tangent linear code
        EXEC=./t_iono_tl
        COMMENT="FM_TL iono2"
        ;;

      AD) # Adjoint code
        EXEC=./t_iono_ad
        COMMENT="FM_AD iono2"
        ;;

    esac

    case $i_test in

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

    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
