RegridderSpec Derived Type

type, public :: RegridderSpec


Inherits

type~~regridderspec~2~~InheritsGraph type~regridderspec~2 RegridderSpec ESMF_Grid ESMF_Grid type~regridderspec~2->ESMF_Grid grid_in, grid_out

Inherited by

type~~regridderspec~2~~InheritedByGraph type~regridderspec~2 RegridderSpec type~abstractregridder AbstractRegridder type~abstractregridder->type~regridderspec~2 spec type~pair~14 pair type~pair~14->type~regridderspec~2 key type~esmfregridder EsmfRegridder type~esmfregridder->type~abstractregridder type~horizontalfluxregridder HorizontalFluxRegridder type~horizontalfluxregridder->type~abstractregridder type~latlontolatlonregridder LatLonToLatLonRegridder type~latlontolatlonregridder->type~abstractregridder type~mapl_cfio MAPL_CFIO type~mapl_cfio->type~abstractregridder regridder, new_regridder type~mapl_griddedio MAPL_GriddedIO type~mapl_griddedio->type~abstractregridder regrid_handle type~mockregridder MockRegridder type~mockregridder->type~abstractregridder type~pair~16 pair type~pair~16->type~abstractregridder value type~sampler sampler type~sampler->type~abstractregridder regrid_handle type~tilingregridder TilingRegridder type~tilingregridder->type~abstractregridder type~transposeregridder TransposeRegridder type~transposeregridder->type~abstractregridder reference type~transposeregridder->type~abstractregridder type~tvector~14 tVector type~tvector~14->type~pair~14 elements type~v_wrapper~13 v_Wrapper type~v_wrapper~13->type~abstractregridder item type~conservativeregridder ConservativeRegridder type~conservativeregridder->type~tilingregridder type~extdata_iobundle ExtData_IoBundle type~extdata_iobundle->type~mapl_griddedio cfio type~extdatang_iobundle ExtDataNG_IOBundle type~extdatang_iobundle->type~mapl_griddedio grid_io type~fieldbundlewriter FieldBundleWriter type~fieldbundlewriter->type~mapl_griddedio cfio type~fractionalregridder FractionalRegridder type~fractionalregridder->type~tilingregridder type~historycollection~2 HistoryCollection type~historycollection~2->type~mapl_cfio MCFIO type~historycollection~2->type~mapl_griddedio mGriddedIO type~historycollection~2->type~sampler xsampler type~regriddervectoriterator~2 RegridderVectorIterator type~regriddervectoriterator~2->type~v_wrapper~13 elements type~regriddervectorriterator~2 RegridderVectorRIterator type~regriddervectorriterator~2->type~v_wrapper~13 elements type~regriddervector~2 RegridderVector type~regriddervector~2->type~v_wrapper~13 elements type~set2~15 set2 type~set2~15->type~tvector~14 items type~tvector~16 tVector type~tvector~16->type~pair~16 elements type~votingregridder VotingRegridder type~votingregridder->type~tilingregridder

Components

Type Visibility Attributes Name Initial
integer, public :: hints = 0
integer, public :: regrid_method = UNSPECIFIED_REGRID_METHOD
type(ESMF_Grid), public :: grid_in
type(ESMF_Grid), public :: grid_out

Constructor

public interface RegridderSpec

  • private function newRegridderSpec(grid_in, grid_out, regrid_method, unusable, hints, rc) result(spec)

    Arguments

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

    Return Value type(RegridderSpec)


Type-Bound Procedures

procedure, public :: equals

  • private function equals(a, b)

    Two regridders are equivalent if their specs are identical. This can be used to check if a given regridder is already contained in the regridder_manager without instantiating the regridder. Currently the implementation assumes that two regridders are identical if the corresponding grids are the same and the same method is in use. This will need to be changed to incorporate LocStreams.


    Arguments

    Type IntentOptional Attributes Name
    class(RegridderSpec), intent(in) :: a
    type(RegridderSpec), intent(in) :: b

    Return Value logical

procedure, public :: get_grid_type

  • private subroutine get_grid_type(this, unusable, grid_type_in, grid_type_out, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(RegridderSpec), intent(in) :: this
    class(KeywordEnforcer), intent(in), optional :: unusable
    character(len=*), intent(out), optional :: grid_type_in
    character(len=*), intent(out), optional :: grid_type_out
    integer, intent(out), optional :: rc

procedure, public :: less_than

  • private function less_than(a, b)

    Arguments

    Type IntentOptional Attributes Name
    class(RegridderSpec), intent(in) :: a
    type(RegridderSpec), intent(in) :: b

    Return Value logical

generic, public :: operator (<) => less_than

  • private function less_than(a, b)

    Arguments

    Type IntentOptional Attributes Name
    class(RegridderSpec), intent(in) :: a
    type(RegridderSpec), intent(in) :: b

    Return Value logical

generic, public :: operator (==) => equals

  • private function equals(a, b)

    Two regridders are equivalent if their specs are identical. This can be used to check if a given regridder is already contained in the regridder_manager without instantiating the regridder. Currently the implementation assumes that two regridders are identical if the corresponding grids are the same and the same method is in use. This will need to be changed to incorporate LocStreams.


    Arguments

    Type IntentOptional Attributes Name
    class(RegridderSpec), intent(in) :: a
    type(RegridderSpec), intent(in) :: b

    Return Value logical

Source Code

   type :: RegridderSpec
      type (ESMF_Grid) :: grid_in
      type (ESMF_Grid) :: grid_out
      integer :: regrid_method = UNSPECIFIED_REGRID_METHOD
      integer :: hints = 0
   contains
      procedure :: equals
      procedure :: get_grid_type
      generic :: operator (==) => equals
      procedure :: less_than
      generic :: operator (<) => less_than
   end type RegridderSpec