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 volumentric water contents.
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.
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="g/100g" datatype="DOUBLEARRAY"/> <res id="VanGenuchtenL" unit="g/100g" datatype="DOUBLEARRAY"/> <res id="VanGenuchtenM" unit="g/100g" datatype="DOUBLEARRAY"/> <res id="VanGenuchtenN" unit="g/100g" datatype="DOUBLEARRAY"/> <res id="SaturatedHydraulicConductivity" unit="g/100g" datatype="DOUBLEARRAY"/> <res id="VolumenticWaterContent0" unit="percent" datatype="DOUBLEARRAY"/> <res id="VolumenticWaterContent6" unit="percent" datatype="DOUBLEARRAY"/> <res id="VolumenticWaterContent33" unit="percent" datatype="DOUBLEARRAY"/> <res id="VolumenticWaterContent200" unit="percent" datatype="DOUBLEARRAY"/> <res id="VolumenticWaterContent1500" unit="percent" datatype="DOUBLEARRAY"/> <res id="VolumenticWaterContent6to1500" unit="percent" datatype="DOUBLEARRAY"/> <res id="VolumenticWaterContent33to1500" unit="percent" datatype="DOUBLEARRAY"/> </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="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