CubedSphereGeomSpec Derived Type

type, public, extends(GeomSpec) :: CubedSphereGeomSpec


Inherits

type~~cubedspheregeomspec~~InheritsGraph type~cubedspheregeomspec CubedSphereGeomSpec ESMF_CubedSphereTransform_Args ESMF_CubedSphereTransform_Args type~cubedspheregeomspec->ESMF_CubedSphereTransform_Args schmidt_parameters type~cubedspheredecomposition CubedSphereDecomposition type~cubedspheregeomspec->type~cubedspheredecomposition decomposition type~geomspec GeomSpec type~cubedspheregeomspec->type~geomspec

Constructor

public interface CubedSphereGeomSpec

  • private interface new_CubedSphereGeomSpec()

    Arguments

    None

Type-Bound Procedures

procedure, public :: equal_to

  • interface

    private pure module function equal_to(a, b)

    Arguments

    Type IntentOptional Attributes Name
    class(CubedSphereGeomSpec), intent(in) :: a
    class(GeomSpec), intent(in) :: b

    Return Value logical

procedure, public :: get_decomposition

  • interface

    private pure module function get_decomposition(spec) result(decomposition)

    Arguments

    Type IntentOptional Attributes Name
    class(CubedSphereGeomSpec), intent(in) :: spec

    Return Value type(CubedSphereDecomposition)

procedure, public :: get_im_world

  • interface

    private pure module function get_im_world(spec) result(im_world)

    Arguments

    Type IntentOptional Attributes Name
    class(CubedSphereGeomSpec), intent(in) :: spec

    Return Value integer

procedure, public :: get_schmidt_parameters

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

  • private interface equal_to()

    Arguments

    None

generic, public :: supports => supports_hconfig, supports_metadata

  • private interface supports_hconfig_()

    Arguments

    None
  • private interface supports_metadata_()

    Arguments

    None

procedure, public :: supports_hconfig => supports_hconfig_

  • interface

    private module function supports_hconfig_(this, hconfig, rc) result(supports)

    Arguments

    Type IntentOptional Attributes Name
    class(CubedSphereGeomSpec), intent(in) :: this
    type(ESMF_HConfig), intent(in) :: hconfig
    integer, intent(out), optional :: rc

    Return Value logical

procedure, public :: supports_metadata => supports_metadata_

  • interface

    private module function supports_metadata_(this, file_metadata, rc) result(supports)

    Arguments

    Type IntentOptional Attributes Name
    class(CubedSphereGeomSpec), intent(in) :: this
    type(FileMetadata), intent(in) :: file_metadata
    integer, intent(out), optional :: rc

    Return Value logical

Source Code

   type, extends(GeomSpec) :: CubedSphereGeomSpec
      private
      integer :: im_world
      type(ESMF_CubedSphereTransform_Args) :: schmidt_parameters
      type(CubedSphereDecomposition) :: decomposition  
      
   contains
      ! mandatory interface
      procedure :: equal_to

      ! CubedSphere specific
      procedure :: supports_hconfig => supports_hconfig_
      procedure :: supports_metadata => supports_metadata_
      generic :: supports => supports_hconfig, supports_metadata

      ! Accessors
      procedure :: get_decomposition
      procedure :: get_im_world
      procedure :: get_schmidt_parameters
   end type CubedSphereGeomSpec