MockRegridder Derived Type

type, public, extends(AbstractRegridder) :: MockRegridder


Inherits

type~~mockregridder~~InheritsGraph type~mockregridder MockRegridder type~abstractregridder AbstractRegridder type~mockregridder->type~abstractregridder type~regridderspec RegridderSpec type~abstractregridder->type~regridderspec spec ESMF_Grid ESMF_Grid type~regridderspec->ESMF_Grid grid_in, grid_out

Constructor

public interface MockRegridder

  • private function newMockRegridder(name) result(regridder)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: name

    Return Value type(MockRegridder)


Type-Bound Procedures

procedure, public :: clear_undef_value

  • private subroutine clear_undef_value(this)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(inout) :: this

procedure, public :: clone

  • private function clone(this)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(in) :: this

    Return Value class(AbstractRegridder), allocatable

procedure, public :: destroy

  • private subroutine destroy(this, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(inout) :: this
    integer, intent(out), optional :: rc

procedure, public :: destroy_route_handle

  • private subroutine destroy_route_handle(this, kind, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(inout) :: this
    type(ESMF_TypeKind_Flag), intent(in) :: kind
    integer, intent(out), optional :: rc

procedure, public :: get_name

  • private function get_name(this) result(name)

    Arguments

    Type IntentOptional Attributes Name
    class(MockRegridder), intent(in) :: this

    Return Value character(len=:), allocatable

procedure, public :: get_regrid_method

  • private function get_regrid_method(this) result(method)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(in) :: this

    Return Value integer

procedure, public :: get_spec

  • private function get_spec(this) result(spec)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(in) :: this

    Return Value type(RegridderSpec)

procedure, public :: get_undef_value

  • private function get_undef_value(this) result(undef_value)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(in) :: this

    Return Value real

procedure, public :: has_undef_value

  • private function has_undef_value(this)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(in) :: this

    Return Value logical

generic, public :: initialize => initialize_base, initialize_subclass

  • private subroutine initialize_base(this, spec, unusable, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(inout) :: this
    type(RegridderSpec), intent(in) :: spec
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(out), optional :: rc
  • private subroutine initialize_subclass(this, unusable, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(TilingRegridder), intent(inout) :: this
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(out), optional :: rc

procedure, public :: initialize_base

  • private subroutine initialize_base(this, spec, unusable, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(inout) :: this
    type(RegridderSpec), intent(in) :: spec
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(out), optional :: rc

procedure, public :: initialize_subclass

  • private subroutine initialize_subclass(this, unusable, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(MockRegridder), intent(inout) :: this
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(out), optional :: rc

procedure, public :: isTranspose

  • private function isTranspose(this) result(amTranspose)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(in) :: this

    Return Value logical

generic, public :: regrid => regrid_esmf_fields_scalar

  • private subroutine regrid_esmf_fields_scalar(this, f_in, f_out, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(in) :: this
    type(ESMF_Field), intent(in) :: f_in
    type(ESMF_Field), intent(in) :: f_out
    integer, intent(out), optional :: rc

generic, public :: regrid => regrid_esmf_fields_vector

  • private subroutine regrid_esmf_fields_vector(this, f_in, f_out, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(in) :: this
    type(ESMF_Field), intent(in) :: f_in(NUM_DIM)
    type(ESMF_Field), intent(in) :: f_out(NUM_DIM)
    integer, intent(out), optional :: rc

generic, public :: regrid => regrid_scalar_2d_real32

  • private subroutine regrid_scalar_2d_real32(this, q_in, q_out, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(TilingRegridder), intent(in) :: this
    real(kind=REAL32), intent(in) :: q_in(:,:)
    real(kind=REAL32), intent(out) :: q_out(:,:)
    integer, intent(out), optional :: rc

generic, public :: regrid => regrid_scalar_2d_real64

  • private subroutine regrid_scalar_2d_real64(this, q_in, q_out, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(in) :: this
    real(kind=REAL64), intent(in) :: q_in(:,:)
    real(kind=REAL64), intent(out) :: q_out(:,:)
    integer, intent(out), optional :: rc

generic, public :: regrid => regrid_scalar_3d_real32

  • private subroutine regrid_scalar_3d_real32(this, q_in, q_out, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(in) :: this
    real(kind=REAL32), intent(in) :: q_in(:,:,:)
    real(kind=REAL32), intent(out) :: q_out(:,:,:)
    integer, intent(out), optional :: rc

generic, public :: regrid => regrid_scalar_3d_real64

  • private subroutine regrid_scalar_3d_real64(this, q_in, q_out, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(in) :: this
    real(kind=REAL64), intent(in) :: q_in(:,:,:)
    real(kind=REAL64), intent(out) :: q_out(:,:,:)
    integer, intent(out), optional :: rc

generic, public :: regrid => regrid_vector_2d_real32

  • private subroutine regrid_vector_2d_real32(this, u_in, v_in, u_out, v_out, rotate, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(in) :: this
    real(kind=REAL32), intent(in) :: u_in(:,:)
    real(kind=REAL32), intent(in) :: v_in(:,:)
    real(kind=REAL32), intent(out) :: u_out(:,:)
    real(kind=REAL32), intent(out) :: v_out(:,:)
    logical, intent(in), optional :: rotate
    integer, intent(out), optional :: rc

generic, public :: regrid => regrid_vector_2d_real64

  • private subroutine regrid_vector_2d_real64(this, u_in, v_in, u_out, v_out, rotate, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(in) :: this
    real(kind=REAL64), intent(in) :: u_in(:,:)
    real(kind=REAL64), intent(in) :: v_in(:,:)
    real(kind=REAL64), intent(out) :: u_out(:,:)
    real(kind=REAL64), intent(out) :: v_out(:,:)
    logical, intent(in), optional :: rotate
    integer, intent(out), optional :: rc

generic, public :: regrid => regrid_vector_3d_real32

  • private subroutine regrid_vector_3d_real32(this, u_in, v_in, u_out, v_out, rotate, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(in) :: this
    real(kind=REAL32), intent(in) :: u_in(:,:,:)
    real(kind=REAL32), intent(in) :: v_in(:,:,:)
    real(kind=REAL32), intent(out) :: u_out(:,:,:)
    real(kind=REAL32), intent(out) :: v_out(:,:,:)
    logical, intent(in), optional :: rotate
    integer, intent(out), optional :: rc

generic, public :: regrid => regrid_vector_3d_real64

  • private subroutine regrid_vector_3d_real64(this, u_in, v_in, u_out, v_out, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(in) :: this
    real(kind=REAL64), intent(in) :: u_in(:,:,:)
    real(kind=REAL64), intent(in) :: v_in(:,:,:)
    real(kind=REAL64), intent(out) :: u_out(:,:,:)
    real(kind=REAL64), intent(out) :: v_out(:,:,:)
    integer, intent(out), optional :: rc

procedure, public :: regrid_esmf_fields_scalar

  • private subroutine regrid_esmf_fields_scalar(this, f_in, f_out, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(in) :: this
    type(ESMF_Field), intent(in) :: f_in
    type(ESMF_Field), intent(in) :: f_out
    integer, intent(out), optional :: rc

procedure, public :: regrid_esmf_fields_vector

  • private subroutine regrid_esmf_fields_vector(this, f_in, f_out, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(in) :: this
    type(ESMF_Field), intent(in) :: f_in(NUM_DIM)
    type(ESMF_Field), intent(in) :: f_out(NUM_DIM)
    integer, intent(out), optional :: rc

procedure, public :: regrid_scalar_2d_real32

  • private subroutine regrid_scalar_2d_real32(this, q_in, q_out, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(in) :: this
    real(kind=REAL32), intent(in) :: q_in(:,:)
    real(kind=REAL32), intent(out) :: q_out(:,:)
    integer, intent(out), optional :: rc

procedure, public :: regrid_scalar_2d_real64

  • private subroutine regrid_scalar_2d_real64(this, q_in, q_out, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(MockRegridder), intent(in) :: this
    real(kind=REAL64), intent(in) :: q_in(:,:)
    real(kind=REAL64), intent(out) :: q_out(:,:)
    integer, intent(out), optional :: rc

procedure, public :: regrid_scalar_3d_real32

  • private subroutine regrid_scalar_3d_real32(this, q_in, q_out, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(in) :: this
    real(kind=REAL32), intent(in) :: q_in(:,:,:)
    real(kind=REAL32), intent(out) :: q_out(:,:,:)
    integer, intent(out), optional :: rc

procedure, public :: regrid_scalar_3d_real64

  • private subroutine regrid_scalar_3d_real64(this, q_in, q_out, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(in) :: this
    real(kind=REAL64), intent(in) :: q_in(:,:,:)
    real(kind=REAL64), intent(out) :: q_out(:,:,:)
    integer, intent(out), optional :: rc

procedure, public :: regrid_vector_2d_real32

  • private subroutine regrid_vector_2d_real32(this, u_in, v_in, u_out, v_out, rotate, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(in) :: this
    real(kind=REAL32), intent(in) :: u_in(:,:)
    real(kind=REAL32), intent(in) :: v_in(:,:)
    real(kind=REAL32), intent(out) :: u_out(:,:)
    real(kind=REAL32), intent(out) :: v_out(:,:)
    logical, intent(in), optional :: rotate
    integer, intent(out), optional :: rc

procedure, public :: regrid_vector_2d_real64

  • private subroutine regrid_vector_2d_real64(this, u_in, v_in, u_out, v_out, rotate, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(in) :: this
    real(kind=REAL64), intent(in) :: u_in(:,:)
    real(kind=REAL64), intent(in) :: v_in(:,:)
    real(kind=REAL64), intent(out) :: u_out(:,:)
    real(kind=REAL64), intent(out) :: v_out(:,:)
    logical, intent(in), optional :: rotate
    integer, intent(out), optional :: rc

procedure, public :: regrid_vector_3d_real32

  • private subroutine regrid_vector_3d_real32(this, u_in, v_in, u_out, v_out, rotate, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(in) :: this
    real(kind=REAL32), intent(in) :: u_in(:,:,:)
    real(kind=REAL32), intent(in) :: v_in(:,:,:)
    real(kind=REAL32), intent(out) :: u_out(:,:,:)
    real(kind=REAL32), intent(out) :: v_out(:,:,:)
    logical, intent(in), optional :: rotate
    integer, intent(out), optional :: rc

procedure, public :: regrid_vector_3d_real64

  • private subroutine regrid_vector_3d_real64(this, u_in, v_in, u_out, v_out, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(in) :: this
    real(kind=REAL64), intent(in) :: u_in(:,:,:)
    real(kind=REAL64), intent(in) :: v_in(:,:,:)
    real(kind=REAL64), intent(out) :: u_out(:,:,:)
    real(kind=REAL64), intent(out) :: v_out(:,:,:)
    integer, intent(out), optional :: rc

procedure, public :: set_spec

  • private subroutine set_spec(this, spec)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(inout) :: this
    type(RegridderSpec), intent(in) :: spec

procedure, public :: set_undef_value

  • private subroutine set_undef_value(this, undef_value)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(inout) :: this
    real :: undef_value

procedure, public, nopass :: supports

  • private function supports(spec, unusable, rc)

    Arguments

    Type IntentOptional Attributes Name
    type(RegridderSpec), intent(in) :: spec
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(out), optional :: rc

    Return Value logical

generic, public :: transpose_regrid => transpose_regrid_esmf_fields_scalar

  • private subroutine transpose_regrid_esmf_fields_scalar(this, f_in, f_out, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(in) :: this
    type(ESMF_Field), intent(in) :: f_in
    type(ESMF_Field), intent(in) :: f_out
    integer, intent(out), optional :: rc

generic, public :: transpose_regrid => transpose_regrid_esmf_fields_vector

  • private subroutine transpose_regrid_esmf_fields_vector(this, f_in, f_out, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(in) :: this
    type(ESMF_Field), intent(in) :: f_in(NUM_DIM)
    type(ESMF_Field), intent(in) :: f_out(NUM_DIM)
    integer, intent(out), optional :: rc

generic, public :: transpose_regrid => transpose_regrid_scalar_2d_real32

  • private subroutine transpose_regrid_scalar_2d_real32(this, q_in, q_out, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(in) :: this
    real(kind=REAL32), intent(in) :: q_in(:,:)
    real(kind=REAL32), intent(out) :: q_out(:,:)
    integer, intent(out), optional :: rc

generic, public :: transpose_regrid => transpose_regrid_scalar_2d_real64

  • private subroutine transpose_regrid_scalar_2d_real64(this, q_in, q_out, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(in) :: this
    real(kind=REAL64), intent(in) :: q_in(:,:)
    real(kind=REAL64), intent(out) :: q_out(:,:)
    integer, intent(out), optional :: rc

generic, public :: transpose_regrid => transpose_regrid_scalar_3d_real32

  • private subroutine transpose_regrid_scalar_3d_real32(this, q_in, q_out, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(in) :: this
    real(kind=REAL32), intent(in) :: q_in(:,:,:)
    real(kind=REAL32), intent(out) :: q_out(:,:,:)
    integer, intent(out), optional :: rc

generic, public :: transpose_regrid => transpose_regrid_scalar_3d_real64

  • private subroutine transpose_regrid_scalar_3d_real64(this, q_in, q_out, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(in) :: this
    real(kind=REAL64), intent(in) :: q_in(:,:,:)
    real(kind=REAL64), intent(out) :: q_out(:,:,:)
    integer, intent(out), optional :: rc

generic, public :: transpose_regrid => transpose_regrid_vector_2d_real32

  • private subroutine transpose_regrid_vector_2d_real32(this, u_in, v_in, u_out, v_out, rotate, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(in) :: this
    real(kind=REAL32), intent(in) :: u_in(:,:)
    real(kind=REAL32), intent(in) :: v_in(:,:)
    real(kind=REAL32), intent(out) :: u_out(:,:)
    real(kind=REAL32), intent(out) :: v_out(:,:)
    logical, intent(in), optional :: rotate
    integer, intent(out), optional :: rc

generic, public :: transpose_regrid => transpose_regrid_vector_2d_real64

  • private subroutine transpose_regrid_vector_2d_real64(this, u_in, v_in, u_out, v_out, rotate, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(in) :: this
    real(kind=REAL64), intent(in) :: u_in(:,:)
    real(kind=REAL64), intent(in) :: v_in(:,:)
    real(kind=REAL64), intent(out) :: u_out(:,:)
    real(kind=REAL64), intent(out) :: v_out(:,:)
    logical, intent(in), optional :: rotate
    integer, intent(out), optional :: rc

generic, public :: transpose_regrid => transpose_regrid_vector_3d_real32

  • private subroutine transpose_regrid_vector_3d_real32(this, u_in, v_in, u_out, v_out, rotate, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(in) :: this
    real(kind=REAL32), intent(in) :: u_in(:,:,:)
    real(kind=REAL32), intent(in) :: v_in(:,:,:)
    real(kind=REAL32), intent(out) :: u_out(:,:,:)
    real(kind=REAL32), intent(out) :: v_out(:,:,:)
    logical, intent(in), optional :: rotate
    integer, intent(out), optional :: rc

generic, public :: transpose_regrid => transpose_regrid_vector_3d_real64

  • private subroutine transpose_regrid_vector_3d_real64(this, u_in, v_in, u_out, v_out, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(in) :: this
    real(kind=REAL64), intent(in) :: u_in(:,:,:)
    real(kind=REAL64), intent(in) :: v_in(:,:,:)
    real(kind=REAL64), intent(out) :: u_out(:,:,:)
    real(kind=REAL64), intent(out) :: v_out(:,:,:)
    integer, intent(out), optional :: rc

procedure, public :: transpose_regrid_esmf_fields_scalar

  • private subroutine transpose_regrid_esmf_fields_scalar(this, f_in, f_out, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(in) :: this
    type(ESMF_Field), intent(in) :: f_in
    type(ESMF_Field), intent(in) :: f_out
    integer, intent(out), optional :: rc

procedure, public :: transpose_regrid_esmf_fields_vector

  • private subroutine transpose_regrid_esmf_fields_vector(this, f_in, f_out, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(in) :: this
    type(ESMF_Field), intent(in) :: f_in(NUM_DIM)
    type(ESMF_Field), intent(in) :: f_out(NUM_DIM)
    integer, intent(out), optional :: rc

procedure, public :: transpose_regrid_scalar_2d_real32

  • private subroutine transpose_regrid_scalar_2d_real32(this, q_in, q_out, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(in) :: this
    real(kind=REAL32), intent(in) :: q_in(:,:)
    real(kind=REAL32), intent(out) :: q_out(:,:)
    integer, intent(out), optional :: rc

procedure, public :: transpose_regrid_scalar_2d_real64

  • private subroutine transpose_regrid_scalar_2d_real64(this, q_in, q_out, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(in) :: this
    real(kind=REAL64), intent(in) :: q_in(:,:)
    real(kind=REAL64), intent(out) :: q_out(:,:)
    integer, intent(out), optional :: rc

procedure, public :: transpose_regrid_scalar_3d_real32

  • private subroutine transpose_regrid_scalar_3d_real32(this, q_in, q_out, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(in) :: this
    real(kind=REAL32), intent(in) :: q_in(:,:,:)
    real(kind=REAL32), intent(out) :: q_out(:,:,:)
    integer, intent(out), optional :: rc

procedure, public :: transpose_regrid_scalar_3d_real64

  • private subroutine transpose_regrid_scalar_3d_real64(this, q_in, q_out, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(in) :: this
    real(kind=REAL64), intent(in) :: q_in(:,:,:)
    real(kind=REAL64), intent(out) :: q_out(:,:,:)
    integer, intent(out), optional :: rc

procedure, public :: transpose_regrid_vector_2d_real32

  • private subroutine transpose_regrid_vector_2d_real32(this, u_in, v_in, u_out, v_out, rotate, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(in) :: this
    real(kind=REAL32), intent(in) :: u_in(:,:)
    real(kind=REAL32), intent(in) :: v_in(:,:)
    real(kind=REAL32), intent(out) :: u_out(:,:)
    real(kind=REAL32), intent(out) :: v_out(:,:)
    logical, intent(in), optional :: rotate
    integer, intent(out), optional :: rc

procedure, public :: transpose_regrid_vector_2d_real64

  • private subroutine transpose_regrid_vector_2d_real64(this, u_in, v_in, u_out, v_out, rotate, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(in) :: this
    real(kind=REAL64), intent(in) :: u_in(:,:)
    real(kind=REAL64), intent(in) :: v_in(:,:)
    real(kind=REAL64), intent(out) :: u_out(:,:)
    real(kind=REAL64), intent(out) :: v_out(:,:)
    logical, intent(in), optional :: rotate
    integer, intent(out), optional :: rc

procedure, public :: transpose_regrid_vector_3d_real32

  • private subroutine transpose_regrid_vector_3d_real32(this, u_in, v_in, u_out, v_out, rotate, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(in) :: this
    real(kind=REAL32), intent(in) :: u_in(:,:,:)
    real(kind=REAL32), intent(in) :: v_in(:,:,:)
    real(kind=REAL32), intent(out) :: u_out(:,:,:)
    real(kind=REAL32), intent(out) :: v_out(:,:,:)
    logical, intent(in), optional :: rotate
    integer, intent(out), optional :: rc

procedure, public :: transpose_regrid_vector_3d_real64

  • private subroutine transpose_regrid_vector_3d_real64(this, u_in, v_in, u_out, v_out, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractRegridder), intent(in) :: this
    real(kind=REAL64), intent(in) :: u_in(:,:,:)
    real(kind=REAL64), intent(in) :: v_in(:,:,:)
    real(kind=REAL64), intent(out) :: u_out(:,:,:)
    real(kind=REAL64), intent(out) :: v_out(:,:,:)
    integer, intent(out), optional :: rc

Source Code

   type, extends(AbstractRegridder) :: MockRegridder
      private
      character(len=:), allocatable :: name
   contains
      procedure :: regrid_scalar_2d_real64
      procedure :: get_name
      procedure :: initialize_subclass
   end type MockRegridder