USE OF ESMF IN THE GEOS-5 MODELING AND ASSIMILATION SYSTEM GEOS-5 ESMF Design Overview THE GEOS-Generic Library 21 JULY 2005.

Slides:



Advertisements
Similar presentations
A Generic Coupler for Data Registration, Match, and Model Coupling Shujia Zhou NASA GSFC SIVO/Northrop Grumman Contributors: Joseph Spahr (UCLA) Carlos.
Advertisements

ESMF-based applications with the National Unified Operational Prediction Capability Tim Campbell Naval Research Laboratory.
Metadata Development in the Earth System Curator Spanning the Gap Between Models and Datasets Rocky Dunlap, Georgia Tech.
Written by: Dr. JJ Shepherd
The Environment of a UNIX Process. Introduction How is main() called? How are arguments passed? Memory layout? Memory allocation? Environment variables.
Abstract Data Types Data abstraction, or abstract data types, is a programming methodology where one defines not only the data structure to be used, but.
Chapter 8 Inheritance Part 2. © 2004 Pearson Addison-Wesley. All rights reserved8-2 Outline Creating Subclasses Overriding Methods Class Hierarchies Inheritance.
1 © Wolfgang Pelz UML3 UML 3 Notations describe how to use reusable software. Package Component Deployment Node.
Inheritance and Class Hierarchies Chapter 3. Chapter 3: Inheritance and Class Hierarchies2 Chapter Objectives To understand inheritance and how it facilitates.
Fall 2007CS 2251 Inheritance and Class Hierarchies Chapter 3.
ISBN Chapter 11 Abstract Data Types and Encapsulation Concepts.
OOP in Java Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Doing Chemistry with GEOS-5. AVAILABLE GEOS-5 RESOURCES APPROACHES: “ON-Line” “OFF-Line” GEOS-5 MODELS OR MODEL COMPONENTS GEOS-5 GENERATED DATA PRODUCTS.
ECE122 L16: Class Relationships April 3, 2007 ECE 122 Engineering Problem Solving with Java Lecture 16 Class Relationships.
NCEP GFS Column Physics Module Physics subroutines were split from the GFS model for building a physics module that can be coupled to any dynamical cores.
Abstract Data Types and Encapsulation Concepts
C++ fundamentals.
Inheritance of Group Cardinality in Clafer Michał Antkiewicz April 06, 2015
OOP Languages: Java vs C++
Composite Design Pattern. Motivation – Dynamic Structure.
GEOS-5: An ESMF-based Modeling and Assimilation System ESMF Community Meeting 23 May 2006.
Session 3: NUOPC Interoperability Layer Instructors: Rocky Dunlap and Fei Liu NOAA Cooperative Institute for Research in Environmental Sciences University.
Programming Languages and Paradigms Object-Oriented Programming.
Components and Concurrency in ESMF Nancy Collins Community Meeting July 21, GMAO Seasonal.
An Object-Oriented Approach to Programming Logic and Design
1 Chapter 10: Data Abstraction and Object Orientation Aaron Bloomfield CS 415 Fall 2005.
1 Java Inheritance. 2 Inheritance On the surface, inheritance is a code re-use issue. –we can extend code that is already written in a manageable manner.
ESMF Code Generation Rocky Dunlap Spencer Rugaber Leo Mark Georgia Tech College of Computing.
Programming Languages and Paradigms Object-Oriented Programming (Part II)
Method Overriding Remember inheritance: when a child class inherits methods, variables, etc from a parent class. Example: public class Dictionary extends.
APCS Java AB 2004 Review of CS1 and CS2 Review for AP test #1 Sources: 2003 Workshop notes from Chris Nevison (Colgate University) AP Study Guide to go.
CS212: Object Oriented Analysis and Design Lecture 7: Arrays, Pointers and Dynamic Memory Allocation.
February 2012 Milestone Materials Implicit coupling design document NUOPC Layer software prototype bundled with ESMF Updated NUOPC Layer reference manual.
Learners Support Publications Classes and Objects.
1 SystemVerilog Enhancement Requests Daniel Schostak Principal Engineer February 26 th 2010.
OOP: Encapsulation,Abstraction & Polymorphism. What is Encapsulation Described as a protective barrier that prevents the code and data being randomly.
An Object-Oriented Approach to Programming Logic and Design Chapter 3 Using Methods and Parameters.
© 2004 Pearson Addison-Wesley. All rights reserved September 12, 2007 Encapsulation ComS 207: Programming I (in Java) Iowa State University, FALL 2007.
Cupid: A Smart Development Environment for Earth System Models Rocky Dunlap research sponsored by NASA/ROSES 1.
ISBN Chapter 11 Abstract Data Types and Encapsulation Concepts.
Introduction to c++ programming - object oriented programming concepts - Structured Vs OOP. Classes and objects - class definition - Objects - class scope.
Experimental El Niño/Southern Oscillation Predictions by the UCLA Atmospheric General Circulation Model (GCM) Coupled to the MIT and POP Oceanic GCMs using.
NSF NCAR / NASA GSFC / DOE LANL ANL / NOAA NCEP GFDL / MIT / U MICH May 15, 2003 Nancy Collins, NCAR 2nd Community Meeting, Princeton, NJ Earth System.
Classes. Constructor A constructor is a special method whose purpose is to construct and initialize objects. Constructor name must be the same as the.
NCEP ESMF GFS Global Spectral Forecast Model Weiyu Yang, Mike Young and Joe Sela ESMF Community Meeting MIT, Cambridge, MA July 21, 2005.
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.
Class Builder Tutorial Presented By- Amit Singh & Sylendra Prasad.
 Objects versus Class  Three main concepts of OOP ◦ Encapsulation ◦ Inheritance ◦ Polymorphism  Method ◦ Parameterized ◦ Value-Returning.
