#!/bin/csh
set IO = `basename $0`
#
#------------------------------------------------------- Fortran Code ---------
cat >! ${IO}.f << FINEF90
	parameter (ixm=100,jxm=100,kxm=23)
	real tgr(ixm,jxm),u(ixm,jxm,kxm),v(ixm,jxm,kxm),lat(ixm,jxm),
	2         lon(ixm,jxm)
        character data*40
        open (40,file='tmp/MMOUTP_DOMAIN3',form='unformatted',status='old')
        n=0
        call mm5readfld (40,'latitdot',n,lat,ixm,jxm,1,ix,jx,kx)
        call mm5readfld (40,'longidot',n,lon,ixm,jxm,1,ix,jx,kx)
        call mm5readfld (40,'u' ,n,u,ixm,jxm,kxm,ix,jx,kx)
        call mm5readfld (40,'v' ,n,v,ixm,jxm,kxm,ix,jx,kx)
        call mm5readfld (40,'ground t',n,tgr  ,ixm,jxm,1,ix,jx,kx)
        call kelvin2centi(tgr,ixm,jxm,1)
        call datafrommm5index (mm5mif(1,mm5mif(1,1)),data)
	call mvsetflags('Plot confini',3.0)
	call mvsetflags('Colore confini',7.0)
	call mvsetflags('Label Direction',1.0)
        call mvsetflags('Colore Titoli',20.0)
	call mm5freccette(u,v,lat,lon,ixm,jxm,kxm,ix-1,jx-1)
        call mm5colormap(tgr,ixm,jxm,ix-1,jx-1,'temperatura')
	call scrivisulplot(data,0.5,0.92)
	call displayexample('$IO','How to use mm5colormap and mm5freccette',' ')

	call mvsetflags('Colore freccetelle',3.0)
	call mvsetflags('step freccette',2.0)
        call mm5colormap(tgr,ixm,jxm,ix-1,jx-1,'temperatura')
	call mm5freccetelle(u,v,ixm,jxm,kxm,ix-1,jx-1)
	call scrivisulplot(data,0.5,0.92)
	call displayexample('$IO','How to use mm5colormap - mm5freccetelle',' ')
        end
FINEF90
set LOGF = "true" 
set LOGF = "false" 

goto chkplatf 
retchkplatf:

if ( -f $IO.exe ) /bin/rm $IO.exe
f90 $OPTION -o $IO.exe $IO.f $JETNET $MVLIB $NCARLIB $X11LIB >&! fortran.log

if ( ! -x $IO.exe ) then
      echo " ${IO}: cannot find $IO.exe "
      echo "    This is the log for compilation:"
      echo "******************************************************************"
      cat fortran.log
      echo "******************************************************************"
      goto CANCELLA
else if ( $LOGF == "true" ) then
      cat fortran.log
      echo " Running $IO.exe"
endif

./$IO.exe

CANCELLA:
if  ( $LOGF == "true" ) echo " Removing all tmp files."
foreach FILE ( $IO.exe gmeta core $IO.log fortran.log \
               gifmerge.log ${IO}common.f CONDRV.SCR tbl.tmp )
   if ( -f $FILE) /bin/rm $FILE
end
if  ( $LOGF == "true" ) echo " Done."
exit

chkplatf:
set CHKSEL = "${?IO}"
if ( $CHKSEL == 0 ) set IO = `basename $0`
set CHKSEL = "${?SELCOMP}"
if ( $CHKSEL == 0 ) set SELCOMP = "nocomp"

set X11LIB = " -lX11 -lm "
if ( $SELCOMP == "nocomp" ) then
else if ( $SELCOMP == "pgf90" ) then
   if ( ! -X ${SELCOMP} ) then
      echo " ${IO}: ${SELCOMP} non available on this system. Exiting..."
      exit
   endif
   alias f90 pgf90 ; set COMP = "pgf90"
   set OPTION = '-silent -Mextend -byteswapio'
   set IPLATF = 5
   goto retchkplatf
else if ( $SELCOMP == "ifort" ) then
   if ( ! -X ${SELCOMP} ) then
      echo " ${IO}: ${SELCOMP} non available on this system. Exiting..."
      exit
   endif
   alias f90 ifort ; set COMP = "ifort"
   set OPTION = '-O2 -extend-source -convert big_endian'
   set IPLATF = 5
   goto retchkplatf
