Kevin
This module is defined in ClassKevin. Snow accounting is handled in PBSM using snow fall, transport and sublimation.
Observations
- hru_Qn (obs) - net radiation (W/m^2). Optional.
Variables
- albedo () - areal albedo.
- snowmelt (mm/int) - depth/amount of snowmelt in time step, Dt.
- snowmeltD (mm/d) - daily snowmelt.
- cumsnowmelt (mm) - index day melt.
- sca () - snow covered fraction. State variable.
- winter () - winter = 0/1 - false/true. State variable.
- SnowStat () - EARLY/MATURE/HOLD 0/1/2. State variable.
Parameters
- Asnow1 () - early snow albedo,. fresh snow, newly-fallen snow, snow at the start of ablation or “active melt”.
- Asnow2 () - mature snow albedo, wet snow, metamorphosed snow.
- Asoil () - soil albedo.
- cv () - coefficient of variation.
- tfactor (mm/d*/ºC) - degree-day melt factor.
- nfactor (mm*m^2/MJ*d) - net radiation factor. Converts daily net radiation flux (MJ/m2) to an equivalent average depth of water
- meltthresh(mm/d) - amount of daily melt that must be exceeded in order for a snowcover to become a mature pack.
- hru_lat (°) - latitude. Adjusts empirical Julian constants for Northern/Southern Hemisphere.
Variable Inputs
- hru_t (obs) - air temperature (°C) from module obs.
- hru_tmean (obs) - air temperature (°C) from module obs.
- hru_eamean (obs) - mean daily vapour pressure (kPa) from module obs.
- hru_SunAct(obs) - actual sunshine hours (h).
- SunMax (global) - maximum sunshine hours (h).
- Qdro (global) - calculated clear-sky direct (W/m^2).
- Qdfo (global) - calculated clear-sky diffuse (W/m^2).
- SWE (pbsm) - Snow water equivalent (mm).
Internal Variables
- SWEpeak (mm) - maximum SWE before melt.
- SWElast (mm) - last SWE before new snow fall during melt.
- daymelt (mm) - cumulated melt during a day. Used to determine when to go from the Early to the Mature phase.
Melt Algorithms
- tfactor OR nfactor greater than zero.
melt (mm/int) = (hru_t*tfactor + hru_Qn*nfactor*WtoMJ_D)/Freq individual terms used when positive.
- tfactor AND nfactor both equal to zero.
netlong = -0.85 + 0.97*SB*pow(hru_tmean+273.0, 4)*(-0.39+0.093*sqrt(hru_eamean))*(0.26+0.81*(hru_SunAct/SunMax))
if(hru_SunAct > 0.0)
shortw = (0.024+0.974*pow(hru_SunAct/SunMax, 1.35))*Qdro*WtoMJ_D +(2.68+2.2*(hru_SunAct/SunMax)-3.85*sqr(hru_SunAct/SunMax))*Qdfo*WtoMJ_D
else
shortw = (0.024*Qdro + 2.68*Qdfo)*WtoMJ_D
net = (shortw*(1.0-albedo) + netlong)/Freq; // MJ/day to MJ/interval.
where albedo = asnow1 for EARLY and = asnow2 for MATURE
melt (mm/int) = net/Hf // Hf = 0.3336 Latent heat of fusion, MJ/kg.
Snow Covered Area (SCA)
This is calculated by a routine SWE_prob from Shook 1995. The lognormal probability density function is used to describe the frequency distribution of the snow water equivalent. The routine calculates the exceedence probability for a value of SWE (Melt), i.e., it is the probability of a given SWE-value being exceeded. The value SWEpeak is the arithmetic mean of the snow pack before the onset of melt.
Model Flow Structure
The season is handled as three separate states
- EARLY - snow accumulation during early winter.
- MATURE - snow accumulation in spring after a significant melt.
- HOLD - occurs during the Mature state when a heavy snow fall occurs causing the snow pack to increase again.
EARLY: is the default state entered in the fall. SCA is 100% and the snow albedo is set to "Asnow1". After the spring melt it is re-entered when SCA is less than 1%.
MATURE: is entered when a melt has exceeded the value of "meltthresh". The albedo is set to "Asnow2". The SCA is calculated from the peak SWE (SWEpeak) and the remaining snow water equivalent (SWEpeak - SWElast).
HOLD: is entered from the Mature state when the SWE has exceeded the last interval SWE (SWElast). It will stay in this state until the SWE becomes less than value when the state was entered (SWElast) or SWE becomes greater than SWEpeak. SCA is 100% and the snow albedo is set to "Asnow1"
Status
- incomplete