Next:
1 ESMF Overview
Up:
ESMF_refdoc
Previous:
ESMF_refdoc
Contents
1
ESMF Overview
1
What is the Earth System Modeling Framework?
2
The ESMF Reference Manual for Fortran
3
How to Contact User Support and Find Additional Information
4
How to Submit Comments, Bug Reports, and Feature Requests
5
Conventions
5
.
1
Typeface and Diagram Conventions
5
.
2
Method Name and Argument Conventions
6
The ESMF Application Programming Interface
6
.
1
Standard Methods and Interface Rules
6
.
2
Deep and Shallow Classes
6
.
3
Aliases and Named Aliases
6
.
4
Special Methods
6
.
5
The ESMF Data Hierarchy
6
.
6
ESMF Spatial Classes
6
.
7
ESMF Maps
6
.
8
ESMF Specification Classes
6
.
9
ESMF Utility Classes
7
Integrating ESMF into Applications
7
.
1
Using the ESMF Superstructure
8
Overall Rules and Behavior
8
.
1
Return Code Handling
8
.
2
Local and Global Views and Associated Conventions
8
.
3
Allocation Rules
8
.
4
Assignment, Equality, Copying and Comparing Objects
8
.
5
Attributes
8
.
6
Constants
9
Overall Design and Implementation Notes
10
Overall Restrictions and Future Work
2
Command Line Tools
11
ESMF_PrintInfo
11
.
1
Description
12
ESMF_RegridWeightGen
12
.
1
Description
12
.
2
Regridding Options
12
.
2
.
1
Poles
12
.
2
.
2
Masking
12
.
2
.
3
Extrapolation
12
.
2
.
4
Unmapped destination points
12
.
2
.
5
Line type
12
.
3
Regridding Methods
12
.
3
.
1
Bilinear
12
.
3
.
2
Patch
12
.
3
.
3
Nearest neighbor
12
.
3
.
4
First-order conservative
12
.
3
.
5
Second-order conservative
12
.
4
Conservation
12
.
5
The effect of normalization options on integrals and values produced by conservative methods
12
.
6
Usage
12
.
7
Examples
12
.
8
Grid File Formats
12
.
8
.
1
SCRIP Grid File Format
12
.
8
.
2
ESMF Unstructured Grid File Format (ESMFMESH)
12
.
8
.
3
CF Convention Single Tile File Format (CFGRID/GRIDSPEC)
12
.
8
.
4
CF Convention UGRID File Format
12
.
8
.
5
GRIDSPEC Mosaic File Format
12
.
9
Regrid Weight File Format
12
.
9
.
1
Source Grid Description
12
.
9
.
2
Destination Grid Description
12
.
9
.
3
Regrid Calculation Output
12
.
9
.
4
Weight File Description Attributes
12
.
9
.
5
Weight Only Weight File
12
.
10
ESMF_RegridWeightGenCheck
13
ESMF_Regrid
13
.
1
Description
13
.
2
Usage
13
.
3
Examples
14
ESMF_Scrip2Unstruct
14
.
1
Description
3
Superstructure
15
Overview of Superstructure
15
.
1
Superstructure Classes
15
.
2
Hierarchical Creation of Components
15
.
3
Sequential and Concurrent Execution of Components
15
.
4
Intra-Component Communication
15
.
5
Data Distribution and Scoping in Components
15
.
6
Performance
15
.
7
Object Model
16
Application Driver and Required ESMF Methods
16
.
1
Description
16
.
2
Constants
16
.
2
.
1
ESMF_END
16
.
3
Use and Examples
16
.
4
Required ESMF Methods
16
.
4
.
1
User-code
SetServices
method
16
.
4
.
2
User-code
Initialize
,
Run
, and
Finalize
methods
16
.
4
.
3
User-code
SetVM
method
16
.
4
.
4
Use of
internal procedures
as user-provided procedures
17
GridComp Class
17
.
1
Description
17
.
2
Use and Examples
17
.
3
Restrictions and Future Work
17
.
4
Class API
18
CplComp Class
18
.
1
Description
18
.
2
Use and Examples
18
.
3
Restrictions and Future Work
18
.
4
Class API
19
SciComp Class
19
.
1
Description
19
.
2
Use and Examples
19
.
3
Restrictions and Future Work
19
.
4
Class API
20
Fault-tolerant Component Tunnel
20
.
1
Description
20
.
2
Use and Examples
20
.
3
Restrictions and Future Work
21
State Class
21
.
1
Description
21
.
2
Constants
21
.
2
.
1
ESMF_STATEINTENT
21
.
2
.
2
ESMF_STATEITEM
21
.
3
Use and Examples
21
.
4
Restrictions and Future Work
21
.
5
Design and Implementation Notes
21
.
6
Object Model
21
.
7
Class API
22
Attachable Methods
22
.
1
Description
22
.
2
Use and Examples
22
.
3
Restrictions and Future Work
22
.
4
Class API
23
Web Services
23
.
1
Description
23
.
1
.
1
Creating a Service around a Component
23
.
1
.
2
Code Modifications
23
.
1
.
3
Accessing the Service
23
.
1
.
4
Client Application via C++ API
23
.
1
.
5
Process Controller
23
.
1
.
6
Tomcat/Axis2
23
.
2
Use and Examples
23
.
3
Restrictions and Future Work
23
.
4
Class API
4
Infrastructure: Fields and Grids
24
Overview of Data Classes
24
.
1
Bit-for-Bit Considerations
24
.
2
Regrid
24
.
2
.
1
Interpolation methods: bilinear
24
.
2
.
2
Interpolation methods: higher-order patch
24
.
2
.
3
Interpolation methods: nearest source to destination
24
.
2
.
4
Interpolation methods: nearest destination to source
24
.
2
.
5
Interpolation methods: first-order conservative
24
.
2
.
6
Interpolation methods: second-order conservative
24
.
2
.
7
Conservation
24
.
2
.
8
The effect of normalization options on integrals and values produced by conservative methods
24
.
2
.
9
Great circle cells
24
.
2
.
10
Masking
24
.
2
.
11
Extrapolation methods: overview
24
.
2
.
12
Extrapolation methods: nearest source to destination
24
.
2
.
13
Extrapolation methods: inverse distance weighted average
24
.
2
.
14
Extrapolation methods: creep fill
24
.
2
.
15
Unmapped destination points
24
.
2
.
16
Spherical grids and poles
24
.
2
.
17
Vector regridding
24
.
2
.
18
Troubleshooting guide
24
.
2
.
19
Restrictions and Future Work
24
.
2
.
20
Design and implementation notes
24
.
3
File-based Regrid API
24
.
4
Restrictions and Future Work
25
FieldBundle Class
25
.
1
Description
25
.
2
Use and Examples
25
.
3
Restrictions and Future Work
25
.
4
Design and Implementation Notes
25
.
5
Class API: Basic FieldBundle Methods
26
Field Class
26
.
1
Description
26
.
1
.
1
Operations
26
.
2
Constants
26
.
2
.
1
ESMF_FIELDSTATUS
26
.
3
Use and Examples
26
.
3
.
1
Field create and destroy
26
.
4
Restrictions and Future Work
26
.
5
Design and Implementation Notes
26
.
6
Class API
26
.
7
Class API: Field Utilities
27
ArrayBundle Class
27
.
1
Description
27
.
2
Use and Examples
27
.
3
Restrictions and Future Work
27
.
4
Design and Implementation Notes
27
.
5
Class API
28
Array Class
28
.
1
Description
28
.
2
Use and Examples
28
.
3
Restrictions and Future Work
28
.
4
Design and Implementation Notes
28
.
5
Class API
28
.
6
Class API: DynamicMask Methods
29
LocalArray Class
29
.
1
Description
29
.
2
Restrictions and Future Work
29
.
3
Class API
30
ArraySpec Class
30
.
1
Description
30
.
2
Use and Examples
30
.
3
Restrictions and Future Work
30
.
4
Design and Implementation Notes
30
.
5
Class API
31
Grid Class
31
.
1
Description
31
.
1
.
1
Grid Representation in ESMF
31
.
1
.
2
Supported Grids
31
.
1
.
3
Grid Topologies and Periodicity
31
.
1
.
4
Grid Distribution
31
.
1
.
5
Grid Coordinates
31
.
1
.
6
Coordinate Specification and Generation
31
.
1
.
7
Staggering
31
.
1
.
8
Masking
31
.
2
Constants
31
.
2
.
1
ESMF_GRIDCONN
31
.
2
.
2
ESMF_GRIDITEM
31
.
2
.
3
ESMF_GRIDMATCH
31
.
2
.
4
ESMF_GRIDSTATUS
31
.
2
.
5
ESMF_POLEKIND
31
.
2
.
6
ESMF_STAGGERLOC
31
.
3
Use and Examples
31
.
4
Restrictions and Future Work
31
.
5
Design and Implementation Notes
31
.
5
.
1
Grid Topology
31
.
6
Class API: General Grid Methods
31
.
7
Class API: StaggerLoc Methods
32
LocStream Class
32
.
1
Description
32
.
2
Constants
32
.
2
.
1
Coordinate keyNames
32
.
2
.
2
Masking keyName
32
.
3
Use and Examples
32
.
4
Class API
33
Mesh Class
33
.
1
Description
33
.
1
.
1
Mesh representation in ESMF
33
.
1
.
2
Supported Meshes
33
.
2
Constants
33
.
2
.
1
ESMF_MESHELEMTYPE
33
.
3
Use and Examples
33
.
4
Class API
34
XGrid Class
34
.
1
Description
34
.
2
Constants
34
.
2
.
1
ESMF_XGRIDSIDE
34
.
3
Use and Examples
34
.
4
Restrictions and Future Work
34
.
4
.
1
Restrictions and Future Work
34
.
5
Design and Implementation Notes
34
.
6
Class API
35
Geom Class
35
.
1
Description
35
.
2
Class API: Geom Methods
36
DistGrid Class
36
.
1
Description
36
.
2
Constants
36
.
2
.
1
ESMF_DISTGRIDMATCH
36
.
3
Use and Examples
36
.
4
Restrictions and Future Work
36
.
5
Design and Implementation Notes
36
.
6
Class API
36
.
7
Class API: DistGridConnection Methods
36
.
8
Class API: DistGridRegDecomp Methods
37
RouteHandle Class
37
.
1
Description
37
.
2
Use and Examples
37
.
3
Restrictions and Future Work
37
.
4
Design and Implementation Notes
37
.
5
Class API
38
I/O Capability
38
.
1
Description
38
.
2
Data I/O
38
.
3
Data formats
38
.
4
Restrictions and Future Work
38
.
5
Design and Implementation Notes
5
Infrastructure: Utilities
39
Overview of Infrastructure Utility Classes
40
Info Class (Object Attributes)
40
.
1
Migrating from Attribute
40
.
1
.
1
Setting an Attribute
40
.
1
.
2
Getting an Attribute
40
.
2
Key Format Overview
40
.
3
Usage and Examples
40
.
4
Class API
41
Time Manager Utility
41
.
1
Time Manager Classes
41
.
2
Calendar
41
.
3
Time Instants and TimeIntervals
41
.
4
Clocks and Alarms
41
.
5
Design and Implementation Notes
41
.
6
Object Model
42
Calendar Class
42
.
1
Description
42
.
2
Constants
42
.
2
.
1
ESMF_CALKIND
42
.
3
Use and Examples
42
.
4
Restrictions and Future Work
42
.
5
Class API
43
Time Class
43
.
1
Description
43
.
2
Use and Examples
43
.
3
Restrictions and Future Work
43
.
4
Class API
44
TimeInterval Class
44
.
1
Description
44
.
2
Use and Examples
44
.
3
Restrictions and Future Work
44
.
4
Class API
45
Clock Class
45
.
1
Description
45
.
2
Constants
45
.
2
.
1
ESMF_DIRECTION
45
.
3
Use and Examples
45
.
4
Restrictions and Future Work
45
.
5
Class API
46
Alarm Class
46
.
1
Description
46
.
2
Constants
46
.
2
.
1
ESMF_ALARMLIST
46
.
3
Use and Examples
46
.
4
Restrictions and Future Work
46
.
5
Design and Implementation Notes
46
.
6
Class API
47
Config Class
47
.
1
Description
47
.
1
.
1
Package history
47
.
1
.
2
Resource files
47
.
2
Use and Examples
47
.
3
Class API
48
HConfig Class
48
.
1
Description
48
.
2
Constants
48
.
2
.
1
ESMF_HCONFIGMATCH
48
.
3
Use and Examples
48
.
4
Restrictions and Future Work
48
.
5
Design and Implementation Notes
48
.
6
Class API
49
Log Class
49
.
1
Description
49
.
2
Constants
49
.
2
.
1
ESMF_LOGERR
49
.
2
.
2
ESMF_LOGKIND
49
.
2
.
3
ESMF_LOGMSG
49
.
3
Use and Examples
49
.
4
Restrictions and Future Work
49
.
5
Design and Implementation Notes
49
.
6
Object Model
49
.
7
Class API
50
DELayout Class
50
.
1
Description
50
.
2
Constants
50
.
2
.
1
ESMF_PIN
50
.
2
.
2
ESMF_SERVICEREPLY
50
.
3
Use and Examples
50
.
4
Restrictions and Future Work
50
.
5
Design and Implementation Notes
50
.
6
Class API
51
VM Class
51
.
1
Description
51
.
2
Constants
51
.
2
.
1
ESMF_VMEPOCH
51
.
3
Use and Examples
51
.
4
Restrictions and Future Work
51
.
5
Design and Implementation Notes
51
.
6
Class API
52
Profiling and Tracing
52
.
1
Description
52
.
1
.
1
Profiling
52
.
1
.
2
Tracing
52
.
2
Use and Examples
52
.
2
.
1
Output a Timing Profile to Text
52
.
2
.
2
Summarize Timings across Multiple PETs
52
.
2
.
3
Limit the Set of Profiled PETs
52
.
2
.
4
Include MPI Communication in the Profile
52
.
2
.
5
Output a Detailed Trace for Analysis
52
.
2
.
6
Set the Clock used for Profiling/Tracing
52
.
3
Restrictions and Future Work
52
.
4
Class API
53
Fortran I/O and System Utilities
53
.
1
Description
53
.
2
Use and Examples
53
.
2
.
1
Fortran unit number management
53
.
2
.
2
Flushing output
53
.
3
Design and Implementation Notes
53
.
3
.
1
Fortran unit number management
53
.
3
.
2
Flushing output
53
.
3
.
3
Sorting algorithms
53
.
4
Utility API
6
References
References
7
Appendices
54
Appendix A: Master List of Constants
54
.
1
ESMF_ALARMLIST
54
.
2
ESMF_DIM_ARB
54
.
3
ESMF_ATTCOPY
54
.
4
ESMF_ATTGETCOUNT
54
.
5
ESMF_ATTNEST
54
.
6
ESMF_ATTRECONCILE
54
.
7
ESMF_ATTWRITE
54
.
8
ESMF_CALKIND
54
.
9
ESMF_COMPTYPE
54
.
10
ESMF_CONTEXT
54
.
11
ESMF_COORDSYS
54
.
12
ESMF_CUBEDSPHERECALC
54
.
13
ESMF_DATACOPY
54
.
14
ESMF_DECOMP
54
.
15
ESMF_DIRECTION
54
.
16
ESMF_DISTGRIDMATCH
54
.
17
ESMF_END
54
.
18
ESMF_EXTRAPMETHOD
54
.
19
ESMF_FIELDSTATUS
54
.
20
ESMF_FILEFORMAT
54
.
21
ESMF_FILEMODE
54
.
22
ESMF_FILESTATUS
54
.
23
ESMF_GEOMTYPE
54
.
24
ESMF_GRIDCONN
54
.
25
ESMF_GRIDITEM
54
.
26
ESMF_GRIDMATCH
54
.
27
ESMF_GRIDSTATUS
54
.
28
ESMF_HCONFIGMATCH
54
.
29
ESMF_INDEX
54
.
30
ESMF_IOFMT
54
.
31
ESMF_IO_NETCDF_PRESENT
54
.
32
ESMF_IO_PIO_PRESENT
54
.
33
ESMF_IO_PNETCDF_PRESENT
54
.
34
ESMF_ITEMORDER
54
.
35
ESMF_KIND
54
.
36
ESMF_LINETYPE
54
.
37
ESMF_LOGERR
54
.
38
ESMF_LOGKIND
54
.
39
ESMF_LOGMSG
54
.
40
ESMF_MESHELEMTYPE
54
.
41
ESMF_MESHLOC
54
.
42
ESMF_MESHOP
54
.
43
ESMF_MESHSTATUS
54
.
44
ESMF_METHOD
54
.
45
ESMF_NORMTYPE
54
.
46
ESMF_PIN
54
.
47
ESMF_POLEKIND
54
.
48
ESMF_POLEMETHOD
54
.
49
ESMF_REDUCE
54
.
50
ESMF_REGION
54
.
51
ESMF_REGRIDMETHOD
54
.
52
ESMF_REGRIDSTATUS
54
.
53
ESMF_ROUTESYNC
54
.
54
ESMF_SERVICEREPLY
54
.
55
ESMF_STAGGERLOC
54
.
56
ESMF_STARTREGION
54
.
57
ESMF_STATEINTENT
54
.
58
ESMF_STATEITEM
54
.
59
ESMF_SYNC
54
.
60
ESMF_TERMORDER
54
.
61
ESMF_TYPEKIND
54
.
62
ESMF_UNMAPPEDACTION
54
.
63
ESMF_VERSION
54
.
64
ESMF_VMEPOCH
54
.
65
ESMF_XGRIDSIDE
55
Appendix B: A Brief Introduction to UML
56
Appendix C: ESMF Error Return Codes
57
Appendix D: Attribute Class Legacy API
57
.
1
Constants
57
.
1
.
1
ESMF_ATTCOPY
57
.
1
.
2
ESMF_ATTGETCOUNT
57
.
1
.
3
ESMF_ATTWRITE
57
.
2
Class API
esmf_support@ucar.edu