VotingRegridder Derived Type

type, public, extends(TilingRegridder) :: VotingRegridder


Inherits

type~~votingregridder~~InheritsGraph type~votingregridder VotingRegridder type~tilingregridder TilingRegridder type~votingregridder->type~tilingregridder type~abstractregridder AbstractRegridder type~tilingregridder->type~abstractregridder type~xtile XTile type~tilingregridder->type~xtile global_x_tiles, local_x_tiles 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, nopass :: add_contribution

  • private subroutine add_contribution(x_in, weight, x_out, fraction)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=REAL32), intent(in) :: x_in
    real(kind=REAL32), intent(in) :: weight
    real(kind=REAL32), intent(inout) :: x_out
    real(kind=REAL32), intent(inout) :: fraction

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(TilingRegridder), intent(in) :: this

    Return Value class(AbstractRegridder), allocatable

procedure, public :: copy_global_to_local

  • private subroutine copy_global_to_local(this)

    Arguments

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

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, nopass :: final_regrid

  • private subroutine final_regrid(x_out, fraction)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=REAL32), intent(inout) :: x_out(:,:)
    real(kind=REAL32), intent(in) :: fraction(:,:)

procedure, public :: find_tile_file

  • private subroutine find_tile_file(this, file_name, swap, unusable, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(TilingRegridder), intent(inout) :: this
    character(len=:), allocatable :: file_name
    logical, intent(out) :: swap
    class(KeywordEnforcer), intent(in), optional :: unusable
    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

procedure, public, nopass :: init_regrid

  • private subroutine init_regrid(x_out)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=REAL32), intent(out) :: x_out(:,:)

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(TilingRegridder), 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

procedure, public :: loop_over_tiles

  • private subroutine loop_over_tiles(this, tiles, q_in, q_out, fraction)

    Arguments

    Type IntentOptional Attributes Name
    class(TilingRegridder), intent(in) :: this
    type(XTile), intent(in) :: tiles(:)
    real(kind=REAL32), intent(in) :: q_in(:,:)
    real(kind=REAL32), intent(inout) :: q_out(:,:)
    real(kind=REAL32), intent(inout) :: fraction(:,:)

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(TilingRegridder), 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(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(TilingRegridder) :: VotingRegridder
      private
   contains
      procedure, nopass :: init_regrid
      procedure, nopass :: add_contribution
      procedure, nopass :: final_regrid
   end type VotingRegridder