#!/bin/bash
echo //////////////////////////////////////////////////
echo           Going to compute covariances
echo //////////////////////////////////////////////////
echo ' '

dvcovariancelog='./output/dvcovariance.log'
echo ////////////////////////////////////////////////// > $dvcovariancelog
echo           Going to compute covariances >> $dvcovariancelog
echo ////////////////////////////////////////////////// >> $dvcovariancelog
echo ' ' >> $dvcovariancelog
 
if [ -f ./input/data.dat ] 
then 
cp ./input/data.dat ./divawork/fort.45
head -1 ./meshgenwork/fort.22 > ./divawork/bidon
{
read nnn xxx yyy
} < ./divawork/bidon
rm ./divawork/bidon
echo $xxx $yyy 1 1.E-10 > ./divawork/fort.44
else
echo Need to provide data.dat in ./input ! >> $dvcovariancelog
echo Need to provide data.dat in ./input !
fi
cd ./divawork
rm -f fort.59
rm -f fort.61
wc -l fort.45 > fort.55
echo coord 1 > ./fort.10
echo $icoordchange >> ./fort.10
echo mathpr 1 >> ./fort.10
echo 2 >> ./fort.10
echo 0 >> ./fort.10
echo 2 >> ./fort.10
echo topolo 1 >> ./fort.10
echo $nnt1 >> ./fort.10
echo $nnint >> ./fort.10
echo $nelt >> ./fort.10
echo datapr 1 >> ./fort.10
echo 0 >> ./fort.10
if [ "$itcs" != "0" ] 
then 
echo dvcovariance: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! >> ../$dvcovariancelog
echo dvcovariance:   Module constraint activated >> ../$dvcovariancelog
echo dvcovariance:  $itcs
echo constr 1 >> ./fort.10
echo $itcs >> ./fort.10
echo dvcovariance:  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! >> ../$dvcovariancelog
fi
echo solver 1 >> ./fort.10
echo 0 >> ./fort.10
echo stores 1 >> ./fort.10
echo 3 >> ./fort.10
echo VARBAK: $varbak >> $dvcovariancelog
if [ "$varbak" != "0" ]
then
if [ "$ispec" != "0" ]
then
echo dvcovariance:  errors will be calculated >> ../$dvcovariancelog
echo covar 1 >> ./fort.10
echo $ispec >> ./fort.10
fi
fi
echo stopex >> ./fort.10
echo $lc 1 4 $xi | ../../bin/calcmu.a >> ../output/diva.log
if [ $? -ne "0" ];then
echo dvcovariance: ' ' >> ../$dvcovariancelog
echo dvcovariance: -------------------------------------------- >> ../$dvcovariancelog
echo dvcovariance: A problem was encountered during execution ! >> ../$dvcovariancelog
echo dvcovariance:               calmu.a >> ../$dvcovariancelog
echo dvcovariance: Check execution track >> ../$dvcovariancelog
echo dvcovariance: -------------------------------------------- >> ../$dvcovariancelog
echo dvcovariance: ' '
echo dvcovariance: --------------------------------------------
echo dvcovariance: A problem was encountered during execution !
echo dvcovariance:               calmu.a
echo dvcovariance: Check execution track
echo dvcovariance: --------------------------------------------
echo ' ' >> ../output/diva.log
echo -------------------------------------------- >> ../output/diva.log
echo A problem was encountered during execution ! >> ../output/diva.log
echo                calmu.a  >> ../output/diva.log
echo Check execution track >> ../output/diva.log
echo -------------------------------------------- >> ../output/diva.log
fi
#execute diva
let NREA=$NREA+3*$NDATA
let NREA=$NREA+$NDDLT
let NINT=$NINT+$NDATA
mkdir -p sub
rm -f fort.61
echo $ipipe > fort.59
cd sub
rm -f fort.*
cp ../fort.* .
cd ..
rm -f divapipe
if [ "$ipipe" == "1" ] 
then
#mknod divapipe p
rm -f dvping
mknod dvping p
rm -f dvpong
mknod dvpong p
sleep 1
cd sub
echo dvcovariance: Launching a detached diva.a >> ../../$dvcovariancelog
echo $NINT $NREA | ../../../bin/diva.a >> ../../output/diva.log &
if [ $? -ne "0" ];then
echo ' ' >> ../../$dvcovariancelog
echo dvcovariance: -------------------------------------------- >> ../../$dvcovariancelog
echo dvcovariance: A problem was encountered during execution ! >> ../../$dvcovariancelog
echo dvcovariance:                diva.a >> ../../$dvcovariancelog
echo dvcovariance: Check execution track >> ../../$dvcovariancelog
echo dvcovariance: -------------------------------------------- >> ../../$dvcovariancelog
echo ' '
echo dvcovariance: --------------------------------------------
echo dvcovariance: A problem was encountered during execution !
echo dvcovariance:                diva.a
echo dvcovariance: Check execution track
echo dvcovariance: --------------------------------------------
echo ' ' >> ../../output/diva.log
echo -------------------------------------------- >> ../../output/diva.log
echo A problem was encountered during execution ! >> ../../output/diva.log
echo                diva.a  >> ../../output/diva.log
echo Check execution track >> ../../output/diva.log
echo -------------------------------------------- >> ../../output/diva.log
fi
else
cd sub
echo Launching a sequential diva.a
echo $NINT $NREA | ../../../bin/diva.a >> ../../output/diva.log
if [ $? -ne "0" ];then
echo ' ' >> ../../$dvcovariancelog
echo dvcovariance: -------------------------------------------- >> ../../$dvcovariancelog
echo dvcovariance: A problem was encountered during execution ! >> ../../$dvcovariancelog
echo dvcovariance:                diva.a >> ../../$dvcovariancelog
echo dvcovariance: Check execution track >> ../../$dvcovariancelog
echo dvcovariance: -------------------------------------------- >> ../../$dvcovariancelog
echo ' '
echo dvcovariance: --------------------------------------------
echo dvcovariance: A problem was encountered during execution !
echo dvcovariance:                diva.a
echo dvcovariance: Check execution track
echo dvcovariance: --------------------------------------------
echo ' ' >> ../../output/diva.log
echo -------------------------------------------- >> ../../output/diva.log
echo A problem was encountered during execution ! >> ../../output/diva.log
echo                diva.a  >> ../../output/diva.log
echo Check execution track >> ../../output/diva.log
echo -------------------------------------------- >> ../../output/diva.log
fi
fi
let NREA=$NREA-3*$NDATA
let NREA=$NREA-$NDDLT
let NINT=$NINT-$NDATA
cd ..
cd ..
echo dvcovariance: ==============================================  >> $dvcovariancelog
echo dvcovariance: ---------------------------------------------- >> $dvcovariancelog
echo dvcovariance: Analysed for covariance is launched >> $dvcovariancelog
echo dvcovariance: Now will start diva for fields and errors >> $dvcovariancelog
echo dvcovariance: ---------------------------------------------- >> $dvcovariancelog
echo dvcovariance:  ============================================== >> $dvcovariancelog
echo dvcovariance: ============================================== 
echo dvcovariance: ----------------------------------------------
echo dvcovariance: Analysed for covariance is launched
echo dvcovariance: Now will start diva for fields and errors
echo dvcovariance: ----------------------------------------------
echo dvcovariance:  ==============================================
