CLASSIC
Canadian Land Surface Scheme including Biogeochemical Cycles
snowAging.f90 File Reference

Calculate decrease in snow albedo and increase in density due to aging. More...

Functions/Subroutines

subroutine snowaging (ALBSNO, RHOSNO, ZSNOW, HCPSNO, TSNOW, FI, S, RMELT, WSNOW, RHOMAX, ISAND, ILG, IG, IL1, IL2, JL)
 

Detailed Description

Calculate decrease in snow albedo and increase in density due to aging.

Author
D. Verseghy, M. Lazare, R. Brown, F. Seglenieks, Y. Delange, R. Harvey

The albedo and density of snow are modelled using empirical exponential decay functions. In the absence of snowfall exceeding the snow albedo refreshment threshold (set to 0.0001 m here and in snowAddNew), the snow albedo \(\alpha_s\) is assumed to decrease exponentially with time from a fresh snow value of 0.84 to a background old snow value \(\alpha_{s, old}\) using an expression based on data given in Aguado (1985) [2], Robinson and Kukla (1984) and Dirmhirn and Eaton (1975) [33] :

\(\alpha_s (t+1) = [\alpha_s (t) - \alpha_{s, old}] exp [-0.01 \Delta t / 3600] + \alpha_{s, old}\)

where \(\Delta t\) is the length of the time step. If the melt rate RMELT at the top of the snow pack is non- negligible or if the temperature of the snow is close to 0 C, \(\alpha_{s, old}\) is assigned a value of 0.50; otherwise \(\alpha_{s, old}\) is assigned a value of 0.70.

The maximum snow density \(\rho_{s, max}\) is estimated as a function of snow depth \(z_s\), after Tabler et al. (1990):

\(\rho_{s, max} = A_s - [204.70/ z_s] [1.0 - exp(-z_s /0.673)]\)

The empirical constant \(A_s\) is assigned a value of 450.0 for cold snow packs, and 700.0 for snow packs near the melting point, following Brown et al. (2006) [19].

The density of snow \(\rho_s\) increases exponentially with time from its fresh snow value to the background old snow density calculated above, according to an expression analogous to that for albedo, derived from the field measurements of Longley (1960) and Gold (1958) [Gold1958-ng:]

\(\rho_s (t+1) = [\rho_s (t) - \rho_{s, max} ] exp [-0.01 \Delta t/3600] + \rho{s, max}\)

The snow depth and heat capacity are adjusted (see notes on src/snowSublimation.f90), and a check is performed with a call to abort if for unphysical albedo values are encountered.

Function/Subroutine Documentation

◆ snowaging()

subroutine snowaging ( real, dimension(ilg), intent(inout)  ALBSNO,
real, dimension(ilg), intent(inout)  RHOSNO,
real, dimension (ilg), intent(inout)  ZSNOW,
real, dimension(ilg), intent(out)  HCPSNO,
real, dimension (ilg), intent(in)  TSNOW,
real, dimension (ilg), intent(in)  FI,
real, dimension (ilg), intent(in)  S,
real, dimension (ilg), intent(in)  RMELT,
real, dimension (ilg), intent(in)  WSNOW,
real, dimension(ilg), intent(inout)  RHOMAX,
integer, dimension (ilg,ig), intent(in)  ISAND,
integer, intent(in)  ILG,
integer, intent(in)  IG,
integer, intent(in)  IL1,
integer, intent(in)  IL2,
integer, intent(in)  JL 
)
Parameters
[in,out]albsnoAlbedo of snow \([ ] (\alpha_s)\)
[in,out]rhosnoDensity of snow pack \([kg m^{-3}] (\rho_s)\)
[in,out]zsnowDepth of snow pack \([m] (z_s)\)
[out]hcpsnoHeat capacity of snow pack \([J m^{-3} K^{-1}]\)
[in]tsnowTemperature of the snow pack \([C]\)
[in]fiFractional coverage of subarea in question on modelled area [ ]
[in]sSnowfall rate \([m s^{-1}] \)
[in]rmeltMelt rate at top of snow pack \([m s^{-1}]\)
[in]wsnowLiquid water content of snow pack \([kg m^{-2}]\)
[in]isandSand content flag
[in,out]rhomaxMaximum density of snow pack \([kg m^{-3}] (\rho_{s, max})\)