#! /bin/bash
################
#
bottm=$1
surf=$2
var=$3
itrans=$4
#
dvdatatransflog='./output/3Danalysis/'$var'_dvdatatransf.log'
#
if [ -d "./3DWORK" ];then
echo 'starting data transformation' > $dvdatatransflog
echo 'starting data transformation'
else
mkdir -p ./3DWORK
echo 'starting data transformation' > $dvdatatransflog
echo 'starting data transformation'
fi
echo 'making a backup of  ./input/divadata' >> $dvdatatransflog
cp -r ./input/divadata ./input/divadata_BKP
#
if [ "$itrans" == "13" -o "$itrans" == "23" ];then 
echo Start anamorphose transformation >> $dvdatatransflog
#################################
dep=$bottm
rm -f ./3DWORK/fort.44
while [ $dep -le $surf ]
do
let level=10000+$dep
#
cd ./input/divadata
  file=$var.$level
  nbcl=$(head -n 1 $file | wc -w)
  nbln=$(cat $file |wc -l)
  echo $var > ../../3DWORK/fort.44
  echo $itrans >> ../../3DWORK/fort.44
  echo $bottm >> ../../3DWORK/fort.44
  echo $surf >> ../../3DWORK/fort.44
  echo $nbln >> ../../3DWORK/fort.44
  echo $nbcl >> ../../3DWORK/fort.44
  echo $dep >> ../../3DWORK/fort.44
cd ../../3DWORK/


echo dvdatatransf: ////////////////////////////////////////// >> ../output/diva.log
echo dvdatatransf:       addnoise   >> ../output/diva.log
echo dvdatatransf: ////////////////////////////////////////// >> ../output/diva.log
echo ' '  >> ../output/diva.log

../../bin/addnoise.a >> ../output/diva.log

if [ $? -ne 0 ];then
echo ' '
echo --------------------------------------------
echo A problem was encountered during execution !
echo       dvdatatransf:  addnoise.a
echo Check execution track
echo --------------------------------------------
echo ' ' >> ../$dvdatatransflog
echo -------------------------------------------- >> ../$dvdatatransflog
echo A problem was encountered during execution ! >> ../$dvdatatransflog
echo       dvdatatransf:  addnoise.a >> ../$dvdatatransflog
echo Check execution track >> ../$dvdatatransflog
echo -------------------------------------------- >> ../$dvdatatransflog
echo ' ' >> output/diva.log
echo -------------------------------------------- >> ../output/diva.log
echo A problem was encountered during execution ! >> ../output/diva.log
echo       dvdatatransf:   addnoise.a  >> ../output/diva.log
echo Check execution track >> ../output/diva.log
echo -------------------------------------------- >> ../output/diva.log
fi

cd ../
dep=`expr $dep + 1`
done
cd input/divadata
##echo $PWD
##ls -l
dep=$bottm
while [ $dep -le $surf ]
do
let level=10000+$dep
file=$var.$level
nbcl=$(head -n 1 $file | wc -w)
nbln=$(cat $file |wc -l)
echo $file $nbln $nbcl >> ../../3DWORK/lsdivadata
echo 'bruit_'$var.$level >> ../../3DWORK/bruitls
dep=`expr $dep + 1`
done
cat 'bruit_'$var.1* >../../3DWORK/$var'_noise'
cd ../../3DWORK/
  file=$var'_noise'
  nbln=$(cat $file |wc -l)
  file='lsdivadata'
  nbfl=$(cat $file |wc -l)
  echo $var > fort.44
  echo $itrans >> fort.44
  echo $bottm >> fort.44
  echo $surf >> fort.44
  echo $nbln >> fort.44


echo dvdatatransf: ////////////////////////////////////////// >> ../output/diva.log
echo dvdatatransf:       sortall   >> ../output/diva.log
echo dvdatatransf: ////////////////////////////////////////// >> ../output/diva.log
echo ' '  >> ../output/diva.log

../../bin/sortall.a >> ../output/diva.log

