net.simplace.sim.components.util.helper.ArrayHelper

Methods for dealing with arrays of layers

Includes methods for resampling layers of different vertical resolution.




public class ArrayHelper {
// Public Constructors
public ArrayHelper();


// Class Methods
public static double depth(Double[] depths, int layernr);

Returns the depth of the bottom border of a layer Deals also with layernr that are out of the layers bounds. If layernr is smaller than 0 return 0, if layernr is bigger than the maximal layer number, return the depth of last layer.
returns depth of layer
public static double thickness(Double[] depths, int layernr);

Returns the thickness of a layer Deals also with layernr that are out of the layer bounds. If layernr is smaller than 0 or bigger then maximal layernr then return 0.
returns thickness of layer
public static double overlap(Double[] depths1, int layernr1, Double[]
depths2, int layernr2);

Returns the overlap of two layers from different resolutions. If the two layers do not overlap, 0 is returned.
returns thicknes of overlap of the two layers
public static Double[] resampleLayers(Double[] sourceDepths, Double[]
targetDepths, Double[] sourceValues, boolean proportional);

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)
returns Layer values of target resolution
public static Double[] resampleLayerAmounts(Double[] sourceDepths, Double[]
targetDepths, Double[] sourceValues);

Resamples layer values from one resolution to another Values have to be amounts (e.g. water content in mm)
returns Layer values of target resolution
public static Double[] resampleLayerProportions(Double[] sourceDepths,
Double[] targetDepths, Double[] sourceValues);

Resamples layer values from one resolution to another Values have to be proportions (e.g. water content in mm or volumetric water content in mm^3/mm^3)
returns Layer values of target resolution


}