CLASSIC
Canadian Land Surface Scheme including Biogeochemical Cycles
|
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) |
Addresses freezing of water ponded on ground surface.
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 | ||
) |
[in,out] | zpond | Depth of ponded water \([m] (z_p)\) |
[in,out] | tpond | Temperature of ponded water \([C] (T_p)\) |
[in,out] | zsnow | Depth of snow pack \([m] (z_g)\) |
[in,out] | tsnow | Temperature of the snow pack \([C] (T_s)\) |
[out] | albsno | Albedo of snow [ ] |
[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] | gzero | Heat flow into soil surface \([W m^{-2}]\) |
[in,out] | htcs | Internal energy change of snow pack due to conduction and/or change in mass \([W m^{-2}]\) (Is) |
[in,out] | wtrs | Water transferred into or out of the snow pack \([kg m^{-2} s^{-1}]\) |
[in,out] | wtrg | Water transferred into or out of the soil \([kg m^{-2} s^{-1}]\) |
[in,out] | hmfg | Energy associated with phase change of water in soil layers \([W m^{-2}]\) |
[in,out] | htc | Internal energy change of soil layer due to conduction and/or change in mass \([W m^{-2}]\) (Ig) |
[in] | fi | Fractional coverage of subarea in question on modelled area \([ ] (X_i)\) |
[in,out] | qfrez | Energy sink for freezing of water at the ground surface \([W m^{-2}]\) |
[in] | wsnow | Liquid water content of snow pack \([kg m^{-2}] (w_s)\) |
[in] | ta | Air temperature [K] |
[in] | tbar | Temperature of soil layer \([C] (T_g)\) |
[in] | isand | Sand 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).