ruff_resist Subroutine

public subroutine ruff_resist(veg, rough, ssnow, canopy, LAI_pft, HGT_pft, reducedLAIdue2snow)

Calculates the roughness parameters and the aerodynamic contribution to the resistances controlling the fluxes between the land and atmosphere for each land point.

Scientific description

The scientific basis for the formulae is a combination of Localised Near Field theory for aerodynamic transfer within canopies (for the heat and water vapour fluxes) and bulk formulae for the roughness length and displacement height accounting for roughness sublayer effects (for the momentum flux).

The calculations take into account whether:

  1. the soil model used is SLI or the default (soilsnow)
  2. the land point is vegetated (LAI > LAI_THRESH) or not

The primary references for these formulations are

Outputs

The principal outputs from the MODULE are

  • rough%zref_tq: reference height above the displacement height for the air temperature and humidity, where these forcing observations are deemed to have been collected (m)
  • rough%zref_uv: height above the displacement height for the wind speeds, where the forcing observations are deemed to have been collected (m)
  • rough%hruff: the canopy height accounting for the presence of snow (m)
  • canopy%vlaiw: the leaf area index accounting for the presence of snow (m m)
  • rough%z0soil: the aerodynamic roughness length for soil (m)
  • rough%z0ssoilsn: the aerodynamic roughness length for snow (m)
  • rough%z0m: the aerodynamic roughness length for the surface (canopy+soil+snow) (m)
  • rough%disp: the displacement height of the surface (=0.0 if not vegetated) (m)
  • rough%zruffs: the depth of the roughness sublayer over vegetated surfaces (m)
  • rough%coexp: the extinction coefficient for the wind speed profile within the canopy, (m).

    is defined to be the coefficient within an expontial wind profile, i.e. the wind speed at height above the ground within a canopy of height is given by where is the wind speed at canopy top.

  • rough%usuh: the ratio of the friction velocity, , to the wind speed at canopy top (-)

  • rough%rt0us: normalised aerodynamic resistance for the turbulent transfer from the soil/snow surface to the displacement height (-)
  • rough%rt1us: normalised aerodynamic resistance for the turbulent transfer from the displacement height to the reference level (-)

    rough%rt1us is evaluated in three subparts (rough%rt1usa, rough%rt1usb, and rough%rt1usc). One of the resistance terms (rough%rt1usc) is evaluated in subroutine define_canopy.

Each of the normalized resistances are given by the theoretical formulae given by the references. The aerodynamic resistances for the current time step are evaluated later by dividing the normalized resistances by the current time step's friction velocity canopy%us.

Structure

  • evaluates the canopy height and leaf area given the presence of snow (or not) using HgtAboveSnow and LAI_eff
  • sets the value of soil and snow roughness lengths (depends on the configuration of CABLE)
  • evaluates the remaining output variables, depending on whether the land point is vegetated or not.
  • if the SLI soil model is used - updates the evaluated rough%rt0us

Arguments

Type IntentOptional Attributes Name
type(veg_parameter_type), intent(inout) :: veg
type(roughness_type), intent(inout) :: rough
type(soil_snow_type), intent(in) :: ssnow
type(canopy_type), intent(inout) :: canopy
real :: LAI_pft(mp)
real :: HGT_pft(mp)
real :: reducedLAIdue2snow(mp)