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_FieldDestroy - Destroy a Field
16.4.6 ESMC_FieldGetArray - Get the internal Array stored in the Field
16.4.7 ESMC_FieldGetMesh - Get the internal Mesh stored in the Field
16.4.8 ESMC_FieldGetPtr - Get the internal Fortran data pointer stored in the Field
16.4.9 ESMC_FieldPrint - Print the internal information of a Field
16.4.10 ESMC_FieldRegridGetArea - Get the area of the cells used for
16.4.11 ESMC_FieldRegridStore - Precompute a Field regridding operation and return a RouteHandle
16.4.12 ESMC_FieldRegrid - Compute a regridding operation
16.4.13 ESMC_FieldRegridRelease - Free resources used by a regridding operation
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.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_GridDestroy - Destroy a Grid
19.5.4 ESMC_GridAddItem - Add items to a Grid
19.5.5 ESMC_GridGetItem - Get item from a Grid
19.5.6 ESMC_GridAddCoord - Add coordinates to a Grid
19.5.7 ESMC_GridGetCoord - Get coordinates from a Grid
19.5.8 ESMC_GridGetCoordBounds - Get coordinate bounds from a Grid
19.5.9 ESMC_GridWrite - Write a Grid to a VTK file
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_MeshDestroy - Destroy a Mesh
20.3.7 ESMC_MeshFreeMemory - Remove a Mesh and its memory
20.3.8 ESMC_MeshGetLocalElementCount - Get the number of elements in a Mesh on the current PET
20.3.9 ESMC_MeshGetLocalNodeCount - Get the number of nodes in a Mesh on the current PET
20.3.10 ESMC_MeshGetOwnedElementCount - Get the number of elements in a Mesh owned by the current PET
20.3.11 ESMC_MeshGetOwnedNodeCount - Get the number of nodes in a Mesh owned by the current PET
21 DistGrid Class
21.1 Description
21.2 Class API
21.2.1 ESMC_DistGridCreate - Create a DistGrid
21.2.2 ESMC_DistGridDestroy - Destroy a DistGrid
21.2.3 ESMC_DistGridPrint - Print a DistGrid
22 RouteHandle Class
22.1 Description
22.2 Use and Examples
22.3 Restrictions and Future Work
22.4 Design and Implementation Notes
22.5 Class API
22.5.1 ESMC_RouteHandlePrint - Print a RouteHandle
5 Infrastructure: Utilities
23 Overview of Infrastructure Utility Classes
24 Time Manager Utility
24.1 Time Manager Classes
24.2 Calendar
24.3 Time Instants and TimeIntervals
24.4 Clocks
25 Calendar Class
25.1 Description
25.2 Constants
25.2.1 ESMC_CALKIND
25.3 Class API
25.3.1 ESMC_CalendarCreate - Create a Calendar
25.3.2 ESMC_CalendarDestroy - Destroy a Calendar
25.3.3 ESMC_CalendarPrint - Print a Calendar
26 Time Class
26.1 Description
26.2 Class API
26.2.1 ESMC_TimeGet - Get a Time value
26.2.2 ESMC_TimePrint - Print a Time
26.2.3 ESMC_TimeSet - Initialize or set a Time
27 TimeInterval Class
27.1 Description
27.2 Class API
27.2.1 ESMC_TimeIntervalGet - Get a TimeInterval value
27.2.2 ESMC_TimeIntervalPrint - Print a TimeInterval
27.2.3 ESMC_TimeIntervalSet - Initialize or set a TimeInterval
28 Clock Class
28.1 Description
28.2 Class API
28.2.1 ESMC_ClockAdvance - Advance a Clock's current time by one time step
28.2.2 ESMC_ClockCreate - Create a Clock
28.2.3 ESMC_ClockDestroy - Destroy a Clock
28.2.4 ESMC_ClockGet - Get a Clock's properties
28.2.5 ESMC_ClockPrint - Print the contents of a Clock
29 Config Class
29.1 Description
29.1.1 Package history
29.2 Class API
29.2.1 ESMC_ConfigCreate - Create a Config object
29.2.2 ESMC_ConfigDestroy - Destroy a Config object
29.2.3 ESMC_ConfigFindLabel - Find a label
29.2.4 ESMC_ConfigGetDim - Get table sizes
29.2.5 ESMC_ConfigGetLen - Get the length of the line in words
29.2.6 ESMC_ConfigLoadFile - Load resource file into memory
29.2.7 ESMC_ConfigNextLine - Find next line
29.2.8 ESMC_ConfigValidate - Validate a Config object
30 Log Class
30.1 Description
30.2 Constants
30.2.1 ESMC_LOGKIND
30.2.2 ESMC_LOGMSG
30.3 Class API
30.3.1 ESMC_LogWrite - Write an entry into the Log file
30.3.2 ESMC_LogSet - Set Log properties
31 VM Class
31.1 Description
31.2 Class API
31.2.1 ESMC_VMGet - Get VM internals
31.2.2 ESMC_VMGetCurrent - Get current VM
31.2.3 ESMC_VMGetGlobal - Get global VM
31.2.4 ESMC_VMPrint - Print a VM
6 References
Bibliography
7 Appendices
32 Appendix A: Master List of Constants
32.1 ESMC_CALKIND
32.2 ESMC_COORDSYS
32.3 ESMC_GRIDITEM
32.4 ESMC_GRIDSTATUS
32.5 ESMC_LOGKIND
32.6 ESMC_LOGMSG
32.7 ESMC_MESHELEMTYPE
32.8 ESMF_METHOD
32.9 ESMC_POLEKIND
32.10 ESMC_REGION
32.11 ESMC_REGRIDMETHOD
32.12 ESMC_STAGGERLOC
32.13 ESMC_TYPEKIND
32.14 ESMC_UNMAPPEDACTION
33 Appendix B: A Brief Introduction to UML
34 Appendix C: ESMF Error Return Codes
esmf_support@list.woc.noaa.gov