LatLonGeomSpec Derived Type

type, public, extends(GeomSpec) :: LatLonGeomSpec


Inherits

type~~latlongeomspec~~InheritsGraph type~latlongeomspec LatLonGeomSpec type~geomspec GeomSpec type~latlongeomspec->type~geomspec type~lataxis LatAxis type~latlongeomspec->type~lataxis lat_axis type~latlondecomposition LatLonDecomposition type~latlongeomspec->type~latlondecomposition decomposition type~lonaxis LonAxis type~latlongeomspec->type~lonaxis lon_axis type~coordinateaxis CoordinateAxis type~lataxis->type~coordinateaxis type~lonaxis->type~coordinateaxis

Constructor

public interface LatLonGeomSpec

  • private function new_LatLonGeomSpec(lon_axis, lat_axis, decomposition) result(spec)

    Arguments

    Type IntentOptional Attributes Name
    type(LonAxis), intent(in) :: lon_axis
    type(LatAxis), intent(in) :: lat_axis
    type(LatLonDecomposition), intent(in) :: decomposition

    Return Value type(LatLonGeomSpec)


Type-Bound Procedures

procedure, public :: equal_to

  • interface

    private pure module function equal_to(a, b)

    Arguments

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

    Return Value logical

procedure, public :: get_decomposition

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

    Arguments

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

    Return Value type(LatLonDecomposition)

procedure, public :: get_lat_axis

  • private pure function get_lat_axis(spec) result(axis)

    Arguments

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

    Return Value type(LatAxis)

procedure, public :: get_lon_axis

  • private pure function get_lon_axis(spec) result(axis)

    Arguments

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

    Return Value type(LonAxis)

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(LatLonGeomSpec), 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(LatLonGeomSpec), intent(in) :: this
    type(FileMetadata), intent(in) :: file_metadata
    integer, intent(out), optional :: rc

    Return Value logical

Source Code

   type, extends(GeomSpec) :: LatLonGeomSpec
      private
      type(LonAxis) :: lon_axis
      type(LatAxis) :: lat_axis
      type(LatLonDecomposition) :: decomposition
   contains
      ! mandatory interface
      procedure :: equal_to

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

      ! Accessors
      procedure :: get_lon_axis
      procedure :: get_lat_axis
      procedure :: get_decomposition
   end type LatLonGeomSpec