else if ( $SELCOMP == "gfortran" ) then
   if ( ! -X ${SELCOMP} ) then
      echo " ${IO}: ${SELCOMP} non available on this system. Exiting..."
      exit
   endif
   alias f90 gfortran ; set COMP = "gfortran"
   set OPTION = '-ffixed-line-length-132 -fconvert=big-endian -w -Wno-tabs -O2'
   set IPLATF = 5
   goto retchkplatf
else
   echo " ${IO}: compiler ${SELCOMP} not available on this machine, exiting..."
   exit
endif
set COMP = "f90"
if ( `uname -a | grep alpha  | wc -l` > 0 ) then
    set OPTION = ' -convert big_endian -extend_source'
    set IPLATF = 1
else if ( `uname -a | grep SunOS  | wc -l` > 0 ) then
    set OPTION = ' -silent -e'         #  -silent is unknown for f90
    set OPTION = ' -e'
    set IPLATF = 2
else if ( `uname -a | grep IRIX64 | wc -l` > 0 ) then
#   set OPTION = ' -n32 -pfa -mpio -mp -Ofast '
    set OPTION = ' -n32 -Ofast -extend_source'
    set IPLATF = 3
else if ( `uname -a | grep AIX  | wc -l` > 0 ) then
    set OPTION = ' -q64 '
    set AROPT  = ' -X 64 '
    set IPLATF = 4
    echo " Preprocessing source files for IBM AIX Platform."
    ./ibmsources
    set FILES = `ls *.f`
    foreach FILE ( $FILES )
       ./ibmsources.exe $FILE
    end
    /bin/rm ./ibmsources.exe
    alias f90 xlf
    set COMP = "xlf"
else if ( `uname -a | grep Linux  | wc -l` > 0 ) then
    if ( -X gfortran ) then
       alias f90 gfortran ; set COMP = "gfortran"
       set OPTION = \
           ' -ffixed-line-length-132 -fconvert=big-endian -w -Wno-tabs -O2'
#      set NOLTIME = 'true'
    else if ( -X ifort ) then
       alias f90 ifort ; set COMP = "ifort"
       set OPTION = ' -O2 -extend-source -convert big_endian'
    else if ( -X pgf90 ) then
       alias f90 pgf90 ; set COMP = "pgf90"
       set OPTION = ' -silent -Mextend -byteswapio '
    endif
    set IPLATF = 5
else
    echo " Unknown HW/SW Platform. Exiting ..."
    exit
endif
#                                       Alla ricerca delle ncarlib
set NCARLIB = ' '
foreach JDIR ( /usr/lib /usr/local/lib /usr/local/ncarg /usr/local/ncarg/lib \
               $HOME/../verdecch/ncarg/lib/ $HOME/ncarg $HOME/ncarg/lib \
               ./ncarg ./ncarg/lib )
   if ( -f $JDIR/libncarg.a ) then 
      set NCARLIB  = " -L$JDIR -lncarg -lncarg_gks -lncarg_c "
      setenv NCARG_ROOT $JDIR 
   endif
end

#					Alla ricerca delle mvlib
set MVLIB = " "
if ( -f /usr/local/lib/libmv.a )                                                   set MVLIB = " -L/usr/local/lib -lmvgraf -lncaruti -lmv"
if ( -f ./libmv.a )              set MVLIB = " -L. -lmvgraf -lncaruti -lmv"
if ( -f /usr/local/ncarg/lib/libmv.a )                                             set MVLIB = " -L/usr/local/ncarg/lib -lmvgraf -lncaruti -lmv"
if ( -f $HOME/../verdecch//mvlib/lib/$IPLATF/libmv.a )                            set MVLIB = " -L$HOME/../verdecch//mvlib/lib/$IPLATF/ -lmvgraf -lncaruti -lmv"
if ( -f $HOME/mvlib/lib/$IPLATF/libmv.a )                                           set MVLIB = " -L$HOME/mvlib/lib/$IPLATF/ -lmvgraf -lncaruti -lmv"
if ( -f ./libchym.a ) set MVLIB = " -L. -lchym "
set JETNET = ' '
foreach JDIR ( $HOME/../verdecch/mvlib/lib/$IPLATF /usr/local/lib \
               /usr/lib $HOME/mvlib/lib/$IPLATF )
   if ( -f $JDIR/libjetnet20.a ) set JETNET = " -L$JDIR -ljetnet20"
   if ( -f $JDIR/jetnet20.a ) set JETNET = " $JDIR/jetnet20.a"
end
goto retchkplatf