c$Author: fredfox $ c$Date: 2002-04-29 16:24:38 $ c$Revision: 1.4 $ c$Source: /weru/cvs/weps/weps.src/asd/asdinit.for,v $ subroutine asdini() include 'manage/asd.inc' c + + + PURPOSE + + + c This subroutine performs the initialization of the asd/sieve c variables which include the number of sieves and their sizes, c the geometric mean diameter of each sieve cut and specifies which c lognormal case will be used to represent aggregate size distributions c in WERM/WEPS. c The routine decides which lognormal case to apply based on the c value of logcas: c logcas = 0 --> "normal" lognormal case (mnot = 0, minf = infinity) c logcas = 1 --> "abnormal" lognormal case (mnot != 0, minf = infinity) c logcas = 2 --> "abnormal" lognormal case (mnot = 0, minf != infinity) c logcas = 3 --> "abnormal" lognormal case (mnot != 0, minf != infinity) c + + + KEYWORDS + + + c aggregate size distribution, asd, sieves, mass fractions c + + + ARGUMENT DECLARATIONS + + + c currently none c + + + INCLUDED COMMON BLOCK DEFINITIONS + + + c nsieve - number of sieves used c sdia - array containing sieve size diameters c mdia - array containing gmd sieve cut diameters c mnsize - minimum (imaginary) sieve size to use for computing c lower sieve cut geometric mean diameter c mxsize - maximum (imaginary) sieve size to use for computing c upper sieve cut geometric mean diameter c logcas - flag to represent which lognormal case to apply c + + + PARAMETERS + + + c + + + LOCAL VARIABLES + + + integer i c + + + LOCAL VARIABLE DEFINITIONS + + + c i - loop variable for sieve diameters c + + + END SPECIFICATIONS + + + logcas = 3 nsieve = msieve - 1 mnsize = 0.005 mxsize = 1000.0 do i = 1, nsieve sdia(i) = exp(log(mnsize) & + i*(log(mxsize)-log(mnsize))/(nsieve+1)) end do c compute geometric mean dia. for each sieve cut mdia(1) = sqrt(mnsize*sdia(1)) do 5 i = 2, nsieve mdia(i) = sqrt(sdia(i)*sdia(i-1)) 5 continue mdia(nsieve+1) = sqrt(mxsize*sdia(nsieve)) return end c$Log: not supported by cvs2svn $ cRevision 1.3 2002/04/17 20:16:08 fredfox cmodified m2asd to properly handle the upper and lower bounds on the 4 parameter lognormal distribution by allowing the specification of geometric mean bin diameter to use either the sieve above or the limit depending on which applies. (same on the lower bin). Modified asd2m to handle bin sizes outside the range of of the distribution. asdini.for changes were cosmetic only c cRevision 1.2 1999/03/16 23:55:41 wjr c*** empty log message *** c c Revision 1.2 1995/09/13 15:49:34 wagner c Necessary changes made to allow FORTRAN src files (*.for) to use the c extended FORTRAN include statement rather than the MICROSOFT $INCLUDE c directive as previously used. This is required to allow use of other c FORTRAN compilers. c c Changes have been made to the prologue.mk, epilogue.mk, and the Unix c master startup.mk files as well as the src files. c c Revision 1.1.1.1 1995/01/18 04:19:56 wagner c Initial checkin c c Revision 1.2 1992/10/10 21:44:14 wagner c Changed names appropriate for submodel name change c from TILLAGE to MANAGEMENT. c c Revision 1.1 1992/04/16 21:41:37 wagner c Initial revision c