Download presentation
Presentation is loading. Please wait.
Published byCameron Elliott Modified over 9 years ago
1
Climate Data Assimilation Weather Earth System Modeling Framework (ESMF) Community Meeting, 2006. DODNSFDOENASANOAA
2
Today’s Agenda A reception from 5:30pm to 7:30pm in the same room as the Community Meeting, Chesapeake I and II. Tomorrow (May 24) Tomorrow (May 24) 8.30-12.30. Sheraton Inner Harbor Room - Loch Raven 1
4
Climate Data Assimilation Weather Earth System Modeling Framework (ESMF): Introduction to ESMF and ESMF Components in the Community. ESMF Community Meeting, Baltimore, 2006 DODNSFDOENASANOAA
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. ESMF Infrastructure Data Classes: Bundle, Field, Grid, Array Utility Classes: Clock, LogErr, DELayout, Machine ESMF Superstructure AppDriver Component Classes: GridComp, CplComp, State User Provided Numerical/Science Code e.g ocean transport, optimization line search, atmospheric radiation. 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
Graph of hypothetical ESMF app. in left panel. Numbers correspond hypothetical app. user code ESMF Component Model climate _comp ocn _comp atm _comp atm2ocn _coupler atm_phys _comp phys2dyn _coupler atm_dyn _comp Hypothetical application on parallel machine _comp _coupler gridded components coupler components hierarchy components 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() …) 1 2 3 4 5 6 7 1 2 3 4 576 Components are nodes. Flow of data between components is shown by edges.
8
GEOS-5 surfacefvcoregravity_wave_drag historyagcm dynamicsphysics chemistrymoist_processesradiationturbulence infraredsolarlakeland_icedata_oceanland vegetationcatchment coupler 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 Example – ESMF component graph for GEOS-5 † AGCM † GEOS-5 presentation later Max Suarez, Atanas Tryanov
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,dI,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 onesInitialize(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 ESMF_State Components exchange data (with their peers and parent in the graph) by encoding/decoding ESMF_State data type arguments. ESMF_state An ESMF_state can hold many sorts of information and includes meta-data needed to decode it.
10
ESMF Component Modeling. 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. 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 Components in production or in test and development ~37 different components, span research to production
13
Using ESMF: CCSM example Using ESMF: CCSM example 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). Erik Kluzek, Mariana Vertenstein
14
Using ESMF: BEI † example 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 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 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 ESMF gridded and coupler components are user written, so ESMF can be used flexibly at different levels of abstraction and with mixed coupling paradigms. Fine grain components Whole model components Complete framework component 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. Q’s to esmf-support@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 doesn’t 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 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) 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.
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. ESMF Infrastructure Data Classes: Bundle, Field, Grid, Array Utility Classes: Clock, LogErr, DELayout, Machine ESMF Superstructure AppDriver Component Classes: GridComp, CplComp, State User Provided Numerical/Science Code e.g ocean transport, optimization line search, atmospheric radiation.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.