nearest_interp_3d Derived Type

type, public, extends(linear_interp_3d) :: nearest_interp_3d

Class for 3d nearest neighbor interpolation.


Inherits

type~~nearest_interp_3d~~InheritsGraph type~nearest_interp_3d nearest_interp_3d type~linear_interp_3d linear_interp_3d type~nearest_interp_3d->type~linear_interp_3d type~linear_interp_class linear_interp_class type~linear_interp_3d->type~linear_interp_class

Type-Bound Procedures

procedure, public :: initialize => initialize_3d

  • private pure subroutine initialize_3d(me, x, y, z, f, istat)

    Constructor for a linear_interp_3d class.

    Arguments

    Type IntentOptional Attributes Name
    class(linear_interp_3d), intent(inout) :: me
    real(kind=wp), intent(in), dimension(:) :: x
    real(kind=wp), intent(in), dimension(:) :: y
    real(kind=wp), intent(in), dimension(:) :: z
    real(kind=wp), intent(in), dimension(:,:,:) :: f
    integer, intent(out) :: istat

    0 : no problems, 1 : x is not strictly increasing, 2 : y is not strictly increasing, 3 : z is not strictly increasing, 10 : x is not equal to size(f,1), 20 : y is not equal to size(f,2), 30 : z is not equal to size(f,3), 100 : cannot use linear interpolation for only one point.

procedure, public :: destroy => destroy_3d

procedure, public :: evaluate => nearest_3d

  • private pure subroutine nearest_3d(me, x, y, z, f, istat)

    3D nearest neighbor interpolation routine.

    Arguments

    Type IntentOptional Attributes Name
    class(nearest_interp_3d), intent(inout) :: me
    real(kind=wp), intent(in) :: x
    real(kind=wp), intent(in) :: y
    real(kind=wp), intent(in) :: z
    real(kind=wp), intent(out) :: f

    Nearest

    integer, intent(out), optional :: istat

    0 : no problems, -1 : class has not been initialized

Source Code

    type,extends(linear_interp_3d),public :: nearest_interp_3d
        !! Class for 3d nearest neighbor interpolation.
        contains
        procedure,public :: evaluate => nearest_3d
    end type nearest_interp_3d