page 1© crown copyright 2004 flume marco christoforou, rupert ford, steve mullerworth, graham...
TRANSCRIPT
© Crown copyright 2004 Page 1
FLUME
Marco Christoforou, Rupert Ford, Steve Mullerworth, Graham Riley, Allyn Treshansky, et. al.
19 October 2007
© Crown copyright 2004 Page 2
• what is FLUME?
• everything you wanted to know about FLUME Metadata
• some other interesting things
• progress report
© Crown copyright 2004 Page 3
What is FLUME?
• FLexible Unified Model Environment
• scientific code is modularised;• infrastructure code is generated
• big plans for UM vn7.0
(a bit)
© Crown copyright 2004 Page 4
What is FLUME?
• a small set of F90 modules which provide types and subroutines to link components into a coherent program
2. Framework
1. Components
• any piece of atomic code that can form part of a composition• “everything is a model”
© Crown copyright 2004 Page 5
What is FLUME?
• a set of tools to aid the user in creating experiments.• helps users to manipulate metadata so that it can be passed on to the code generator.
4. User Interface
3. Code Generator [BFG]
• transforms a metadata description of an experiment into code (and input files) to actually run the experiment
© Crown copyright 2004 Page 6
What is FLUME?
5. Metadata
• links all of the above entities together• describes all necessary aspects of a FLUME experiment• manipulated according to the DCCD paradigm
© Crown copyright 2004 Page 7
FLUME Metadata
why do we need another set of schemas?
• process-driven:• each metadata document corresponds to a particular step in the experiment-creation (DCCD) process
• syntactic:• FLUME describes models at a very low level – it is predominantly syntactic rather than semantic
• generic:• there is almost nothing climate-specific about FLUME metadata
• therefore it shouldn’t need to be extended as new climate configurations emerge
© Crown copyright 2004 Page 8
FLUME Metadata
• definition - defining a job’s components; writing code and creating metadata that follows the FLUME Single Model Guidelines
• configuration - creating a specific instance of a component based upon the set of potential instances described by its definition; filling in the blanks
• composition - creating links between components; specifying the behaviour of the coupled system
• deployment - specifying how to deploy a composition onto computing resources
• validation - ensuring no constraints are broken; ensuring that (definitions) metadata accurately reflects code
DCCD
© Crown copyright 2004 Page 9
FLUME Metadata
machines data grids
resources
roles groups users
administration
“models”
scientific models
transformer models
diagnostic models
composite models
configuration
composition
deployment
modified during definition
grids
modified during configuration
modified during composition
modified during deployment
definitions selections
nonspecific information
model-specific information
experiment-specific information
constraints
© Crown copyright 2004 Page 10
• grids are dissociated from model code and model metadata• grids are defined as resources that (variables within) models can map to
• uninstantiated grids• high-level generic schema just containing some standard names, a set of question / answer pairs, and a reference to a grid instantiator
• grid instantiators• algorithm that takes the answers to a configured uninstantiated grid as input and produces (a set of) instantiated grid(s) as output
• instantiated grids• a “complete” description of a grid (gridspec?)
some interesting things
grids
© Crown copyright 2004 Page 11
some interesting things
• how grid information might flow through flume:• configured grid data is referenced as data by a configured component; this data is passed directly to the component code (as subroutine arguments, for instance)• algorithm instantiates the grid and the FLUME Framework reads that information directly (and uses it for coupling, for instance)
© Crown copyright 2004 Page 12
some interesting things
• specify logical relationships among metadata elements• built into metadata (written in XML)• implicit vs. explicit constraints• local vs. global constraints
constraints
© Crown copyright 2004 Page 13
some interesting things
© Crown copyright 2004 Page 14
progress report
• framework can flexibly couple toy models (add and remove models, change coupling options, etc.)
framework
components
• “FLUMEifying” the UM Atmosphere (stripping out infrastructure code)
© Crown copyright 2004 Page 15
progress report
metadata & code generator• basic structure is there• code generation “works”• grids• decompositions• constraints• more complex compositions
© Crown copyright 2004 Page 16
final thoughts
where does FLUME fit within the vast menagerie of standards• compatible with OASIS because using OASIS will be a deployment option• complementary to ESMF because generating ESMF models is a target of BFG• incorporates (a variant of) BFG• agnostic (probably) about model output metadata• has a different goal than NMM • one of the standards informing METAFOR• as for Curator…
© Crown copyright 2004 Page 17
the end
© Crown copyright 2004 Page 18
the end
© Crown copyright 2004 Page 19
the end
© Crown copyright 2004 Page 20
the end
© Crown copyright 2004 Page 21
the end