#!/bin/sh
#
#****s* fm/test_fm_FASCOD.sh
#
# NAME
#    test_fm_FASCOD.sh - Test the ropp_fm routines on 1D FASCOD backgrounds.
#
# SYNOPSIS
#   test_fm_FASCOD.sh
#
# DESCRIPTION
#   Tests the 1D ROPP forward model routines.
#   Uses input FASCOD data files ../data/FASCOD_Scenarios.nc 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 3 4 ; 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_fascod
        COMMENT="FM FASCOD"
        ;;

      TL) # Tangent linear code
        EXEC=./t_fascod_tl
        COMMENT="FM_TL FASCOD"
        ;;

      AD) # Adjoint code
        EXEC=./t_fascod_ad
        COMMENT="FM_AD FASCOD"
        ;;

    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"
        ;;

      3)  # new interpolation scheme
        CMD="$EXEC -new_op"
        TEST=`echo "$EXEC"_3 |sed -es/'.\/'//`
        COMMENT="$COMMENT -new_op"
        ;;

      4)  # compressibility factors and new interpolation scheme
        CMD="$EXEC -comp -new_op"
        TEST=`echo "$EXEC"_4 |sed -es/'.\/'//`
        COMMENT="$COMMENT -comp -new_op"
        ;;

    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
