ESMF_BaseMod Module

TODO: this should be a shallow object, with a simple init() and get() function, and the contents should go back to being private. TODO: same comment as above.


Variables

Type Visibility Attributes Name Initial
integer, public, parameter :: ESMF_SUCCESS = 0
integer, public, parameter :: ESMF_FAILURE = -1
integer, public, parameter :: ESMF_MAXSTR = 128
integer, public, parameter :: ESMF_MAXDIM = 7
integer, public, parameter :: ESMF_MAXDECOMPDIM = 3
integer, public, parameter :: ESMF_MAXGRIDDIM = 2
integer, public, parameter :: ESMF_MAJOR_VERSION = 2
integer, public, parameter :: ESMF_MINOR_VERSION = 2
integer, public, parameter :: ESMF_REVISION = 3
character(len=32), public, parameter :: ESMF_VERSION_STRING = "2.2.3"
type(ESMF_Status), public, parameter :: ESMF_STATE_INVALID = ESMF_Status(6)
type(ESMF_Pointer), public, parameter :: ESMF_NULL_POINTER = ESMF_Pointer(0)

a datatype into integer, then we could use the type and kind as targets in a select case() statement and make the contents private. (see pg 248 of the "big book")

type(ESMF_Pointer), public, parameter :: ESMF_BAD_POINTER = ESMF_Pointer(-1)

a datatype into integer, then we could use the type and kind as targets in a select case() statement and make the contents private. (see pg 248 of the "big book")

type(ESMF_DataType), public, parameter :: ESMF_DATA_INTEGER = ESMF_DataType(1)
type(ESMF_DataType), public, parameter :: ESMF_DATA_REAL = ESMF_DataType(2)
type(ESMF_DataType), public, parameter :: ESMF_DATA_LOGICAL = ESMF_DataType(3)
type(ESMF_DataType), public, parameter :: ESMF_DATA_CHARACTER = ESMF_DataType(4)
integer, public, parameter :: ESMF_KIND_I1 = selected_int_kind(2)
integer, public, parameter :: ESMF_KIND_I2 = selected_int_kind(4)
integer, public, parameter :: ESMF_KIND_I4 = selected_int_kind(9)
integer, public, parameter :: ESMF_KIND_I8 = selected_int_kind(18)
integer, public, parameter :: ESMF_KIND_R4 = selected_real_kind(3, 25)
integer, public, parameter :: ESMF_KIND_R8 = selected_real_kind(6, 45)
integer, public, parameter :: ESMF_KIND_C8 = selected_real_kind(3, 25)
integer, public, parameter :: ESMF_KIND_C16 = selected_real_kind(6, 45)

Derived Types

type, public ::  ESMF_Status

type, public ::  ESMF_Pointer

type, public ::  ESMF_DataType

private

Components

Type Visibility Attributes Name Initial
integer, public :: dtype

type, public ::  ESMF_DataValue

type, public ::  ESMF_Attribute

type, public ::  ESMF_AxisIndex

Components

Type Visibility Attributes Name Initial
integer, public :: l
integer, public :: r
integer, public :: max
integer, public :: decomp
integer, public :: gstart

type, public ::  ESMF_Logical

type, public ::  ESMF_Base


Functions

public function ESMF_GetPointer(ptype, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_Pointer), intent(in) :: ptype
integer, intent(out), optional :: rc

Return Value integer(kind=8)


Subroutines

public subroutine ESMF_SetName(anytype, name, namespace, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_Base) :: anytype
character(len=*), intent(in), optional :: name
character(len=*), intent(in), optional :: namespace
integer, intent(out), optional :: rc

public subroutine ESMF_GetName(anytype, name, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_Base), intent(in) :: anytype
character(len=*), intent(out) :: name
integer, intent(out), optional :: rc

