Earth System Modeling Framework ESMF Community Meeting, 2006' - PowerPoint PPT Presentation

1 / 26
About This Presentation
Title:

Earth System Modeling Framework ESMF Community Meeting, 2006'

Description:

Earth System Modeling Framework ESMF Community Meeting, 2006' – PowerPoint PPT presentation

Number of Views:27
Avg rating:3.0/5.0
Slides: 27
Provided by: esmf
Category:

less

Transcript and Presenter's Notes

Title: Earth System Modeling Framework ESMF Community Meeting, 2006'


1
Earth System Modeling Framework (ESMF) Community
Meeting, 2006.
DOD
NSF
DOE
NASA
NOAA
2
Todays Agenda
A reception from 530pm to 730pm in the same
room as the Community Meeting, Chesapeake I and
II.
Tomorrow (May 24) 8.30-12.30. Sheraton Inner
Harbor
Room - Loch Raven 1
3
(No Transcript)
4
Earth System Modeling Framework (ESMF)
Introduction to ESMF and ESMF Components in the
Community.
  • ESMF Community Meeting, Baltimore, 2006

DOD
NSF
DOE
NASA
NOAA
5
Outline
  • What is ESMF?
  • ESMF components.
  • Where is ESMF being used?
  • Components in production or being developed.
  • What does it take to use ESMF?
  • Future directions

6
What is ESMF
  • ESMF provides a software library for turning
    model codes into coupled components with standard
    interfaces and standard drivers.
  • ESMF provides library of common infrastructure
    that components use for routine services such as
    data communications, regridding, time management
    and message logging.

e.g ocean transport, optimization line
search, atmospheric radiation.
ESMF Superstructure
AppDriver
Component Classes GridComp, CplComp, State
User Provided Numerical/Science Code
E
SMF Infrastructure
Data Classes Bundle, Field, Grid, Array
Utility Classes Clock, LogErr, DELayout, Machine
  • e.g. three model codes operating as coupled
    components ESMF provides a parallel, scalable
    standard software platform to facilitate this
    coupling, including
  • a programming model for coding drivers that steer
    individual component computations
  • data structures for passing information between
    components
  • This software is the core of the ESMF component
    model.

Component 1
Component 2
Component 3
7
ESMF ComponentModel
  • Provides machinery for coding a hierarchy of
    interacting components
  • coupler components, e.g. ocm2atm_coupler and
  • gridded components, e.g. atm_phys_comp
  • Machinery includes
  • general-purpose mechanisms to code wirings
    between components (ESMF_State, ESMF_regrid())
  • general purpose mechanisms to create components
    and to control their lifecycle (SetServices,
    Init(), Run(), Final() )

Graph of hypothetical ESMF app. in left
panel. Numbers correspond hypothetical app. user
code
1
climate_comp
1
2
atm2ocn_coupler
3
ocn_comp
atm_comp
4
phys2dyn_coupler
5
_comp
3
4
gridded components
2
_coupler
coupler components
atm_phys_comp
6
7
atm_dyn_comp
5
7
6
Components are nodes . Flow of data between
components is shown by edges.
Hypothetical application on parallel machine
8
Example ESMF component graph for GEOS-5 AGCM
GEOS-5
coupler
history
agcm
coupler
dynamics
physics
coupler
coupler
surface
fvcore
gravity_wave_drag
chemistry
moist_processes
radiation
turbulence
coupler
coupler
infrared
solar
lake
land_ice
data_ocean
land
coupler
Max Suarez, Atanas Tryanov
vegetation
catchment
  • Boxes are user written ESMF components
  • Every component has a standard ESMF interface
    Init(),Run(), Finalize(). These drive the
    components.
  • Data in and out of components are packaged in
    ESMF_state types
  • New components can be added to the hierarchical
    system
  • Coupling tools include parallel regridding and
    redistribution methods

GEOS-5 presentation later
9
Creating and controlling ESMF Components
dyn_init(dGC,dI,dE,cl,rc)
ESMF_CCInit(dyn2fv,dI,dE,cl,rc)
ESMF_GCInit(fvGC,fvI,fvE,cl,rc)
ESMF_CCInit(fv2dyn,dI,dE,cl,rc)
Initialize
dyn_run(dGC,dI,dE,cl,rc) ESMF_CCRun(dyn2fv,d
I,fvI,cl,rc) ESMF_GCRun(fvGC,fvI,fvE,cl,rc)
ESMF_CCRun(fv2dyn,fvE,dE,cl,rc)
Run
ESMF component model defines standard interfaces
that a component must provide Key
ones Initialize(IState,EState,Clock,RC) Run(IState
,EState,) Finalize(IState,EState,)
ESMF component model defines a standard
container type for passing information between
components e.g TYPE(ESMF_State) fvI, fvE, dI,
dE Components exchange data (with their peers
and parent in the graph) by encoding/decoding
ESMF_State data type arguments. An ESMF_state can
hold many sorts of information and includes
meta-data needed to decode it.
10
  • Data is transferred between components through
    ESMF_State type container variables.
  • Functions such as ESMF_regrid/ESMF_redist are
    used in coupler components to succinctly remap
    data within components.
  • Every component registers ESMF_Init(),
    ESMF_Run(), ESMF_Finalize() so that it can be
    controlled from a parent.
  • Components may also use an internal state pointer
    to maintain private state between calls.
  • The component model provides everyone with a
    common model of time and alarms at the component
    interface.

