NewRegridderManager Derived Type

type, public :: NewRegridderManager


Inherits

type~~newregriddermanager~~InheritsGraph type~newregriddermanager NewRegridderManager type~regriddervector~2 RegridderVector type~newregriddermanager->type~regriddervector~2 prototypes, regridders type~v_wrapper~13 v_Wrapper type~regriddervector~2->type~v_wrapper~13 elements type~abstractregridder AbstractRegridder type~v_wrapper~13->type~abstractregridder item type~regridderspec~2 RegridderSpec type~abstractregridder->type~regridderspec~2 spec

Type-Bound Procedures

procedure, public :: add_prototype

  • private subroutine add_prototype(this, prototype)

    Arguments

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

procedure, public :: find_prototype

  • private function find_prototype(this, spec, unusable, rc) result(prototype)

    Arguments

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

    Return Value class(AbstractRegridder), pointer

procedure, public :: initialize

  • private subroutine initialize(this)

    Arguments

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

procedure, public :: is_initialized

  • private function is_initialized(this)

    Arguments

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

    Return Value logical

generic, public :: make_regridder => make_regridder_

  • private function make_regridder_(this, grid_in, grid_out, regrid_method, unusable, hints, rc) result(regridder)

    Arguments

    Type IntentOptional Attributes Name
    class(NewRegridderManager), intent(inout), target :: this
    type(ESMF_Grid), intent(in) :: grid_in
    type(ESMF_Grid), intent(in) :: grid_out
    integer, intent(in) :: regrid_method
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(in), optional :: hints
    integer, intent(out), optional :: rc

    Return Value class(AbstractRegridder), pointer

procedure, public :: make_regridder_

  • private function make_regridder_(this, grid_in, grid_out, regrid_method, unusable, hints, rc) result(regridder)

    Arguments

    Type IntentOptional Attributes Name
    class(NewRegridderManager), intent(inout), target :: this
    type(ESMF_Grid), intent(in) :: grid_in
    type(ESMF_Grid), intent(in) :: grid_out
    integer, intent(in) :: regrid_method
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(in), optional :: hints
    integer, intent(out), optional :: rc

    Return Value class(AbstractRegridder), pointer

Source Code

   type :: NewRegridderManager
      private
      logical :: initialized = .false.
      type(RegridderVector) :: prototypes
      type(RegridderVector) :: regridders
   contains
      procedure :: add_prototype
      procedure :: find_prototype
      procedure :: make_regridder_
      generic :: make_regridder => make_regridder_
      procedure :: is_initialized
      procedure :: initialize
   end type NewRegridderManager