if [ $? -ne 0 ];then
echo ' '
echo --------------------------------------------
echo A problem was encountered during execution !
echo       dvdatatransf:  sortall.a
echo Check execution track
echo --------------------------------------------
echo ' ' >> ../$dvdatatransflog
echo -------------------------------------------- >> ../$dvdatatransflog
echo A problem was encountered during execution ! >> ../$dvdatatransflog
echo       dvdatatransf:  sortall.a >> ../$dvdatatransflog
echo Check execution track >> ../$dvdatatransflog
echo -------------------------------------------- >> ../$dvdatatransflog
echo ' ' >> ../output/diva.log
echo -------------------------------------------- >> ../output/diva.log
echo A problem was encountered during execution ! >> ../output/diva.log
echo       dvdatatransf:   sortall.a  >> ../output/diva.log
echo Check execution track >> ../output/diva.log
echo -------------------------------------------- >> ../output/diva.log
fi


  file='../input/divadata/'$var'_inverf'
  nbln=$(cat $file |wc -l)
  file='lsdivadata'
  nbfl=$(cat $file |wc -l)
  echo $var > fort.44
  echo $itrans >> fort.44
  echo $bottm >> fort.44
  echo $surf >> fort.44
  echo $nbln >> fort.44
  echo $nbfl >> fort.44


echo dvdatatransf: ////////////////////////////////////////// >> ../output/diva.log
echo dvdatatransf:       datadispach   >> ../output/diva.log
echo dvdatatransf: ////////////////////////////////////////// >> ../output/diva.log
echo ' '  >> ../output/diva.log

../../bin/datadispach.a >> ../output/diva.log

if [ $? -ne 0 ];then
echo ' '
echo --------------------------------------------
echo A problem was encountered during execution !
echo       dvdatatransf:  datadispach.a
echo Check execution track
echo --------------------------------------------
echo ' ' >> ../$dvdatatransflog
echo -------------------------------------------- >> ../$dvdatatransflog
echo A problem was encountered during execution ! >> ../$dvdatatransflog
echo       dvdatatransf:  datadispach.a >> ../$dvdatatransflog
echo Check execution track >> ../$dvdatatransflog
echo -------------------------------------------- >> ../$dvdatatransflog
echo ' ' >> ../output/diva.log
echo -------------------------------------------- >> ../output/diva.log
echo A problem was encountered during execution ! >> ../output/diva.log
echo       dvdatatransf:   datadispach.a  >> ../output/diva.log
echo Check execution track >> ../output/diva.log
echo -------------------------------------------- >> ../output/diva.log
fi
cd ../
echo 'finished anamorphose data transformation' >> $dvdatatransflog
echo 'finished anamorphose data transformation'

else

# Start data transformation
#################################
#
dep=$bottm
rm -f ./3DWORK/fort.44
while [ $dep -le $surf ]
do
let level=10000+$dep
#
cd ./input/divadata
  file=$var.$level
  nbcl=$(head -n 1 $file | wc -w)
  nbln=$(cat $file |wc -l)

  echo $var > ../../3DWORK/fort.44
  echo $itrans >> ../../3DWORK/fort.44
  echo $bottm >> ../../3DWORK/fort.44
  echo $surf >> ../../3DWORK/fort.44
  echo $nbln >> ../../3DWORK/fort.44
  echo $nbcl >> ../../3DWORK/fort.44
  echo $dep >> ../../3DWORK/fort.44

  cd ../../3DWORK/



echo dvdatatransf: ////////////////////////////////////////// >> ../output/diva.log
echo dvdatatransf:      datatrans   >> ../output/diva.log
echo dvdatatransf: ////////////////////////////////////////// >> ../output/diva.log
echo ' '  >> ../output/diva.log

  ../../bin/datatrans.a >> ../output/diva.log

if [ $? -ne 0 ];then
echo ' '
echo --------------------------------------------
echo A problem was encountered during execution !
echo       dvdatatransf:  datatrans.a
echo Check execution track
echo --------------------------------------------
echo ' ' >> ../$dvdatatransflog
echo -------------------------------------------- >> ../$dvdatatransflog
echo A problem was encountered during execution ! >> ../$dvdatatransflog
echo       dvdatatransf:  datatrans.a >> ../$dvdatatransflog
echo Check execution track >> ../$dvdatatransflog
echo -------------------------------------------- >> ../$dvdatatransflog
echo ' ' >> ../output/diva.log
echo -------------------------------------------- >> ../output/diva.log
echo A problem was encountered during execution ! >> ../output/diva.log
echo       dvdatatransf:   datatrans.a  >> ../output/diva.log
echo Check execution track >> ../output/diva.log
echo -------------------------------------------- >> ../output/diva.log
fi


  if [ -f fort.55 ];then
  mv fort.55 ERR.$var.$level
  fi
cd ../
#
 dep=`expr $dep + 1`
done
echo 'finished transforming data' > $dvdatatransflog
echo 'finished transforming data'
#
fi
echo  End transformations > $dvdatatransflog
echo  End transformations
#################################
#
