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

Diagnoses snowpack visible and near-IR albedos given the all-wave albedo at the current time step. Calculates snowpack transmissivity for shortwave radiation. More...

Functions/Subroutines

subroutine snowalbedotransmiss (ALVSSN, ALIRSN, ALVSSC, ALIRSC, ALBSNO, TRSNOWC, ALSNO, TRSNOWG, FSDB, FSFB, RHOSNO, REFSN, BCSN, SNO, CSZ, ZSNOW, FSNOW, ASVDAT, ASIDAT, ALVSG, ALIRG, ILG, IG, IL1, IL2, JL, IALS, NBS, ISNOALB)
 

Detailed Description

Diagnoses snowpack visible and near-IR albedos given the all-wave albedo at the current time step. Calculates snowpack transmissivity for shortwave radiation.

Author
D. Verseghy, J. Cole, M. Lazare

In subroutine snowAging, called at the end of waterBudgetDriver, the change of total snow albedo over the current time step is calculated using an empirical exponential decay function, which has different coefficients depending on whether the snow is dry or melting. In this subroutine, if the ISNOALB switch is set to 0, the visible and near-IR components of the snow albedo are diagnosed from the total albedo. According to the literature (Aguado, 1985 [2] ; Robinson and Kukla, 1984; Dirmhirn and Eaton, 1975 [33]), the following represent typical snow albedos for fresh snow, old dry snow and melting snow:

\[ \begin{array} { | l | c | c | c | } \hline & \text{Total albedo} & \text{Visible albedo} & \text{Near-IR albedo} \\ \hline \text{Fresh snow} & 0.84 & 0.95 & 0.73 \\ \hline \text{Old dry snow} & 0.70 & 0.84 & 0.56 \\ \hline \text{Melting snow} & 0.50 & 0.62 & 0.38 \\ \hline \end{array} \]

The same decay function is assumed to apply to all three albedo ranges, so the relative location of the visible and near-IR albedos, \(\alpha_{s, VIS}\) and \(\alpha_{s, NIR}\), on the decay curve will be analogous to that of the total albedo, \(\alpha_{s, T}\). Thus, for dry snow:

\([\alpha_{s, VIS} - 0.84]/[0.95-0.84] = [\alpha_{s, T} - 0.70]/[0.84-0.70]\) \([\alpha_{s, NIR} - 0.56]/[0.73-0.56] = [\alpha_{s, T} - 0.70]/[0.84-0.70]\)

or, simplifying:

\(\alpha_{s, VIS} = 0.7857 \alpha_{s, T} + 0.2900\) \(\alpha_{s, NIR} = 1.2142 \alpha_{s, T} - 0.2900\)

For melting snow:

[ \(\alpha_{s, VIS} - 0.62]/[0.95-0.62] = [\alpha_{s, T} - 0.50]/[0.84-0.50]\) [ \(\alpha_{s, NIR} - 0.38]/[0.73-0.38] = [\alpha_{s, T} - 0.50]/[0.84-0.50]\)

or, simplifying:

\(\alpha_{s, VIS} = 0.9706 \alpha_{s, T} + 0.1347\) \(\alpha_{s, NIR} = 1.0294 \alpha_{s, T} - 0.1347\)

The above calculations are performed if the flag IALS is set to zero. If IALS is set to one, indicating that assigned snow albedos are to be used instead of calculated values, \(\alpha_{s, VIS}\) and \(\alpha_{s, NIR}\) are set to the assigned values ASVDAT and ASIDAT respectively. The sub-canopy values of visible and near-IR albedo are currently set equal to the open snowpack values (this is expected to change if a canopy litterfall parametrization is developed).

The transmissivity of snow under vegetation \(\tau_{s, c}\) is then calculated from the snow depth ZSNOW using Beer’s law, with an empirical extinction coefficient of \(25.0 m^{-1}\) derived from the literature (Grenfell and Maykut, 1977 [42] ; Thomas, 1963):

\(\tau_{s, c} = exp[-25.0 z_s]\)

