ESMF_CompMod Module



Variables

Type Visibility Attributes Name Initial
character(len=*), private, parameter :: version = '$Id$'
integer, private, parameter :: ESMF_DEFAULT_TIMEOUT = 300
type(ESMF_CompStatus), public, parameter :: ESMF_COMPSTATUS_ALL_NOTPRESENT = ESMF_CompStatus(.false., .false., .false., .false., .false., .false., .false., .false., .false., .false., 63451943)
type(ESMF_CompStatus), public, parameter :: ESMF_COMPSTATUS_ALL_PRESENT = ESMF_CompStatus(.true., .true., .true., .true., .true., .true., .true., .true., .true., .true., 63451943)
type(ESMF_CompType_Flag), public, parameter :: ESMF_COMPTYPE_CPL = ESMF_CompType_Flag(2)
type(ESMF_CompType_Flag), public, parameter :: ESMF_COMPTYPE_GRID = ESMF_CompType_Flag(1)
type(ESMF_CompType_Flag), public, parameter :: ESMF_COMPTYPE_SCI = ESMF_CompType_Flag(3)
type(ESMF_Method_Flag), public, parameter :: ESMF_METHOD_FINALIZE = ESMF_Method_Flag(3)
type(ESMF_Method_Flag), public, parameter :: ESMF_METHOD_FINALIZEIC = ESMF_Method_Flag(9)
type(ESMF_Method_Flag), public, parameter :: ESMF_METHOD_INITIALIZE = ESMF_Method_Flag(1)
type(ESMF_Method_Flag), public, parameter :: ESMF_METHOD_INITIALIZEIC = ESMF_Method_Flag(7)
type(ESMF_Method_Flag), public, parameter :: ESMF_METHOD_NONE = ESMF_Method_Flag(0)
type(ESMF_Method_Flag), public, parameter :: ESMF_METHOD_READRESTART = ESMF_Method_Flag(5)
type(ESMF_Method_Flag), public, parameter :: ESMF_METHOD_READRESTARTIC = ESMF_Method_Flag(11)
type(ESMF_Method_Flag), public, parameter :: ESMF_METHOD_RUN = ESMF_Method_Flag(2)
type(ESMF_Method_Flag), public, parameter :: ESMF_METHOD_RUNIC = ESMF_Method_Flag(8)
type(ESMF_Method_Flag), public, parameter :: ESMF_METHOD_SERVICELOOP = ESMF_Method_Flag(6)
type(ESMF_Method_Flag), public, parameter :: ESMF_METHOD_SERVICELOOPIC = ESMF_Method_Flag(12)
type(ESMF_Method_Flag), public, parameter :: ESMF_METHOD_SETSERVICES = ESMF_Method_Flag(14)
type(ESMF_Method_Flag), public, parameter :: ESMF_METHOD_SETVM = ESMF_Method_Flag(13)
type(ESMF_Method_Flag), public, parameter :: ESMF_METHOD_WAIT = ESMF_Method_Flag(15)
type(ESMF_Method_Flag), public, parameter :: ESMF_METHOD_WRITERESTART = ESMF_Method_Flag(4)
type(ESMF_Method_Flag), public, parameter :: ESMF_METHOD_WRITERESTARTIC = ESMF_Method_Flag(10)

Interfaces

private interface operator (/=)

private interface operator (==)


Derived Types

type, public, sequence  ::  ESMF_CWrap

Components

Type Visibility Attributes Name Initial
character(len=ESMF_MAXSTR), public :: name
integer(kind=ESMF_KIND_I8), public :: isInit = 76838410
logical, public :: isNamedAlias = .false.
type(ESMF_CompClass), public, pointer :: compp

type, public, sequence  ::  ESMF_CompClass

Components

