#!/bin/csh set IO = `basename $0` # #------------------------------------------------------- Fortran Code --------- cat >! ${IO}.f << FINEF90 implicit none character title*60,data*60,legend(11)*10 integer nlat,nlon,giorno,mese,anno,rec,n1,n2,julianday parameter (nlat=2529,nlon=3458) real slon,elon,slat,elat,modis(nlon,nlat) integer icc(11),ic(11),is,col data legend /'data mis.','no dec.','night','no snow','lake', 2 'ocean','cloud','lake ice','snow','det. sat.','fill'/ data ic /0,1,11,25,37,39,50,100,200,254,255/ giorno=04 ; mese=2 ; anno=2012 ; rec=julianday(giorno,mese,anno) call snowfrommodis(rec,anno,modis,nlon,nlat,n1,n2,slon,elon,slat,elat) title='Snow cover from Modis data' call datafromday(giorno,mese,anno,data) call mvsetflags('Logo',2.0) ; call mvsetflags('palette di colori',8.0) call mvsetflags('colore confini',1.0) call settaiconfini(slon,elon,slat,elat) do is=1,11 col=is+2 ; icc(is)=col call boxplot(modis,nlon,nlat,ic(is)-0.5,ic(is)+0.5,col,col,' ') enddo call boundaries(slon,elon,slat,elat,7) call plotpalette(0.09,'h',icc,legend,11) call displayexample('$IO',title,data) 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