CubedSphereGeomFactory Derived Type

type, public, extends(GeomFactory) :: CubedSphereGeomFactory


Inherits

type~~cubedspheregeomfactory~~InheritsGraph type~cubedspheregeomfactory CubedSphereGeomFactory type~geomfactory GeomFactory type~cubedspheregeomfactory->type~geomfactory

Type-Bound Procedures

procedure, public :: make_file_metadata

  • interface

    private module function make_file_metadata(this, geom_spec, unusable, chunksizes, rc) result(file_metadata)

    Arguments

    Type IntentOptional Attributes Name
    class(CubedSphereGeomFactory), intent(in) :: this
    class(GeomSpec), intent(in) :: geom_spec
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(in), optional :: chunksizes(:)
    integer, intent(out), optional :: rc

    Return Value type(FileMetadata)

procedure, public :: make_geom

  • interface

    private module function make_geom(this, geom_spec, rc) result(geom)

    Arguments

    Type IntentOptional Attributes Name
    class(CubedSphereGeomFactory), intent(in) :: this
    class(GeomSpec), intent(in) :: geom_spec
    integer, intent(out), optional :: rc

    Return Value type(ESMF_Geom)

procedure, public :: make_geom_spec_from_hconfig

  • interface

    private module function make_geom_spec_from_hconfig(this, hconfig, rc) result(geom_spec)

    Arguments

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

    Return Value class(GeomSpec), allocatable

procedure, public :: make_geom_spec_from_metadata

  • interface

    private module function make_geom_spec_from_metadata(this, file_metadata, rc) result(geom_spec)

    Arguments

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

    Return Value class(GeomSpec), allocatable

procedure, public :: make_gridded_dims

  • interface

    private module function make_gridded_dims(this, geom_spec, rc) result(gridded_dims)

    Arguments

    Type IntentOptional Attributes Name
    class(CubedSphereGeomFactory), intent(in) :: this
    class(GeomSpec), intent(in) :: geom_spec
    integer, intent(out), optional :: rc

    Return Value type(StringVector)

generic, public :: make_spec => make_geom_spec_from_hconfig

  • private function make_geom_spec_from_hconfig(this, hconfig, rc) result(geom_spec)

    Arguments

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

    Return Value class(GeomSpec), allocatable

generic, public :: make_spec => make_geom_spec_from_metadata

  • private function make_geom_spec_from_metadata(this, file_metadata, rc) result(geom_spec)

    Arguments

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

    Return Value class(GeomSpec), allocatable

generic, public :: supports => supports_spec

  • private function supports_spec(this, geom_spec) result(supports)

    Arguments

    Type IntentOptional Attributes Name
    class(LatLonGeomFactory), intent(in) :: this
    class(GeomSpec), intent(in) :: geom_spec

    Return Value logical

generic, public :: supports => supports_hconfig

  • private function supports_hconfig(this, hconfig, rc) result(supports)

    Arguments

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

    Return Value logical

generic, public :: supports => supports_metadata

  • private function supports_metadata(this, file_metadata, rc) result(supports)

    Arguments

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

    Return Value logical

procedure, public :: supports_hconfig

  • interface

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

    Arguments

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

    Return Value logical

procedure, public :: supports_metadata

  • interface

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

    Arguments

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

    Return Value logical

procedure, public :: supports_spec

  • interface

    private module function supports_spec(this, geom_spec) result(supports)

    Arguments

    Type IntentOptional Attributes Name
    class(CubedSphereGeomFactory), intent(in) :: this
    class(GeomSpec), intent(in) :: geom_spec

    Return Value logical

Source Code

   type, extends(GeomFactory) :: CubedSphereGeomFactory
      private
   contains
      ! Mandatory interfaces
      procedure :: make_geom_spec_from_hconfig
      procedure :: make_geom_spec_from_metadata
      procedure :: supports_spec
      procedure :: supports_hconfig
      procedure :: supports_metadata
      procedure :: make_geom
      procedure :: make_file_metadata
      procedure :: make_gridded_dims

      ! Helper methods
   end type CubedSphereGeomFactory