Type Visibility Attributes Name Initial
character(len=ESMF_MAXPATHLEN), public :: configFile
character(len=ESMF_MAXPATHLEN), public :: dirPath
integer(kind=ESMF_KIND_I8), public :: isInit = 76838410
integer, public, pointer :: devlist(:)
integer, public :: ndevlist
integer, public :: npetlist
integer, public, pointer :: petlist(:)
integer, public :: vm_recursionCount
logical, public :: iAmParticipant
logical, public :: vm_released
real(kind=ESMF_KIND_R8), public :: startTime
type(ESMF_Base), public :: base
type(ESMF_CWrap), public :: compw
type(ESMF_Clock), public :: argclock
type(ESMF_Clock), public :: clock
type(ESMF_CompStatus), public :: compStatus
type(ESMF_CompTunnel), public :: compTunnel
type(ESMF_CompType_Flag), public :: compType
type(ESMF_Config), public :: config
type(ESMF_Context_Flag), public :: contextflag
type(ESMF_Grid), public, allocatable :: gridList(:)
type(ESMF_LocStream), public, allocatable :: locstreamList(:)
type(ESMF_Mesh), public, allocatable :: meshList(:)
type(ESMF_MethodTable), public :: methodTable
type(ESMF_Pointer), public :: ftable
type(ESMF_Pointer), public :: vm_cargo
type(ESMF_Pointer), public :: vm_info
type(ESMF_State), public :: es
type(ESMF_State), public :: is
type(ESMF_VM), public :: vm
type(ESMF_VM), public :: vm_parent
type(ESMF_VMPlan), public :: vmplan
type(ESMF_XGrid), public, allocatable :: xgridList(:)

type, public, sequence  ::  ESMF_CompStatus

Components

Type Visibility Attributes Name Initial
integer(kind=ESMF_KIND_I8), public :: isInit = 76838410
logical, public :: clockIsPresent
logical, public :: configFileIsPresent
logical, public :: configIsPresent
logical, public :: esIsPresent
logical, public :: gridIsPresent
logical, public :: isIsPresent
logical, public :: locstreamIsPresent
logical, public :: meshIsPresent
logical, public :: vmIsPresent
logical, public :: xgridIsPresent

type, public, sequence  ::  ESMF_CompTunnel

Components

Type Visibility Attributes Name Initial
type(ESMF_Pointer), public :: this

type, public, sequence  ::  ESMF_CompType_Flag

Components

Type Visibility Attributes Name Initial
integer, private :: ctype

type, public, sequence  ::  ESMF_CplComp

Components

Type Visibility Attributes Name Initial
character(len=ESMF_MAXSTR), public :: name
integer(kind=ESMF_KIND_I8), public :: isInit = 76838410
logical, public :: isNamedAlias = .false.
type(ESMF_CompClass), public, pointer :: compp

type, public, sequence  ::  ESMF_GridComp

Components

Type Visibility Attributes Name Initial
character(len=ESMF_MAXSTR), public :: name
integer(kind=ESMF_KIND_I8), public :: isInit = 76838410
logical, public :: isNamedAlias = .false.
type(ESMF_CompClass), public, pointer :: compp

type, public, sequence  ::  ESMF_Method_Flag

Components

Type Visibility Attributes Name Initial
integer, private :: method

type, public, sequence  ::  ESMF_SciComp

Components

Type Visibility Attributes Name Initial
character(len=ESMF_MAXSTR), public :: name
integer(kind=ESMF_KIND_I8), public :: isInit = 76838410
logical, public :: isNamedAlias = .false.
type(ESMF_CompClass), public, pointer :: compp

Functions

public recursive function ESMF_CompClassGetInit(cc) result(CompClassGetInit)

Arguments

Type IntentOptional Attributes Name
type(ESMF_CompClass), intent(in), optional :: cc

Return Value integer(kind=ESMF_KIND_I8)

private recursive function ESMF_CompStatusGetInit(compStatus) result(CompStatusGetInit)

Arguments

Type IntentOptional Attributes Name
type(ESMF_CompStatus), intent(in), optional :: compStatus

Return Value integer(kind=ESMF_KIND_I8)

public recursive function ESMF_CompIsDualConnected(compp, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_CompClass), pointer :: compp
integer, intent(out), optional :: rc

Return Value logical

public recursive function ESMF_CompIsPetLocal(compp, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_CompClass), pointer :: compp
integer, intent(out), optional :: rc

Return Value logical

private impure elemental function ESMF_cteq(ct1, ct2)

Arguments

Type IntentOptional Attributes Name
type(ESMF_CompType_Flag), intent(in) :: ct1
type(ESMF_CompType_Flag), intent(in) :: ct2

Return Value logical

private impure elemental function ESMF_ctne(ct1, ct2)

Arguments

Type IntentOptional Attributes Name
type(ESMF_CompType_Flag), intent(in) :: ct1
type(ESMF_CompType_Flag), intent(in) :: ct2

Return Value logical

private impure elemental function ESMF_meeq(me1, me2)

Arguments

Type IntentOptional Attributes Name
type(ESMF_Method_Flag), intent(in) :: me1
type(ESMF_Method_Flag), intent(in) :: me2

Return Value logical

private impure elemental function ESMF_mene(me1, me2)

Arguments

