Linear interpolation object housing information necessary for linearly interpolating 1D data. Will fail assertsion if interpolation points are outside of the grid.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
logical, | public | :: | userDefined | = | .false. |
True only if user explicitly sets it to true |
|
integer(kind=ik), | private, | allocatable, dimension(:) | :: | firstDataIndex |
Array containing the first interpolation index (the second is 1 above the first) |
||
real(kind=rk), | private, | allocatable, dimension(:) | :: | interpWeights |
Array containing interpolation weights for each interpolation point. Will be set to -1 if the point is outside the grid. |
||
real(kind=rk), | private, | allocatable, dimension(:) | :: | interpPoints |
Points at which this interpolation object provides values |
||
real(kind=rk), | private, | allocatable, dimension(:) | :: | gridBuffer |
Buffer for grid values used when updating interpolation points |
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 |
Getter for firstDataIndex
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Interpolation1D), | intent(in) | :: | this |
Getter for interpWeights
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Interpolation1D), | intent(in) | :: | this |
Getter for interpPoints
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Interpolation1D), | intent(in) | :: | this |
Updates the interpolation points and weightss
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Interpolation1D), | intent(inout) | :: | this | |||
real(kind=rk), | intent(in), | dimension(:) | :: | interpolationPoints |
Interpolate input array defined on the same grid as the interpolation object at points
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Interpolation1D), | intent(in) | :: | this | |||
real(kind=rk), | intent(in), | dimension(:) | :: | targetArray |
Initialization routine for 1D interpolation object
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Interpolation1D), | intent(inout) | :: | this | |||
real(kind=rk), | intent(in), | dimension(:) | :: | gridPoints | ||
real(kind=rk), | intent(in), | optional, | dimension(:) | :: | interpolationPoints |