Next:
1 ESMF Overview
Up:
ESMC_crefdoc
Previous:
ESMC_crefdoc
Contents
1 ESMF Overview
1 What is the Earth System Modeling Framework?
2 The ESMF Reference Manual for C
3 How to Contact User Support and Find Additional Information
4 How to Submit Comments, Bug Reports, and Feature Requests
5 The ESMF Application Programming Interface
5.1 Standard Methods and Interface Rules
5.2 Deep and Shallow Classes
5.3 Special Methods
5.4 The ESMF Data Hierarchy
5.5 ESMF Spatial Classes
5.6 ESMF Maps
5.7 ESMF Specification Classes
5.8 ESMF Utility Classes
6 Integrating ESMF into Applications
6.1 Using the ESMF Superstructure
6.2 Constants
7 Overall Rules and Behavior
7.1 Local and Global Views and Associated Conventions
7.2 Allocation Rules
7.3 Assignment, Equality, Copying and Comparing Objects
8 Overall Design and Implementation Notes
2 Applications
3 Superstructure
9 Overview of Superstructure
9.1 Superstructure Classes
9.2 Hierarchical Creation of Components
9.3 Sequential and Concurrent Execution of Components
9.4 Intra-Component Communication
9.5 Data Distribution and Scoping in Components
9.6 Performance
9.7 Object Model
10 Application Driver and Required ESMF Methods
10.1 Description
10.2 Required ESMF Methods
10.2.1 ESMC_Initialize - Initialize ESMF
10.2.2 ESMC_Finalize - Finalize the ESMF Framework
11 GridComp Class
11.1 Description
11.2 Class API
11.2.1 ESMC_GridCompCreate - Create a Gridded Component
11.2.2 ESMC_GridCompDestroy - Destroy a Gridded Component
11.2.3 ESMC_GridCompFinalize - Finalize a Gridded Component
11.2.4 ESMC_GridCompGetInternalState - Get the Internal State of a Gridded Component
11.2.5 ESMC_GridCompInitialize - Initialize a Gridded Component
11.2.6 ESMC_GridCompPrint - Print the contents of a GridComp
11.2.7 ESMC_GridCompRun - Run a Gridded Component
11.2.8 ESMC_GridCompSetEntryPoint - Set user routine as entry point for standard Component method
11.2.9 ESMC_GridCompSetInternalState - Set the Internal State of a Gridded Component
11.2.10 ESMC_GridCompSetServices - Call user routine to register GridComp methods
12 CplComp Class
12.1 Description
12.2 Class API
12.2.1 ESMC_CplCompCreate - Create a Coupler Component
12.2.2 ESMC_CplCompDestroy - Destroy a Coupler Component
12.2.3 ESMC_CplCompFinalize - Finalize a Coupler Component
12.2.4 ESMC_CplCompGetInternalState - Get the internal State of a Coupler Component
12.2.5 ESMC_CplCompInitialize - Initialize a Coupler Component
12.2.6 ESMC_CplCompPrint - Print a Coupler Component
12.2.7 ESMC_CplCompRun - Run a Coupler Component
12.2.8 ESMC_CplCompSetEntryPoint - Set the Entry point of a Coupler Component
12.2.9 ESMC_CplCompSetInternalState - Set the internal State of a Coupler Component
12.2.10 ESMC_CplCompSetServices - Destroy a Coupler Component
13 SciComp Class
13.1 Description
13.2 Class API
13.2.1 ESMC_SciCompCreate - Create a Science Component
13.2.2 ESMC_SciCompDestroy - Destroy a Science Component
13.2.3 ESMC_SciCompPrint - Print the contents of a SciComp
14 State Class
14.1 Description
14.2 Restrictions and Future Work
14.3 Class API
14.3.1 ESMC_StateAddArray - Add an Array object to a State
14.3.2 ESMC_StateAddField - Add a Field object to a State
14.3.3 ESMC_StateCreate - Create an Array
14.3.4 ESMC_StateDestroy - Destroy a State
14.3.5 ESMC_StateGetArray - Obtains an Array object from a State
14.3.6 ESMC_StateGetField - Obtains a Field object from a State
14.3.7 ESMC_StatePrint - Print the contents of a State
4 Infrastructure: Fields and Grids
15 Overview of Infrastructure Data Handling
15.1 Infrastructure Data Classes
15.2 Design and Implementation Notes
16 Field Class
16.1 Description
16.2 Constants
16.2.1 ESMC_REGRIDMETHOD
16.3 Use and Examples
16.3.1 Field create and destroy
16.4 Class API
16.4.1 ESMC_FieldCreateGridArraySpec - Create a Field from Grid and ArraySpec
16.4.2 ESMC_FieldCreateGridTypeKind - Create a Field from Grid and typekind
16.4.3 ESMC_FieldCreateMeshArraySpec - Create a Field from Mesh and ArraySpec
16.4.4 ESMC_FieldCreateMeshTypeKind - Create a Field from Mesh and typekind
16.4.5 ESMC_FieldCreateLocStreamArraySpec - Create a Field from LocStream and ArraySpec
16.4.6 ESMC_FieldCreateLocStreamTypeKind - Create a Field from LocStream and typekind
16.4.7 ESMC_FieldDestroy - Destroy a Field
16.4.8 ESMC_FieldGetArray - Get the internal Array stored in the Field
16.4.9 ESMC_FieldGetMesh - Get the internal Mesh stored in the Field
16.4.10 ESMC_FieldGetPtr - Get the internal Fortran data pointer stored in the Field
16.4.11 ESMC_FieldGetBounds - Get the Field bounds
16.4.12 ESMC_FieldPrint - Print the internal information of a Field
16.4.13 ESMC_FieldRegridGetArea - Get the area of the cells used for
16.4.14 ESMC_FieldRegridStore - Precompute a Field regridding operation and return a RouteHandle
16.4.15 ESMC_FieldRegridStoreFile - Precompute a Field regridding operation and return a RouteHandle
16.4.16 ESMC_FieldRegrid - Compute a regridding operation
16.4.17 ESMC_FieldRegridRelease - Free resources used by a regridding operation
16.4.18 ESMC_FieldSMMStore - Precompute a Field regridding operation and return a RouteHandle
17 Array Class
17.1 Description
17.2 Class API
17.2.1 ESMC_ArrayCreate - Create an Array
17.2.2 ESMC_ArrayDestroy - Destroy an Array
17.2.3 ESMC_ArrayGetName - Get the name of an Array
17.2.4 ESMC_ArrayGetPtr - Get pointer to Array data.
17.2.5 ESMC_ArrayPrint - Print an Array
18 ArraySpec Class
18.1 Description
18.2 Class API
18.2.1 ESMC_ArraySpecGet - Get values from an ArraySpec
18.2.2 ESMC_ArraySpecSet - Set values for an ArraySpec
19 Grid Class
19.1 Description
19.1.1 Grid Representation in ESMF
19.1.2 Supported Grids
19.1.3 Grid Topologies and Periodicity
19.1.4 Grid Distribution
19.1.5 Grid Coordinates
19.1.6 Coordinate Specification and Generation
19.1.7 Staggering
19.1.8 Masking
19.2 Constants
19.2.1 ESMC_COORDSYS
19.2.2 ESMC_GRIDITEM
19.2.3 ESMC_GRIDSTATUS
19.2.4 ESMC_POLEKIND
19.2.5 ESMC_STAGGERLOC
19.2.6 ESMC_FILEFORMAT
19.3 Restrictions and Future Work
19.4 Design and Implementation Notes
19.4.1 Grid Topology
19.5 Class API: General Grid Methods
19.5.1 ESMC_GridCreateNoPeriDim - Create a Grid with no periodic dimensions
19.5.2 ESMC_GridCreate1PeriDim - Create a Grid with 1 periodic dimension
19.5.3 ESMC_GridCreateCubedSphere - Create a cubed sphere Grid
19.5.4 ESMC_GridCreateFromFile - Create a Grid from a NetCDF file specification.
19.5.5 ESMC_GridDestroy - Destroy a Grid
19.5.6 ESMC_GridAddItem - Add items to a Grid
19.5.7 ESMC_GridGetItem - Get item from a Grid
19.5.8 ESMC_GridAddCoord - Add coordinates to a Grid
19.5.9 ESMC_GridGetCoord - Get coordinates from a Grid
19.5.10 ESMC_GridGetCoordBounds - Get coordinate bounds from a Grid
20 Mesh Class
20.1 Description
20.1.1 Mesh Representation in ESMF
20.1.2 Supported Meshes
20.2 Constants
20.2.1 ESMC_MESHELEMTYPE
20.2.2 ESMF_FILEFORMAT
20.3 Class API
20.3.1 ESMC_MeshAddElements - Add elements to a Mesh
20.3.2 ESMC_MeshAddNodes - Add nodes to a Mesh
20.3.3 ESMC_MeshCreate - Create a Mesh as a 3 step process
20.3.4 ESMC_MeshCreateFromFile - Create a Mesh from a NetCDF grid file
20.3.5 ESMC_MeshGetCoord - Get lat/lon coordinates from a Mesh
20.3.6 ESMC_MeshGetElemCoord - Get lat/lon element center coordinates from a Mesh
20.3.7 ESMC_MeshGetConnectivity - Get Mesh connectivity
20.3.8 ESMC_MeshDestroy - Destroy a Mesh
20.3.9 ESMC_MeshFreeMemory - Remove a Mesh and its memory
20.3.10 ESMC_MeshGetLocalElementCount - Get the number of elements in a Mesh on the current PET
20.3.11 ESMC_MeshGetLocalNodeCount - Get the number of nodes in a Mesh on the current PET
20.3.12 ESMC_MeshGetOwnedElementCount - Get the number of elements in a Mesh owned by the current PET
20.3.13 ESMC_MeshGetOwnedNodeCount - Get the number of nodes in a Mesh owned by the current PET
21 XGrid Class
21.1 Description
21.2 Restrictions and Future Work
21.2.1 Restrictions and Future Work
21.3 Design and Implementation Notes
21.4 Class API
21.4.1 ESMC_XGridCreate - Create an XGrid
21.4.2 ESMC_XGridDestroy - Destroy a XGrid
21.4.3 ESMC_XGridGetSideAGridCount - Get the number of Grids on side A.
21.4.4 ESMC_XGridGetSideAMeshCount - Get the number of Meshes on side A.
21.4.5 ESMC_XGridGetSideBGridCount - Get the number of Grids on side B.
21.4.6 ESMC_XGridGetSideBMeshCount - Get the number of Meshes on side B.
21.4.7 ESMC_XGridGetDimCount - Get the dimension of the XGrid.
21.4.8 ESMC_XGridGetElementCount - Get the number of elements in the XGrid.
21.4.9 ESMC_XGridGetMesh - Get the Mesh representation of the XGrid.
21.4.10 ESMC_XGridGetElementArea - Get the area of elements in the XGrid.
21.4.11 ESMC_XGridGetElementCentroid - Get the centroid of elements in the XGrid.
21.4.12 ESMC_XGridGetSparseMatA2X - Get the sparse matrix that goes from a side A grid to the exchange grid.
21.4.13 ESMC_XGridGetSparseMatA2X - Get the sparse matrix that goes from the exchange grid to a side A grid.
21.4.14 ESMC_XGridGetSparseMatB2X - Get the sparse matrix that goes from a side B grid to the exchange grid.
21.4.15 ESMC_XGridGetSparseMatB2X - Get the sparse matrix that goes from the exchange grid to a side B grid.
22 DistGrid Class
22.1 Description
22.2 Class API
22.2.1 ESMC_DistGridCreate - Create a DistGrid
22.2.2 ESMC_DistGridDestroy - Destroy a DistGrid
22.2.3 ESMC_DistGridPrint - Print a DistGrid
23 RouteHandle Class
23.1 Description
23.2 Use and Examples
23.3 Restrictions and Future Work
23.4 Design and Implementation Notes
23.5 Class API
23.5.1 ESMC_RouteHandleCreateFromFile - Create a RouteHandle
23.5.2 ESMC_RouteHandlePrint - Print a RouteHandle
23.5.3 ESMC_RouteHandleWrite - Write a RouteHandle to file
5 Infrastructure: Utilities
24 Overview of Infrastructure Utility Classes
25 Time Manager Utility
25.1 Time Manager Classes
25.2 Calendar
25.3 Time Instants and TimeIntervals
25.4 Clocks
26 Calendar Class
26.1 Description
26.2 Constants
26.2.1 ESMC_CALKIND
26.3 Class API
26.3.1 ESMC_CalendarCreate - Create a Calendar
26.3.2 ESMC_CalendarDestroy - Destroy a Calendar
26.3.3 ESMC_CalendarPrint - Print a Calendar
27 Time Class
27.1 Description
27.2 Class API
27.2.1 ESMC_TimeGet - Get a Time value
27.2.2 ESMC_TimePrint - Print a Time
27.2.3 ESMC_TimeSet - Initialize or set a Time
28 TimeInterval Class
28.1 Description
28.2 Class API
28.2.1 ESMC_TimeIntervalGet - Get a TimeInterval value
28.2.2 ESMC_TimeIntervalPrint - Print a TimeInterval
28.2.3 ESMC_TimeIntervalSet - Initialize or set a TimeInterval
29 Clock Class
29.1 Description
29.2 Class API
29.2.1 ESMC_ClockAdvance - Advance a Clock's current time by one time step
29.2.2 ESMC_ClockCreate - Create a Clock
29.2.3 ESMC_ClockDestroy - Destroy a Clock
29.2.4 ESMC_ClockGet - Get a Clock's properties
29.2.5 ESMC_ClockPrint - Print the contents of a Clock
30 Config Class
30.1 Description
30.1.1 Package history
30.2 Class API
30.2.1 ESMC_ConfigCreate - Create a Config object
30.2.2 ESMC_ConfigDestroy - Destroy a Config object
30.2.3 ESMC_ConfigCreate - Create a Config object from a section of an existing Config object
30.2.4 ESMC_ConfigFindLabel - Find a label
30.2.5 ESMC_ConfigFindNextLabel - Find a label
30.2.6 ESMC_ConfigGetDim - Get table sizes
30.2.7 ESMC_ConfigGetLen - Get the length of the line in words
30.2.8 ESMC_ConfigLoadFile - Load resource file into memory
30.2.9 ESMC_ConfigNextLine - Find next line
30.2.10 ESMC_ConfigPrint - Write content of config object to standard output
30.2.11 ESMC_ConfigValidate - Validate a Config object
31 Log Class
31.1 Description
31.2 Constants
31.2.1 ESMC_LOGKIND
31.2.2 ESMC_LOGMSG
31.3 Class API
31.3.1 ESMC_LogWrite - Write an entry into the Log file
31.3.2 ESMC_LogSet - Set Log properties
32 VM Class
32.1 Description
32.2 Class API
32.2.1 ESMC_VMBarrier - block calling PETs until all PETS called
32.2.2 ESMC_VMBroadcast - Broadcast data across the VM
32.2.3 ESMC_VMGet - Get VM internals
32.2.4 ESMC_VMGetCurrent - Get current VM
32.2.5 ESMC_VMGetGlobal - Get global VM
32.2.6 ESMC_VMPrint - Print a VM
32.2.7 ESMC_VMReduce - Reduce data from across the VM
6 References
Bibliography
7 Appendices
33 Appendix A: Master List of Constants
33.1 ESMC_CALKIND
33.2 ESMC_COORDSYS
33.3 ESMC_DECOMP
33.4 ESMC_FILEFORMAT
33.5 ESMC_GRIDITEM
33.6 ESMC_GRIDSTATUS
33.7 ESMC_INDEX
33.8 ESMC_LINETYPE
33.9 ESMC_LOGKIND
33.10 ESMC_LOGMSG
33.11 ESMC_MESHELEMTYPE
33.12 ESMF_METHOD
33.13 ESMC_POLEKIND
33.14 ESMC_REDUCE
33.15 ESMC_REGION
33.16 ESMC_REGRIDMETHOD
33.17 ESMC_STAGGERLOC
33.18 ESMC_TYPEKIND
33.19 ESMC_UNMAPPEDACTION
34 Appendix B: A Brief Introduction to UML
35 Appendix C: ESMF Error Return Codes
esmf_support@ucar.edu