Klasse ArrayResampler
- Alle implementierten Schnittstellen:
net.simplace.sim.util.FWSimFieldContainer
The resolutions of original dataset and resampled datasets are determined by the arrays iOriginalDepths ($D_o$) and iResampledDepths ($D_r$) which contains the depths of the layers' bottom. The values have to be unique and sorted ascending. ($D_o(i_1) <span class="invalid-tag">Ungültige Eingabe: "<"</span> D_o(i_2) \text{ when } i_1 <span class="invalid-tag">Ungültige Eingabe: "<"</span> i_2$)
The array of values iOriginalValues ($V_o$) must have same length as the iOriginalDepths array. Values are resampled to the new resolution and output to the array ResampledValues ($V_r$) which has same length as iResampledDepths array.
When we denote the overlap of layer $i$ of original dataset and layer $j$ of resampled dataset by $o(i,j)$ and the thickness of layers is by $t_o(i)$ resp. $t_r(j)$, then:
\[ \begin{eqnarray} t_o(i) Ungültige Eingabe: "&" = Ungültige Eingabe: "&" D_o[i] - D_o[i-1] \\ t_r(j) Ungültige Eingabe: "&" = Ungültige Eingabe: "&" D_r[j] - D_r[j-1] \\ o(i,j) Ungültige Eingabe: "&" = Ungültige Eingabe: "&" max(0, \quad min(D_o[i], D_r[j]) - max(D_o[i-1], D_r[j-i]) \end{eqnarray} \]If cIsProportional is false (the default), the values from those layers $i$, that overlap with the new layer $j$ are summed up, weighted by the proportion of the overlap to the original layer thickness:
\[ \begin{eqnarray} V_r(j) Ungültige Eingabe: "&"=Ungültige Eingabe: "&" \sum_{i} V_o(i) \frac{o(i,j)}{t_o(i)} \end{eqnarray} \]If cIsProportional is true, then the values from those layers $i$, that overlap with the new layer $j$ are converted to absolute values by multiplying with the overlap $o(i,j)$, summed up and then divided by the resampled layer thickness $t_r(j)$ to get relative values:
\[ \begin{eqnarray} V_r(j) Ungültige Eingabe: "&"=Ungültige Eingabe: "&" \frac{\sum_{i} V_o(i) o(i,j)}{t_r(j)} \end{eqnarray} \]- Autor:
- Gunther Krauss, gk@uni-bonn.de
- Siehe auch:
Component Variables
| Content Type | Name | Description | Data Type | Unit | Min Value | Max Value | Default Value |
|---|---|---|---|---|---|---|---|
| input | iOriginalDepths | Bottom depth of each layer of the original dataset. Values must be unique and sorted ascending. | DOUBLEARRAY | - | - | - | |
| input | iOriginalValues | Values of original layers | DOUBLEARRAY | - | - | - | |
| input | iResampledDepths | Bottom depth of each layer of the resampled dataset. Values must be unique and sorted ascending. | DOUBLEARRAY | - | - | - | |
| out | ResampledValues | Resampled values | DOUBLEARRAY | - | - | - |
-
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 voidResamples layer values from one resolution to another One has to specify, whether the values are amounts or proportions (e.g. water content in mm or volumetric water content in mm^3/mm^3)Von 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
-
ArrayResampler
public ArrayResampler()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:
-
process
protected void process()Process the algorithm and write the results back to VarMap- Angegeben von:
processin Klassenet.simplace.sim.model.FWSimComponent- Siehe auch:
-
resampleArrays
protected void resampleArrays()Resamples layer values from one resolution to another One has to specify, whether the values are amounts or proportions (e.g. water content in mm or volumetric water content in mm^3/mm^3)- Parameter:
sourceDepths- Bottom border depth of each layer of source resolutiontargetDepths- Bottom border depth of each layer of target resolutionsourceValues- Layer values of source resolutionproportional- Whether values are amounts or proportions
-
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.- 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:
-