Composite derivation class containing a single calculation rule, which is overriden with zeros wherever any one in a set of control variables is outside their defined range. If derivIndices isn't passed will pass all indices to the derivation.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
logical, | public | :: | userDefined | = | .false. |
True only if user explicitly sets it to true |
|
class(Derivation), | private, | allocatable | :: | derivObj |
Derivation providing default values |
||
integer(kind=ik), | private, | allocatable, dimension(:) | :: | derivIndices |
Subset of index vector passed to derivation |
||
integer(kind=ik), | private, | allocatable, dimension(:) | :: | controlIndices |
Subset of index vector used to determine which elements should be zeroed out |
||
type(RealArray), | private, | allocatable, dimension(:) | :: | controlRanges |
Array of size 2 vectors representing the lower and upper bound for each control value |
Getter for userDefined
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Object), | intent(in) | :: | this |
Set userDefined to .true.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Object), | intent(inout) | :: | this |
Set userDefined to .false.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Object), | intent(inout) | :: | this |
Initialize range filter derivation object
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(RangeFilterDerivation), | intent(inout) | :: | this | |||
class(Derivation), | intent(in) | :: | derivObj | |||
integer(kind=ik), | intent(in), | dimension(:) | :: | controlIndices | ||
type(RealArray), | intent(in), | dimension(:) | :: | controlRanges | ||
integer(kind=ik), | intent(in), | optional, | dimension(:) | :: | derivIndices |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(RangeFilterDerivation), | intent(inout) | :: | this | |||
type(RealArray), | intent(in), | dimension(:) | :: | inputArray | ||
integer(kind=ik), | intent(in), | dimension(:) | :: | indices |