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

Updates liquid and frozen water stores on canopy and in soil in response to calculated sublimation, evaporation and transpiration rates. More...

Functions/Subroutines

subroutine canopywaterupdate (EVAP, SUBL, RAICAN, SNOCAN, TCAN, THLIQ, TBAR, ZSNOW, WLOST, CHCAP, QFCF, QFCL, QFN, QFC, HTCC, HTCS, HTC, FI, CMASS, TSNOW, HCPSNO, RHOSNO, FROOT, THPOR, THLMIN, DELZW, EVLOST, RLOST, IROOT, IG, ILG, IL1, IL2, JL, N)
 

Detailed Description

Updates liquid and frozen water stores on canopy and in soil in response to calculated sublimation, evaporation and transpiration rates.

Author
D. Verseghy, M. Lazare

Function/Subroutine Documentation

◆ canopywaterupdate()

subroutine canopywaterupdate ( real, dimension (ilg), intent(inout)  EVAP,
real, dimension (ilg), intent(inout)  SUBL,
real, dimension(ilg), intent(inout)  RAICAN,
real, dimension(ilg), intent(inout)  SNOCAN,
real, dimension (ilg), intent(inout)  TCAN,
real, dimension (ilg,ig), intent(inout)  THLIQ,
real, dimension (ilg,ig), intent(inout)  TBAR,
real, dimension (ilg), intent(inout)  ZSNOW,
real, dimension (ilg), intent(inout)  WLOST,
real, dimension (ilg), intent(inout)  CHCAP,
real, dimension (ilg), intent(inout)  QFCF,
real, dimension (ilg), intent(inout)  QFCL,
real, dimension (ilg), intent(inout)  QFN,
real, dimension (ilg,ig), intent(inout)  QFC,
real, dimension (ilg), intent(inout)  HTCC,
real, dimension (ilg), intent(inout)  HTCS,
real, dimension (ilg,ig), intent(inout)  HTC,
real, dimension (ilg), intent(in)  FI,
real, dimension (ilg), intent(in)  CMASS,
real, dimension (ilg), intent(in)  TSNOW,
real, dimension(ilg), intent(in)  HCPSNO,
real, dimension(ilg), intent(in)  RHOSNO,
real, dimension (ilg,ig), intent(in)  FROOT,
real, dimension(ilg,ig), intent(in)  THPOR,
real, dimension(ilg,ig), intent(in)  THLMIN,
real, dimension (ilg,ig), intent(in)  DELZW,
real, dimension(ilg), intent(inout)  EVLOST,
real, dimension(ilg), intent(inout)  RLOST,
integer, dimension(ilg), intent(inout)  IROOT,
integer, intent(in)  IG,
integer, intent(in)  ILG,
integer, intent(in)  IL1,
integer, intent(in)  IL2,
integer, intent(in)  JL,
integer, intent(in)  N 
)
Parameters
[in,out]thliqVolumetric liquid water content of soil
[in,out]tbarTemperature of soil layer \([K] (T_g)\)
[in,out]qfcTranspired water removed from soil layer \([kg m^{-2} s^{-1}]\)
[in,out]htcInternal energy change of soil layer due to conduction and/or change in mass \([W m^{-2}] (I_g)\)
[in,out]evapEvapotranspiration rate from vegetation canopy \([m s^{-1}]\)
[in,out]sublCalculated sublimation rate from vegetation canopy \([m s^{-1}]\)
[in,out]raicanIntercepted liquid water stored on the canopy \([kg m^{-2}]\)
[in,out]snocanIntercepted frozen water stored on the canopy \([kg m^{-2}]\)
[in,out]tcanTemperature of vegetation canopy \([K] (T_c)\)
[in,out]zsnowDepth of snow pack \([m] (z_g)\)
[in,out]wlostResidual amount of water that cannot be supplied by surface stores \([kg m^{-2}]\)
[in,out]chcapHeat capacity of vegetation canopy \([J m^{-2} K^{-1}] (C_c)\)
[in,out]qfcfSublimation from frozen water in canopy interception store \([kg m^{-2} s^{-1}]\)
[in,out]qfclEvaporation from liquid water in canopy interception store \([kg m^{-2} s^{-1} ]\)
[in,out]qfnSublimation from snow pack \([kg m^{-2} s^{-1}]\)
[in,out]htccInternal energy change of canopy due to changes in temperature and/or mass \([W m^{-2}] (I_c)\)
[in,out]htcsInternal energy change of snow pack due to conduction and/or change in mass \([W m^{-2}] (I_s)\)
[in]frootFractional contribution of soil layer to transpiration [ ]
[in]thporPore volume in soil layer \([m^3 m^{-3}]\)
[in]thlminResidual soil liquid water content remaining after freezing or evaporation \([m^3 m^{-3}]\)
[in]delzwPermeable depth of soil layer \([m] (\Delta z_{g,w})\)
[in]fiFractional coverage of subarea in question on modelled area \([ ] (X_i)\)
[in]cmassMass of vegetation canopy \([kg m^{-2}]\)
[in]tsnowTemperature of the snow pack [C]
[in]hcpsnoHeat capacity of snow pack \([J m^{-3} K^{-1}] (C_s)\)
[in]rhosnoDensity of snow pack \([kg m^{-3}]\)

