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

Adds snow incident on the ground surface to the snow pack. More...

Functions/Subroutines

subroutine snowaddnew (ALBSNO, TSNOW, RHOSNO, ZSNOW, HCPSNO, HTCS, FI, S, TS, RHOSNI, WSNOW, ILG, IL1, IL2, JL)
 

Detailed Description

Adds snow incident on the ground surface to the snow pack.

Author
D. Verseghy, M. Lazare, R. Harvey

The change of internal energy HTCS of the snow pack as a result of the snowfall added to it is calculated as the difference in Is between the beginning and end of the subroutine:

\(\Delta I_s = X_i \Delta [C_s z_s T_s] / \Delta t\)

where \(C_s\) represents the volumetric heat capacity of the snow pack, \(T_s\) its temperature, \(\Delta\) the length of the time step, and \(X_i\) the fractional coverage of the subarea under consideration relative to the modelled area.

The amount of snow incident at the given time step, SNOFAL, is calculated from S and the timestep length DELT. If SNOFAL \(\geq\) 0.1 mm, the snow albedo is set to the fresh snow value of 0.84. Otherwise, if the snow is falling on bare ground, its initial albedo is set to the old snow value of 0.50. The heat capacity of the precipitating snow, HCPSNP, is calculated from the fresh snow density RHOSNI and the heat capacity and density of ice. The new temperature of the snow pack is calculated as a weighted average of its old temperature, weighted by the snow depth ZSNOW and heat capacity HCPSNO, and the snowfall temperature, weighted by SNOFAL and HCPSNP. The new density of snow is calculated as a weighted average of the original density RHOSNO and RHOSNI, and the new snow depth is calculated as ZSNOW + SNOFAL. Finally, the new heat capacity of the snow pack is obtained from the heat capacities of ice and water \(C_i\) and \(C_w\), the snow, ice and water densities \(\rho_s\) \(rho_i\), and \(\rho_w\), and the water content and depth of the snow pack \(w_s\) and \(z_s\), as:

\(C_s = C_i [ \rho_s /\rho_i ] + C_w w_s /[\rho_w z_s]\)

Function/Subroutine Documentation

◆ snowaddnew()

subroutine snowaddnew ( real, dimension(ilg), intent(out)  ALBSNO,
real, dimension (ilg), intent(inout)  TSNOW,
real, dimension(ilg), intent(inout)  RHOSNO,
real, dimension (ilg), intent(inout)  ZSNOW,
real, dimension(ilg), intent(inout)  HCPSNO,
real, dimension (ilg), intent(inout)  HTCS,
real, dimension (ilg), intent(in)  FI,
real, dimension (ilg), intent(in)  S,
real, dimension (ilg), intent(in)  TS,
real, dimension(ilg), intent(in)  RHOSNI,
real, dimension (ilg), intent(in)  WSNOW,
integer, intent(in)  ILG,
integer, intent(in)  IL1,
integer, intent(in)  IL2,
integer, intent(in)  JL 
)
Parameters
[out]albsnoAlbedo of snow [ ]
[in,out]tsnowTemperature of the snow pack \([C] (T_s)\)
[in,out]rhosnoDensity of snow pack \([kg m^{-3}] (\rho_s)\)
[in,out]zsnowDepth of snow pack \([m] (z_s)\)
[in,out]hcpsnoHeat capacity of snow pack \([J m^{-3} K^{-1}] (C_s)\)
[in,out]htcsInternal energy change of snow pack due to conduction and/or change in mass \([W m^{-2}] (I_s)\)
[in]fiFractional coverage of subarea in question on modelled area \([ ] (X_i)\)
[in]sSnowfall rate incident on snow pack \([m s^{-1}]\)
[in]tsTemperature of snowfall [C]
[in]rhosniDensity of fresh snow \([kg m^{-3}]\)
[in]wsnowLiquid water content of snow pack \([kg m^{-2}] (w_s)\)