#!/bin/csh -f

# set verbose
# set echo

if ($#argv != 2) then
  echo " Usage: getdiff directory1 directory2"
  exit 1
else
  if ( ! -d $1 ) then
    echo "Directory $1 not exists."
    exit 1
  else if ( ! -d $2 ) then
    echo "Directory $2 not exists."
    exit 1
  endif
endif

echo "$0 $1 $2"
echo ""

#set sub_dirs = ( validate docs input scripts snd include )
set sub_dirs = ( data docs include input scripts sounding )

set sub_dirs = ( $sub_dirs data/adas )
set sub_dirs = ( $sub_dirs data/arpsplt )
set sub_dirs = ( $sub_dirs data/arpsverif )
set sub_dirs = ( $sub_dirs data/pltradcol )
set sub_dirs = ( $sub_dirs src/88d2arps )
set sub_dirs = ( $sub_dirs src/88d2arps/a2io )
set sub_dirs = ( $sub_dirs src/adas )
set sub_dirs = ( $sub_dirs src/arps )
set sub_dirs = ( $sub_dirs src/arps2wrf )
set sub_dirs = ( $sub_dirs src/arps3dvar )
set sub_dirs = ( $sub_dirs src/arps_mp )
set sub_dirs = ( $sub_dirs src/arpsagr )
set sub_dirs = ( $sub_dirs src/arpsassim )
set sub_dirs = ( $sub_dirs src/arpscvt )
set sub_dirs = ( $sub_dirs src/arpscvtobs )
set sub_dirs = ( $sub_dirs src/arpsdiff )
set sub_dirs = ( $sub_dirs src/arpsens )
set sub_dirs = ( $sub_dirs src/arpsextsnd )
set sub_dirs = ( $sub_dirs src/arpsintrp )
set sub_dirs = ( $sub_dirs src/arpsplt )
set sub_dirs = ( $sub_dirs src/arpsprt )
set sub_dirs = ( $sub_dirs src/arpssfc )
set sub_dirs = ( $sub_dirs src/arpssoil )
set sub_dirs = ( $sub_dirs src/arpstern )
set sub_dirs = ( $sub_dirs src/arpstintrp )
set sub_dirs = ( $sub_dirs src/arpstrajc )
set sub_dirs = ( $sub_dirs src/arpstrn )
set sub_dirs = ( $sub_dirs src/arpsverif )
set sub_dirs = ( $sub_dirs src/arpsverif/iplib )
set sub_dirs = ( $sub_dirs src/ext2arps )
set sub_dirs = ( $sub_dirs src/external/inc )
set sub_dirs = ( $sub_dirs src/external/io_int )
set sub_dirs = ( $sub_dirs src/external/io_phdf5 )
set sub_dirs = ( $sub_dirs src/external/g2lib )
set sub_dirs = ( $sub_dirs src/mci2arps )
set sub_dirs = ( $sub_dirs src/mosaic2arps )
set sub_dirs = ( $sub_dirs src/skewt )
set sub_dirs = ( $sub_dirs src/wrf2arps )
set sub_dirs = ( $sub_dirs src/wtretcol )
set sub_dirs = ( $sub_dirs src/zxplot )

foreach file ( $1/BUGS* $1/CHANGES* $1/HISTORY* $1/?akefile* $1/makearps* $1/MANIFESTS* $1/README* $1/UPDATE* $1/*.f90 $1/*.F90 $1/*.f $1/*.c $1/*.F $1/*.inc $1/*.h $1/*.cmn $1/*.input $1/link* $1/*mkarps* $1/test* $1/zx*f?? $1/nqs.* $1/*.gs $1/template*.ctl $1/*.snd $1/*.adastab $1/*.sfc $1/*.pl $1/*.pm )
  set f = `basename $file`
  if ( -f $2/$f ) then
    echo "############ $f ############"
    diff $1/$f $2
  else
    echo "File $2/$f not found"
  endif
end

foreach dir ( $sub_dirs )
  if ( -d $1/$dir ) then
    echo "------------"
    echo "------------ $1/$dir ------------"
    echo "------------"
    foreach file ( $1/$dir/README* $1/$dir/?akefile* $1/$dir/*.f90 $1/$dir/*.F90 $1/$dir/*.f $1/$dir/*.c $1/$dir/*.F $1/$dir/*.inc $1/$dir/*.h $1/$dir/*.cdk $1/$dir/*.cmn $1/$dir/*.input $1/$dir/linkxlC* $1/$dir/*mkarps* $1/$dir/test* $1/$dir/zx*f?? $1/$dir/nqs.* $1/$dir/*.gs $1/$dir/template*.ctl $1/$dir/*.snd $1/$dir/*.adastab $1/$dir/*.sfc $1/$dir/*.pl $1/$dir/*.pm $1/$dir/*.mapdata $1/$dir/*.meta $1/$dir/*.tbl)
      set f = `basename $file`
      if ( -d $2/$dir ) then
        if ( -f $2/$dir/$f ) then
          echo "############ $1/$dir/$f ############"
          diff $1/$dir/$f $2/$dir
        else
          echo "File $2/$dir/$f not found"
        endif
      else
        if ( -f $2/$f ) then
          echo "############ $1/$dir/$f ############"
          diff $1/$dir/$f $2
        else
          echo "File $2/$f not found"
        endif
      endif
    end
  else if ( -d $2/$dir ) then
    echo "------------"
    echo "------------ $2/$dir ------------"
    echo "------------"
    foreach file ( $2/$dir/README* $2/$dir/?akefile* $2/$dir/*.f90 $2/$dir/*.F90 $2/$dir/*.f $2/$dir/*.c $2/$dir/*.F $2/$dir/*.inc $2/$dir/*.h $2/$dir/*.cmn $2/$dir/*.input $2/$dir/linkxlC* $2/$dir/*mkarps* $2/$dir/test* $2/$dir/zx*f?? $2/$dir/nqs.* $2/$dir/*.gs $2/$dir/template*.ctl $2/$dir/*.snd $2/$dir/*.adastab $2$dir/*.sfc $2/$dir/*.pl $2/$dir/*.pm $2/$dir/*.mapdata $2/$dir/*.meta $2/$dir/*.tbl)
      set f = `basename $file`
      if ( -d $1/$dir ) then
        if ( -f $1/$dir/`basename $f` ) then
          echo "############ $2/$dir/$f ############"
          diff $2/$dir/$f  $1/$dir
        else
          echo "File $1/$dir/$f not found"
        endif
      else
        if ( -f $1/$f ) then
          echo "############ $2/$dir/$f ############"
          diff $2/$dir/$f $1
        else
          echo "File $1/$f not found"
      endif
    end
  endif
  endif
end

exit 0
