Klasse SnowCoverCalculator
- Alle implementierten Schnittstellen:
net.simplace.sim.util.FWSimFieldContainer
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 Ungültige Eingabe: "&"=Ungültige Eingabe: "&" max(SNOF,BCV') \\ BCV' Ungültige Eingabe: "&"=Ungültige Eingabe: "&" \frac{CV}{CV+exp(5.34-2.40 \cdot CV)} \\ SNOF Ungültige Eingabe: "&"=Ungültige Eingabe: "&" \frac{SNO}{SNO+exp(2.30-0.220 \cdot SNO)} \end{eqnarray} \]where
- CV is the sum of above ground biomass and crop residue in t ha-1 and
- SNO is the water content of the snow cover in mm.
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 Ungültige Eingabe: "&"=Ungültige Eingabe: "&" max(0.,X1 \cdot (1.52+.54 \cdot F \cdot SNPKT)) \quad \text{for} \quad 0.0 \lt SML \lt SNO \\ SNPKT Ungültige Eingabe: "&" =Ungültige Eingabe: "&" .3333 \cdot (2. \cdot X2+TX) \\ X1 Ungültige Eingabe: "&"=Ungültige Eingabe: "&" \sqrt{TMX \cdot RA} \\ X2 Ungültige Eingabe: "&"=Ungültige Eingabe: "&" min(DST0,STMP(2)) \\ F Ungültige Eingabe: "&"=Ungültige Eingabe: "&" TSNO/(TSNO+exp(5.34-2.395 \cdot TSNO)) \end{eqnarray} \]where
- SML is the snowmelt rate in mm d-1,
- SNO is the snow present in mm of water,
- STMP is the temperature in oC of soil layer 2,
- SNPKT is the snow pack temperature in oC,
- DST0 is the soil surface temperature in oC, and
- TSNO is the age of the snow pack in d.
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 Ungültige Eingabe: "&" = Ungültige Eingabe: "&" exp(-X1) \\ X1 Ungültige Eingabe: "&" = Ungültige Eingabe: "&" max(0.4 \cdot SMLA,0.1 \cdot (CV+.1)) \end{eqnarray} \]where
- CV is the weight of all above ground plant material in t ha-1.
Reference:
Williams, J.R., Izaurralde, C.A., 2005. The APEX model, Blackland Research Center Reports, Vol. 2. Blackland Research Center, USDA, Temple, Texas, USA
- Autor:
- Andreas Enders, Gunther Krauss
Component Variables
| Content Type | Name | Description | Data Type | Unit | Min Value | Max Value | Default Value |
|---|---|---|---|---|---|---|---|
| constant | cAlbedo | Albedo, if not set it will be initialized | DOUBLE | 1 | 0.0 | 1.0 | 0.0 |
| constant | cCarbonContent | Carbon content of upper soil layer | DOUBLE | % | 0.5 | 20.0 | 0.5 |
| constant | cInitialAgeOfSnow | Initial age of snow | INT | % | 0 | - | 0 |
| constant | cInitialSnowWaterContent | Initial snow water content | DOUBLE | % | 0.0 | 1500.0 | 0.0 |
| constant | cSnowIsolationFactorA | Static part of the snow isolation index calculation | DOUBLE | 1 | 0.0 | 10.0 | 2.3 |
| constant | cSnowIsolationFactorB | Dynamic part of the snow isolation index calculation | DOUBLE | 1 | 0.0 | 1.0 | 0.22 |
| input | iCropResidues | Crop residues plus above ground biomass | DOUBLE | g/m2 | 0.0 | 20000.0 | - |
| input | iDoInitialize | Switch to re-initialize the model with initial values. | BOOLEAN | 1 | - | - | false |
| input | iLeafAreaIndex | Leaf area index | DOUBLE | m2/m2 | 0.0 | 10.0 | - |
| input | iPotentialSoilEvaporation | Potenial Evaporation | DOUBLE | mm | 0.0 | 12.0 | 0.0 |
| input | iRAIN | Rain amount | DOUBLE | mm | 0.0 | 60.0 | 0.0 |
| input | iRadiation | Global Solar radiation | DOUBLE | MJ/m2 | 0.0 | 2000.0 | - |
| input | iSoilTempArray | Soil Temp array of last day | DOUBLEARRAY | °C | -15.0 | 35.0 | - |
| input | iTempMax | Daily maximum air temperature | DOUBLE | °C | -40.0 | 50.0 | - |
| input | iTempMin | Daily minimum air temperature | DOUBLE | °C | -40.0 | 50.0 | - |
| state | AgeOfSnow | Age of snow | INT | d | 0 | - | 0 |
| state | SnowWaterContent | Snow water content | DOUBLE | mm | 0.0 | 1500.0 | 0.0 |
| state | SoilSurfaceTemperature | Soil surface temperature | DOUBLE | °C | -40.0 | 70.0 | 0.0 |
| rate | rAgeOfSnowRate | daily age of snow change rate | INT | 1 | - | - | 0 |
| rate | rSnowWaterContentRate | daily snow water content change rate | DOUBLE | mm/d | -1500.0 | 1500.0 | 0.0 |
| rate | rSoilSurfaceTemperatureRate | daily soil surface temperature change rate | DOUBLE | degree_Celsius_per_day | -40.0 | 70.0 | 0.0 |
| out | SnowIsolationIndex | Snow isolation index | DOUBLE | 1 | 0.0 | 1.0 | 0.0 |
-
Verschachtelte Klassen - Übersicht
Von Klasse geerbte verschachtelte Klassen/Schnittstellen net.simplace.sim.model.FWSimComponent
net.simplace.sim.model.FWSimComponent.TEST_STATE -
Feldübersicht
Von Klasse geerbte Felder net.simplace.sim.model.FWSimComponent
iFieldMap, iFrequence, iInputMap, iJexlRule, iMasterComponentGroup, iName, iOrderNumber, isComponentGroup, iSimComponentElement, iSimModel, iVarMap -
Konstruktorübersicht
Konstruktoren -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungprotected net.simplace.sim.model.FWSimComponentclone(net.simplace.sim.util.FWSimVarMap aVarMap) create the FWSimVariables as interface for this SimComponentfillTestVariables(int aParamIndex, net.simplace.sim.model.FWSimComponent.TEST_STATE aDefineOrCheck) called for single component test to check the components algorithm.protected voidinit()initializes the fields by getting input and output FWSimVariables from VarMapprotected voidprocess()process the algorithm and write the results back to VarMapprotected voidVon Klasse geerbte Methoden net.simplace.sim.model.FWSimComponent
addVariable, bind, checkCondition, createSimComponent, createSimComponent, createSimComponent, createSimComponent, doProcess, getConstantVariables, getContentType, getCreateFormXML, getDescription, getEditFormXML, getFieldMap, getFrequence, getFrequenceRuleScript, getInputs, getInputVariables, getMasterComponentGroup, getName, getOrderNumber, getOutputVariables, getVariable, getVariableField, getVarMap, initialize, isConditionCheck, isVariableAvailable, performLinks, performLinks, readInputs, removeVariable, reset, runComponentTest, setVariablesDefault, toComponentLinkingXML, toDocXML, toGroupXML, toOutputDefinitionXML, toResourcesDataXML, toResourcesDefinitionXML, toString, toXML, writeVarInfos
-
Konstruktordetails
-
SnowCoverCalculator
public SnowCoverCalculator()Empty constructor used by class.forName()
-
-
Methodendetails
-
createVariables
create the FWSimVariables as interface for this SimComponent- Angegeben von:
createVariablesin Schnittstellenet.simplace.sim.util.FWSimFieldContainer- Angegeben von:
createVariablesin Klassenet.simplace.sim.model.FWSimComponent- Siehe auch:
-
init
protected void init()initializes the fields by getting input and output FWSimVariables from VarMap- Angegeben von:
initin Klassenet.simplace.sim.model.FWSimComponent- Siehe auch:
-
reInitialize
protected void reInitialize() -
process
protected void process()process the algorithm and write the results back to VarMap- Angegeben von:
processin Klassenet.simplace.sim.model.FWSimComponent- Siehe auch:
-
fillTestVariables
public HashMap<String,net.simplace.sim.util.FWSimVariable<?>> fillTestVariables(int aParamIndex, net.simplace.sim.model.FWSimComponent.TEST_STATE aDefineOrCheck) called for single component test to check the components algorithm. aParamIndex: Used to set up different test cases. Start with 0 - result check with 1 aso- Angegeben von:
fillTestVariablesin Klassenet.simplace.sim.model.FWSimComponent- Siehe auch:
-
clone
protected net.simplace.sim.model.FWSimComponent clone(net.simplace.sim.util.FWSimVarMap aVarMap) - Angegeben von:
clonein Klassenet.simplace.sim.model.FWSimComponent- Siehe auch:
-