Type IntentOptional Attributes Name
type(ESMF_Method_Flag), intent(in) :: me1
type(ESMF_Method_Flag), intent(in) :: me2

Return Value logical


Subroutines

public recursive subroutine ESMF_CWrapSetInitCreated(cw, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_CWrap), intent(inout) :: cw
integer, intent(out), optional :: rc

public recursive subroutine ESMF_CompClassSetInitCreated(cc, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_CompClass), intent(inout) :: cc
integer, intent(out), optional :: rc

public subroutine ESMF_CompClassValidate(cc, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_CompClass), intent(in) :: cc
integer, intent(out), optional :: rc

public recursive subroutine ESMF_CompConstruct(compp, compType, name, dirPath, configFile, config, clock, petlist, devlist, contextflag, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_CompClass), pointer :: compp
type(ESMF_CompType_Flag), intent(in) :: compType
character(len=*), intent(in), optional :: name
character(len=*), intent(in), optional :: dirPath
character(len=*), intent(in), optional :: configFile
type(ESMF_Config), intent(in), optional :: config
type(ESMF_Clock), intent(in), optional :: clock
integer, intent(in), optional :: petlist(:)
integer, intent(in), optional :: devlist(:)
type(ESMF_Context_Flag), intent(in), optional :: contextflag
integer, intent(out), optional :: rc

public recursive subroutine ESMF_CompDestruct(compp, interCompComm, fullShutdown, timeout, timeoutFlag, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_CompClass), pointer :: compp
logical, intent(in), optional :: interCompComm
logical, intent(in), optional :: fullShutdown
integer, intent(in), optional :: timeout
logical, intent(out), optional :: timeoutFlag
integer, intent(out), optional :: rc

public recursive subroutine ESMF_CompExecute(compp, method, importState, exportState, clock, syncflag, phase, port, timeout, userRc, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_CompClass), pointer :: compp
type(ESMF_Method_Flag), intent(in) :: method
type(ESMF_State), intent(inout), optional :: importState
type(ESMF_State), intent(inout), optional :: exportState
type(ESMF_Clock), intent(in), optional :: clock
type(ESMF_Sync_Flag), intent(in), optional :: syncflag
integer, intent(in), optional :: phase
integer, intent(in), optional :: port
integer, intent(in), optional :: timeout
integer, intent(out), optional :: userRc
integer, intent(out), optional :: rc

public recursive subroutine ESMF_CompGet(compp, name, vm, vm_parent, vmplan, vm_info, contextflag, grid, gridList, mesh, meshList, locstream, locstreamList, xgrid, xgridList, importState, exportState, clock, dirPath, configFile, config, compType, currentMethod, currentPhase, timeout, localPet, petCount, petList, compStatus, compTunnel, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_CompClass), pointer :: compp
character(len=*), intent(out), optional :: name
type(ESMF_VM), intent(out), optional :: vm
type(ESMF_VM), intent(out), optional :: vm_parent
type(ESMF_VMPlan), intent(out), optional :: vmplan
type(ESMF_Pointer), intent(out), optional :: vm_info
type(ESMF_Context_Flag), intent(out), optional :: contextflag
type(ESMF_Grid), intent(out), optional :: grid
type(ESMF_Grid), intent(out), optional, allocatable :: gridList(:)
type(ESMF_Mesh), intent(out), optional :: mesh
type(ESMF_Mesh), intent(out), optional, allocatable :: meshList(:)
type(ESMF_LocStream), intent(out), optional :: locstream
type(ESMF_LocStream), intent(out), optional, allocatable :: locstreamList(:)
type(ESMF_XGrid), intent(out), optional :: xgrid
type(ESMF_XGrid), intent(out), optional, allocatable :: xgridList(:)
type(ESMF_State), intent(out), optional :: importState
type(ESMF_State), intent(out), optional :: exportState
type(ESMF_Clock), intent(out), optional :: clock
character(len=*), intent(out), optional :: dirPath
character(len=*), intent(out), optional :: configFile
type(ESMF_Config), intent(out), optional :: config
type(ESMF_CompType_Flag), intent(out), optional :: compType
type(ESMF_Method_Flag), intent(out), optional :: currentMethod
integer, intent(out), optional :: currentPhase
integer, intent(out), optional :: timeout
integer, intent(out), optional :: localPet
integer, intent(out), optional :: petCount
integer, optional, pointer :: petList(:)
type(ESMF_CompStatus), intent(out), optional :: compStatus
type(ESMF_CompTunnel), intent(out), optional :: compTunnel
integer, intent(out), optional :: rc