ESMF Component Modeling.
These aspects of the ESMF component model are
being used both to develop interoperable
applications and to develop new applications.
11
Outline
  • What is ESMF?
  • ESMF components.
  • Where is ESMF being used?
  • Components in production or being developed.
  • What does it take to use ESMF?
  • Future directions/challenges

12
Components in production or in test and
development
37 different components, span research to
production
13
Using ESMF CCSM example
Erik Kluzek, Mariana Vertenstein
Group looking for way to provide a
single-executable system like the NCAR Community
Atmosphere Model (CAM) (left) but that has
coupling flexibility of CCSM. For this CCSM is
prototyping ESMF as a way to separate out ice and
ocean from under a CAM specific driver (right).

14
Using ESMF BEI example
Part of BEI project targeting coupled HYCOM
(Hybrid Coordinate Ocean Model) CICE (Los
Alamos Sea Ice Model) system for more accurate
polar modeling. Using ESMF to wire CICE and
HYCOM together. BEI presentation later
Alan Wallcroft
15
Using ESMF LIS example
LIS team looking for strategy to integrate
land-surface and atmospheric dynamics modeling
and assimilation. Using ESMF to wire LIS and
GMAO atmospheric modules together.
Sujay Kumar, Christa Peters-Liddard
16
Using ESMF SWMF example
SWMF exploring approach to coupling space weather
to Earth atmosphere. Using ESMF to provide SWMF
as an encapsulated ESMF component.
Quentin Stout
17
ESMF in the community examples of strategies
Complete framework component
Whole model components
Fine grain components
ESMF gridded and coupler components are user
written, so ESMF can be used flexibly at
different levels of abstraction and with mixed
coupling paradigms.
Hub-and-spoke coupling
One-to-one coupling
18
Outline
  • What is ESMF?
  • ESMF components.
  • Where is ESMF being used?
  • Components in production or being developed.
  • What does it take to use ESMF?
  • Future directions/challenges

19
Using ESMF - why?
  • The emerging pool of other ESMF-based science
    components. Can be used to create applications.
  • To reduce the amount of infrastructure code that
    you need to maintain and write, and allow you to
    focus more resources on science development.
  • ESMF is addressing two major technical problems
    in model development Structuring large,
    multi-component applications so that they are
    easier to use and extend, and achieving
    performance portability on a wide variety of
    parallel architectures.
  • It may be better software (better features,
    better performance portability, better tested,
    better documented, more stable maintenance) than
    the infrastructure software that you are
    currently using.
  • Community development and use means that the ESMF
    software is widely reviewed and tested, and that
    you can leverage contributions from other groups.

20
Using ESMF - how?
  • More in later talks and, especially, at tomorrows
    tutorial
  • Basic steps to get started
  • Download (from http//www.esmf.ucar.edu ) and
    build
  • Read manual (not all of it!)
  • Try a few of the examples
  • Decide on scope of your components e.g. is your
    code one monolithic component or several
    sub-components.
  • Arrange the code internally into init(), run(),
    finalize() sections.
  • Attach ESMF_Init() etc to your internal init()
  • Develop couplers to map between sub-components,
    if needed.
  • Qs to esmf-support_at_ucar.edu
  • More advanced steps
  • Develop internal state for your component that
    can be attached to component.
  • Refactor infrastructure to use ESMF basis

21
Future directions and challenges
Having a standard interface doesnt guarantee
meaningful results! Conventions, rules,
best-practices and higher-level protocols are
required to describe, precisely and unambiguously
(to a machine), what inputs a component expects
and what it can export, what rules it must adhere
to etc Some of this can be automated (Curator
presentation and discussion session later). Some
requires expert knowledge.
22
Summary
The basis of ESMF is a component paradigm
tailored to Earth and planetary science
disciplines. The component paradigm in ESMF
centers on components written in a user community.
The ESMF community has a growing pool of
components upcoming presentations from Mark
Iredell (NCEP), Max Suarez (GSFC), Alan Wallcraft
(DOD), but room for lots more! The granularity
of available components spans sub-process models
to complete frameworks, and covers algorithm
areas from assimilation algebra to cloud
processes. Some emerging standard rules (see
later presentations)
23
(No Transcript)
24
(No Transcript)
25
(No Transcript)
26
What is ESMF
The Earth System Modeling Framework (ESMF) is a
software package for building scalable, portable,
modular modeling and data assimilation
applications. . ESMF promotes an organized,
hierarchical application architecture that makes
complex applications easier to maintain and
extend, and allows individual components of an
application to be exchanged and used in multiple
contexts.
  • ESMF provides tools for turning model codes into
    components with standard interfaces and standard
    drivers.
  • ESMF provides library of common utilities that
    components use for routine services such as data
    communications, regridding, time management and
    message logging.

e.g ocean transport, optimization line
search, atmospheric radiation.
ESMF Superstructure
AppDriver
Component Classes GridComp, CplComp, State
User Provided Numerical/Science Code
E
SMF Infrastructure
Data Classes Bundle, Field, Grid, Array
Utility Classes Clock, LogErr, DELayout, Machine
Write a Comment
User Comments (0)
About PowerShow.com