1 / 18

Earth System Modeling Framework Superstructure

Earth System Modeling Framework Superstructure. GFDL FMS Suite. MITgcm. NASA GSFC PSAS. NCEP Forecast. NSIPP Seasonal Forecast. NCAR/LANL CCSM. Nancy Collins, NCAR 2nd Community Meeting, Princeton, NJ. Superstructure Outline. Superstructure Classes Design Principles Object Details

paley
Download Presentation

Earth System Modeling Framework Superstructure

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Earth System Modeling Framework Superstructure GFDL FMS Suite MITgcm NASA GSFC PSAS NCEP Forecast NSIPP Seasonal Forecast NCAR/LANL CCSM Nancy Collins, NCAR 2nd Community Meeting, Princeton, NJ

  2. Superstructure Outline • Superstructure Classes • Design Principles • Object Details • Adoption Preparation

  3. ESMF Class Structure ApplicationComponent GriddedComponent CouplerComponent Superstructure State Bundle Regrid Infrastructure Field Grid PhysGrid DistGrid F90 Data Communications Layout Array Comm Route C++ MachineModel Utilities: TimeMgr, Config, LogErr, I/O etc.

  4. Superstructure Classes ApplicationComponent GriddedComponent(s) CouplerComponent(s) Computation State Data State Bundle Field Array

  5. 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 Example: atmospheric application containing multiple coupled components within a larger climate application ocn2atm_coupler ocn_comp atm_comp phys2dyn_coupler atm_phys atm_dyn PE

  6. Design Principles:Local Communication All inter-component communication within ESMF is local. climate_comp 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. atm2ocn _coupler ocn_comp atm_comp phys2dyn_coupler atm_phys atm_dyn PE

  7. 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. States contain flags for “is required”, “isvalid”, “is ready”, etc. coupler ocn_component subroutine ocn_run(comp, & ImportState,ExportState, Clock, rc) atm_component subroutine atm_run(comp, & ImportState,ExportState, Clock, rc)

  8. 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. call ESMF_CompRun(atm, xform) call ESMF_CompRun(ocn, xform) transform coupler ocn_component call ESMF_StateXform(ex_state, & xform) atm_component call ESMF_StateXform(xform, & im_state)

  9. 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 ESMF Framework Services cmp_final() cmp_register() cmp_run() cmp_init() Public subroutine Private subroutine

  10. Gridded Component • Computational model, data assimilation code • Associated DELayout object • Optional associated Grid • Register entry point • Import and Export States for: • Initialization phase • Run phase • Finalize phase

  11. Coupler Component • Data transformation code: • Regridding, Unit conversions, Conservation of quantities, Accumulation • Register entry point • Nested States for: • Initialization phase • Run phase • Finalize phase

  12. Application Component • Main program • Container for single Component • Creates Gridded Component • Calls Registration routine • Read configuration files, create Grid, create Main Clock, supply dummy Import/Export States for subcomponents. • Single call to Init, Run, and Finalize routine

  13. State Objects • Annotated List of other ESMF objects • Bundles, Fields, Arrays, and other States • Flags for “needed”, “ready”, “valid” • Named objects, CF conventions for Fields • Import/Export States for Gridded Comps • Single State for Coupler Comps

  14. Transform Objects • Concurrent Components can exchange States without returning to calling code • Coupler’s role is to provide Transform object which contains subroutine pointer • Subroutine transforms data from Export State of one component to Import State of another • Needs higher level of control/sequencing

  15. 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

  16. ESMF Component Characteristics • Components can create other Components • 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

  17. Adopting ESMF • See ESMF User’s Guide, Section 12 • Self-contained Components • Subroutines for major phases • States for Import/Export • Private data • What results can be exported up to higher level applications which might be built

  18. ESMF Adoption Curve:Incremental Path • Minimum: Component interfaces/subroutines, Data in Fields, Time via Clocks, information exchange via States • Plus any or all of: Time Mgr with Internal Clocks, Data in ESMF Fields/Grids, Regrid/Halo of Fields, Logging, Configuration files

More Related