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

Addresses freezing of water ponded on ground surface. More...

Functions/Subroutines

subroutine pondedwaterfreeze (ZPOND, TPOND, ZSNOW, TSNOW, ALBSNO, RHOSNO, HCPSNO, GZERO, HMFG, HTCS, HTC, WTRS, WTRG, FI, QFREZ, WSNOW, TA, TBAR, ISAND, IG, ILG, IL1, IL2, JL)
 

Detailed Description

Addresses freezing of water ponded on ground surface.

Author
D. Verseghy, M. Lazare

Function/Subroutine Documentation

◆ pondedwaterfreeze()

subroutine pondedwaterfreeze ( real, dimension (ilg), intent(inout)  ZPOND,
real, dimension (ilg), intent(inout)  TPOND,
real, dimension (ilg), intent(inout)  ZSNOW,
real, dimension (ilg), intent(inout)  TSNOW,
real, dimension(ilg), intent(out)  ALBSNO,
real, dimension(ilg), intent(inout)  RHOSNO,
real, dimension(ilg), intent(inout)  HCPSNO,
real, dimension (ilg), intent(inout)  GZERO,
real, dimension (ilg,ig), intent(inout)  HMFG,
real, dimension (ilg), intent(inout)  HTCS,
real, dimension (ilg,ig), intent(inout)  HTC,
real, dimension (ilg), intent(inout)  WTRS,
real, dimension (ilg), intent(inout)  WTRG,
real, dimension (ilg), intent(in)  FI,
real, dimension (ilg), intent(inout)  QFREZ,
real, dimension (ilg), intent(in)  WSNOW,
real, dimension (ilg), intent(in)  TA,
real, dimension (ilg,ig), intent(in)  TBAR,
integer, dimension (ilg,ig), intent(in)  ISAND,
integer, intent(in)  IG,
integer, intent(in)  ILG,
integer, intent(in)  IL1,
integer, intent(in)  IL2,
integer, intent(in)  JL 
)
Parameters
[in,out]zpondDepth of ponded water \([m] (z_p)\)
[in,out]tpondTemperature of ponded water \([C] (T_p)\)
[in,out]zsnowDepth of snow pack \([m] (z_g)\)
[in,out]tsnowTemperature of the snow pack \([C] (T_s)\)
[out]albsnoAlbedo of snow [ ]
[in,out]rhosnoDensity of snow pack \([kg m^{-3}] (\rho_s)\)
[in,out]hcpsnoHeat capacity of snow pack \([J m^{-3} K^{-1}] (C_s)\)
[in,out]gzeroHeat flow into soil surface \([W m^{-2}]\)
[in,out]htcsInternal energy change of snow pack due to conduction and/or change in mass \([W m^{-2}]\) (Is)
[in,out]wtrsWater transferred into or out of the snow pack \([kg m^{-2} s^{-1}]\)
[in,out]wtrgWater transferred into or out of the soil \([kg m^{-2} s^{-1}]\)
[in,out]hmfgEnergy associated with phase change of water in soil layers \([W m^{-2}]\)
[in,out]htcInternal energy change of soil layer due to conduction and/or change in mass \([W m^{-2}]\) (Ig)
[in]fiFractional coverage of subarea in question on modelled area \([ ] (X_i)\)
[in,out]qfrezEnergy sink for freezing of water at the ground surface \([W m^{-2}]\)
[in]wsnowLiquid water content of snow pack \([kg m^{-2}] (w_s)\)
[in]taAir temperature [K]
[in]tbarTemperature of soil layer \([C] (T_g)\)
[in]isandSand content flag

Freezing of water ponded on the ground surface occurs if an energy sink QFREZ is produced as a result of the solution of the surface energy balance, or if the pond temperature at the beginning of the subroutine has been projected to be below 0 C. The change of internal energy I in the snow and first soil layer (which for the purposes of diagnostic calculations includes the ponded water) as a result of these processes is calculated as the difference in I between the beginning and end of the subroutine:

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

\(\Delta I_g = X_i \Delta(C_w T_p z_p)/\Delta t\)

where the C terms represent volumetric heat capacities, the T terms temperatures, and the z terms depths of the snow pack and the ponded water respectively, \(\Delta t\) is the length of the time step, and \(X_i\) the fractional coverage of the subarea under consideration relative to the modelled area.

The energy sink HADD to be applied to the ponded water is calculated from QFREZ and the pond temperature TPOND (if it is below 0 C). Two diagnostic variables, HCOOL and HCONV, are calculated as the energy sink required to cool the ponded water to 0 C, and that required both to cool and to freeze the ponded water, respectively. If HADD \(\leq\) HCOOL, the available energy sink is only sufficient to decrease the temperature of the ponded water. This decrease is applied, and the energy used is added to the internal energy HTC of the first soil layer.

If HADD > HCOOL but HADD \(\leq\) HCONV, the available energy sink is sufficient to decrease the ponded water temperature to 0 C and to freeze part of it. The energy used in freezing is calculated as HADD – HCOOL, and is used to calculate the depth of frozen water ZFREZ, which is then subtracted from the ponded water depth ZPOND. HCOOL is added to HTC, and ZFREZ is converted from a depth of water to a depth of ice and added to the snow pack. If there is not a pre-existing snow pack, the snow albedo is set to the background value for old snow, 0.50. The temperature, density and heat capacity of the snow pack are recalculated.

If HADD > HCONV, the available energy sink is sufficient to cool and freeze the whole depth of ponded water, and also to decrease the temperature of the ice thus formed. The ponded water depth is converted to a depth of ice ZFREZ, and HCOOL is added to HTC. In order to avoid unphysical temperature decreases caused by the length of the time step and the small ponding depth, a limit is set on the allowable decrease. The theoretical temperature of the newly formed ice, TTEST, is calculated from HADD – HCONV. If there is a pre-existing snow pack, the limiting temperature TLIM is set to the minimum of the snow pack temperature TSNOW, the first soil layer temperature, and 0 C; otherwise it is set to the minimum of the air temperature, the first soil layer temperature and 0 C. If TTEST < TLIM, the new ice is assigned TLIM as its temperature in the recalculation of TSNOW, the excess heat sink HEXCES is calculated from HADD and TLIM and assigned to the ground heat flux GZERO, and HADD – HEXCES is used to update HTC. Otherwise the new ice is assigned TTEST as its temperature in the recalculation of TSNOW, and HADD is used to update HTC. If there is not a pre-existing snow pack, the snow albedo is set to the background value. The density, depth and heat capacity of the snow pack are recalculated, and the pond depth and temperature are set to zero.

At the end of the subroutine, the internal energy calculations are completed, and ZFREZ is used to update the diagnostic variable HMFG describing the energy associated with phase changes of water in soil layers, and also the diagnostic variables WTRS and WTRG describing transfers of water into or out of the snow and soil respectively. Finally, the initial step in the calculation of the internal energy change for the ponded water over the following subroutines waterFlowInfiltrate and waterFlowNonInfiltrate is performed (the calculation is completed in subroutine waterUpdates).