!$Author: joelevin $ !$Date: 2011-03-24 11:33:26 -0500 (Thu, 24 Mar 2011) $ !$Revision: 11724 $ !$HeadURL: https://svn.weru.ksu.edu/weru/weps1/trunk/weps.src/src/lib_erosion/sbinit.for $ !********************************************************************** ! subroutine sbinit !********************************************************************** subroutine sbinit ! +++ purpose +++ ! Input subregion values of variables from other submodels ! to the grid points of the erosion submodel which erosion changes ! Initialize output grid array ! Calc. soil fraction of 4 dia. from asd, & rr shelter angles ! ! +++ ARGUMENT DECLARATIONS +++ ! ! +++ ARGUMENT DEFINITIONS +++ ! ! +++ PARAMETER +++ ! ! + + + GLOBAL COMMON BLOCKS + + + include 'p1werm.inc' include 'm1subr.inc' include 's1phys.inc' include 's1agg.inc' include 's1dbh.inc' include 's1surf.inc' include 's1sgeo.inc' include 'b1glob.inc' include 'w1clig.inc' ! ! + + + LOCAL COMMON BLOCKS + + + include 'erosion/p1erode.inc' include 'erosion/m2geo.inc' include 'erosion/e2grid.inc' include 'erosion/s2agg.inc' include 'erosion/s2surf.inc' include 'erosion/s2sgeo.inc' include 'erosion/e2erod.inc' ! ! ! + + + LOCAL VARIABLES + + + integer icurrSubr, i, j real sfd1(mnsub), sfd10(mnsub), sfd84(mnsub), sfd200(mnsub) ! + + + LOCAL VARIABLE DEFINITIONS + + + ! icsr = index of current subregion ! ! + + + SUBROUTINES CALLED + + + ! calcSoilMassFrac ! sbpm10 ! + + + END SPECIFICATION + + + ! ! calculate abrasion and pm10 parameters edit LH 3-4-05 do 5 icurrSubr = 1, nsubr call sbpm10 & & (aseags(1,icurrSubr),asecr(icurrSubr),asfcla(1,icurrSubr),asfsan(1,icurrSubr), & & awzypt, acanag(icurrSubr), acancr(icurrSubr), & & asf10an(icurrSubr), asf10en(icurrSubr), asf10bk(icurrSubr)) ! ! calculate fraction less than diameter from asd ! determine current subregion ! do 5 icsr = 1, nsubr call calcSoilMassFrac & & (aslagm(1,icurrSubr),as0ags(1,icurrSubr), aslagn(1,icurrSubr), & & aslagx(1,icurrSubr), 0.01, sfd1(icurrSubr)) call calcSoilMassFrac & & (aslagm(1,icurrSubr), as0ags(1,icurrSubr), aslagn(1,icurrSubr), & & aslagx(1,icurrSubr), 0.1, sfd10(icurrSubr)) call calcSoilMassFrac & & (aslagm(1,icurrSubr), as0ags(1,icurrSubr), aslagn(1,icurrSubr), & & aslagx(1,icurrSubr), 0.84, sfd84(icurrSubr)) ! store initial sf84 sf84ic = sfd84(icurrSubr) sf84ic = min(0.9999, max(sf84ic,0.0001)) !set limits ! store initial sf10 sf10ic = sfd10(icurrSubr) ! !^^^ tmp out ! write (*,*) ! write (*,*) 'sbinit out' ! write (*,*) 'aslagm as0ags aslagn aslagx sfd84', ! & aslagm(1,icsr), as0ags(1,icsr),aslagn(1,icsr), ! & aslagx(1,icsr),sfd84(icsr) ! write (*,*) !^^^ tmp end call calcSoilMassFrac & & (aslagm(1,icurrSubr), as0ags(1,icurrSubr), aslagn(1,icurrSubr), & & aslagx(1,icurrSubr), 2.0, sfd200(icurrSubr)) 5 continue ! do 20 j = 0, jmax do 10 i = 0, imax ! determine subregion (at present only 1 subregion) ! input variables to grid cells icurrSubr = currSubr(i,j) sf1 (i,j) = sfd1(icurrSubr) sf10 (i,j) = sfd10(icurrSubr) sf84 (i,j) = sfd84(icurrSubr) sf200(i,j) = sfd200(icurrSubr) ! edit ljh - 1-22-04 svroc(i,j) = asvroc(1,icurrSubr) ! if ifc has surface rock, 1st index maybe 0. ! crstThck(i,j) = acrstThck (icurrSubr) soilFracCrstCovr(i,j) = asoilFracCrstCovr (icurrSubr) crusLoosMass(i,j) = acrusLoosMass (icurrSubr) crusLoosFrac(i,j) = acrusLoosFrac (icurrSubr) ! ridgHght(i,j) = aridgHght (icurrSubr) !initialize RR values for each grid cell soilRandRoug(i,j) = asoilRandRoug (icurrSubr) if (soilRandRoug(i,j) < SLRR_MIN) then soilRandRoug(i,j) = SLRR_MIN else if (soilRandRoug(i,j) > SLRR_MAX) then soilRandRoug(i,j) = SLRR_MAX endif moblMassAggrSurfDelt(i,j) = 0.0 moblMassAggrSurf(i,j) = 0.0 moblMassAggrSurfmx(i,j) = 0.0 sf84mn(i,j) = 0.0 ! ! initialize output array- now in sbigrd ! egt(i,j) = 0 ! egtss(i,j) = 0 ! girdSoilLossPM10(i,j) = 0 ! 10 continue 20 continue ! return end !++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++