#!/bin/bash

# Testing error fields
# with a few data points and a coarse grid (should be quick)
# ctroupin, April 2013

if [ "$#" == "1" ]
then
        ndata=$1
else
        ndata='150'
fi
echo 'Now testing diva error computation'
echo 'using '${Ndata} 'data points' 

inputdir=$(pwd)'/input/'
contfile=${inputdir}'coast.cont'
datafile=${inputdir}'data.dat'
paramfile=${inputdir}'param.par.base'
paramfile2=${inputdir}'param.par'
timefile=$(pwd)'/output/time_error_'$$'.log'
divaclean

echo '' > $timefile

##echo ${inputdir}
echo //////////////////////////////////////////////////
echo 'Running a simple test'
echo //////////////////////////////////////////////////
echo ' '

echo '1. creating data file'
echo ' '

awk -v N=$ndata 'BEGIN { for (i = 1; i <= N; i++)
        {x=rand();y=rand();z=rand();print x,y,xy-z} }' > ${datafile}

echo '2. creating contour file'
echo ' '

echo 2 > ${contfile}
echo 4 >> ${contfile}
echo -0.001 -0.001 >> ${contfile}
echo 1.001 -0.001 >> ${contfile}
echo 1.001 1.001 >> ${contfile}
echo -0.001 1.001 >> ${contfile}
echo 4 >> ${contfile}
echo 0.401 0.201 >> ${contfile}
echo 0.401 0.801 >> ${contfile}
echo 0.601 0.801 >> ${contfile}
echo 0.601 0.201 >> ${contfile}


echo '3. creating parameter file'
echo ' '

echo '# Correlation Length lc' > ${paramfile}
echo '0.2' >> ${paramfile}
echo '# icoordchange' >> ${paramfile}
echo '0' >> ${paramfile}
echo '# ispec' >> ${paramfile}
echo '11' >> ${paramfile}
echo '# ireg' >> ${paramfile}
echo '0' >> ${paramfile}
echo '# xori' >> ${paramfile}
echo '0' >> ${paramfile}
echo '# yori' >> ${paramfile}
echo '0' >> ${paramfile} 
echo '# dx' >> ${paramfile}
echo '0.02' >> ${paramfile}
echo '# dy' >> ${paramfile}
echo '0.02' >> ${paramfile}
echo '# nx' >> ${paramfile}
echo '51' >> ${paramfile}
echo '#ny' >> ${paramfile}
echo '51' >> ${paramfile}
echo '# valex' >> ${paramfile}
echo '-99' >> ${paramfile}
echo '# snr' >> ${paramfile}
echo '1.0' >> ${paramfile}
echo '# varbak' >> ${paramfile}
echo '1.0' >> ${paramfile}

divamesh


# Start a loop on a list of values for ispec
# in the file param.par

filesuffix=( hybrid realcov poorman realcov_bnd cpme exerr exerr_bnd )
let iii=0
for ispec in {7,-7,17,-17,107,-107,-117}
do

sed "6s/.*/${ispec}/" ${paramfile} > ${paramfile2}


timeinit=$(date +%s.%N)
divacalc
timeend=$(date +%s.%N)

timecalc=$(echo ${timeend} ${timeinit} | awk '{print ($1-$2)}')
echo 'time for ' ${filesuffix[$iii]} ' error computation:' ${timecalc} ' s' >> $timefile


echo ' '
echo 'Copying output file'
cp -v ./output/ghertonetcdf/results.nc './output/ghertonetcdf/error_'${filesuffix[$iii]}$$'.nc'
cp -v ./output/errorfieldgher.anl './output/error_'${filesuffix[$iii]}$$'.anl'

let iii=${iii}+1
done

echo ''
echo 'Check the error files in output/ghertonetcdf'

