!*==sbzdisp.spg processed by SPAG 6.70Rc at 15:33 on 10 Dec 2012 !*------------------ SPAG Configuration Options -------------------- !*--0323,76 000101,-1 000000102011332010100002000000210211210,136 10 -- !*--1100000011112111000000000000,10,10,10,10,10,10,900,100 200000000 -- !*--000000010000000000000,72,72 73,42,38,33 00011112110000100000000 -- !*---------------------------------------------------------------------- !++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ !$Author: joelevin $ !$Date: 2011-03-24 11:33:26 -0500 (Thu, 24 Mar 2011) $ !$Revision: 11724 $ !$HeadURL: https://eweru-dev1.eweru.ksu.edu/svn/code/weps1/branches/WEPS_F90_update/weps.src/src/lib_erosion/sbzdisp.for $ !********************************************************************** ! subroutine sbzdisp !********************************************************************** subroutine sbzdisp(szrgh,bcxrow,bc0rg,wzoflg,&bdrlai,bdrsai,bbzht,& & bcrlai,bcrsai,bczht,&awzdisp,wzdisp) use i_p1unconv use s_biodrag implicit none !*--SBZDISP20 ! !*** Start of declarations rewritten by SPAG ! ! Dummy arguments ! real :: awzdisp,bbzht,bcrlai,bcrsai,bcxrow,bczht,bdrlai,bdrsai, & & szrgh,wzdisp integer :: bc0rg,wzoflg intent (in) bbzht,wzoflg intent (out) awzdisp intent (inout) wzdisp ! ! Local variables ! real :: bht,bsai ! !*** End of declarations rewritten by SPAG ! ! +++ PURPOSE +++ ! Calc. zero plane displacement (mm) ! set field zero plane displacement equal to Anemometer zero plane ! displacement when anem. at the field site, ie. wzoflg = 1 ! using equation from: Raupach, M.R. 1994. Simplified Expressions for ! Vegetation Roughness Length and Zero-Plane Displacement as functions ! of Canopy Height and Area index. Boundary Layer meteorology 71:211-216. ! +++ ARGUMENT DECLATION +++ ! +++ ARGUMENT DEFINITIONS +++ ! szrgh - ridge height (mm) ! bcxrow - crop row spacing (m) ! bc0rg - flag=0 - crop planted in furrow bottom ! flag=1 - crop planted on ridge top ! wzoflg - flag=0 - weather measurements are from a distant station ! flag=1 - weather measurements are in field ! bdrlai - residue leaf area index (total)(m2/m2) ! bdrsai - residue stem area index (total)(m2/m2) ! bbzht - composite average residue height (m) ! bcrlai - crop leaf area index (m2/m2) ! bcrsai - crop stem area index (m2/m2) ! bczht - crop height (m) ! bc0rg - flag=0 - crop planted in furrow bottom ! flag=1 - crop planted on ridge top ! awzdisp - zero plane displacement at weather location (mm) ! wzdisp - zero plane displacement at location (mm) ! +++ FUNCTIONS CALLED ! +++ LOCAL VARIABLES +++ ! +++ LOCAL VARIABLE DEFINITIONS +++ ! bht - biomass height (mm) ! bsai - biomass silhouette area index ! +++ INCLUDE FILES+++ ! +++ PARAMETERS +++ ! +++ END SPECIFICATIONS +++ ! calculate "effective" biomass silhouette area index bsai = biodrag(bdrlai,bdrsai,bcrlai,bcrsai,bc0rg,&bcxrow,bczht, & & szrgh) ! find maximum biomass height and convert to mm bht = max(bbzht,bczht)*mtomm ! use silhouette area index and biomass height to find zero plane displacement if (bsai>1.0E-10) then wzdisp = bht*(1.0-(1.0-exp(-(15.0*bsai)**0.5))&/(15.0*bsai) & & **0.5) else wzdisp = 0.0 end if ! anemom. in field set weather displacement to field displacement if (wzoflg==1) awzdisp = wzdisp end subroutine sbzdisp