LatLonDecomposition Derived Type

type, public :: LatLonDecomposition


Inherited by

type~~latlondecomposition~~InheritedByGraph type~latlondecomposition LatLonDecomposition type~latlongeomspec LatLonGeomSpec type~latlongeomspec->type~latlondecomposition decomposition

Constructor

public interface LatLonDecomposition

  • private pure function new_LatLonDecomposition_basic(lon_distribution, lat_distribution) result(decomp)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: lon_distribution(:)
    integer, intent(in) :: lat_distribution(:)

    Return Value type(LatLonDecomposition)

  • private pure function new_LatLonDecomposition_petcount(dims, unusable, petCount) result(decomp)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: dims(2)
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(in) :: petCount

    Return Value type(LatLonDecomposition)

  • private pure function new_LatLonDecomposition_topo(dims, unusable, topology) result(decomp)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: dims(2)
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(in) :: topology(2)

    Return Value type(LatLonDecomposition)


Type-Bound Procedures

procedure, public :: get_lat_distribution

  • private pure function get_lat_distribution(decomp) result(lat_distribution)

    Arguments

    Type IntentOptional Attributes Name
    class(LatLonDecomposition), intent(in) :: decomp

    Return Value integer, allocatable, (:)

procedure, public :: get_lat_subset

  • interface

    private pure module function get_lat_subset(this, axis, rank) result(local_axis)

    Arguments

    Type IntentOptional Attributes Name
    class(LatLonDecomposition), intent(in) :: this
    type(LatAxis), intent(in) :: axis
    integer, intent(in) :: rank

    Return Value type(LatAxis)

procedure, public :: get_lon_distribution

  • private pure function get_lon_distribution(decomp) result(lon_distribution)

    Arguments

    Type IntentOptional Attributes Name
    class(LatLonDecomposition), intent(in) :: decomp

    Return Value integer, allocatable, (:)

procedure, public :: get_lon_subset

  • interface

    private pure module function get_lon_subset(this, axis, rank) result(local_axis)

    Arguments

    Type IntentOptional Attributes Name
    class(LatLonDecomposition), intent(in) :: this
    type(LonAxis), intent(in) :: axis
    integer, intent(in) :: rank

    Return Value type(LonAxis)

Source Code

   type :: LatLonDecomposition
      private
      integer, allocatable :: lon_distribution(:)
      integer, allocatable :: lat_distribution(:)
   contains
      procedure :: get_lon_distribution
      procedure :: get_lat_distribution
      procedure :: get_lon_subset
      procedure :: get_lat_subset
   end type LatLonDecomposition