CLASSIC
Canadian Land Surface Scheme including Biogeochemical Cycles
|
Addresses infiltration of rain and meltwater into snow pack, and snow ripening. More...
Functions/Subroutines | |
subroutine | snowinfiltrateripen (R, TR, ZSNOW, TSNOW, RHOSNO, HCPSNO, WSNOW, HTCS, HMFN, PCPG, ROFN, FI, ILG, IL1, IL2, JL) |
Addresses infiltration of rain and meltwater into snow pack, and snow ripening.
subroutine snowinfiltrateripen | ( | real, dimension (ilg), intent(inout) | R, |
real, dimension (ilg), intent(inout) | TR, | ||
real, dimension (ilg), intent(inout) | ZSNOW, | ||
real, dimension (ilg), intent(inout) | TSNOW, | ||
real, dimension(ilg), intent(inout) | RHOSNO, | ||
real, dimension(ilg), intent(inout) | HCPSNO, | ||
real, dimension (ilg), intent(inout) | WSNOW, | ||
real, dimension (ilg), intent(inout) | HTCS, | ||
real, dimension (ilg), intent(inout) | HMFN, | ||
real, dimension (ilg), intent(inout) | PCPG, | ||
real, dimension (ilg), intent(inout) | ROFN, | ||
real, dimension (ilg), intent(in) | FI, | ||
integer, intent(in) | ILG, | ||
integer, intent(in) | IL1, | ||
integer, intent(in) | IL2, | ||
integer, intent(in) | JL | ||
) |
[in,out] | r | Rainfall rate incident on snow pack \([m s^{-1}]\) |
[in,out] | tr | Temperature of rainfall [C] |
[in,out] | zsnow | Depth of snow pack \([m] (z_g)\) |
[in,out] | tsnow | Temperature of the snow pack \([C] (T_s)\) |
[in,out] | rhosno | Density of snow pack \([kg m^{-3}] (\rho_s)\) |
[in,out] | hcpsno | Heat capacity of snow pack \([J m^{-3} K^{-1}] (C_s)\) |
[in,out] | wsnow | Liquid water content of snow pack \([kg m^{-2}] (w_s)\) |
[in,out] | htcs | Internal energy change of snow pack due to conduction and/or change in mass \([W m^{-2}] (I_s)\) |
[in,out] | hmfn | Energy associated with freezing or thawing of water in the snow pack \([W m^{-2}]\) |
[in,out] | pcpg | Precipitation incident on ground \([kg m^{-2} s^{-1}]\) |
[in,out] | rofn | Runoff reaching the ground surface from the bottom of the snow pack \([kg m^{-2} s^{-1}]\) |
[in] | fi | Fractional coverage of subarea in question on modelled area \([ ] (X_i)\) |
The rainfall rate, i.e. the liquid water precipitation rate incident on the snow pack from the atmosphere, from canopy drip and/or from melting of the top of the snow pack, may cause warming and/or melting of the snow pack as a whole. The overall change of internal energy of the snow pack as a result of the rainfall added to it, \(I_s\) or HTCS, 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.
Four diagnostic variables are evaluated at the outset. HRCOOL, the energy sink required to cool the whole rainfall amount to 0 C, is calculated from the rainfall rate and temperature, and the heat capacity of water. HRFREZ, the energy sink required to freeze all the rainfall, is obtained from the latent heat of melting, the density of water and the rainfall rate. HSNWRM, the energy required to warm the whole snow pack to 0 C, is calculated from the temperature, heat capacity and depth of the snow pack. HSNMLT, the energy required to melt all the snow, is obtained from the latent heat of melting and the heat capacity and depth of the snow pack.
If HRCOOL \(\geq\) (HSNWRM + HSNMLT), the energy contributed by the temperature of the rainfall is sufficient to warm to 0 C and melt the whole snow pack. HRCOOL is recalculated as the difference between HRCOOL and (HSNWRM + HSNMLT), and the snow depth is converted to a water depth ZMELT. The energy used to melt the snow is added to the diagnostic variables HMFN, representing the energy associated with water phase changes in the snow pack, and HTCS. The new temperature of the rainfall is calculated by applying HRCOOL over the new rainfall rate reaching the soil, which now includes the original rainfall rate, the melted snow pack and the liquid water that was contained in the snow pack. The depth, temperature, density, heat capacity and liquid water content of the snow pack are set to zero.
If HRCOOL \(\geq\) HSNWRM but HRCOOL < (HSNWRM + HSNMLT), the energy contributed by the temperature of the rainfall is sufficient to warm the whole snowpack to 0 C but not to melt all of it. HSNMLT is therefore recalculated as HRCOOL - HSNWRM, and used to determine a melted depth of the snowpack ZMELT, which is subtracted from the snow depth ZSNOW. The energy used to melt this depth of snow is added to HMFN and HTCS. The total water now available for retention in the snowpack, WAVAIL, is obtained as the sum of the mass of melted water and the mass of water originally retained in the snow pack, WSNOW. This amount is compared to the water retention capacity of the snow pack, calculated from the maximum retention percentage by weight, WSNCAP . If WAVAIL is greater than the water retention capacity, WSNOW is set to the capacity value and the excess is reassigned to ZMELT. Otherwise WSNOW is set to WAVAIL and ZMELT is set to zero. The temperature of the snow and the temperature TR of the rainfall reaching the ground surface are each set to 0 C, HCPSNO is recalculated, and ZMELT is added to the rainfall rate R.
If HSNWRM \(\geq\) (HRCOOL + HRFREZ), the energy sink of the snow pack is sufficient to cool to 0 C and freeze all of the rainfall. HSNWRM is recalculated as the difference between HSNWRM and (HRCOOL + HRFREZ). The energy used in the freezing, HRFREZ, is added to HMFN and HTCS. The rainfall is applied to increasing the density of the snow pack RHOSNO; if the new density is greater than the density of ice, RHOSNO is reset to the ice density and ZSNOW is recalculated. HCPSNO is also recalculated, and the new snow temperature is obtained from HSNWRM, HCPSNO and ZSNOW. R and TR are set to zero.
If HSNWRM > HRCOOL and HSNWRM < (HRCOOL + HRFREZ), the ! energy sink of the snow pack is sufficient to cool the rainfall to 0 C, but not to freeze all of it. HRFREZ is therefore recalculated as HSNWRM – HRCOOL, and used to determine a depth of rain to be frozen, ZFREZ. The energy used in the freezing is added to HMFN and HTCS. The frozen rainfall is applied to increasing the density of the snow pack as above; if the calculated density exceeds that of ice, RHOSNO and ZSNOW are recalculated. The water available for retention in the snow pack, WAVAIL, is obtained as the sum of the unfrozen rainfall and WSNOW, and compared to the water retention capacity of the snow pack. If WAVAIL is greater than the water retention capacity, WSNOW is set to the capacity value and WAVAIL is recalculated. Otherwise WSNOW is set to WAVAIL and WAVAIL is set to zero. The heat capacity of the snow is recalculated, R is calculated from WAVAIL, and TR and TSNOW are set to zero.
Finally, the calculation of the change in internal energy is completed, and the rainfall rate leaving the bottom of the snow pack and reaching the soil is added to the diagnostic variables PCPG and ROFN.