220 likes | 385 Views
ESMF Design Overview and Implementation Strategy. MITgcm. NASA GSFC PSAS. NCEP Forecast. GFDL FMS Suite. Cecelia DeLuca / NCAR 2 nd ESMF Community Meeting Princeton, NJ. NSIPP Seasonal Forecast. NCAR/LANL CCSM. Outline. ESMF Design Goals ESMF Design Strategies Architecture and Features
E N D
ESMF 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
Outline • ESMF Design Goals • ESMF Design Strategies • Architecture and Features • Implementation Strategy
ESMF Design Goals • Composable, swappable, nestable model components for building Earth system applications hurr_sim ocean assim_atm assim atm dyn phys
ESMF 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
ESMF 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
Outline • ESMF Design Goals • ESMF Design Strategies • Architecture and Features • Implementation Strategy
Architecture 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, …
ESMF 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
ESMF 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
Outline • ESMF Design Goals • ESMF Design Strategies • Architecture and Features • Implementation Strategy
General 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
ESMF Services components (gridded, coupler, app)states Components / Coupling Fields and Grids Fields field metadatafield and field bundle datafield I/O Grids grid metadatagrid decomposition Parallel Utilities transpose, halo, etc.abstract machine layout Low-Level Utilities event alarmsperformance profilingI/O primitivescommunication primitives, etc.
ESMF 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
ESMF 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 Utilities: TimeMgr, Config, LogErr, I/O etc. MachineModel
Outline • ESMF Design Goals • ESMF Design Strategies • Architecture and Features • Implementation Strategy
Implementation 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
Implementation 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
Implementation 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
Development 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
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 The Team
More 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 …