OOP in C++ CS 124. Program Structure C++ Program: collection of files Source (.cpp) files be compiled separately to be linked into an executable Files.
UMass Lowell Computer Science Java and Distributed Computing Prof. Karen Daniels Fall, 2000 Lecture 9 Java Fundamentals Objects/ClassesMethods Mon.
Object-Oriented Programming © 2013 Goodrich, Tamassia, Goldwasser1Object-Oriented Programming.
Page 1© Crown copyright 2004 FLUME Marco Christoforou, Rupert Ford, Steve Mullerworth, Graham Riley, Allyn Treshansky, et. al. 19 October 2007.
Chapter 13: Overloading and Templates. Objectives In this chapter, you will – Learn about overloading – Become familiar with the restrictions on operator.
1 Liang, Introduction to C++ Programming, (c) 2007 Pearson Education, Inc. All rights reserved X 1 Chapter 10 More on Objects and Classes.
Inheritance and Class Hierarchies Chapter 3. Chapter 3: Inheritance and Class Hierarchies2 Chapter Objectives To understand inheritance and how it facilitates.
Inheritance and Class Hierarchies Chapter 3. Chapter Objectives  To understand inheritance and how it facilitates code reuse  To understand how Java.
The NASA Modeling, Analysis and Prediction (MAP) Program Don Anderson NASA Headquarters OCRT Meeting Goat Island April 11, 2006.
Written by: Dr. JJ Shepherd
Nesting Milestone Materials Nesting design document Updated NUOPC Layer software prototype bundled with ESMF Updated NUOPC Layer reference manual Nesting.
Liang, Introduction to Java Programming, Ninth Edition, (c) 2013 Pearson Education, Inc. All rights reserved. 1 1 Chapter 15 Abstract Classes and Interfaces.
 Description of Inheritance  Base Class Object  Subclass, Subtype, and Substitutability  Forms of Inheritance  Modifiers and Inheritance  The Benefits.
