HgtAboveSnow Subroutine

public subroutine HgtAboveSnow(HeightAboveSnow, mp, z0surf_min, HGT_pft, SnowDepth, SnowDensity)

This subroutine computes the height of the canopy above ground/snow surface when there is snow present.

The height of the canopy above snow level is simply the canopy height without snow minus the true depth of snow (in m). The depth of snow is evaluated from the amount of snow (in mm m of liquid water) and the snow density.

A minimum value for the effective canopy height of '10 * the minimum roughness length of the surface' is applied (a numerics requirement).

The snow density has a minimum value of 100 kg m enforced when used to convert snow amount to snow depth.

** Warning: The multiplier 1.2 needs to be followed up**

Arguments

Type IntentOptional Attributes Name
real, intent(out) :: HeightAboveSnow(mp)

Output. Effective height of canopy, known as rough%hruff elsewhere. (m)

integer, intent(in) :: mp

Number of tiles (-)

real, intent(in) :: z0surf_min

minimum roughness length of surface (m)

real, intent(in) :: HGT_pft(mp)

height of the canopy without snow (m)

real, intent(in) :: SnowDepth(mp)

snow amount (mm m liquid water)

real, intent(in) :: SnowDensity(mp)

density of snow (kg m)