If the ISNOALB switch is set to zero, the value of ALSNO in the first wavelength band is set to the previously calculated value of \(\alpha_{s, VIS}\) and the values for the remaining bands are set to the previously calculated value of \(\alpha_{s, NIR}\); the value of \(\tau_{s, g}\) is set to \(\tau_{s, c}\). If the ISNOALB switch is set to 1, a new parameterization for the snow albedo and transmissivity in four shortwave radiation bands (one visible and three near-IR) is used, according to Cole et al. (2017). This parameterization incorporates the effects of snow grain size and black carbon content, and makes use of lookup tables contained in the CCCma subroutines SNOW_ALBVAL and SNOW_TRANVAL.

Function/Subroutine Documentation

◆ snowalbedotransmiss()

subroutine snowalbedotransmiss ( real, dimension(ilg), intent(inout)  ALVSSN,
real, dimension(ilg), intent(inout)  ALIRSN,
real, dimension(ilg), intent(out)  ALVSSC,
real, dimension(ilg), intent(out)  ALIRSC,
real, dimension(ilg), intent(inout)  ALBSNO,
real, dimension(ilg), intent(inout)  TRSNOWC,
real, dimension (ilg,nbs), intent(out)  ALSNO,
real, dimension(ilg,nbs), intent(out)  TRSNOWG,
real, dimension(ilg,nbs), intent(in)  FSDB,
real, dimension(ilg,nbs), intent(in)  FSFB,
real, dimension(ilg), intent(in)  RHOSNO,
real, dimension (ilg), intent(in)  REFSN,
real, dimension (ilg), intent(in)  BCSN,
real, dimension (ilg), intent(in)  SNO,
real, dimension (ilg), intent(in)  CSZ,
real, dimension (ilg), intent(in)  ZSNOW,
real, dimension (ilg), intent(in)  FSNOW,
real, dimension(ilg), intent(in)  ASVDAT,
real, dimension(ilg), intent(in)  ASIDAT,
real, dimension (ilg), intent(in)  ALVSG,
real, dimension (ilg), intent(in)  ALIRG,
integer, intent(in)  ILG,
integer, intent(in)  IG,
integer, intent(in)  IL1,
integer, intent(in)  IL2,
integer, intent(in)  JL,
integer, intent(in)  IALS,
integer, intent(in)  NBS,
integer, intent(in)  ISNOALB 
)
Parameters
[in]nbsNumber of modelled shortwave radiation wavelength bands
[in]isnoalbSwitch to model snow albedo in two or more wavelength bands
[out]alvsscVisible albedo of snow on ground under vegetation canopy [ ]
[out]alirscNear-IR albedo of snow on ground under vegetation canopy [ ]
[out]alsnoAlbedo of snow in each modelled wavelength band [ ]
[out]trsnowgTransmissivity of snow in bare areas to shortwave radiation \([ ] (\tau_{s,g})\)
[in,out]trsnowcTransmissivity of snow under vegetation to shortwave radiation \([ ] (\tau_{s, c})\)
[in,out]alvssnVisible albedo of snow pack on bare ground \([ ] (alpha_{s, VIS})\)
[in,out]alirsnNear-IR albedo of snow pack on bare ground \([ ] (alpha_{s, NIR})\)
[in]alvsgNear-IR albedo f bare ground [ ]
[in]alirgVisible albedo of bare ground [ ]
[in]fsdbDirect solar radiation in each modelled wavelength band \([W m^{-2}]\)
[in]fsfbDiffuse solar radiation in each modelled wavelength band \([W m^{-2}]\)
[in]zsnowDepth of snow \([m] (z_s)\)
[in]fsnowFractional coverage of snow on grid cell [ ]
[in]asvdatAssigned value of visible albedo of snow pack – optional [ ]
[in]asidatAssigned value of near-IR albedo of snow pack – optional [ ]
[in]refsnSnow grain size [m]
[in]bcsnBlack carbon mixing ratio \([kg m^{-3}]\)
[in]cszCosine of solar zenith angle [ ]
[in]snoMass of snow pack \([kg m^{-2}]\)
[in]rhosnoDensity of snow pack \([kg m^{-3}]\)
[in,out]albsnoAll-wave albedo of snow pack \([ ] (\alpha_{s, T})\)

Convert the units of the snow grain size and BC mixing ratio Snow grain size from meters to microns and BC from \(kg BC/m^3\) to ng BC/kg SNOW