use of esmf in the geos-5 modeling and assimilation system

Report
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 ESMFregistered 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
ESMF Gridded Component
Small, light-weight
“Cap”
gridded components
based on GEOS_Generic
services
ESMF Coupler Component
COMPOSITE
COMPONENTS
(“physical” Couplers)
BASE COMPONENTS
“True” couplers
Can be generic
GEOS-5 AGCM COMPONENT STRUCTURE
CAP
HISTORY
AGCM
COLUMN PHYSICS
DYNAMICS
(qv, ql, qi, cl,…)
MOIST
RADIATION
TURB
CHEM
SOLAR
IR
LAND
SURFACE
ICE
LAKE
(Ts,Fi...)
CATCH
(Tc, qc, Td,...)
VEGDYN
(Ts,Fi...)
OCEAN
FVCORE
(u, v, T, p)
GWD
SINGLE-COLUMN MODEL
CAP
CAP
AGCM
DYNAMICS
COLUMN PHYSICS
DYNAMICS
(qv, ql, qi, cl,…)
MOIST
SURFACE
RADIATION
TURB
CHEM
SOLAR
(ro3,…)
IR
SURFACE
LAND
LAKE
(Ts,Fi...)
(Tc, qc, Td,...)
DATA OCEAN
FVCORE
(u, v, T, p)
GWD
GEOS-5 AGCM COMPONENT STRUCTURE
CAP
HISTORY
AGCM
COLUMN PHYSICS
DYNAMICS
MOIST
RADIATION
DYNAMICS
TURB
SOLAR
FVCORE
IR
SURFACE
SURFACE
CHEM
LAND
ICE
LAKE
(Ts,Fi...)
CATCH
(Tc, qc, Td,...)
VEGDYN
(Ts,Fi...)
OCEAN
GWD
GEOS-5 AGCM COMPONENT STRUCTURE
CAP
HISTORY
AGCM
COLUMN PHYSICS
DYNAMICS
MOIST
RADIATION
DYNAMICS
TURB
SOLAR
FVCORE
IR
SURFACE
SURFACE
CHEM
LAND
ICE
LAKE
(Ts,Fi...)
CATCH
(Tc, qc, Td,...)
VEGDYN
(Ts,Fi...)
OCEAN
GWD
GEOS-5 COUPLED MODEL STRUCTURE
HISTORY
CAP
COUPLED
AGCM
OGCM
AGCM
OGCM
COLUMN PHYSICS
DYNAMICS
MOIST
RADIATION
DYNAMICS
TURB
SOLAR
FVCORE
IR
SURFACE SURFACE
CHEM
LAND
CATCH
VEGDYN
ICE
(Ts,Fi...)
OCEAN
LAKE
(Ts,Fi...)
GWD
GEOS-5 Stand-Alone Ocean
HISTORY
CAP
COUPLED
AGCM
OGCM
AGCM
OGCM
COLUMN PHYSICS
DYNAMICS
MOIST
RADIATION
DYNAMICS
TURB
SOLAR
FVCORE
IR
SURFACE SURFACE
CHEM
LAND
CATCH
VEGDYN
ICE
(Ts,Fi...)
OCEAN
LAKE
(Ts,Fi...)
GWD
Poseidon
OBIO
GEOS-5 Ocean DAS
CAP
COUPLED
AGCM
AGCM
OGCM
AGCM
COLUMN PHYSICS
DYNAMICS
MOIST
RADIATION
DYNAMICS
TURB
SOLAR
FVCORE
IR
SURFACE SURFACE
CHEM
LAND
CATCH
VEGDYN
ICE
(Ts,Fi...)
OCEAN
HISTORY
LAKE
(Ts,Fi...)
GWD
OGCM
OGCM
OGCM
OGCM
OGCM
OGCM
OGCM
OGCM
OGCM
OGCM
OGCM
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 openended sets of state variables, etc.
–
.
Restrictions apply
Children’s imports
are satisfied among
by siblings or added
to parent’s imports,
until the reach the
cap.
HISTORY
CAP
Exports are passed up from
child to parent, until they
reach the cap, where they
can be written out.
COLUMN PHYSICS
MOIST
RADIATION
TURB
SOLAR
IR
CHEM
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
AN ESMF GRIDDED COMPONENT
module GEOS_DummyGridCompMod
use GEOS_Mod, only :: GEOS_GenericSetServices
end module GEOS_DummyGridCompMod
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.

similar documents