Programming with ANSI C ++
Systems Analysis and Design With UML 2
Appendix D: Network Model
Chapter 4 (part 2).
Chapter 12 Abstract Classes and Interfaces
Object Oriented Programming
Outline Anatomy of a Class Encapsulation Anatomy of a Method
Presentation transcript:

USE OF ESMF IN THE GEOS-5 MODELING AND ASSIMILATION SYSTEM GEOS-5 ESMF Design Overview THE GEOS-Generic Library 21 JULY 2005

GEOS-5 ESMF DESIGN In GEOS-5 we chose to use a fine-grain component design –– ESMF components are used down to the parameterization level; they must therefore be fairly light-weight. We use a hierarchical topology, using Composite Components, and so we are concerned with the relations (couplings) between parents and children, and between siblings, cousins, etc.

Composite Components Composite Components (CCs) are ESMF Gridded Components GCs) that can spawn instances of other components by having USE association to their SetServices methods. CCs create instances of their children, declare their import and export states, and control the execution of their ESMF registered methods. Further, since CCs own the children’s import and export states, they can move data amongst them. They can thus serve “couplers”

Composite Components The children actually instanciated by a CC and the number of instances of each can be dynamic––it is decided when the CC’s SetServices is invoked and can be controlled from a resource file. In particular, the number of instances of a child can be zero. Invoking the CC’s SetServices or any of its ESMF- registered methods, invokes them in all instances of its children and in all their progeny.

Composite Components In ESMF, GCs can be created with an optional grid and configuration specified by the parent. All GEOS-5 GCs expect to inherit both a grid and a configuration. The inherited configuration is treated in GEOS-5 analogously to the environment in Unix.

Hierarchical Component Structure BASE COMPONENTS COMPOSITE COMPONENTS (“physical” Couplers) “Cap” Small, light-weight gridded components based on GEOS_Generic services “True” couplers Can be generic ESMF Gridded Component ESMF Coupler Component

GEOS-5 AGCM COMPONENT STRUCTURE AGCM DYNAMICS GWDFVCORE RADIATION COLUMN PHYSICS SOLAR IR MOIST TURB SURFACE CHEM LAKE OCEAN CAP (qv, ql, qi, cl,…) (u, v, T, p) (Tc, qc, Td,...) (Ts,Fi...) VEGDYN CATCH HISTORY ICE LAND (Ts,Fi...)

AGCM DYNAMICS GWDFVCORE RADIATION COLUMN PHYSICS SOLAR IR MOIST TURB SURFACE CHEM LANDLAKE DATA OCEAN CAP (qv, ql, qi, cl,…) (u, v, T, p) (ro3,…) (Tc, qc, Td,...) (Ts,Fi...) CAP SURFACE SINGLE-COLUMN MODEL DYNAMICS

GEOS-5 AGCM COMPONENT STRUCTURE AGCM RADIATION COLUMN PHYSICS SOLAR IR MOIST TURB SURFACE CHEM LAKE OCEAN DYNAMICS GWDFVCORE CAP (Tc, qc, Td,...) (Ts,Fi...) VEGDYN CATCH HISTORY ICE LAND (Ts,Fi...) SURFACE DYNAMICS

GEOS-5 AGCM COMPONENT STRUCTURE AGCM RADIATION COLUMN PHYSICS SOLAR IR MOIST TURB SURFACE CHEM LAKE OCEAN DYNAMICS GWDFVCORE CAP (Tc, qc, Td,...) (Ts,Fi...) VEGDYN CATCH HISTORY ICE LAND (Ts,Fi...) SURFACE DYNAMICS

GEOS-5 COUPLED MODEL STRUCTURE AGCM CAP HISTORY RADIATION COLUMN PHYSICS SOLAR IR MOIST TURB SURFACE CHEM LAKE OCEAN DYNAMICS GWDFVCORE (Ts,Fi...) VEGDYN CATCH ICE LAND (Ts,Fi...) SURFACE DYNAMICS AGCM COUPLED OGCM

