Download presentation
Presentation is loading. Please wait.
Published byAlaina Woods Modified over 9 years ago
1
NSF NCAR / NASA GSFC / DOE LANL ANL / NOAA NCEP GFDL / MIT / U MICH May 14, 2003 Nancy Collins, NCAR Components Workshop, Princeton, NJ Components in the Earth System Modeling Framework NSIPP Seasonal Forecast NCAR/LANL CCSM NCEP Forecast GFDL FMS Suite MITgcm NASA GSFC PSAS
2
NSF NCAR / NASA GSFC / DOE LANL ANL / NOAA NCEP GFDL / MIT / U MICH May 14, 2003 Outline ESMF Component Design Principles ESMF Component User Environments ESMF Component Details
3
NSF NCAR / NASA GSFC / DOE LANL ANL / NOAA NCEP GFDL / MIT / U MICH May 14, 2003 ESMF Project Overview GOAL: To increase software reuse, interoperability, ease of use and performance portability in climate, weather, and data assimilation applications PRODUCTS: Coupling superstructure and utility infrastructure software Synthetic code suite for validation and demonstration Set of 15 ESMF-compliant applications (including CCSM, WRF, GFDL models; MIT, NCEP and NASA data assimilation systems) Set of 8 interoperability experiments RESOURCES: $10.1M over 3 years from NASA Earth Science Technology Office
4
NSF NCAR / NASA GSFC / DOE LANL ANL / NOAA NCEP GFDL / MIT / U MICH May 14, 2003 ESMF Class Structure MachineModel Layout DistGrid PhysGrid State Bundle Gridded Component Array Utilities: TimeMgr, Config, LogErr, I/O etc. F90 Superstructure Infrastructure Field Grid Regrid Comm Data Communications Route Coupler Component C++ Application Component
5
NSF NCAR / NASA GSFC / DOE LANL ANL / NOAA NCEP GFDL / MIT / U MICH May 14, 2003 Design Principles: Scalable Applications Since each ESMF application is also a component, entire ESMF applications may be treated as Gridded Components and nested within larger applications. climate_comp ocn_comp atm_comp ocn2atm_coupler atm_phys phys2dyn_coupler atm_dyn PE Example: atmospheric application containing multiple coupled components within a larger climate application
6
NSF NCAR / NASA GSFC / DOE LANL ANL / NOAA NCEP GFDL / MIT / U MICH May 14, 2003 Design Principles: Local Communication All inter-component communication within ESMF is local. climate_comp ocn_comp atm_comp atm_phys phys2dyn_coupler atm_dyn PE atm2ocn _coupler This means: Coupler Components must be defined on the union of the PEs of all the components that they couple. In this example, in order to send data from the ocean component to the atmosphere, the Coupler mediates the send.
7
NSF NCAR / NASA GSFC / DOE LANL ANL / NOAA NCEP GFDL / MIT / U MICH May 14, 2003 Design Principles: Import/Export States Gridded Components do not have access to the internals of other Gridded Components. They have 2 options for exchanging data with other Components; the first is to receive Import and Export States as arguments. coupler ocn_component subroutine ocn_run(comp, & ImportState,ExportState, Clock, rc) atm_component subroutine atm_run(comp, & ImportState,ExportState, Clock, rc) States contain flags for “is required”, “is valid”, “is ready”, etc.
8
NSF NCAR / NASA GSFC / DOE LANL ANL / NOAA NCEP GFDL / MIT / U MICH May 14, 2003 Design Principles: Transforms and States Gridded Components using Transforms do not have to return control to a higher level component to send or receive State data from another component. They can receive function pointers which are methods that can be called on the states. coupler ocn_component call ESMF_StateXform(ex_state, & xform) atm_component call ESMF_StateXform(xform, & im_state) transform call ESMF_CompRun(atm, xform) call ESMF_CompRun(ocn, xform)
9
NSF NCAR / NASA GSFC / DOE LANL ANL / NOAA NCEP GFDL / MIT / U MICH May 14, 2003 Design Principles: Registration Process Components must provide a single externally visible entry point which will register the other entry points with the Framework. Components can: - Register one or more Initialization, Run, Finalize, and Checkpoint entry points. - Register a private data block which can contain all data associated with this instantiation of the Component; particularly useful when running ensembles. Higher level Comp cmp_register() cmp_run() cmp_final() cmp_init() ESMF Framework Services Public subroutine Private subroutine
10
NSF NCAR / NASA GSFC / DOE LANL ANL / NOAA NCEP GFDL / MIT / U MICH May 14, 2003 ESMF User Environments Languages: F90 (predominately), C++ Systems: Unix/Linux variants (inc IBM, SGI, Compaq, Linux clusters, Mac OS X) Memory: MPI, PThreads/SMP Execution: Sequential and Concurrent Runtime system: LoadLeveler, poe, bsub, mpirun
11
NSF NCAR / NASA GSFC / DOE LANL ANL / NOAA NCEP GFDL / MIT / U MICH May 14, 2003 Component Details Components create others Nested parent/child relationship Annotated States contain all data passed between components Data objects use CF name conventions Can be created dynamically Initialization/Run/Finalize/Checkpoint
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.