c********************************************************************** c subroutine erodout (o_unit) c********************************************************************** subroutine erodout ( i o_unit) c c +++ PURPOSE +++ c c To print output desired from standalone EROSION submodel c c +++ ARGUMENT DECLARATIONS +++ integer o_unit integer i, j real aegt, aegtss, aegt10 real tt c c c + + + GLOBAL COMMON BLOCKS + + + *$noreference include 'p1werm.inc' *$reference c c + + + LOCAL COMMON BLOCKS *$noreference include 'erosion/e2erod.inc' include 'erosion/m2geo.inc' *$reference c c ++++ ARGUMENT DEFINITIONS +++ c c +++ SUBROUTINES CALLED+++ c ++++ LOCAL VARIABLES +++ c c +++ END SPECIFICATIONS +++ c c write header to files write (o_unit,*) write (o_unit,*) write (o_unit,*) ' OUTPUT FROM ERODOUT.FOR ' write (o_unit,*) write (o_unit,*) 'Total grid size: (', imax+1,',', jmax+1, ') ', & 'Inner grid size: (', imax-1,',', jmax-1, ')' write (o_unit,*) write (o_unit,6) write (o_unit,*) & 'top (i=1,imax-1, j=jmax) ', & 'bottom (i=1,imax-1, j=0) ', & 'right (i=imax, j=1,jmax-1) ', & 'left (i=0, j=1,jmax-1) ' write (o_unit,10) (egt(i,jmax), i = 1, imax-1) write (o_unit,10) (egt(i,0), i = 1, imax-1) write (o_unit,10) (egt(imax,j), j = 1, jmax-1) write (o_unit,10) (egt(0,j), j = 1, jmax-1) write (o_unit,*) write (o_unit,7) write (o_unit,*) & 'top (i=1,imax-1, j=jmax) ', & 'bottom (i=1,imax-1, j=0) ', & 'right (i=imax, j=1,jmax-1) ', & 'left (i=0, j=1,jmax-1) ' write (o_unit,10) (egtss(i,jmax), i = 1, imax-1) write (o_unit,10) (egtss(i,0), i = 1, imax-1) write (o_unit,10) (egtss(imax,j), j = 1, jmax-1) write (o_unit,10) (egtss(0,j), j = 1, jmax-1) write (o_unit,*) write (o_unit,8) write (o_unit,*) & 'top (i=1,imax-1, j=jmax) ', & 'bottom (i=1,imax-1, j=0) ', & 'right (i=imax, j=1,jmax-1) ', & 'left (i=0, j=1,jmax-1) ' write (o_unit,11) (egt10(i,jmax), i = 1, imax-1) write (o_unit,11) (egt10(i,0), i = 1, imax-1) write (o_unit,11) (egt10(imax,j), j = 1, jmax-1) write (o_unit,11) (egt10(0,j), j = 1, jmax-1) write (o_unit,*) write (o_unit,60) do 20 j = jmax-1, 1, -1 write (o_unit,10) (egt(i,j), i = 1, imax-1) 20 continue write (o_unit,*) write (o_unit,70) do 30 j = jmax-1, 1, -1 write (o_unit,10) (egtss(i,j), i = 1, imax-1) 30 continue write (o_unit,*) write (o_unit,80) do 40 j = jmax-1, 1, -1 write (o_unit,11) (egt10(i,j), i = 1, imax-1) 40 continue c c calculate averages of inner grid points aegt = 0.0 aegtss = 0.0 aegt10 = 0.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 (o_unit,*) write (o_unit,*) ' AVERAGES ' write (o_unit,*) ' total salt/creep susp PM10 ' write (o_unit,*) ' egt egtss egt10 ' write (o_unit,*) ' ---------------kg/m^2-------------------' write (o_unit,15) aegt, aegt-aegtss, aegtss, aegt10 write (o_unit,*) c output formats 6 format (1x, ' Border egt (kg/m) ') 7 format (1x, ' Border egtss (kg/m) ') 8 format (1x, ' Border egt10 (kg/m) ') 60 format (1x, ' Field egt (kg/m^2) ') 70 format (1x, ' Field egtss (kg/m^2) ') 80 format (1x, ' Field egt10 (kg/m^2) ') 10 format (1x, 31f10.2) 11 format (1x, 31f10.4) 15 format (1x, 3f10.2, f10.4) stop end