Title: ESMF Design Overview and Implementation Strategy
1ESMF Design Overview andImplementation Strategy
MITgcm
NASA GSFC PSAS
NCEP Forecast
GFDL FMS Suite
Cecelia DeLuca / NCAR2nd ESMF Community
MeetingPrinceton, NJ
NSIPP Seasonal Forecast
NCAR/LANL CCSM
2Outline
- ESMF Design Goals
- ESMF Design Strategies
- Architecture and Features
- Implementation Strategy
3ESMF Design Goals
- Composable, swappable, nestable model components
for building Earth system applications
hurr_sim
ocean
assim_atm
assim
atm
dyn
phys
4ESMF Design Goals (cont.)
- Reusable toolkits for grid operations and routine
utilities - Performance portability and ease of use in a
complex, transient computing environment - Application and infrastructure codes that are
maintainable and extensible
5ESMF Design Goals (cont.)
- Flexibility
- To allow unconstrained scientific development
- To encourage technical innovation
- To support partial adoption of framework services
- To accommodate different programming models
6Outline
- ESMF Design Goals
- ESMF Design Strategies
- Architecture and Features
- Implementation Strategy
7Architecture
Composable, swappable, nestable model components
for building Earth system applications Reusable
toolkits for grid operations and routine
utilities Performance portability and ease of
use in a complex, transient computing environment
Coupling Layer
ESMF Superstructure
Model Layer
User Code
Fields and Grids Layer
ESMF Infrastructure
Low Level Utilities
External Libraries
BLAS, MPI, NetCDF,
8ESMF Design Approach
Application and infrastructure codes that are
maintainable and extensible
- Component-based architecture large, functionally
related pieces of software (e.g., atmosphere,
land models) interact through well-defined
interfaces - Object oriented design smaller, functionally
related pieces of software are bundled into
modules containing data and methods - Layered design details of platform and
parallelism are not visible at the highest level
interfaces
9ESMF Design Approach (cont.)
- Flexibility
- To allow unconstrained scientific development
- To encourage technical innovation
- To support partial adoption of framework services
- To accommodate different programming models
- Physical interfaces to components are not
prescribed - Designed to be compatible with user-managed
intra-component communication - Extensible for new grids / algorithms / comm
libraries - Many ESMF services may be used independently
- Allows arbitrary placement of inter-component
communication
10Outline
- ESMF Design Goals
- ESMF Design Strategies
- Architecture and Features
- Implementation Strategy
11General Features
- ESMF will be usable by models written in
F90/C/C - ESMF will be usable by models requiring adjoint
capability - ESMF will be usable by models requiring shared or
distributed memory parallelism semantics - ESMF will support sequential and concurrent modes
of execution - ESMF will support several I/O formats, including
GRIB/BUFR, netCDF, HDF - ESMF will have uniform syntax across platforms
- ESMF will target a broad range of platforms, from
major centers ? commodity hardware
12ESMF Services
components (gridded, coupler, app)states
Components / Coupling
field metadatafield and field bundle datafield
I/O
Fields
Fields and Grids
grid metadatagrid decomposition
Grids
transpose, halo, etc.abstract machine layout
Parallel Utilities
event alarmsperformance profilingI/O
primitivescommunication primitives, etc.
Low-Level Utilities
13ESMF Components
- ESMF provides an environment for assembling
geophysical components into an application.
Application Component
Gridded Components
Coupler Components
- ESMF provides a toolkit that components use to
- increase interoperability
- improve performance portability
- abstract common services
Component Init( ), Run( ), Checkpoint( )
Field Halo( ), Import( ), Export( ) I/O
Grid Regrid( ), Transpose( ) Metrics
DELayout, PE List, Machine Model
14ESMF Version 1.0
ApplicationComponent
GriddedComponent
CouplerComponent
Superstructure
State
Infrastructure
Bundle
Regrid
Field
Grid
PhysGrid
DistGrid
F90
Data
Communications
Layout
Array
Comm
Route
C
Design Complete Limited Prototype Fuller Prototype
MachineModel
Utilities TimeMgr, Config, LogErr, I/O etc.
15Outline
- ESMF Design Goals
- ESMF Design Strategies
- Architecture and Features
- Implementation Strategy
16Implementation Strategy for ESMF Version 1.0
- Sufficient breadth to prototype how all major
parts of the ESMF system will interact - Well-developed superstructure (Components and
States) - Basic functions in most infrastructure classes
Superstructure
Infrastructure
17Implementation Strategy for ESMF Version 1.0
(cont.)
- Sufficient depth to develop simple ESMF
applications - Groundwork laid for high performance
communication, uniform API across
shared/distributed memory, load balancing
capability - Fully developed F90/C interoperability strategy
Superstructure
Infrastructure
18Implementation Strategy for ESMF Version 1.0
(cont.)
- Over the next year
- Development of grid and parallel regrid services
- Continued work on communication, decomposition,
and other utilities - Organization, standardization, fine-tuning
interfaces - Hardening and optimizing implementation
- Extending and polishing documentation and
tutorial examples
Superstructure
Infrastructure
19Development Focus
- Near-term framework development focus is on
creating sufficient infrastructure and
superstructure to achieve the initial set of
interoperability experiments. - These are
- FMS B-grid atmosphere coupled to MITgcm ocean
- CAM atmosphere coupled to NCEP analysis
- NSIPP atmosphere coupled to DAO analysis
20The Team
- Fields and Grids
- Nancy Collins, Jon Wolfe, David Neckels
- Regrid
- Phil Jones
- Time Machine Model/Comms
- Earl Schwab
- Benchmarks
- Gerhard Theurich
- Web and Admin
- Robbie Stauffer
- I/O
- Nancy Collins, Atanas Trayanov
- Profiling and logging
- Shep Smithline, Erik Kluzek
- Attributes
- Leonid Zaslavsky, Nancy Collins
- System Tests and Demos
- Silverio Vasquez, Nancy Collins, Jon Wolfe
- Build
- Dennis Flanigan
21More information
- ESMF website http//www.esmf.ucar.edu
- On the website
- Information about the Community Meeting
- ESMF documents
- ESMF browsable source code repository
- On-line forms for community input and catalogued
responses - Milestone schedule, project archives and history,
related projects - Management plan, board and team contacts
- More