net.simplace.sim.components.soil.temperature.SnowCoverCalculator

Calculates the snow cover, first soil layer temperature and biomass on ground factor depending on climate and soil conditions.

Snow Cover

Snow Cover is calculated using the formula:

\[ \begin{eqnarray} DST0=(1.-BCV) \cdot DST + BCV \cdot STMP0 \end{eqnarray} \]

Snow Cover calculation

If the soil surface is not bare, the surface temperature can be affected considerably by the amount of cover (crop residue or snow). This effect can be simulated by combining the estimated bare surface temperature for the day with the previous day's temperature in the second soil layer (the top 10 mm layer is considered too thin for this purpose).

where DST0 is the final estimate of soil surface temperature in °C and BCV is a lagging factor for simulating residue and snow cover effects on surface temperature. The value of BCV is 0.0 for bare soil and approaches 1.0 as cover increases, as expressed in the equation

\[ \begin{eqnarray} BCV &=& max(SNOF,BCV') \\ BCV' &=& \frac{CV}{CV+exp(5.34-2.40 \cdot CV)} \\ SNOF &=& \frac{SNO}{SNO+exp(2.30-0.220 \cdot SNO)} \end{eqnarray} \]

where

Snow melt

If snow is present, it may be melted on days when the second soil layer temperature exceeds 0 oC. Snow is melted as a function of the snow pack temperature using the equation

\[ \begin{eqnarray} SML &=& max(0.,X1 \cdot (1.52+.54 \cdot F \cdot SNPKT)) \quad \text{for} \quad 0.0 \lt SML \lt SNO \\ SNPKT & =& .3333 \cdot (2. \cdot X2+TX) \\ X1 &=& \sqrt{TMX \cdot RA} \\ X2 &=& min(DST0,STMP(2)) \\ F &=& TSNO/(TSNO+exp(5.34-2.395 \cdot TSNO)) \end{eqnarray} \]

where

The equations for estimating STMP and DST0 are presented in the soil temperature section. Melted snow is treated the same as rainfall for estimating runoff volume and percolation, but rainfall energy is set to 0.0 and peak runoff rate is estimated by assuming uniformly distributed rainfall for a 24-h duration.

Snow evaporation

EAJ is a soil cover index. The value of EAJ ranges from 0 to 1.0 according to the equation

\[ \begin{eqnarray} EAJ & = & exp(-X1) \\ X1 & = & max(0.4 \cdot SMLA,0.1 \cdot (CV+.1)) \end{eqnarray} \]

where

Reference:

Williams, J.R., Izaurralde, C.A., 2005. The APEX model, Blackland Research Center Reports, Vol. 2. Blackland Research Center, USDA, Temple, Texas, USA

Component Variables

Content TypeNameDescriptionData TypeUnitMin ValueMax ValueDefault Value
constantcCarbonContentCarbon content of upper soil layerDOUBLE%0.020.00.5
inputiCropResiduesCrop residues plus above ground biomassDOUBLEg/m20.020000.0-
inputiDoInitializeSwitch to re-initialize the model with initial values.BOOLEAN1--false
inputiLeafAreaIndexLeaf area indexDOUBLEm2/m20.010.0-
inputiPotentialSoilEvaporationPotenial EvaporationDOUBLEmm0.012.0-
inputiRAINRain amountDOUBLEmm0.060.0-
inputiRadiationSolar radiationDOUBLEMJ/m20.02000.0-
inputiSoilTempArraySoil Temp array of last dayDOUBLEARRAY°C-15.035.0-
inputiTempMaxDaily maximum temperatureDOUBLE°C-40.050.0-
inputiTempMinDaily minimum temperatureDOUBLE°C-40.050.0-
outAgeOfSnowAge of snowINT10-0
outAlbedoAlbedoDOUBLEARRAY10.01.0-
outSnowIsolationIndexSnow isolation indexDOUBLE10.01.00.0
outSnowWaterContentSnow water contentDOUBLEmm0.01500.00.0
outSoilSurfaceTemperatureSoil surface temperatureDOUBLE°C-40.070.00.0



public class SnowCoverCalculator extends net.simplace.sim.model.FWSimComponent {
// Public Constructors
public SnowCoverCalculator();


// Public Instance Methods
public HashMap createVariables(); // Defines
net.simplace.sim.model.FWSimComponent


create the FWSimVariables as interface for this SimComponent

// Protected Instance Methods
protected void init(); // Defines net.simplace.sim.model.FWSimComponent

initializes the fields by getting input and output FWSimVariables from VarMap
protected void reInitialize();

protected void process(); // Defines net.simplace.sim.model.FWSimComponent

process the algorithm and write the results back to VarMap
protected FWSimComponent clone(FWSimVarMap aVarMap);
// Defines net.simplace.sim.model.FWSimComponent


creates a clone from this SimComponent for use in other threads


}



Hierarchy: java.lang.Object - net.simplace.sim.model.FWSimComponent (net.simplace.sim.util.FWSimFieldContainer) - SnowCoverCalculator