*********************************************************************** * MAIN for TSTERODE *********************************************************************** c c +++ PURPOSE +++ c To call the input subroutine SBINPT which reads input file c To start a stand alone EROSION submodel c To print output from EROSION to a file c c +++ ARGUMENT DECLARATIONS +++ integer i, j real aegt, aegtss, aegt10 real tt c c c + + + GLOBAL COMMON BLOCKS + + + c compiler instr.- no warn of unreferenced symbols in include files *$noreference include 'p1werm.inc' c c + + + LOCAL COMMON BLOCKS include 'erosion/e2erod.inc' include 'erosion/m2geo.inc' *$reference c c ++++ ARGUMENT DEFINITIONS +++ c c c c c c +++ SUBROUTINES CALLED+++ c sbinpt c erosion c c +++ END SPECIFICATIONS +++ open(55, file='tst.out' , status='unknown') c obtain inputs: call sbinpt c c write header to files write (55,*) c c ^^^ tmp write (*,*) 'call to erosion ' c go to 20 c c start erosion call erosion c write (55,*) write (55,*) ' OUTPUT FROM TSTERODE.FOR ' write (55,6) do 2 j = jmax, 0, -1 write (55,10) (egt(i,j), i = 0, imax) 2 continue write (55,7) do 3 j = jmax, 0, -1 write (55,10) (egtss(i,j), i = 0, imax) 3 continue write (55,8) do 4 j = jmax, 0, -1 write (55,11) (egt10(i,j), i = 0, imax) 4 continue c c calculate averges of inner grid points aegt = 0. aegtss = 0. aegt10 = 0. do 5 j=1,jmax-1 do 5 i= 1, imax-1 aegt= aegt + egt(i,j) aegtss = aegtss + egtss(i,j) aegt10 = aegt10 + egt10(i,j) 5 continue tt = (imax-1)*(jmax-1) aegt = aegt/tt aegtss = aegtss/tt aegt10 = aegt10/tt c write (55,*) write (55,*) ' AVERAGES ' write (55,*) ' egt egtss egt10 ' write (55,*) ' ---------kg/m^2------------' write (55,15) aegt, aegtss, aegt10 c output formats 6 format (1x, ' egt (kg/m^2) ') 7 format (1x, ' egtss (kg/m^2) ') 8 format (1x, ' egt10 (kg/m^2) ') 10 format (1x, 31f6.1) 11 format (1x, 31f6.4) 15 format (1x, 2f8.2, f10.4) 20 continue close(55) stop end c