subroutine asd( * cslagm, cslmin, * cslmax, chtsmx, cs0ags, * cslagx, c4p, se0, c4m, se1) c + + + ARGUMENT DECLARATIONS + + + real cslagm, cslmin real cslmax, chtsmx, cs0ags real cslagx, c4p, se0, c4m, se1 c ASD SECTION: c calc. slope parameter using prior geometric mean dia. C *** write(*,*) "asd: ",c4m,(cslagm-cslmin),(cslmax-cslmin) C *** debugging fix if (cslagm.le.cslmin) then cslagm = cslmin c4m = 0.5 else c4m = sqrt((cslagm - cslmin)/ * (cslmax - cslmin))*(1.0/se0) if (c4m .lt. 0.5) c4m = 0.5 if (c4m .gt. 2.0) c4m = 2.0 endif C *** eodf C *** write(*,*) "asd: ",c4m,(cslagm-cslmin),(cslmax-cslmin) c calc. new geom. mean dia. cslagm = cslmin + (cslmax - cslmin)* * (c4m*se1)**2. c restrict upper size if not frozen if ((chtsmx .ge. 0.0) .and. * (cslagm .gt. cslmax)) then cslagm = cslmax endif c calc geom. standard deviation (eq. S-49) cs0ags = 1.0 / (0.0203 + 0.00193 *cslagm + & 0.074 / sqrt(cslagm)) c calc. max. diameter for asd c4p = 1.52 * cslagm**(-0.449) C *** write(*,*) ' c4p ', c4p cslagx = cslagm * cs0ags**c4p end