c********************************************************************** c subroutine sbinit c********************************************************************** subroutine sbinit c +++ purpose +++ c Input subregion values of variables from other submodels c to the grid points of the erosion submodel which erosion changes c Initialize output grid array c Calc. soil fraction of 4 dia. from asd, & rr shelter angles c c +++ ARGUMENT DECLARATIONS +++ c c +++ ARGUMENT DEFINITIONS +++ c c +++ PARAMETER +++ c c + + + GLOBAL COMMON BLOCKS + + + *$noreference include 'p1werm.inc' include 'm1subr.inc' include 's1phys.inc' include 's1agg.inc' include 's1dbh.inc' include 's1surf.inc' include 's1sgeo.inc' include 'b1glob.inc' c c + + + LOCAL COMMON BLOCKS + + + include 'erosion/m2geo.inc' include 'erosion/e2grid.inc' include 'erosion/s2agg.inc' include 'erosion/s2surf.inc' include 'erosion/s2sgeo.inc' include 'erosion/e2erod.inc' C *$reference c c + + + LOCAL VARIABLES + + + integer icsr, i, j, ke real*4 sfd1(mnsub), sfd10(mnsub), sfd84(mnsub), sfd200(mnsub) real*4 xa c c + + + LOCAL VARIABLE DEFINITIONS + + + c icsr = index of current subregion c c + + + SUBROUTINES CALLED + + + C sbsfdi c c + + + END SPECIFICATION + + + c c calculate fraction less than diameter from asd c determine current subregion do 5 icsr = 1, nsubr call sbsfdi i (aslagm(1,icsr),as0ags(1,icsr), aslagn(1,icsr), i aslagx(1,icsr), 0.01, o sfd1(icsr)) call sbsfdi i (aslagm(1,icsr), as0ags(1,icsr), aslagn(1,icsr), i aslagx(1,icsr), 0.1, o sfd10(icsr)) call sbsfdi i (aslagm(1,icsr), as0ags(1,icsr), aslagn(1,icsr), i aslagx(1,icsr), 0.84, o sfd84(icsr)) c^^^ tmp out c write (*,*) c write (*,*) 'sbinit out' c write (*,*) 'aslagm as0ags aslagn aslagx sfd84', c & aslagm(1,icsr), as0ags(1,icsr),aslagn(1,icsr), c & aslagx(1,icsr),sfd84(icsr) c write (*,*) c^^^ tmp end call sbsfdi i (aslagm(1,icsr), as0ags(1,icsr), aslagn(1,icsr), i aslagx(1,icsr), 2.0, o sfd200(icsr)) 5 continue c do 20 j = 0, jmax do 10 i = 0, imax c determine subregion (at present only 1 subregion) c input variables to grid cells icsr = csr(i,j) sf1 (i,j) = sfd1(icsr) sf10 (i,j) = sfd10(icsr) sf84 (i,j) = sfd84(icsr) sf200(i,j) = sfd200(icsr) c szcr(i,j) = aszcr (icsr) sfcr(i,j) = asfcr (icsr) smlos(i,j) = asmlos (icsr) sflos(i,j) = asflos (icsr) c szrgh(i,j) = aszrgh (icsr) slrr(i,j) = aslrr (icsr) c c initialize output array- now in sbigrd c egt(i,j) = 0 c egtss(i,j) = 0 c egt10(i,j) = 0 c 10 continue 20 continue c return end c++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++