Nodes of different colours represent the following:
Solid arrows point from a submodule to the (sub)module which it is
descended from. Dashed arrows point from a module or program unit to
modules which it uses.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
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:
the soil model used is SLI or the default (soilsnow)
the land point is vegetated (LAI > LAI_THRESH) or not
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
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.