Date post: | 02-Jan-2016 |
Category: |
Documents |
Upload: | amie-mckenzie |
View: | 217 times |
Download: | 4 times |
USE OF ESMF IN THE GEOS-5MODELING 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
COMPOSITECOMPONENTS
(“physical” Couplers)
“Cap”Small, light-weight gridded components based on GEOS_Generic services
“True” couplersCan be generic
ESMF Gridded Component
ESMF Coupler Component
GEOS-5 AGCM COMPONENT STRUCTURE
AGCM
DYNAMICS
GWDFVCORERADIATION
COLUMN PHYSICS
SOLAR
IR
MOIST
TURB
SURFACE
CHEM
LAKE
OCEAN
CAP
(qv, ql, qi, cl,…)
(u, v, T, p)
(Tc, qc, Td,...)
(Ts,Fi...)
VEGDYNCATCH
HISTORY
ICELAND(Ts,Fi...)
AGCM
DYNAMICS
GWDFVCORERADIATION
COLUMN PHYSICS
SOLAR
IR
MOIST
TURB
SURFACE
CHEM
LAND LAKE
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...)
VEGDYNCATCH
HISTORY
ICELAND(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...)
VEGDYNCATCH
HISTORY
ICELAND(Ts,Fi...)
SURFACE
DYNAMICS
GEOS-5 COUPLED MODEL STRUCTURE
AGCM
CAP HISTORY
RADIATION
COLUMN PHYSICS
SOLAR
IR
MOIST
TURB
SURFACE
CHEMLAKE
OCEAN
DYNAMICS
GWDFVCORE
(Ts,Fi...)VEGDYN
CATCH
ICELAND
(Ts,Fi...)
SURFACE
DYNAMICS
AGCM
COUPLED
OGCM
OGCM
GEOS-5 Stand-Alone Ocean
AGCM
CAP HISTORY
RADIATION
COLUMN PHYSICS
SOLAR
IR
MOIST
TURB
SURFACE
CHEMLAKE
OCEAN
DYNAMICS
GWDFVCORE
(Ts,Fi...)VEGDYN
CATCH
ICELAND
(Ts,Fi...)
SURFACE
DYNAMICS
AGCM
COUPLED
OGCM
OGCM
PoseidonOBIO
GEOS-5 Ocean DAS
AGCM
CAP HISTORY
RADIATION
COLUMN PHYSICS
SOLAR
IR
MOIST
TURB
SURFACE
CHEMLAKE
OCEAN
DYNAMICS
GWDFVCORE
(Ts,Fi...)VEGDYN
CATCH
ICELAND
(Ts,Fi...)
SURFACE
DYNAMICS
AGCM
COUPLED
OGCM
OGCM
OGCMOGCMOGCM
OGCMOGCM
OGCMOGCM
OGCMOGCM
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
GridConfig--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
TURB CHEM
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_DummyGridCompModuse GEOS_Mod, only :: GEOS_GenericSetServices
end module GEOS_DummyGridCompMod
AN ESMF GRIDDED COMPONENT
module GEOS_GridCompMod
use ESMF_Moduse GEOS_Mod implicit noneprivate
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 servicesEnd subroutine SetServices
Subroutine Run(GC….! Do your workEnd subroutine RunEnd 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.