public recursive subroutine ESMF_CompPrint(compp, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_CompClass), pointer :: compp
integer, intent(out), optional :: rc

public recursive subroutine ESMF_CompSet(compp, name, vm, vm_info, grid, gridList, mesh, meshList, locstream, locstreamList, xgrid, xgridList, clock, dirPath, configFile, config, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_CompClass), pointer :: compp
character(len=*), intent(in), optional :: name
type(ESMF_VM), intent(in), optional :: vm
type(ESMF_Pointer), intent(in), optional :: vm_info
type(ESMF_Grid), intent(in), optional :: grid
type(ESMF_Grid), intent(in), optional :: gridList(:)
type(ESMF_Mesh), intent(in), optional :: mesh
type(ESMF_Mesh), intent(in), optional :: meshList(:)
type(ESMF_LocStream), intent(in), optional :: locstream
type(ESMF_LocStream), intent(in), optional :: locstreamList(:)
type(ESMF_XGrid), intent(in), optional :: xgrid
type(ESMF_XGrid), intent(in), optional :: xgridList(:)
type(ESMF_Clock), intent(in), optional :: clock
character(len=*), intent(in), optional :: dirPath
character(len=*), intent(in), optional :: configFile
type(ESMF_Config), intent(in), optional :: config
integer, intent(out), optional :: rc

public subroutine ESMF_CompSetVMMaxPEs(compp, max, pref_intra_process, pref_intra_ssi, pref_inter_ssi, pthreadMinStackSize, openMpHandling, openMpNumThreads, forceChildPthreads, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_CompClass), pointer :: compp
integer, intent(in), optional :: max
integer, intent(in), optional :: pref_intra_process
integer, intent(in), optional :: pref_intra_ssi
integer, intent(in), optional :: pref_inter_ssi
integer, intent(in), optional :: pthreadMinStackSize
character(len=*), intent(in), optional :: openMpHandling
integer, intent(in), optional :: openMpNumThreads
logical, intent(in), optional :: forceChildPthreads
integer, intent(out), optional :: rc

public subroutine ESMF_CompSetVMMaxThreads(compp, max, pref_intra_process, pref_intra_ssi, pref_inter_ssi, pthreadMinStackSize, forceChildPthreads, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_CompClass), pointer :: compp
integer, intent(in), optional :: max
integer, intent(in), optional :: pref_intra_process
integer, intent(in), optional :: pref_intra_ssi
integer, intent(in), optional :: pref_inter_ssi
integer, intent(in), optional :: pthreadMinStackSize
logical, intent(in), optional :: forceChildPthreads
integer, intent(out), optional :: rc

public subroutine ESMF_CompSetVMMinThreads(compp, max, pref_intra_process, pref_intra_ssi, pref_inter_ssi, pthreadMinStackSize, forceChildPthreads, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_CompClass), pointer :: compp
integer, intent(in), optional :: max
integer, intent(in), optional :: pref_intra_process
integer, intent(in), optional :: pref_intra_ssi
integer, intent(in), optional :: pref_inter_ssi
integer, intent(in), optional :: pthreadMinStackSize
logical, intent(in), optional :: forceChildPthreads
integer, intent(out), optional :: rc

public recursive subroutine ESMF_CompStatusGet(compStatus, clockIsPresent, configIsPresent, configFileIsPresent, vmIsPresent, isIsPresent, esIsPresent, gridIsPresent, meshIsPresent, locstreamIsPresent, xgridIsPresent, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_CompStatus), intent(in) :: compStatus
logical, intent(out), optional :: clockIsPresent
logical, intent(out), optional :: configIsPresent
logical, intent(out), optional :: configFileIsPresent
logical, intent(out), optional :: vmIsPresent
logical, intent(out), optional :: isIsPresent
logical, intent(out), optional :: esIsPresent
logical, intent(out), optional :: gridIsPresent
logical, intent(out), optional :: meshIsPresent
logical, intent(out), optional :: locstreamIsPresent
logical, intent(out), optional :: xgridIsPresent
integer, intent(out), optional :: rc

public recursive subroutine ESMF_CompValidate(compp, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_CompClass), pointer :: compp
integer, intent(out), optional :: rc

public subroutine ESMF_CompWait(compp, syncflag, timeout, userRc, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_CompClass), pointer :: compp
type(ESMF_Sync_Flag), intent(in), optional :: syncflag
integer, intent(in), optional :: timeout
integer, intent(out), optional :: userRc
integer, intent(out), optional :: rc