#! /bin/sh

     ###################################### 
     ##### Model Transformation Tools #####
     ######################################

# Bourne shell script: dat22dat
# Splits the data file into output and state bits

# Copyright (c) P.J.Gawthrop 1999

###############################################################
## Version control history
###############################################################
## $Id$
## $Log$
## Revision 1.9  2000/09/27 16:12:50  peterg
## Use expr to evaluate arithmetic - compatible with sh (as opposed to
## bash)
##
## Revision 1.8  2000/09/21 10:07:06  peterg
## Now correctely writes out the state into _odes.dat rep.
##
## Revision 1.7  2000/04/06 09:02:46  peterg
## Removed bash let commands as unsupported by sh
## Do arithmetic within awk - yuk
##
## Revision 1.6  2000/04/06 08:36:15  peterg
## *** empty log message ***
##
## Revision 1.5  1999/03/15 22:42:52  peterg
## Strip comments (put in by Octave save function)
##
## Revision 1.4  1999/03/15 21:55:36  peterg
## Does away with the # symbol in the file - uses _de to get Nx Ny
## instead
##
###############################################################
if [ -z "$1" ]; then
  echo "Usage: dat22dat system ode|odes so|s"
  exit
fi

# Find Nx and Ny
Nx=`mtt_getsize $1 x` # States
Ny=`mtt_getsize $1 y` # Outputs

case $3 in
    so)
	First=1; Last=`expr $First + $Ny`
	;;
    s)
	First=`expr $Ny + 2`; Last=`expr $First + $Nx`
	;;
    *)
	First=1; Last=`expr $Ny + 1`
        ;;
esac

echo Creating $1_$2$3.dat

awk '{
      ## Extract the data
      if (index($1,"#") != 1){
        for (i=First;i<=Last;i++)
	  printf("%s ", $i);
      printf("\n"); 
  }
}' First=$First Last=$Last <$1_$2s.dat2  > $1_$2$3.dat