The calculated fluxes of liquid and frozen water from the canopy to the overlying air, obtained as outputs of waterCalcPrep, are applied to the liquid and frozen intercepted water stores on the vegetation canopy, and to the liquid and frozen moisture stores at the surface and in the soil. Since there may not be sufficient water in one or more of these stores to sustain the calculated rate over the whole time step, a hierarchy of operations is followed as described below. The change of internal energy HTC in the canopy, snow and soil layers as a result of these processes is calculated as the difference in HTC between the beginning and end of the subroutine:

\[ \Delta I_c = X_i \Delta (C_c T_c)/ \Delta t \]

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

where the C terms represent volumetric heat capacities and the T terms temperatures of the canopy and snow pack, \(\Delta t\) is the length of the time step, \(z_s\) the snow depth, and \(X_i\) the fractional coverage of the subarea under consideration relative to the modelled area. For the soil layers, since only the liquid water content is affected by these calculations, the change in internal energy of each layer is calculated from the change in liquid water content \(\theta_l\) as:

\[ \Delta I_g = X_i C_w \Delta z_{g, w} \Delta (T_g \theta_l)/ \Delta t \]

Sublimation is addressed first. The predicted mass of sublimated water SLOST is calculated and compared to the frozen water in the canopy interception store, SNOCAN. If SLOST \(\leq\) SNOCAN, all of the sublimated water is subtracted from SNOCAN. If not, the excess sublimation is calculated as SLOST-SNOCAN, QFCF is corrected for the canopy sublimation difference, and SNOCAN is set to zero. Next, the new value of SLOST is compared to the snowpack mass, calculated as ZSNOW*RHOSNO. If SLOST \(\leq\) ZSNOW*RHOSNO, all of the remaining sublimated water is taken from the snow pack, and QFN is modified to reflect this loss. Otherwise, the excess sublimation is calculated as SLOST - ZSNOW*RHOSNO, QFN is adjusted accordingly, and ZSNOW is set to zero. There now remain no further frozen moisture stores from which sublimated water can be taken (frozen water in the soil is assumed to be immobile), so the remaining energy that had been assigned to sublimation is assigned to canopy evaporation instead, and QFCL is duly recalculated. This means, however, that a small imbalance will arise in the water budget owing to the difference between the latent heats of sublimation and evaporation. This imbalance is assigned to the housekeeping variable WLOST.

Now canopy evaporation is addressed. It is assumed that all intercepted liquid water evaporates before transpiration begins, since there is a canopy stomatal resistance associated with transpiration and there is none associated with evaporation. The predicted mass of evaporated water RLOST is calculated and compared to the liquid water in the canopy interception store, RAICAN. If RLOST \(\leq\) RAICAN, all of the evaporated water is subtracted from RAICAN. If not, the excess evaporation is calculated as RLOST - RAICAN, and QFCL is corrected for the canopy evaporation difference. This excess evaporation is now treated as transpiration. An initial check is done by referring to the diagnostic flag IROOT, which was set to 1 at the beginning of the subroutine if there was water available for transpiration in any of the soil layers. If IROOT is zero, no transpiration can occur and the excess evaporation is stored in the temporary variable EVLOST.

The next loop is performed if IROOT=1, i.e. if transpiration is possible. For each soil layer, the volumetric water content that is removed by transpiration, THTRAN, is calculated from RLOST (converted to a volumetric content by dividing by the density of water and the permeable thickness of the soil layer), and the fractional contribution of the soil layer FROOT. If there is enough liquid water in the soil layer to supply THTRAN, the diagnostic transpiration flux QFC for the layer is updated using THTRAN, and the liquid water content of the layer is updated as THLIQ-THTRAN. If not, QFC is updated using the available water in the soil layer, THLIQ is set to THLMIN, and the residual untranspired water is added to EVLOST.

In the final cleanup, the canopy heat capacity is recalculated, the contents of EVLOST are added to WLOST, and the remaining internal energy calculations are completed.