next up previous contents index
Next: StabilityFunc Up: Module FrictionVelocityMod (File: FrictionVelocityMod.F90) Previous: Module FrictionVelocityMod (File: FrictionVelocityMod.F90)   Contents   Index


FrictionVelocity


INTERFACE:

   subroutine FrictionVelocity(lbp, ubp, fn, filterp, &
                               displa, z0m, z0h, z0q, &
                               obu, iter, ur, um, ustar, &
                               temp1, temp2, temp12m, temp22m, fm)
DESCRIPTION:

   Calculation of the friction velocity, relation for potential
   temperature and humidity profiles of surface boundary layer.
   The scheme is based on the work of Zeng et al. (1998):
   Intercomparison of bulk aerodynamic algorithms for the computation
   of sea surface fluxes using TOGA CORE and TAO data. J. Climate,
   Vol. 11, 2628-2644.
USES:
    use clmtype
    use clm_varcon, only : vkc
ARGUMENTS:
    implicit none
    integer , intent(in)  :: lbp, ubp         ! pft array bounds
    integer , intent(in)  :: fn               ! number of filtered pft element
    integer , intent(in)  :: filterp(fn)      ! pft filter
    real(r8), intent(in)  :: displa(lbp:ubp)  ! displacement height (m)
    real(r8), intent(in)  :: z0m(lbp:ubp)     ! roughness length over vegetati
    real(r8), intent(in)  :: z0h(lbp:ubp)     ! roughness length over vegetati
    real(r8), intent(in)  :: z0q(lbp:ubp)     ! roughness length over vegetati
    real(r8), intent(in)  :: obu(lbp:ubp)     ! monin-obukhov length (m)
    integer,  intent(in)  :: iter             ! iteration number
    real(r8), intent(in)  :: ur(lbp:ubp)      ! wind speed at reference height
    real(r8), intent(in)  :: um(lbp:ubp)      ! wind speed including the stabl
    real(r8), intent(out) :: ustar(lbp:ubp)   ! friction velocity [m/s]
    real(r8), intent(out) :: temp1(lbp:ubp)   ! relation for potential tempera
    real(r8), intent(out) :: temp12m(lbp:ubp) ! relation for potential tempera
    real(r8), intent(out) :: temp2(lbp:ubp)   ! relation for specific humidity
    real(r8), intent(out) :: temp22m(lbp:ubp) ! relation for specific humidity
    real(r8), intent(inout) :: fm(lbp:ubp)    ! needed for DGVM only to diagno
CALLED FROM:
REVISION HISTORY:
   15 September 1999: Yongjiu Dai; Initial code
   15 December 1999:  Paul Houser and Jon Radakovich; F90 Revision
   12/19/01, Peter Thornton
   Added arguments to eliminate passing clm derived type into this function.
   Created by Mariana Vertenstein
LOCAL VARIABLES:
   local pointers to implicit in arguments
    integer , pointer :: pgridcell(:)   ! pft's gridcell index
    real(r8), pointer :: forc_hgt(:)    ! atmospheric reference height (m)
    real(r8), pointer :: forc_hgt_u(:)  ! observational height of wind [m]
    real(r8), pointer :: forc_hgt_t(:)  ! observational height of temperature 
    real(r8), pointer :: forc_hgt_q(:)  ! observational height of humidity [m]
   local pointers to implicit out arguments
    real(r8), pointer :: u10(:)         ! 10-m wind (m/s) (for dust model)
    real(r8), pointer :: fv(:)          ! friction velocity (m/s) (for dust mo



Mariana Vertenstein 2004-06-21