Package net.simplace.sim.transformers
Class NetRadiationFromAnyTransformer
java.lang.Object
net.simplace.sim.io.FWSimIOAdapter
net.simplace.sim.io.resources.FWSimInputAdapter
net.simplace.sim.io.resources.FWSimResourceTransformer
net.simplace.sim.transformers.NetRadiationFromAnyTransformer
- All Implemented Interfaces:
net.simplace.sim.util.FWSimFieldContainer
public class NetRadiationFromAnyTransformer
extends net.simplace.sim.io.resources.FWSimResourceTransformer
Calculates net radiation from either global radiation or, if no global radiation available, from sun hours using (FAO 56) methods.
Extra-terrestrial as well as solar radiation (in case of sun hours input) are also calculated.
Chosen method depends on input availability, preferential order as below.
- From solar radiation.
- From sun hours.
Note: If data is missing in weather inputs, calculation method may change without throwing an error. This may be desired when dealing with an incomplete dataset, but undesired when missing data unintendedly changes the calculation method. An INFO message is written to log when the method changes.
For documentation of the formulas please check the original reference (FAO 56)
Configuration
requested structure of configuration element:
| <transform id="weather_transform" resource="weather" frequence="DAILY" class="net.simplace.sim.transformers.NetRadiationFromAny"> | <header> | <res id="StationID" datatype="CHAR"/> | <res id="MESS_DATUM" datatype="DATE" key="CURRENT.DATE" /> | <res id="SolarRadiationJ" unit="J*m**-2" datatype="DOUBLE"/> | <res id="SolarRadiationKJ" unit="KJ*m**-2" datatype="DOUBLE"/> | <res id="SolarRadiationMJ" unit="MJ*m**-2" datatype="DOUBLE"/> | <res id="ExtraterrestrialRadiation" unit="KJ*m**-2" datatype="DOUBLE"/> | <res id="NetSolarRadiationJ" unit="J*m**-2" datatype="DOUBLE"/> | <res id="NetSolarRadiationKJ" unit="KJ*m**-2" datatype="DOUBLE"/> | <res id="NetSolarRadiationMJ" unit="MJ*m**-2" datatype="DOUBLE"/> | <res id="NetOutgoingLWRadiation" unit="KJ*m**-2" datatype="DOUBLE"/> | <res id="NetRadiationJ" unit="J*m**-2" datatype="DOUBLE"/> | <res id="NetRadiationKJ" unit="KJ*m**-2" datatype="DOUBLE"/> | <res id="NetRadiationMJ" unit="MJ*m**-2" datatype="DOUBLE"/> | </header> | <input id="cLatitude" source="vLatitude"/> | <input id="cAltitude" source="vAltitude"/> | <input id="cAngstromRegressionConstant" source="vAngstromRegressionConstant"/> | <input id="cAngstromRegressionSlope" source="vAngstromRegressionSlope"/> | <input id="cUseAnstroemVariables">true</input> | <input id="cMaxTempName">AirTemperatureMax</input> | <input id="cMinTempName">AirTemperatureMin</input> | <input id="cSunHoursName">SunHours</input> | <input id="cSolarRadiationName">SolarRadiation</input> | <input id="cActualVapourPressureName">VapourPressure</input> | </transform>
References
- Author:
- Andreas Enders, Gunther Krauss, gk@uni-bonn.de
Component Variables
| Content Type | Name | Description | Data Type | Unit | Min Value | Max Value | Default Value |
|---|---|---|---|---|---|---|---|
| constant | cAltitude | elevation above sea level | DOUBLE | m | - | - | 0.0 |
| constant | cAngstromRegressionConstant | Angstrom equation regression constant | DOUBLE | 1 | - | - | 0.25 |
| constant | cAngstromRegressionSlope | Angstrom equation regression slope | DOUBLE | 1 | - | - | 0.5 |
| constant | cLatitude | latitude | DOUBLE | ° | -90.0 | 90.0 | 0.0 |
| constant | cUseAngstromVariables | use measured Angstrom variables if true, else use default ones | BOOLEAN | - | - | false | |
| input | cActualVapourPressureName | Name of variable | CHAR | - | - | ActualVapourPressure | |
| input | cDateName | Name of variable | CHAR | - | - | Date | |
| input | cMaxTempName | Name of variable | CHAR | - | - | AirTemperatureMax | |
| input | cMinTempName | Name of variable | CHAR | - | - | AirTemperatureMin | |
| input | cSolarRadiationName | Name of variable | CHAR | - | - | SolarRadiation | |
| input | cSunHoursName | Name of variable | CHAR | - | - | SunshineDuration |
-
Nested Class Summary
Nested classes/interfaces inherited from class net.simplace.sim.io.FWSimIOAdapter
net.simplace.sim.io.FWSimIOAdapter.FREQUENCE -
Field Summary
Fields inherited from class net.simplace.sim.io.resources.FWSimResourceTransformer
iFieldMap, iIntColumnMap, iLastInputValuesMap, iLastProjectID, iLastUniqueID, iPoolName, iSourceNameFields inherited from class net.simplace.sim.io.resources.FWSimInputAdapter
iJexlScript, iShouldCacheToDBFields inherited from class net.simplace.sim.io.FWSimIOAdapter
iArrayMode, iFieldcount, iFrequence, iHeaderVariables, iInterface, iJexlRule, iKeyMap, iName, iOrderNumber, iProcessTime, iResourceElement, iSession, iSourceKey -
Constructor Summary
ConstructorsConstructorDescriptionused for ClassForNameNetRadiationFromAnyTransformer(net.simplace.sim.FWSimSession aSession, Integer aOrderNumber) NetRadiationFromAnyTransformer(net.simplace.sim.FWSimSession aSession, org.jdom2.Element aResourceElement, Integer aOrderNumber) -
Method Summary
Modifier and TypeMethodDescriptionnet.simplace.sim.io.resources.FWSimResourceCachegetData(net.simplace.sim.util.FWSimVarMap aVarMap) standard method from outsidenet.simplace.sim.io.resources.FWSimResourceCachegetData(net.simplace.sim.util.FWSimVarMap aVarMap, net.simplace.sim.io.resources.FWSimResourceCache aResourceCache) used by test casesvoidupdateFields(net.simplace.core.FWObservable aObservable) Methods inherited from class net.simplace.sim.io.resources.FWSimResourceTransformer
addVariable, createFormFields, createResourceTransformer, createResourceTransformer, createResourceTransformer, createSimTransformer, fillVarMap, getCreateFormXML, getEditFormXML, getSourceResourceCache, getVariable, isUpdated, toDocXML, toXMLMethods inherited from class net.simplace.sim.io.resources.FWSimInputAdapter
getContentType, getInputVariables, getJexlScript, getOutputVariables, getVarMap, isTransformer, shouldCacheToDB, toHTMLTablestringMethods inherited from class net.simplace.sim.io.FWSimIOAdapter
addProcessTime, checkCondition, createFormFields, finalize, getFieldMap, getFrequence, getHeaderVariables, getHeaderXML, getInterface, getJexlRule, getKeyMap, getName, getOrderNumber, isArrayMode, isConditionCheck, removeVariable, setInterface, setOrderNumber, toString, writeHeaderList
-
Constructor Details
-
NetRadiationFromAnyTransformer
public NetRadiationFromAnyTransformer(net.simplace.sim.FWSimSession aSession, org.jdom2.Element aResourceElement, Integer aOrderNumber) - Parameters:
aSession-aResourceElement-aOrderNumber-
-
NetRadiationFromAnyTransformer
- Parameters:
aSession-aOrderNumber-
-
NetRadiationFromAnyTransformer
public NetRadiationFromAnyTransformer()used for ClassForName
-
-
Method Details
-
createVariables
- Specified by:
createVariablesin interfacenet.simplace.sim.util.FWSimFieldContainer- Overrides:
createVariablesin classnet.simplace.sim.io.FWSimIOAdapter
-
getData
public net.simplace.sim.io.resources.FWSimResourceCache getData(net.simplace.sim.util.FWSimVarMap aVarMap) throws net.simplace.sim.exceptions.MissingSimResourceException standard method from outside- Specified by:
getDatain classnet.simplace.sim.io.resources.FWSimInputAdapter- Throws:
net.simplace.sim.exceptions.MissingSimResourceException- See Also:
-
getData
public net.simplace.sim.io.resources.FWSimResourceCache getData(net.simplace.sim.util.FWSimVarMap aVarMap, net.simplace.sim.io.resources.FWSimResourceCache aResourceCache) throws net.simplace.sim.exceptions.MissingSimResourceException used by test cases- Parameters:
aVarMap- variable mapaResourceCache- Cached resources (soil data)- Returns:
- delivered new data from transformer
- Throws:
net.simplace.sim.exceptions.MissingSimResourceException
-
updateFields
public void updateFields(net.simplace.core.FWObservable aObservable) - Specified by:
updateFieldsin classnet.simplace.sim.io.resources.FWSimResourceTransformer
-