GEOS-5 Stand-Alone Ocean AGCM CAP HISTORY RADIATION COLUMN PHYSICS SOLAR IR MOIST TURB SURFACE CHEM LAKE OCEAN DYNAMICS GWDFVCORE (Ts,Fi...) VEGDYN CATCH ICE LAND (Ts,Fi...) SURFACE DYNAMICS AGCM COUPLED OGCM Poseidon OBIO

GEOS-5 Ocean DAS AGCM CAP HISTORY RADIATION COLUMN PHYSICS SOLAR IR MOIST TURB SURFACE CHEM LAKE OCEAN DYNAMICS GWDFVCORE (Ts,Fi...) VEGDYN CATCH ICE LAND (Ts,Fi...) SURFACE DYNAMICS AGCM COUPLED OGCM AGCM

GEOS Generic

GEOS-GENERIC EXTENSIONS Three major extensions of ESMF concepts: –GEOS Generic provides default Initialize, Run, and Finalize methods and a Generic SetServices to do ESMF “boilerplate” –In GEOS Generic, SetServices is extended to provide data and connectivity services. –GEOS Generic defines an Internal State

Inside an Instance of a GC ESMF Gridded Component Grid Config - User Internal State(s) - - GEOS_Generic Object -”ESMF” Internal State

GEOS-GENERIC EXTENSIONS Three major extensions of ESMF concepts: –GEOS Generic provides default Initialize, Run, and Finalize methods and a Generic SetServices to do ESMF “boilerplate” –In GEOS Generic, SetServices is extended to provide data and connectivity services. –GEOS Generic defines an Internal State

DATA SERVICES AND THE THREE STATES Data services allow you to describe your import, export and internal states, giving each variable attributes like names, units, dimensionality, usage attributes, grid associations, etc. Import states are read only to you. Export states are read only to others. This allows the passing of pointers rather than copies and so lightens the coupling. GEOS Generic creates, allocates and initializes, as appropriate, variables in all three states, putting them in ESMF classes (Arrays, Fields, Bundles, States) that are used by the infrastructure. Import and Internal states are optionally checkpointed and restarted by Generic Initialize and Generic Finalize.

CONNECTIVITY SERVICES The connectivity services include: – declaration of children – control of how child’s and self’s imports and exports are connected to each other and to the outside –declaration of special “friendly” relationships between components that must operate on large or open- ended sets of state variables, etc. –Restrictions apply.

RADIATION COLUMN PHYSICS SOLAR IR CAP MOIST TURBCHEM Exports are passed up from child to parent, until they reach the cap, where they can be written out. Children’s imports are satisfied among by siblings or added to parent’s imports, until the reach the cap. HISTORY

GEOS-GENERIC EXTENSIONS Three major extensions of ESMF concepts: –GEOS Generic provides default Initialize, Run, and Finalize methods and a Generic SetServices to do ESMF “boilerplate” –In GEOS Generic, SetServices is extended to provide data and connectivity services. –GEOS Generic defines an Internal State

module GEOS_DummyGridCompMod use GEOS_Mod, only :: GEOS_GenericSetServices end module GEOS_DummyGridCompMod AN ESMF GRIDDED COMPONENT

module GEOS_GridCompMod use ESMF_Mod use GEOS_Mod implicit none private public SetServices contains Subroutine SetServices(GC,RC) type(ESMF_GridComp), intent(INOUT) :: GC integer, optional, intent(OUT) :: RC call GEOS_GenericSetServices ( GC, RC ) call ESMF_GridCompSetEntryPoint ( GC, ESMF_SETRUN, Run, & ESMF_SINGLEPHASE, RC) ! Do data services ! Do connectivity services End subroutine SetServices Subroutine Run(GC…. ! Do your work End subroutine Run End module GEOS_GridCompMod

SUMMARY GEOS-5 is a modeling and assimilation system based on many ESMF gridded components. It uses a highly configurable hierarchical architecture It relies on an implementation layer (GEOS-Generic) to facilitate the construction and coupling of the ESMF GCs.