nearest_interp_5d Derived Type

type, public, extends(linear_interp_5d) :: nearest_interp_5d

Class for 5d nearest neighbor interpolation.


Inherits

type~~nearest_interp_5d~~InheritsGraph type~nearest_interp_5d nearest_interp_5d type~linear_interp_5d linear_interp_5d type~nearest_interp_5d->type~linear_interp_5d type~linear_interp_class linear_interp_class type~linear_interp_5d->type~linear_interp_class

Type-Bound Procedures

procedure, public :: initialize => initialize_5d

  • private pure subroutine initialize_5d(me, x, y, z, q, r, f, istat)

    Constructor for a linear_interp_5d class.

    Arguments

    Type IntentOptional Attributes Name
    class(linear_interp_5d), 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(:) :: q
    real(kind=wp), intent(in), dimension(:) :: r
    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, 4 : q is not strictly increasing, 5 : r 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), 40 : q is not equal to size(f,4), 50 : r is not equal to size(f,5), 100 : cannot use linear interpolation for only one point.

procedure, public :: destroy => destroy_5d

procedure, public :: evaluate => nearest_5d

  • private pure subroutine nearest_5d(me, x, y, z, q, r, f, istat)

    5D nearest neighbor interpolation routine.

    Arguments

    Type IntentOptional Attributes Name
    class(nearest_interp_5d), 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(in) :: q
    real(kind=wp), intent(in) :: r
    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_5d),public :: nearest_interp_5d
        !! Class for 5d nearest neighbor interpolation.
        contains
        procedure,public :: evaluate => nearest_5d
    end type nearest_interp_5d