CSN Motivation

From CSDMS
Revision as of 09:35, 10 August 2014 by Peckhams (talk | contribs) (→‎    CSDMS Standard Names — Motivation)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

    CSDMS Standard Names — Motivation

Most models require input variables and produce output variables. In a component-based modeling framework like CSDMS, a set of components becomes a complete model when every component is able to obtain the input variables it needs from another component in the set. Ideally, we want a modeling framework to automatically
  • Determine whether a set of components provides a complete model and
  • Determine whether a set of components have compatible assumptions and physics.
  • Connect each component that requires a certain input variable to another
    component in the set that can provide that variable as output.
However, this kind of automation requires a semantic matching mechanism for determining whether — and the degree to which — two variable names refer to the same quantity and whether they use the same units and are defined or measured in the same way.
The CSDMS Standard Names provide a practical solution to this semantic mediation problem. While the CF Convention Standard Names that were introduced in the domain of ocean and atmosphere modeling have somewhat overlapping goals, the CSDMS Standard Names provide a more comprehensive set of naming rules and patterns that are not specific to any particular modeling domain. They were also designed to have many other nice features such as parsability and natural alphabetical grouping. CSDMS Standard Names always consist of an object part and a quantity/attribute part and the quantity part may also have an operation prefix which can consist of multiple operations. Unlike the CF Standard Names, assumptions and explanations are not included in the name itself but are instead selected from a standardized list and specified with <assume> tags in a Model Metadata File (XML) that clarifies how a given model uses the name.
The CSDMS Standard Names can be viewed as a lingua franca that provides a bridge for mapping variable names between models. They play an important role in the Basic Model Interface (BMI) developed by CSDMS. Model developers are asked to provide a BMI interface and Model Coupling Metadata (MCM) file that includes a mapping of their model's internal variable names to CSDMS Standard Names. If widely adopted, this naming system could also provide other benefits, such as providing a better discovery mechanism for finding models on the web.