!********************************************************************** ! subroutine sbwust !********************************************************************** subroutine sbwust (sf84, sdagd, sfcr, svroc, sflos, bffcv, & & wzzo, hrwc, hrwcw, wus, sf84ic, rusust, svrocic, dmlos, & & wust, wusp, sf84mn, smaglos) ! ! + + + PURPOSE + + + ! Calculate threshold soil surface friction velocity ! as a function of ag size dist., aerodynamic roughness, ! crust, rock, & flat biomass cover,and soil surface wetness ! ! + + + ARGUMENT DECLARATIONS + + + real sf84, sdagd, sfcr, svroc, sflos real bffcv,wzzo, hrwc, hrwcw, wust, wusp, dmlos real wus, sf84ic, sf84mn, smaglos, rusust,svrocic ! ! + + + ARGUMENT DEFINITIONS + + + ! slagm - aggregate distribution geometric mean diameter (mm). ! s0ags - aggregate distribution geometric standard deviation. ! slagn - aggregate distribution lower limit (mm). ! slagx - aggregate distribution upper limit (mm). ! sdagd - aggregate density (Mg/m^3) ! sfcr - fraction of crust cover. ! svroc - surface vol. rock > 2.0 mm (m^3/m^3). ! sflos - soil fraction loose material cover on crust (m^3/m^3) ! bffcv - biomass fraction of flat cover (m^2/m^2) ! wzzo - aerodynamic roughness length (mm). ! hrwc - soil water content on mass basis (at surface) (kg/kg). ! hrwcw - soil water content on mass basis, at -1.5 MPa (kg/kg) ! wust - friction velocity theshold for en (m/s) ! wusp - friction velocity threshold of tp and trans. cap.(m/s) ! rusust- ratio of friction velocity to threshold fric. velocity ! sf84ic- surface soil fraction <0.84 mm initial condition ! svrocic- surface soil volume roc fraction ! sf84mn- surface soil fraction <0.84 mm where wust= wus of ag.sfc. ! smaglos- potential mobile soil reservoir of aggregated sfc.(kg/m^2) ! + + + LOCAL VARIABLES + + + real sfcv, b1, b2, wubsts, wucsts, wucwts real wucdts ! ! + + + END SPECIFICATIONS + + + ! ! ! calc fraction bare surface that does not emit sfcv = ((1 - sfcr)*(1 - sf84) + sfcr - sfcr*sflos)*(1 - svroc) & & +svroc ! to avoid a zero value sfcv = sfcv + 0.0001 ! check for total cover. if (sfcv < 1.0) then ! calculate bare surface static threshold friction velocity b1 = -0.179 + 0.225*(alog(1 + wzzo))**0.891 b2 = 0.3 + 0.06*wzzo**1.2 wubsts = 1.7 - 1.35*exp(-b1-b2*sfcv**2) wusp = 1.7 - 1.35*exp(-b1-b2*0.4**2) else wubsts = 1.65 wusp = 1.60 endif ! ! calculate increase in threshold vel with flat biomass ! sfccv = (1 - sfcv)*bffcv ! if (sfccv .gt. 0) then ! wucsts = sfccv ! else ! wucsts = 0. ! endif ! edit 07-17-01 if (bffcv .gt. 0) then wucsts = (1 - exp(-1.2*bffcv))*(exp(-0.3*sfcv)) else wucsts = 0. endif ! ! calc change in threshold vel with wetness if ( (hrwc/hrwcw) .gt. 0.3) then wucwts = 0.48*hrwc/hrwcw else wucwts = 0. endif ! correct for ag density, (added edit 6/5/01 LH) wucdts = 0.3*(sqrt(sdagd/2.65)-1.0) ! ! calc final static threshold friction velocity wust = wubsts + wucsts + wucwts + wucdts wusp = wusp + wucsts + wucwts + wucdts ! if initial test, i.e. rusust= 0 then skip sbaglos ! and only execute when erosion can occur. if (rusust > 0.001) then if (dmlos < 0.0) then if (wus/wust > 1.0 ) then call sbaglos (wus, wucsts, wucwts, wucdts, b1, b2, & & sf84ic, wust, svrocic, sf84mn, smaglos) endif endif endif return end !++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++