public subroutine ESMF_AttributeSet(anytype, name, value, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_Base), intent(in) :: anytype
character(len=*), intent(in) :: name
type(ESMF_DataValue), intent(in) :: value
integer, intent(out), optional :: rc

public subroutine ESMF_AttributeGet(anytype, name, type, value, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_Base), intent(in) :: anytype
character(len=*), intent(in) :: name
type(ESMF_DataType), intent(out) :: type
type(ESMF_DataValue), intent(out) :: value
integer, intent(out), optional :: rc

public subroutine ESMF_AttributeGetCount(anytype, count, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_Base), intent(in) :: anytype
integer, intent(out) :: count
integer, intent(out), optional :: rc

public subroutine ESMF_AttributeGetbyNumber(anytype, number, name, type, value, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_Base), intent(in) :: anytype
integer, intent(in) :: number
character(len=*), intent(in) :: name
type(ESMF_DataType), intent(out) :: type
type(ESMF_DataValue), intent(out) :: value
integer, intent(out), optional :: rc

public subroutine ESMF_AttributeGetNameList(anytype, count, namelist, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_Base), intent(in) :: anytype
integer, intent(out) :: count
character(len=*), intent(out), dimension (:) :: namelist
integer, intent(out), optional :: rc

public subroutine ESMF_AttributeSetList(anytype, namelist, valuelist, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_Base), intent(in) :: anytype
character(len=*), intent(in), dimension (:) :: namelist
type(ESMF_DataValue), intent(in), dimension (:) :: valuelist
integer, intent(out), optional :: rc

public subroutine ESMF_AttributeGetList(anytype, namelist, typelist, valuelist, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_Base), intent(in) :: anytype
character(len=*), intent(in), dimension (:) :: namelist
type(ESMF_DataType), intent(out), dimension (:) :: typelist
type(ESMF_DataValue), intent(out), dimension (:) :: valuelist
integer, intent(out), optional :: rc

public subroutine ESMF_AttributeSetObjectList(anytypelist, name, value, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_Base), intent(in), dimension (:) :: anytypelist
character(len=*), intent(in) :: name
type(ESMF_DataValue), intent(in), dimension (:) :: value
integer, intent(out), optional :: rc

public subroutine ESMF_AttributeGetObjectList(anytypelist, name, typelist, valuelist, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_Base), intent(in), dimension (:) :: anytypelist
character(len=*), intent(in) :: name
type(ESMF_DataType), intent(out), dimension (:) :: typelist
type(ESMF_DataValue), intent(out), dimension (:) :: valuelist
integer, intent(out), optional :: rc

public subroutine ESMF_AttributeCopy(name, source, destination, rc)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: name
type(ESMF_Base), intent(in) :: source
type(ESMF_Base), intent(in) :: destination
integer, intent(out), optional :: rc

public subroutine ESMF_AttributeCopyAll(source, destination, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_Base), intent(in) :: source
type(ESMF_Base), intent(in) :: destination
integer, intent(out), optional :: rc

public subroutine ESMF_AxisIndexGet(ai, l, r, max, decomp, gstart, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_AxisIndex), intent(inout) :: ai
integer, intent(out), optional :: l
integer, intent(out), optional :: r
integer, intent(out), optional :: max
integer, intent(out), optional :: decomp
integer, intent(out), optional :: gstart
integer, intent(out), optional :: rc

public subroutine ESMF_SetPointer(ptype, contents, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_Pointer) :: ptype
integer(kind=8), intent(in) :: contents
integer, intent(out), optional :: rc

public subroutine ESMF_SetNullPointer(ptype, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_Pointer) :: ptype
integer, intent(out), optional :: rc

public subroutine ESMF_StatusString(status, string, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_Status), intent(in) :: status
character(len=*), intent(out) :: string
integer, intent(out), optional :: rc

public subroutine ESMF_DataTypeString(datatype, string, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_DataType), intent(in) :: datatype
character(len=*), intent(out) :: string
integer, intent(out), optional :: rc