Klasse PedotransferTransformer
- Alle implementierten Schnittstellen:
net.simplace.sim.util.FWSimFieldContainer
Takes data with
- depth,
- clay percentage,
- silt percentage,
- sand percentage (optional, default 100-(clay+silt)),
- organic matter percentage (optional, default 0),
- bulk density (optional, default 1.4),
- top soil depth (optional, default 0.3 m),
- pedotransfer function (optional, default 'Hypres'),
- gravel percentage (optional, default 0)
in n soil layers and transforms it to Van Genuchten parameters alpha, l, m, n and Ks or Volumetric water contents.
Description
Soil data is mostly delivered with the layer specific information. The layers have different depth and are varying in their count. This Transformer takes the texture data with these n different depth layers and creates Van Genuchten and Volumetric Water Content data.
Array fields like DOUBLEARRAY for the different parameters. Depending on the fields that you put into the header the different fields are calculated.
Configuration
requested structure of configuration element:
| <transform id="soil_transform" resource="soil" source="vSoiltype" class="net.simplace.sim.transformers.PedotransferTransformer" >
| <header>
| <res id="soiltype" datatype="CHAR" key="vSoiltype" />
| <res id="depth" unit="m" datatype="DOUBLEARRAY"/>
| <res id="VanGenuchtenAlpha" unit="m^-1" datatype="DOUBLEARRAY"/>
| <res id="VanGenuchtenL" unit="1" datatype="DOUBLEARRAY"/>
| <res id="VanGenuchtenM" unit="1" datatype="DOUBLEARRAY"/>
| <res id="VanGenuchtenN" unit="1" datatype="DOUBLEARRAY"/>
| <res id="SaturatedHydraulicConductivity" unit="m/s" datatype="DOUBLEARRAY"/>
| <res id="VolumetricWaterContent0" unit="1" datatype="DOUBLEARRAY"/>
| <res id="VolumetricWaterContent6" unit="1" datatype="DOUBLEARRAY"/>
| <res id="VolumetricWaterContent33" unit="1" datatype="DOUBLEARRAY"/>
| <res id="VolumetricWaterContent200" unit="1" datatype="DOUBLEARRAY"/>
| <res id="VolumetricWaterContent1500" unit="1" datatype="DOUBLEARRAY"/>
| <res id="VolumetricWaterContent3100" unit="1" datatype="DOUBLEARRAY"/>
| <res id="VolumetricWaterContentResidual" unit="1" datatype="DOUBLEARRAY"/>
| <res id="VolumetricWaterContent6to1500" unit="1" datatype="DOUBLEARRAY"/>
| <res id="VolumetricWaterContent33to1500" unit="1" datatype="DOUBLEARRAY"/>
| <res id="VolumetricWaterContent33Plus1500Half" unit="1" datatype="DOUBLEARRAY"/>
|
| <res id="TopsoilVanGenuchtenAlpha" unit="m^-1" datatype="DOUBLE"/>
| <res id="TopsoilVanGenuchtenL" unit="1" datatype="DOUBLE"/>
| <res id="TopsoilVanGenuchtenM" unit="1" datatype="DOUBLE"/>
| <res id="TopsoilVanGenuchtenN" unit="1" datatype="DOUBLE"/>
| <res id="TopsoilSaturatedHydraulicConductivity" unit="m/s" datatype="DOUBLE"/>
| <res id="TopsoilVolumetricWaterContent0" unit="1" datatype="DOUBLE"/>
| <res id="TopsoilVolumetricWaterContent6" unit="1" datatype="DOUBLE"/>
| <res id="TopsoilVolumetricWaterContent33" unit="1" datatype="DOUBLE"/>
| <res id="TopsoilVolumetricWaterContent200" unit="1" datatype="DOUBLE"/>
| <res id="TopsoilVolumetricWaterContent1500" unit="1" datatype="DOUBLE"/>
| <res id="TopsoilVolumetricWaterContent3100" unit="1" datatype="DOUBLE"/>
| <res id="TopsoilVolumetricWaterContentResidual" unit="1" datatype="DOUBLE"/>
| <res id="TopsoilVolumetricWaterContent6to1500" unit="1" datatype="DOUBLE"/>
| <res id="TopsoilVolumetricWaterContent33to1500" unit="1" datatype="DOUBLE"/>
| <res id="TopsoilVolumetricWaterContent33Plus1500Half" unit="1" datatype="DOUBLE"/>
|
| <res id="InterflowVanGenuchtenAlpha" unit="m^-1" datatype="DOUBLE"/>
| <res id="InterflowVanGenuchtenL" unit="1" datatype="DOUBLE"/>
| <res id="InterflowVanGenuchtenM" unit="1" datatype="DOUBLE"/>
| <res id="InterflowVanGenuchtenN" unit="1" datatype="DOUBLE"/>
| <res id="InterflowSaturatedHydraulicConductivity" unit="m/s" datatype="DOUBLE"/>
| <res id="InterflowVolumetricWaterContent0" unit="1" datatype="DOUBLE"/>
| <res id="InterflowVolumetricWaterContent6" unit="1" datatype="DOUBLE"/>
| <res id="InterflowVolumetricWaterContent33" unit="1" datatype="DOUBLE"/>
| <res id="InterflowVolumetricWaterContent200" unit="1" datatype="DOUBLE"/>
| <res id="InterflowVolumetricWaterContent1500" unit="1" datatype="DOUBLE"/>
| <res id="InterflowVolumetricWaterContent3100" unit="1" datatype="DOUBLE"/>
| <res id="InterflowVolumetricWaterContentResidual" unit="1" datatype="DOUBLE"/>
| <res id="InterflowVolumetricWaterContent6to1500" unit="1" datatype="DOUBLE"/>
| <res id="InterflowVolumetricWaterContent33to1500" unit="1" datatype="DOUBLE"/>
| <res id="InterflowVolumetricWaterContent33Plus1500Half" unit="1" datatype="DOUBLE"/>
|
| </header>
| <input id="pedotransferfunction">Hypres</input> ... until now only Hypres and Rawls - default to Hypres
| <input id="topsoildepth">0.3</input> ... in m, default to 0.3
| <input id="interflowdepth">0.3</input> ... in m, default to 0.3
| <input id="depthfieldid">depth</input> ... or ...
| <input id="depth">{0.05,0.3,0.6,1.0,1.5}</input>
| </transform>
Please note: Only columns, where the column names have been added to the header of the resource definition are added. The range of the fields is free. The id's meanwhile are fixed and necessary. If additional columns are added they are directly taken from the source and not touched. Resource "soil" needs the following fields:
- BulkDensity in g/cm3 (optional, default to 1.4)
- GravelPercentage in g/g * 100 (optional, default to 0)
- OrganicPercentage in g/g * 100 (optional, default to 0
One of those is optional and will be calculated from the others. Sum of the three fractions has to be 100!
- SandPercentage in g/g * 100
- SiltPercentage in g/g * 100
- ClayPercentage in g/g * 100
- Autor:
- Andreas Enders
Component Variables
| Content Type | Name | Description | Data Type | Unit | Min Value | Max Value | Default Value |
|---|---|---|---|---|---|---|---|
| constant | bulkdensityfieldid | by default 'BulkDensity' | CHAR | - | - | BulkDensity | |
| constant | claypercentagefieldid | by default 'ClayPercentage' | CHAR | - | - | ClayPercentage | |
| constant | depth | by default 'depth' | DOUBLEARRAY | - | - | - | |
| constant | depthfieldid | by default 'depth' | CHAR | - | - | depth | |
| constant | gravelpercentagefieldid | by default 'GravelPercentage' | CHAR | - | - | GravelPercentage | |
| constant | interflowdepth | interflow zone depth in m, default 0.3 | DOUBLE | m | 0.0 | 5.0 | 0.03 |
| constant | organicpercentagefieldid | by default 'OrganicPercentage' | CHAR | - | - | OrganicPercentage | |
| constant | pedotransferfunction | Choose from existing functions: default 'Hypres' | CHAR | - | - | Hypres | |
| constant | sandpercentagefieldid | by default 'SandPercentage' | CHAR | - | - | SandPercentage | |
| constant | siltpercentagefieldid | by default 'SiltPercentage' | CHAR | - | - | SiltPercentage | |
| constant | topsoildepth | topsoil depth in m, default 0.3 | DOUBLE | m | 1.0E-4 | 5.0 | 0.03 |
-
Verschachtelte Klassen - Übersicht
Von Klasse geerbte verschachtelte Klassen/Schnittstellen net.simplace.sim.io.FWSimIOAdapter
net.simplace.sim.io.FWSimIOAdapter.FREQUENCE -
Feldübersicht
Von Klasse geerbte Felder net.simplace.sim.io.resources.FWSimResourceTransformer
iFieldMap, iIntColumnMap, iLastInputValuesMap, iLastProjectID, iLastUniqueID, iPoolName, iSourceNameVon Klasse geerbte Felder net.simplace.sim.io.resources.FWSimInputAdapter
iJexlScript, iShouldCacheToDBVon Klasse geerbte Felder net.simplace.sim.io.FWSimIOAdapter
iArrayMode, iFieldcount, iFrequence, iHeaderVariables, iInterface, iJexlRule, iKeyMap, iName, iOrderNumber, iProcessTime, iResourceElement, iSession, iSourceKey -
Konstruktorübersicht
KonstruktorenKonstruktorBeschreibungused for ClassForNamePedotransferTransformer(net.simplace.sim.FWSimSession aSession, Integer aOrderNumber) PedotransferTransformer(net.simplace.sim.FWSimSession aSession, org.jdom2.Element aResourceElement, Integer aOrderNumber) -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungnet.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) Von Klasse geerbte Methoden net.simplace.sim.io.resources.FWSimResourceTransformer
addVariable, createFormFields, createResourceTransformer, createResourceTransformer, createResourceTransformer, createSimTransformer, fillVarMap, getCreateFormXML, getEditFormXML, getSourceResourceCache, getVariable, isUpdated, toDocXML, toXMLVon Klasse geerbte Methoden net.simplace.sim.io.resources.FWSimInputAdapter
getContentType, getInputVariables, getJexlScript, getOutputVariables, getVarMap, isTransformer, shouldCacheToDB, toHTMLTablestringVon Klasse geerbte Methoden 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
-
Konstruktordetails
-
PedotransferTransformer
public PedotransferTransformer(net.simplace.sim.FWSimSession aSession, org.jdom2.Element aResourceElement, Integer aOrderNumber) - Parameter:
aSession-aResourceElement-aOrderNumber-
-
PedotransferTransformer
- Parameter:
aSession-aOrderNumber-
-
PedotransferTransformer
public PedotransferTransformer()used for ClassForName
-
-
Methodendetails
-
createVariables
- Angegeben von:
createVariablesin Schnittstellenet.simplace.sim.util.FWSimFieldContainer- Setzt außer Kraft:
createVariablesin Klassenet.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- Angegeben von:
getDatain Klassenet.simplace.sim.io.resources.FWSimInputAdapter- Löst aus:
net.simplace.sim.exceptions.MissingSimResourceException- Siehe auch:
-
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- Parameter:
aVarMap- variable mapaResourceCache- Cached resources (soil data)- Gibt zurück:
- delivered new data from transformer
- Löst aus:
net.simplace.sim.exceptions.MissingSimResourceException
-
updateFields
public void updateFields(net.simplace.core.FWObservable aObservable) - Angegeben von:
updateFieldsin Klassenet.simplace.sim.io.resources.FWSimResourceTransformer
-