HorizontalFluxRegridder Derived Type

type, public, extends(AbstractRegridder) :: HorizontalFluxRegridder


Inherits

type~~horizontalfluxregridder~~InheritsGraph type~horizontalfluxregridder HorizontalFluxRegridder type~abstractregridder AbstractRegridder type~horizontalfluxregridder->type~abstractregridder type~regridderspec~2 RegridderSpec type~abstractregridder->type~regridderspec~2 spec ESMF_Grid ESMF_Grid type~regridderspec~2->ESMF_Grid grid_in, grid_out

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_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(HorizontalFluxRegridder), 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(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_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(HorizontalFluxRegridder), 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(HorizontalFluxRegridder), 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(HorizontalFluxRegridder), 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

$ procedure :: transpose_regrid_vector_2d_real32 $ procedure :: transpose_regrid_vector_3d_real32

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

    Arguments

    Type IntentOptional Attributes Name
    class(HorizontalFluxRegridder), 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) :: HorizontalFluxRegridder
      private
      integer :: resolution_ratio = -1
      integer :: im_in, jm_in
      integer :: im_out, jm_out
   contains
      procedure, nopass :: supports
      procedure :: initialize_subclass
      ! Note scalar regridding intentionally not supported.
      procedure :: regrid_vector_2d_real32
      procedure :: regrid_vector_2d_real64
      procedure :: regrid_vector_3d_real32
      procedure :: regrid_vector_3d_real64
      
!!$      procedure :: transpose_regrid_vector_2d_real32
!!$      procedure :: transpose_regrid_vector_3d_real32
   end type HorizontalFluxRegridder