SlideShare ist ein Scribd-Unternehmen logo
1 von 46
The CSDMS Standard Names:
Cross-Domain Naming Conventions
for Describing Process Models,
Data Sets and Their Associated
Variables
Scott D. Peckham, University of Colorado, and
Former Chief Software Architect for CSDMS
June 25, 2014
EarthCube All Hands Meeting, Washington, DC
Linking Component-based Models:
How Can Two Models Differ?
• Programming language
(C, C++, Fortran, Java, Python, etc.)
Solution: Babel and Bocca (CCA toolchain)
• Computational grid
(triangles, rectangles, Voronoi, etc.)
Solution: ESMF regridder (parallel, spatial interpol.)
• Timestepping scheme
(fixed, adaptive, local)
Solution: Temporal interpolation tool
• Variable names
Need some means of “semantic mediation”
Solution: CSDMS Standard Names
• Variable units
Solution: UDUNITS (Unidata)
Semantic Matching for Model Variables
Hydro Model A
Output variables:
•streamflow
•rainrate
Hydro Model A
Output variables:
•streamflow
•rainrate
Hydro Model B
Input variables:
•discharge
•precip_rate
Hydro Model B
Input variables:
•discharge
•precip_rate
CSDMS Standard Names
•watershed_outlet_water__
volume_outflow_rate
•atmosphere_water__liquid_
equivalent_precipitation_rate
CSDMS Standard Names
•watershed_outlet_water__
volume_outflow_rate
•atmosphere_water__liquid_
equivalent_precipitation_rate
Goal: Remove ambiguity so that
the framework can automatically
match outputs to inputs.
Types of Quantities we Need
Associated with Processes:
snow__melt_rate, land_surface__longwave_radiation_flux
Generated from mathematical operations:
bedrock_surface__time_derivative_of_elevation
sea_water__northward_component_of_velocity
Dimensionless numbers:
channel_water__froude_number
Mathematical and physical constants:
earth__standard_gravity_constant (“little g”)
physics__universal_gravitational_constant (“big G”)
Empirical parameters:
glacier_glen-law__exponent, channel_bed__manning_coefficient
Flow rates and fluxes (incoming or outgoing):
lake_water__volume_inflow_rate
Reference quantities:
wind__reference-height_speed, wind__speed_reference_height
Unambiguous Quantity Names
Avoid jargon and keep objects out of quantity names
rainrate
precipitation_rate
liquid_equivalent_precipitation_rate
streamflow
discharge
volume_inflow_rate
volume_outflow_rate
specific_discharge
darcy_velocity
Note: Text books and Wikipedia
pages are often good sources
for learning about how to use
quantity names correctly within a
given science domain.
relative_humidity
air_water-vapor__relative_saturation
As opposed to:
liquid_water_equivalent
snow_water_equivalent
The CSDMS Standard Names
Data Models like RDF and EAV use triples like:
Subject + Predicate + Object, and
Entity/Object + Attribute + Value (object-oriented)
CSDMS Standard Names use a similar template for creating
unambiguous and easily understood standard variable names or
preferred labels according to a set of rules. These are then used to
retrieve/match values (and metadata). The template is:
Object name + [Operation name] + Quantity name
Examples:
atmosphere_carbon-dioxide__partial_pressure
atmosphere_water__liquid_equivalent_precipitation_rate
earth_ellipsoid__equatorial_radius
soil__saturated_hydraulic_conductivity
Quantity Name Patterns
A fairly small number of patterns covers most quantity names.
“Base Quantity” Name Examples
altitude, amplitude, angle, area, capacity,
charge, code, coefficient, conductivity,
constant, cost, current, date, density, depth,
diameter, distance, duration, efficiency,
elevation, energy, factor, fee, flux, force,
fraction, frequency, heat, height, index,
intensity, length, mass, number, parameter,
period, pressure, price, radius, rate, ratio,
slope, speed, stress, temperature, time,
velocity, viscosity, voltage and wavelength.
Word Order in Quantity Names
Starting with a base quantity, descriptive words are added to
the left in an effort to construct an unambiguous and easily
understood object name. The addition of each new word (or
words) produces a more restrictive or specific name from the
previous name. For example:
conductivity
hydraulic_conductivity (vs. electrical or thermal)
saturated_hydraulic_conductivity
effective_saturated_hydraulic_conductivity
Note: hydraulic_conductivity and saturated_hydraulic_conductivity are both fundamental
quantities used in groundwater models. The adjective effective could be applied to either of
them to indicate application at a given scale. Note also that saturated could have been applied
to "soil", the associated object, but saturated_hydraulic_conductivity is a fundamental quantity.
Standard Process Names
From this work it became clear that process names could be
viewed as nouns derived from verbs, usually ending with:
tion (e.g. absorption, convection, radiation),
sion (e.g. conversion, dispersion, submersion),
ing (e.g. melting, swimming, upwelling),
age (e.g. drainage, seepage, storage),
y (e.g. discovery, recovery, reentry),
ance (e.g. acceptance, disturbance, maintanence),
ment (e.g. alignment, improvement, recruitment),
al (e.g. arrival, disposal, removal, retrieval) and
sis (e.g. osmosis, metamorphosis, dialysis, paralysis)
A collection of over 1300 standardized process names can be
found at: http://csdms.colorado.edu/wiki/CSN_Process_Names
Process Name + Quantity Pattern
Much of science is concerned with the study of natural and physical
processes, so it should not be surprising that a large number of
quantity names are constructed from a process name and a base
quantity name. (See CSDMS wiki for over 525 examples.)
However, for process names that end with ing, the ending is often
dropped as in: burn, creep, flow, lapse, melt, shear and tilt.
(e.g. snow__melt_rate, channel_bed__shear_stress.)
Many process names can be paired with "_rate” to create a quantity
name: e.g. precipitation_rate. Some process names are more
naturally paired with an ending other than "_rate", e.g.
dilution_ratio
drainage_area
escape_speed
gestation_period
identification_number
inclination_angle
penetration_depth
radiation_flux
relaxation_time
striking_distance
turning_radius
vibration_frequency
Flow Rates and Fluxes
Process + Quantity Name Pattern
Flow rates and fluxes are used to quantify the rate at which mass,
momentum, energy, volume or moles move into or out of a control
volume. Rate implies “per unit time” and a flux is a flow rate per unit
area. e.g. mass_ flow_rate [kg s-1], mass_flux [kg s-1 m-2].
When a process name is used to construct a quantity name, the
process should be one that pertains to the object name part. If
chosen carefully, the process name can clarify whether the flux or
flow rate is incoming or outgoing (incident or emitted), e.g.
land_surface__diffuse_shortwave_irradiation_flux
land_surface__longwave_radiation_flux
lake_water__volume_inflow_rate
lake_water__volume_outflow_rate
Note: Perhaps allow
influx and outflux ?
Operation Name + Quantity Pattern
bedrock_surface__2nd_time_derivative_of_elevation
sea_water__time_derivative_of_northward_component_of_velocity
soil__log_of_hydraulic_conductivity
soil__time_derivative_of_saturated_hydraulic_conductivity
watershed_outlet_water__area_time_integral_of_volume_outflow_rate
watershed_outlet_water__daily_mean_of_volume_outflow_rate
watershed_outlet_water__time_max_of_volume_outflow_rate
Mathematical operations are often applied to a quantity in
order to create a new quantity which often has different units.
These operations have standard names or abbreviations and in
the CSDMS Standard Names they always end with the reserved
word of (used as a delimiter) as in:
Note that they can also be chained together as in the second example.
Standard Assumption Names
Assumptions --- interpreted broadly to include:
conditions, simplifications, approximations, limitations,
conventions, provisos, exclusions, restrictions, etc.
--- are not included in CSDMS Standard Variable Names.
Instead, developers are encouraged to use multiple <assume>
tags in a Model Metadata File to clarify how they are using a
CSDMS Standard Name within their model. (Read once at start.)
In order for a Modeling Framework to be able to compare the
assumptions made by different models (about the model or its
variables), standard assumption names are needed, in addition
to the standard variable names.
Standard Assumption Names
Assumption Type: Example
Boundary conditions: no_slip_boundary_condition
Conserved quantities: momentum_conserved
Coordinate system: cartesian_coordinate_system
Angle conventions: clockwise_from_north_convention
Dimensionality: 2_dimensional
Equations used: navier_stokes_equation
Closures: eddy_viscosity_turbulence_closure
Flow-type assumptions: laminar_flow
Fluid-type assumptions: herschel_bulkley_fluid
Geometry assumptions: trapezoid_shaped
Named model assumptions: green_ampt_infiltration_model
Thermodynamic processes: isenthalpic_process
Approximations: boussinesq_approximation
Averaging methods: reynolds_averaged
Numerical methods used: arakawa_c_grid
State of matter: liquid_phase
Summary
For More Information
Main Page: csdms.colorado.edu/wiki/CSDMS_Standard_Names
Basic Rules: csdms.colorado.edu/wiki/CSN_Basic_Rules
Object Names: csdms.colorado.edu/wiki/CSN_Object_Templates
Operation Names: csdms.colorado.edu/wiki/CSN_Operation_Templates
Quantity Names: csdms.colorado.edu/wiki/CSN_Quantity_Templates
Process Names: csdms.colorado.edu/wiki/CSN_Process_Names
Assumption Names: csdms.colorado.edu/wiki/CSN_Assumption_Names
Metadata Names: csdms.colorado.edu/wiki/CSN_Metadata_Names
Model Metadata Files: csdms.colorado.edu/wiki/CSN_MMF_Example
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). Model developers are asked to provide a BMI interface that
includes a mapping of their model's internal variable names to CSDMS Standard Names
and a Model Metadata File that provides model assumptions and other information.
IMPORTANT: Model developers continue to use whatever variable names they want to
in their code, but then "map" each of their internal variable names to the appropriate
CSDMS standard name in their BMI implementation.
Summary
The CSDMS Standard Names are a work in progress but they are
already being used successfully for in the CSDMS framework.
More rules and patterns will be added as they are identified.
The goal is to create unambiguous and easily understood
standard names. Developers map variable names to them.
Standardized metadata such as units, assumptions and
georeferencing info can be associated with any standard name
to further clarify how the model developer is using it.
For more information, please see the wiki pages at:
http://csdms.colorado.edu/wiki/CSDMS_Standard_Names
2008 2009 2010 2011 2012
200
400
600
800
Number of CSDMS Members vs. Time
Terrestrial:
456
Coastal: 354
Marine: 240
Cyber: 150
EKT: 152
Working Groups:
982 Members
as of Feb. 19, 2013
Hydrology: 349
Carbonate: 65
Chesapeake: 62
Focus Research Groups:
Critical Zone: 7
Anthropocene: 3
Quantity Suffix Pattern
Examples:
elevation_increment
equation_term
frequency_limit
gradient_magnitude
length_scale
mass_ratio
time_step
pressure_anomaly
temperature_correction
velocity_component
volume_fraction
A quantity suffix is a word
that is added as a suffix to a
quantity name that creates a
new quantity, but usually
with the same units.
In most cases, they can also be viewed as
an operation that is applied to the
quantity, e.g.
increment_of_elevation
vs.
elevation_increment
magnitude_of_gradient
vs.
gradient_magnitude
Object-in-object Quantity Pattern
carbon_dioxide_in_air__partial_pressure
carbon_dioxide_in_air__relative_saturation
carbon_dioxide_in_water__solubility
clay_in_soil__volume_fraction (or silt or sand or water)
helium_plume_in_air__richardson_number
oxygen_in_water__mole_concentration
suspended_sediment_in_water__volume_concentration
visible_light_in_air__speed
water_in_ethanol__dilution_ratio
Object-to-object Quantity Pattern
brain_to_body__mass_ratio
carbon_to_hydrogen_bond__length
carbon_to_hydrogen_bond__dissociation_energy
earth_to_mars__travel_time
earth_to_sun__mean_distance
rubber_to_pavement__static_friction_coefficient
Object-in-object Quantity Pattern
air_with_carbon-dioxide__partial_pressure
air_with_water-vapor__relative_saturation
water_with_carbon-dioxide__solubility
soil_with_clay__volume_fraction (or silt or sand or water)
air_with_helium_plume__richardson_number
water_with_oxygen__mole_concentration
water_with_suspended-sediment__volume_concentration
air_with_visible-light__speed
ethanol_with_water__dilution_ratio
Object-to-object Quantity Pattern
brain_to_body__mass_ratio
carbon_to_hydrogen_bond__length
carbon_to_hydrogen_bond__dissociation_energy
earth_to_mars__travel_time
earth_to_sun__mean_distance
rubber_to_pavement__static_friction_coefficient
Object-in-object Quantity Pattern
air_carbon-dioxide__partial_pressure
air_water-vapor__relative_saturation
water__carbon-dioxide__solubility
soil_clay__volume_fraction (or silt or sand or water)
air_helium_plume__richardson_number
water_oxygen__mole_concentration
water_suspended-sediment__volume_concentration
air_visible-light__speed
ethanol_water__dilution_ratio
Object-to-object Quantity Pattern
brain_to_body__mass_ratio
carbon_to_hydrogen_bond__length
carbon_to_hydrogen_bond__dissociation_energy
earth_to_mars__travel_time
earth_to_sun__mean_distance
rubber_to_pavement__static_friction_coefficient
Quantity-to-Quantity Pattern
channel_cross-section__width_to_depth_ratio
electron__charge_to_mass_ratio
watershed_outlet_cross-section__width_to_depth_ratio
Sometimes a compound quantity is created through some
combination of two other quantities that are associated with
the same object. For example, this can occur when ratio is used
as a quantity suffix, as in:
Design Objectives
For CSDMS Standard Variable Names (i.e. naming conventions).
List of Design Objectives
Avoid ambiguous variable names.
Avoid domain-specific terminology.
Use generic or already-standardized object names.
Support for approximate or closest matches.
Ability to specific multiple objects.
Avoid mixing object names into quantity names.
Parsability and strict adherence to rules.
Natural grouping by object via alphabetization.
Support for mathematical operations.
Support for dimensionless numbers.
Support for mathematical and physical constants.
Support for empirical parameters.
Support for incoming or outgoing flow rates and fluxes.
Support for reference quantities.
Support for an arbitrary number of assumptions for each name.
The CSDMS Standard Names
Actually consist of several “controlled vocabularies” and a set
of naming conventions or rules for combining them, i.e.
Standard Variable Names
Standard Process Names
Standard Base Quantity Names
Standard Quantity Names
Standard Operation Names
The rules are derived from spoken English and analysis of
speech patterns. Scientists often use domain-specific jargon
for expediency, but most also know how to avoid this jargon
and use more widely understood terms (not prone to
ambiguity) when speaking to scientists in other domains.
Standard Operation Names
Time derivatives: e.g. time_derivative, 2nd_time_derivative
Spatial derivatives:
General derivatives:
Space and time integrals:
Functions of one variable:
Statistical operations:
Operations on vectors that return scalars:
Operations that return vectors:
Operations on tensors that return scalars:
Note that they can also be chained together as in: time_of_max_of.
Reconciling Differences with Standards
If we reconcile differences between
the resources in a pairwise manner,
the amount of work, etc. grows fast:
Cost(N) = N (N-1) / 2 ~ N2
.
vs.
Introduce a new, generic or
standard representation (the
“hub”), then map resources to
and from it. The amount of work,
maintenance, etc. drops to:
Cost(N) = N.
Choosing Unambiguous Names
rainrate
precipitation_rate
liquid_equivalent_precipitation_rate
streamflow
discharge
volume_inflow_rate
volume_outflow_rate
specific_discharge
darcy_velocity
Note: Text books and
Wikipedia pages are often good
sources for learning about how
to use
quantity names correctly within
a given science domain.
Keep Objects out of Quantity Names
For an object/substance that can be a gas, liquid or solid, an adjective
like liquid equivalent may be needed to remove ambiguity, e.g.
atmosphere_water__liquid_equivalent_precipitation_flux
Taming Heterogeneity with Interfaces
Before:
Each resource is unique.
Own ways of doing things.
Respond differently.
Can become unstable.
Difficult to control.
After:
Uniform outward appearance.
Respond to same commands.
Interchangeable units.
Have a chain of command.
Work as a team.
Motivation for Standard Names
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 if a set of components provides a complete model.
•Connect each component that requires a certain input variable to
another component in the set that provides that variable as output.
This kind of automation requires a 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.
Important Note
Model developers do not replace variables in their
code with CSDMS Standard Names. They only need to
provide a mapping (e.g. a Python dictionary) of their
input and output variables to CSDMS Standard Names
and provide a Model Metadata File with assumptions,
units, grid type, etc.
This is part of the Basic Model Interface (BMI) that
CSDMS asks model developers to provide.
What About CF Standard Names?
• Created by LLNL for naming variables in NetCDF files.
• Domain-specific: Almost exclusively ocean and atmosphere model
variables. (e.g. “tendency_of” instead of “time_derivative_of”)
• Incomplete rules: No rules for constants, dimensionless numbers ,
reference quantities and many other quantity types.
• Complex name-generation template (& inconsistently used):
[surface] [component] standard_name [at surface] [in medium]
[due to process] (for terms in an equation)
[assuming condition] (for assumptions)
• May also have a transformation prefix (e.g “magnitude_of”)
• Assumptions are included in the name itself via “_assuming_*”.
• http://cf-pcmdi.llnl.gov/documents/cf-standard-names/guidelines
Model-specific Quantity Pattern
channel_water__hydraulic_geometry_depth_vs_discharge_exponent
channel_water__hydraulic_geometry_slope_vs_discharge_coefficient
channel_water__hydraulic_geometry_width_vs_discharge_exponent
channel_bed__manning_coefficient
glacier__glen_law_coefficient
glacier__glen_law_exponent
soil__brooks_corey_conductivity_exponent (Smith, 2002)
soil__brooks_corey_pore_size_distribution_parameter
soil__green_ampt_capillary_length_scale
soil__transitional_brooks_corey_curvature_parameter (Smith, 2002)
watershed__flint_law_coefficient
watershed__flint_law_exponent
watershed__hack_law_coefficient
watershed__hack_law_exponent
Many variables are associated with some kind of mathematical
model of a natural object or its properties. Many are associated
with power-law approximations and a person’s name, e.g.
CSDMS Standard Names: Basic Rules
All names consist of an object name and a quantity name separated by
double underscores (e.g. air__temperature)
Object name + [Operation name] + Quantity name
Standard names consist of lower-case letters and digits. They contain no
blank spaces. Underscores are inserted into some compound words.
Underscores are used as separators between words and hyphens are used in
two-word object names such as carbon-dioxide.
The rightmost word in an object name is a base_object. The rightmost word
in a quantity name is a base_quantity.
Some naming rules use reserved words, such as: of, in, on, at and to.
A possessive “s” is never added to the end of a person’s name, but many
names end in “s”, like “Reynolds” and “Stokes”.
brammo_empulse_electric-motorcycle__rake_angle
brammo_empulse_electric-motorcycle__wheelbase_length
Quantities for a Brammo Empulse Electric Motorcycle
Object Name + Model Name Pattern
channel_centerline__valley_sinuosity
channel_cross-section_trapezoid__bottom_width
crater_circle__radius
earth_ellipsoid__equatorial_radius
earth_mean-sea-level-datum_air__pressure
land_surface__plan_curvature
Objects are often idealized by a geometric shape or other
“model”. Certain quantities may only be well-defined for the
model as opposed to the actual object. Examples include:
Object Name Patterns
A fairly small number of patterns covers most object names.
Word Order in Object Names
Starting with a base object, descriptive words are added to the
left in an effort to construct an unambiguous and easily
understood object name. The addition of each new word (or
words) produces a more restrictive or specific name from the
previous name. For example:
bear tree
black_bear oak_tree
alaskan_black_bear bluejack_oak_tree
However, in the Part of Another Object Pattern, words added to the left
could be objects that indicate nested containment, e.g.:
bluejack_oak_tree_trunk_cross_section__diameter
Part of Another Object Pattern
alaskan_black_bear_brain_to_body__mass_ratio
alaskan_black_bear_head__mean_diameter
bluejack_oak_tree_trunk_cross_section__diameter
brammo_empulse_electric_motorcycle__rake_angle
brammo_empulse_electric_motorcycle__wheelbase_length
channel_cross-section__wetted_perimeter
channel_cross-section__area
earth_axis__tilt_angle
earth_orbit__eccentricity
gm_hummer_gas-tank__volume
gm_hummer__fuel_economy [mpg]
We can also use “nested containment” to indicate which part of an object,
as in: atmosphere_top, channel_bed, channel_inflow_end, glacier_top,
sea_floor_surface, sea_surface.
Two-Object Quantities
earth_to_sun__mean_distance
rubber_to_pavement
__kinetic_friction_coefficient water_carbon-dioxide__solubility
methane_molecule_c_to_h
__bond_length
glass_visible-light
__standard_
refraction_index
Object-in-object Quantity Pattern
air_carbon-dioxide__partial_pressure
air_water-vapor__relative_saturation
water__carbon-dioxide__solubility
soil_clay__volume_fraction (or silt or sand or water)
air_helium_plume__richardson_number
water_oxygen__mole_concentration
water_suspended-sediment__volume_concentration
air_visible-light__speed
ethanol_water__dilution_ratio
Object-to-object Quantity Pattern
brain_to_body__mass_ratio
carbon_to_hydrogen_bond__length
carbon_to_hydrogen_bond__dissociation_energy
earth_to_mars__travel_time
earth_to_sun__mean_distance
rubber_to_pavement__static_friction_coefficient

Weitere ähnliche Inhalte

Andere mochten auch

Rlo 2u nit6-ec-jacksonlearningspaces
Rlo 2u nit6-ec-jacksonlearningspacesRlo 2u nit6-ec-jacksonlearningspaces
Rlo 2u nit6-ec-jacksonlearningspaceselisacjackson
 
Models and Architecture - Connected Services and Cloud Computing
Models and Architecture - Connected Services and Cloud ComputingModels and Architecture - Connected Services and Cloud Computing
Models and Architecture - Connected Services and Cloud ComputingEueung Mulyana
 
LEED v4 Green Building Focuses on Lighting
LEED v4 Green Building Focuses on Lighting LEED v4 Green Building Focuses on Lighting
LEED v4 Green Building Focuses on Lighting Rob Freeman
 
Architecture Models
Architecture ModelsArchitecture Models
Architecture Modelsjdigiorgio
 
BS5 - Lecture 2 HVAC Systems
BS5 - Lecture 2 HVAC SystemsBS5 - Lecture 2 HVAC Systems
BS5 - Lecture 2 HVAC SystemsSiddharth Khanna
 
Abstract Art sgp power point
Abstract Art sgp power pointAbstract Art sgp power point
Abstract Art sgp power point102235
 
Light pollution power point presentation
Light pollution power point presentationLight pollution power point presentation
Light pollution power point presentationChinku009
 
Centralized ac system
Centralized ac systemCentralized ac system
Centralized ac systemFebin Siby
 
Light and architecture
Light and architectureLight and architecture
Light and architectureAtul Pathak
 
Complete hvac ppt by kk 354647.pptx 1234
Complete hvac ppt by kk 354647.pptx 1234Complete hvac ppt by kk 354647.pptx 1234
Complete hvac ppt by kk 354647.pptx 1234KRISHAN KUMAR
 
Hvac presentation for beginers
Hvac presentation for beginersHvac presentation for beginers
Hvac presentation for beginersguestf11b52
 

Andere mochten auch (18)

Piet Mondrian
Piet MondrianPiet Mondrian
Piet Mondrian
 
Rlo 2u nit6-ec-jacksonlearningspaces
Rlo 2u nit6-ec-jacksonlearningspacesRlo 2u nit6-ec-jacksonlearningspaces
Rlo 2u nit6-ec-jacksonlearningspaces
 
Cubism
CubismCubism
Cubism
 
Models and Architecture - Connected Services and Cloud Computing
Models and Architecture - Connected Services and Cloud ComputingModels and Architecture - Connected Services and Cloud Computing
Models and Architecture - Connected Services and Cloud Computing
 
LEED v4 Green Building Focuses on Lighting
LEED v4 Green Building Focuses on Lighting LEED v4 Green Building Focuses on Lighting
LEED v4 Green Building Focuses on Lighting
 
Architecture Models
Architecture ModelsArchitecture Models
Architecture Models
 
BS5 - Lecture 2 HVAC Systems
BS5 - Lecture 2 HVAC SystemsBS5 - Lecture 2 HVAC Systems
BS5 - Lecture 2 HVAC Systems
 
Abstract Art sgp power point
Abstract Art sgp power pointAbstract Art sgp power point
Abstract Art sgp power point
 
Light pollution
Light pollutionLight pollution
Light pollution
 
Abstract Art
Abstract ArtAbstract Art
Abstract Art
 
Light pollution power point presentation
Light pollution power point presentationLight pollution power point presentation
Light pollution power point presentation
 
Centralized ac system
Centralized ac systemCentralized ac system
Centralized ac system
 
Basics of Indoor Lighting
Basics of Indoor LightingBasics of Indoor Lighting
Basics of Indoor Lighting
 
Light and architecture
Light and architectureLight and architecture
Light and architecture
 
Complete hvac ppt by kk 354647.pptx 1234
Complete hvac ppt by kk 354647.pptx 1234Complete hvac ppt by kk 354647.pptx 1234
Complete hvac ppt by kk 354647.pptx 1234
 
HVAC Basic Concepts of Air Conditioning
HVAC Basic Concepts of Air ConditioningHVAC Basic Concepts of Air Conditioning
HVAC Basic Concepts of Air Conditioning
 
Hvac presentation for beginers
Hvac presentation for beginersHvac presentation for beginers
Hvac presentation for beginers
 
Air conditioning system
Air conditioning systemAir conditioning system
Air conditioning system
 

Ähnlich wie AHM 2014: The CSDMS Standard Names, Cross-Domain Naming Conventions for Describing Process Models, Data Sets and Their Associated Variables

Peckham 2014 i_em_ss
Peckham 2014 i_em_ssPeckham 2014 i_em_ss
Peckham 2014 i_em_ssEarthCube
 
Fluent and Gambit Workshop
Fluent and Gambit WorkshopFluent and Gambit Workshop
Fluent and Gambit Workshopkhalid_nitt
 
WHAT IS COMPUTATIONAL FLUID DYNAMICS (CFD)
WHAT IS COMPUTATIONAL FLUID DYNAMICS (CFD)WHAT IS COMPUTATIONAL FLUID DYNAMICS (CFD)
WHAT IS COMPUTATIONAL FLUID DYNAMICS (CFD)Malik Abdul Wahab
 
Pros and-cons-of-cfd-and-physical-flow-modeling
Pros and-cons-of-cfd-and-physical-flow-modelingPros and-cons-of-cfd-and-physical-flow-modeling
Pros and-cons-of-cfd-and-physical-flow-modelingHashim Hasnain Hadi
 
Do not crawl in the dust 
different ur ls similar text
Do not crawl in the dust 
different ur ls similar textDo not crawl in the dust 
different ur ls similar text
Do not crawl in the dust 
different ur ls similar textGeorge Ang
 
FLUID MECHANICS - COMPUTATIONAL FLUID DYNAMICS (CFD)
FLUID MECHANICS - COMPUTATIONAL FLUID DYNAMICS (CFD)FLUID MECHANICS - COMPUTATIONAL FLUID DYNAMICS (CFD)
FLUID MECHANICS - COMPUTATIONAL FLUID DYNAMICS (CFD)YOGESH AHIRE
 
Data Requirements for Groundwater Modelling
Data Requirements for Groundwater ModellingData Requirements for Groundwater Modelling
Data Requirements for Groundwater ModellingC. P. Kumar
 
Computational Fluid Dynamics (CFD)
Computational Fluid Dynamics (CFD)Computational Fluid Dynamics (CFD)
Computational Fluid Dynamics (CFD)Taani Saxena
 
CFD Concepts.ppt
CFD Concepts.pptCFD Concepts.ppt
CFD Concepts.pptbeline1
 
Elements CAE white paper
Elements CAE white paperElements CAE white paper
Elements CAE white paperAngus Lock
 
Effect of Geometry on Variation of Heat Flux and Drag for Launch Vehicle -- Z...
Effect of Geometry on Variation of Heat Flux and Drag for Launch Vehicle -- Z...Effect of Geometry on Variation of Heat Flux and Drag for Launch Vehicle -- Z...
Effect of Geometry on Variation of Heat Flux and Drag for Launch Vehicle -- Z...Abhishek Jain
 

Ähnlich wie AHM 2014: The CSDMS Standard Names, Cross-Domain Naming Conventions for Describing Process Models, Data Sets and Their Associated Variables (20)

Peckham 2014 i_em_ss
Peckham 2014 i_em_ssPeckham 2014 i_em_ss
Peckham 2014 i_em_ss
 
Computational Fluid Dynamics
Computational Fluid DynamicsComputational Fluid Dynamics
Computational Fluid Dynamics
 
Fluent and Gambit Workshop
Fluent and Gambit WorkshopFluent and Gambit Workshop
Fluent and Gambit Workshop
 
WHAT IS COMPUTATIONAL FLUID DYNAMICS (CFD)
WHAT IS COMPUTATIONAL FLUID DYNAMICS (CFD)WHAT IS COMPUTATIONAL FLUID DYNAMICS (CFD)
WHAT IS COMPUTATIONAL FLUID DYNAMICS (CFD)
 
Pros and-cons-of-cfd-and-physical-flow-modeling
Pros and-cons-of-cfd-and-physical-flow-modelingPros and-cons-of-cfd-and-physical-flow-modeling
Pros and-cons-of-cfd-and-physical-flow-modeling
 
Do not crawl in the dust 
different ur ls similar text
Do not crawl in the dust 
different ur ls similar textDo not crawl in the dust 
different ur ls similar text
Do not crawl in the dust 
different ur ls similar text
 
FLUID MECHANICS - COMPUTATIONAL FLUID DYNAMICS (CFD)
FLUID MECHANICS - COMPUTATIONAL FLUID DYNAMICS (CFD)FLUID MECHANICS - COMPUTATIONAL FLUID DYNAMICS (CFD)
FLUID MECHANICS - COMPUTATIONAL FLUID DYNAMICS (CFD)
 
Data Requirements for Groundwater Modelling
Data Requirements for Groundwater ModellingData Requirements for Groundwater Modelling
Data Requirements for Groundwater Modelling
 
Paper RotCFD NASA
Paper RotCFD NASAPaper RotCFD NASA
Paper RotCFD NASA
 
Cfd 0
Cfd 0Cfd 0
Cfd 0
 
NoSql Database
NoSql DatabaseNoSql Database
NoSql Database
 
Lecture_CFD.ppt
Lecture_CFD.pptLecture_CFD.ppt
Lecture_CFD.ppt
 
SCITECH_2015
SCITECH_2015SCITECH_2015
SCITECH_2015
 
Computational Fluid Dynamics (CFD)
Computational Fluid Dynamics (CFD)Computational Fluid Dynamics (CFD)
Computational Fluid Dynamics (CFD)
 
CFD Concepts.ppt
CFD Concepts.pptCFD Concepts.ppt
CFD Concepts.ppt
 
CFD_notes.pdf
CFD_notes.pdfCFD_notes.pdf
CFD_notes.pdf
 
Cfd 0
Cfd 0Cfd 0
Cfd 0
 
Elements CAE white paper
Elements CAE white paperElements CAE white paper
Elements CAE white paper
 
Effect of Geometry on Variation of Heat Flux and Drag for Launch Vehicle -- Z...
Effect of Geometry on Variation of Heat Flux and Drag for Launch Vehicle -- Z...Effect of Geometry on Variation of Heat Flux and Drag for Launch Vehicle -- Z...
Effect of Geometry on Variation of Heat Flux and Drag for Launch Vehicle -- Z...
 
Hypersonic Foundational Research Plan
Hypersonic Foundational Research PlanHypersonic Foundational Research Plan
Hypersonic Foundational Research Plan
 

Mehr von EarthCube

Community Webinar: Tune up for AGU
Community Webinar: Tune up for AGUCommunity Webinar: Tune up for AGU
Community Webinar: Tune up for AGUEarthCube
 
Engagement Team monthly meeting 10.10.2014
Engagement Team monthly meeting 10.10.2014Engagement Team monthly meeting 10.10.2014
Engagement Team monthly meeting 10.10.2014EarthCube
 
Sci Committee Meeting Slides 10.06.14
Sci Committee Meeting Slides 10.06.14Sci Committee Meeting Slides 10.06.14
Sci Committee Meeting Slides 10.06.14EarthCube
 
Funded teams slides 10.10.14
Funded teams slides 10.10.14Funded teams slides 10.10.14
Funded teams slides 10.10.14EarthCube
 
Technology and Architecture Committee meeting slides 10.06.14
Technology and Architecture Committee meeting slides 10.06.14Technology and Architecture Committee meeting slides 10.06.14
Technology and Architecture Committee meeting slides 10.06.14EarthCube
 
EarthCube Governance Intro for Solar Terrestrial End-user Workshop
EarthCube Governance Intro for Solar Terrestrial End-user WorkshopEarthCube Governance Intro for Solar Terrestrial End-user Workshop
EarthCube Governance Intro for Solar Terrestrial End-user WorkshopEarthCube
 
EarthCube Community Webinar: Introduction to Committees and Teams
EarthCube Community Webinar: Introduction to Committees and TeamsEarthCube Community Webinar: Introduction to Committees and Teams
EarthCube Community Webinar: Introduction to Committees and TeamsEarthCube
 
AHM 2014: PolarHub: A Global Hub for Geospatial Service Discovery
AHM 2014: PolarHub: A Global Hub for Geospatial Service DiscoveryAHM 2014: PolarHub: A Global Hub for Geospatial Service Discovery
AHM 2014: PolarHub: A Global Hub for Geospatial Service DiscoveryEarthCube
 
AHM 2014: Addressing Data and Heterogeneity, Semantic Building Blocks & CI Pe...
AHM 2014: Addressing Data and Heterogeneity, Semantic Building Blocks & CI Pe...AHM 2014: Addressing Data and Heterogeneity, Semantic Building Blocks & CI Pe...
AHM 2014: Addressing Data and Heterogeneity, Semantic Building Blocks & CI Pe...EarthCube
 
AHM 2014: Revisting Governance Model, Preparing for Next Steps
AHM 2014: Revisting Governance Model, Preparing for Next StepsAHM 2014: Revisting Governance Model, Preparing for Next Steps
AHM 2014: Revisting Governance Model, Preparing for Next StepsEarthCube
 
AHM 2014: The World of VHub.org ONline Collaboration, Sharing, Data, Models...
AHM 2014: The World of VHub.org ONline Collaboration, Sharing, Data, Models...AHM 2014: The World of VHub.org ONline Collaboration, Sharing, Data, Models...
AHM 2014: The World of VHub.org ONline Collaboration, Sharing, Data, Models...EarthCube
 
AHM 2014: Crawling for EarthCube
AHM 2014: Crawling for EarthCubeAHM 2014: Crawling for EarthCube
AHM 2014: Crawling for EarthCubeEarthCube
 
AHM 2014: The Flow Simulation Tools on VHub
AHM 2014: The Flow Simulation Tools on VHubAHM 2014: The Flow Simulation Tools on VHub
AHM 2014: The Flow Simulation Tools on VHubEarthCube
 
AHM 2014: Integrated Data Management System for Critical Zone Observatories
AHM 2014: Integrated Data Management System for Critical Zone ObservatoriesAHM 2014: Integrated Data Management System for Critical Zone Observatories
AHM 2014: Integrated Data Management System for Critical Zone ObservatoriesEarthCube
 
AHM 2014: BCube Brokering Framework
AHM 2014: BCube Brokering FrameworkAHM 2014: BCube Brokering Framework
AHM 2014: BCube Brokering FrameworkEarthCube
 
AHM 2014: EarthCube Architecture Forum Introduction
AHM 2014: EarthCube Architecture Forum IntroductionAHM 2014: EarthCube Architecture Forum Introduction
AHM 2014: EarthCube Architecture Forum IntroductionEarthCube
 
AHM 2014: A Few Notes on GEOSS Architecture
AHM 2014: A Few Notes on GEOSS ArchitectureAHM 2014: A Few Notes on GEOSS Architecture
AHM 2014: A Few Notes on GEOSS ArchitectureEarthCube
 
AHM 2014: The iPlant Collaborative, Community Cyberinfrastructure for Life Sc...
AHM 2014: The iPlant Collaborative, Community Cyberinfrastructure for Life Sc...AHM 2014: The iPlant Collaborative, Community Cyberinfrastructure for Life Sc...
AHM 2014: The iPlant Collaborative, Community Cyberinfrastructure for Life Sc...EarthCube
 
AHM 2014: OceanLink, Smart Data versus Smart Applications
AHM 2014: OceanLink, Smart Data versus Smart Applications AHM 2014: OceanLink, Smart Data versus Smart Applications
AHM 2014: OceanLink, Smart Data versus Smart Applications EarthCube
 
AHM 2014: Conceptual Design
AHM 2014: Conceptual DesignAHM 2014: Conceptual Design
AHM 2014: Conceptual DesignEarthCube
 

Mehr von EarthCube (20)

Community Webinar: Tune up for AGU
Community Webinar: Tune up for AGUCommunity Webinar: Tune up for AGU
Community Webinar: Tune up for AGU
 
Engagement Team monthly meeting 10.10.2014
Engagement Team monthly meeting 10.10.2014Engagement Team monthly meeting 10.10.2014
Engagement Team monthly meeting 10.10.2014
 
Sci Committee Meeting Slides 10.06.14
Sci Committee Meeting Slides 10.06.14Sci Committee Meeting Slides 10.06.14
Sci Committee Meeting Slides 10.06.14
 
Funded teams slides 10.10.14
Funded teams slides 10.10.14Funded teams slides 10.10.14
Funded teams slides 10.10.14
 
Technology and Architecture Committee meeting slides 10.06.14
Technology and Architecture Committee meeting slides 10.06.14Technology and Architecture Committee meeting slides 10.06.14
Technology and Architecture Committee meeting slides 10.06.14
 
EarthCube Governance Intro for Solar Terrestrial End-user Workshop
EarthCube Governance Intro for Solar Terrestrial End-user WorkshopEarthCube Governance Intro for Solar Terrestrial End-user Workshop
EarthCube Governance Intro for Solar Terrestrial End-user Workshop
 
EarthCube Community Webinar: Introduction to Committees and Teams
EarthCube Community Webinar: Introduction to Committees and TeamsEarthCube Community Webinar: Introduction to Committees and Teams
EarthCube Community Webinar: Introduction to Committees and Teams
 
AHM 2014: PolarHub: A Global Hub for Geospatial Service Discovery
AHM 2014: PolarHub: A Global Hub for Geospatial Service DiscoveryAHM 2014: PolarHub: A Global Hub for Geospatial Service Discovery
AHM 2014: PolarHub: A Global Hub for Geospatial Service Discovery
 
AHM 2014: Addressing Data and Heterogeneity, Semantic Building Blocks & CI Pe...
AHM 2014: Addressing Data and Heterogeneity, Semantic Building Blocks & CI Pe...AHM 2014: Addressing Data and Heterogeneity, Semantic Building Blocks & CI Pe...
AHM 2014: Addressing Data and Heterogeneity, Semantic Building Blocks & CI Pe...
 
AHM 2014: Revisting Governance Model, Preparing for Next Steps
AHM 2014: Revisting Governance Model, Preparing for Next StepsAHM 2014: Revisting Governance Model, Preparing for Next Steps
AHM 2014: Revisting Governance Model, Preparing for Next Steps
 
AHM 2014: The World of VHub.org ONline Collaboration, Sharing, Data, Models...
AHM 2014: The World of VHub.org ONline Collaboration, Sharing, Data, Models...AHM 2014: The World of VHub.org ONline Collaboration, Sharing, Data, Models...
AHM 2014: The World of VHub.org ONline Collaboration, Sharing, Data, Models...
 
AHM 2014: Crawling for EarthCube
AHM 2014: Crawling for EarthCubeAHM 2014: Crawling for EarthCube
AHM 2014: Crawling for EarthCube
 
AHM 2014: The Flow Simulation Tools on VHub
AHM 2014: The Flow Simulation Tools on VHubAHM 2014: The Flow Simulation Tools on VHub
AHM 2014: The Flow Simulation Tools on VHub
 
AHM 2014: Integrated Data Management System for Critical Zone Observatories
AHM 2014: Integrated Data Management System for Critical Zone ObservatoriesAHM 2014: Integrated Data Management System for Critical Zone Observatories
AHM 2014: Integrated Data Management System for Critical Zone Observatories
 
AHM 2014: BCube Brokering Framework
AHM 2014: BCube Brokering FrameworkAHM 2014: BCube Brokering Framework
AHM 2014: BCube Brokering Framework
 
AHM 2014: EarthCube Architecture Forum Introduction
AHM 2014: EarthCube Architecture Forum IntroductionAHM 2014: EarthCube Architecture Forum Introduction
AHM 2014: EarthCube Architecture Forum Introduction
 
AHM 2014: A Few Notes on GEOSS Architecture
AHM 2014: A Few Notes on GEOSS ArchitectureAHM 2014: A Few Notes on GEOSS Architecture
AHM 2014: A Few Notes on GEOSS Architecture
 
AHM 2014: The iPlant Collaborative, Community Cyberinfrastructure for Life Sc...
AHM 2014: The iPlant Collaborative, Community Cyberinfrastructure for Life Sc...AHM 2014: The iPlant Collaborative, Community Cyberinfrastructure for Life Sc...
AHM 2014: The iPlant Collaborative, Community Cyberinfrastructure for Life Sc...
 
AHM 2014: OceanLink, Smart Data versus Smart Applications
AHM 2014: OceanLink, Smart Data versus Smart Applications AHM 2014: OceanLink, Smart Data versus Smart Applications
AHM 2014: OceanLink, Smart Data versus Smart Applications
 
AHM 2014: Conceptual Design
AHM 2014: Conceptual DesignAHM 2014: Conceptual Design
AHM 2014: Conceptual Design
 

AHM 2014: The CSDMS Standard Names, Cross-Domain Naming Conventions for Describing Process Models, Data Sets and Their Associated Variables

  • 1. The CSDMS Standard Names: Cross-Domain Naming Conventions for Describing Process Models, Data Sets and Their Associated Variables Scott D. Peckham, University of Colorado, and Former Chief Software Architect for CSDMS June 25, 2014 EarthCube All Hands Meeting, Washington, DC
  • 2. Linking Component-based Models: How Can Two Models Differ? • Programming language (C, C++, Fortran, Java, Python, etc.) Solution: Babel and Bocca (CCA toolchain) • Computational grid (triangles, rectangles, Voronoi, etc.) Solution: ESMF regridder (parallel, spatial interpol.) • Timestepping scheme (fixed, adaptive, local) Solution: Temporal interpolation tool • Variable names Need some means of “semantic mediation” Solution: CSDMS Standard Names • Variable units Solution: UDUNITS (Unidata)
  • 3. Semantic Matching for Model Variables Hydro Model A Output variables: •streamflow •rainrate Hydro Model A Output variables: •streamflow •rainrate Hydro Model B Input variables: •discharge •precip_rate Hydro Model B Input variables: •discharge •precip_rate CSDMS Standard Names •watershed_outlet_water__ volume_outflow_rate •atmosphere_water__liquid_ equivalent_precipitation_rate CSDMS Standard Names •watershed_outlet_water__ volume_outflow_rate •atmosphere_water__liquid_ equivalent_precipitation_rate Goal: Remove ambiguity so that the framework can automatically match outputs to inputs.
  • 4. Types of Quantities we Need Associated with Processes: snow__melt_rate, land_surface__longwave_radiation_flux Generated from mathematical operations: bedrock_surface__time_derivative_of_elevation sea_water__northward_component_of_velocity Dimensionless numbers: channel_water__froude_number Mathematical and physical constants: earth__standard_gravity_constant (“little g”) physics__universal_gravitational_constant (“big G”) Empirical parameters: glacier_glen-law__exponent, channel_bed__manning_coefficient Flow rates and fluxes (incoming or outgoing): lake_water__volume_inflow_rate Reference quantities: wind__reference-height_speed, wind__speed_reference_height
  • 5. Unambiguous Quantity Names Avoid jargon and keep objects out of quantity names rainrate precipitation_rate liquid_equivalent_precipitation_rate streamflow discharge volume_inflow_rate volume_outflow_rate specific_discharge darcy_velocity Note: Text books and Wikipedia pages are often good sources for learning about how to use quantity names correctly within a given science domain. relative_humidity air_water-vapor__relative_saturation As opposed to: liquid_water_equivalent snow_water_equivalent
  • 6. The CSDMS Standard Names Data Models like RDF and EAV use triples like: Subject + Predicate + Object, and Entity/Object + Attribute + Value (object-oriented) CSDMS Standard Names use a similar template for creating unambiguous and easily understood standard variable names or preferred labels according to a set of rules. These are then used to retrieve/match values (and metadata). The template is: Object name + [Operation name] + Quantity name Examples: atmosphere_carbon-dioxide__partial_pressure atmosphere_water__liquid_equivalent_precipitation_rate earth_ellipsoid__equatorial_radius soil__saturated_hydraulic_conductivity
  • 7. Quantity Name Patterns A fairly small number of patterns covers most quantity names.
  • 8. “Base Quantity” Name Examples altitude, amplitude, angle, area, capacity, charge, code, coefficient, conductivity, constant, cost, current, date, density, depth, diameter, distance, duration, efficiency, elevation, energy, factor, fee, flux, force, fraction, frequency, heat, height, index, intensity, length, mass, number, parameter, period, pressure, price, radius, rate, ratio, slope, speed, stress, temperature, time, velocity, viscosity, voltage and wavelength.
  • 9. Word Order in Quantity Names Starting with a base quantity, descriptive words are added to the left in an effort to construct an unambiguous and easily understood object name. The addition of each new word (or words) produces a more restrictive or specific name from the previous name. For example: conductivity hydraulic_conductivity (vs. electrical or thermal) saturated_hydraulic_conductivity effective_saturated_hydraulic_conductivity Note: hydraulic_conductivity and saturated_hydraulic_conductivity are both fundamental quantities used in groundwater models. The adjective effective could be applied to either of them to indicate application at a given scale. Note also that saturated could have been applied to "soil", the associated object, but saturated_hydraulic_conductivity is a fundamental quantity.
  • 10. Standard Process Names From this work it became clear that process names could be viewed as nouns derived from verbs, usually ending with: tion (e.g. absorption, convection, radiation), sion (e.g. conversion, dispersion, submersion), ing (e.g. melting, swimming, upwelling), age (e.g. drainage, seepage, storage), y (e.g. discovery, recovery, reentry), ance (e.g. acceptance, disturbance, maintanence), ment (e.g. alignment, improvement, recruitment), al (e.g. arrival, disposal, removal, retrieval) and sis (e.g. osmosis, metamorphosis, dialysis, paralysis) A collection of over 1300 standardized process names can be found at: http://csdms.colorado.edu/wiki/CSN_Process_Names
  • 11. Process Name + Quantity Pattern Much of science is concerned with the study of natural and physical processes, so it should not be surprising that a large number of quantity names are constructed from a process name and a base quantity name. (See CSDMS wiki for over 525 examples.) However, for process names that end with ing, the ending is often dropped as in: burn, creep, flow, lapse, melt, shear and tilt. (e.g. snow__melt_rate, channel_bed__shear_stress.) Many process names can be paired with "_rate” to create a quantity name: e.g. precipitation_rate. Some process names are more naturally paired with an ending other than "_rate", e.g. dilution_ratio drainage_area escape_speed gestation_period identification_number inclination_angle penetration_depth radiation_flux relaxation_time striking_distance turning_radius vibration_frequency
  • 12. Flow Rates and Fluxes Process + Quantity Name Pattern Flow rates and fluxes are used to quantify the rate at which mass, momentum, energy, volume or moles move into or out of a control volume. Rate implies “per unit time” and a flux is a flow rate per unit area. e.g. mass_ flow_rate [kg s-1], mass_flux [kg s-1 m-2]. When a process name is used to construct a quantity name, the process should be one that pertains to the object name part. If chosen carefully, the process name can clarify whether the flux or flow rate is incoming or outgoing (incident or emitted), e.g. land_surface__diffuse_shortwave_irradiation_flux land_surface__longwave_radiation_flux lake_water__volume_inflow_rate lake_water__volume_outflow_rate Note: Perhaps allow influx and outflux ?
  • 13. Operation Name + Quantity Pattern bedrock_surface__2nd_time_derivative_of_elevation sea_water__time_derivative_of_northward_component_of_velocity soil__log_of_hydraulic_conductivity soil__time_derivative_of_saturated_hydraulic_conductivity watershed_outlet_water__area_time_integral_of_volume_outflow_rate watershed_outlet_water__daily_mean_of_volume_outflow_rate watershed_outlet_water__time_max_of_volume_outflow_rate Mathematical operations are often applied to a quantity in order to create a new quantity which often has different units. These operations have standard names or abbreviations and in the CSDMS Standard Names they always end with the reserved word of (used as a delimiter) as in: Note that they can also be chained together as in the second example.
  • 14. Standard Assumption Names Assumptions --- interpreted broadly to include: conditions, simplifications, approximations, limitations, conventions, provisos, exclusions, restrictions, etc. --- are not included in CSDMS Standard Variable Names. Instead, developers are encouraged to use multiple <assume> tags in a Model Metadata File to clarify how they are using a CSDMS Standard Name within their model. (Read once at start.) In order for a Modeling Framework to be able to compare the assumptions made by different models (about the model or its variables), standard assumption names are needed, in addition to the standard variable names.
  • 15. Standard Assumption Names Assumption Type: Example Boundary conditions: no_slip_boundary_condition Conserved quantities: momentum_conserved Coordinate system: cartesian_coordinate_system Angle conventions: clockwise_from_north_convention Dimensionality: 2_dimensional Equations used: navier_stokes_equation Closures: eddy_viscosity_turbulence_closure Flow-type assumptions: laminar_flow Fluid-type assumptions: herschel_bulkley_fluid Geometry assumptions: trapezoid_shaped Named model assumptions: green_ampt_infiltration_model Thermodynamic processes: isenthalpic_process Approximations: boussinesq_approximation Averaging methods: reynolds_averaged Numerical methods used: arakawa_c_grid State of matter: liquid_phase
  • 16. Summary For More Information Main Page: csdms.colorado.edu/wiki/CSDMS_Standard_Names Basic Rules: csdms.colorado.edu/wiki/CSN_Basic_Rules Object Names: csdms.colorado.edu/wiki/CSN_Object_Templates Operation Names: csdms.colorado.edu/wiki/CSN_Operation_Templates Quantity Names: csdms.colorado.edu/wiki/CSN_Quantity_Templates Process Names: csdms.colorado.edu/wiki/CSN_Process_Names Assumption Names: csdms.colorado.edu/wiki/CSN_Assumption_Names Metadata Names: csdms.colorado.edu/wiki/CSN_Metadata_Names Model Metadata Files: csdms.colorado.edu/wiki/CSN_MMF_Example 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). Model developers are asked to provide a BMI interface that includes a mapping of their model's internal variable names to CSDMS Standard Names and a Model Metadata File that provides model assumptions and other information. IMPORTANT: Model developers continue to use whatever variable names they want to in their code, but then "map" each of their internal variable names to the appropriate CSDMS standard name in their BMI implementation.
  • 17.
  • 18. Summary The CSDMS Standard Names are a work in progress but they are already being used successfully for in the CSDMS framework. More rules and patterns will be added as they are identified. The goal is to create unambiguous and easily understood standard names. Developers map variable names to them. Standardized metadata such as units, assumptions and georeferencing info can be associated with any standard name to further clarify how the model developer is using it. For more information, please see the wiki pages at: http://csdms.colorado.edu/wiki/CSDMS_Standard_Names
  • 19. 2008 2009 2010 2011 2012 200 400 600 800 Number of CSDMS Members vs. Time Terrestrial: 456 Coastal: 354 Marine: 240 Cyber: 150 EKT: 152 Working Groups: 982 Members as of Feb. 19, 2013 Hydrology: 349 Carbonate: 65 Chesapeake: 62 Focus Research Groups: Critical Zone: 7 Anthropocene: 3
  • 20. Quantity Suffix Pattern Examples: elevation_increment equation_term frequency_limit gradient_magnitude length_scale mass_ratio time_step pressure_anomaly temperature_correction velocity_component volume_fraction A quantity suffix is a word that is added as a suffix to a quantity name that creates a new quantity, but usually with the same units. In most cases, they can also be viewed as an operation that is applied to the quantity, e.g. increment_of_elevation vs. elevation_increment magnitude_of_gradient vs. gradient_magnitude
  • 21. Object-in-object Quantity Pattern carbon_dioxide_in_air__partial_pressure carbon_dioxide_in_air__relative_saturation carbon_dioxide_in_water__solubility clay_in_soil__volume_fraction (or silt or sand or water) helium_plume_in_air__richardson_number oxygen_in_water__mole_concentration suspended_sediment_in_water__volume_concentration visible_light_in_air__speed water_in_ethanol__dilution_ratio Object-to-object Quantity Pattern brain_to_body__mass_ratio carbon_to_hydrogen_bond__length carbon_to_hydrogen_bond__dissociation_energy earth_to_mars__travel_time earth_to_sun__mean_distance rubber_to_pavement__static_friction_coefficient
  • 22. Object-in-object Quantity Pattern air_with_carbon-dioxide__partial_pressure air_with_water-vapor__relative_saturation water_with_carbon-dioxide__solubility soil_with_clay__volume_fraction (or silt or sand or water) air_with_helium_plume__richardson_number water_with_oxygen__mole_concentration water_with_suspended-sediment__volume_concentration air_with_visible-light__speed ethanol_with_water__dilution_ratio Object-to-object Quantity Pattern brain_to_body__mass_ratio carbon_to_hydrogen_bond__length carbon_to_hydrogen_bond__dissociation_energy earth_to_mars__travel_time earth_to_sun__mean_distance rubber_to_pavement__static_friction_coefficient
  • 23. Object-in-object Quantity Pattern air_carbon-dioxide__partial_pressure air_water-vapor__relative_saturation water__carbon-dioxide__solubility soil_clay__volume_fraction (or silt or sand or water) air_helium_plume__richardson_number water_oxygen__mole_concentration water_suspended-sediment__volume_concentration air_visible-light__speed ethanol_water__dilution_ratio Object-to-object Quantity Pattern brain_to_body__mass_ratio carbon_to_hydrogen_bond__length carbon_to_hydrogen_bond__dissociation_energy earth_to_mars__travel_time earth_to_sun__mean_distance rubber_to_pavement__static_friction_coefficient
  • 24. Quantity-to-Quantity Pattern channel_cross-section__width_to_depth_ratio electron__charge_to_mass_ratio watershed_outlet_cross-section__width_to_depth_ratio Sometimes a compound quantity is created through some combination of two other quantities that are associated with the same object. For example, this can occur when ratio is used as a quantity suffix, as in:
  • 25.
  • 26. Design Objectives For CSDMS Standard Variable Names (i.e. naming conventions).
  • 27. List of Design Objectives Avoid ambiguous variable names. Avoid domain-specific terminology. Use generic or already-standardized object names. Support for approximate or closest matches. Ability to specific multiple objects. Avoid mixing object names into quantity names. Parsability and strict adherence to rules. Natural grouping by object via alphabetization. Support for mathematical operations. Support for dimensionless numbers. Support for mathematical and physical constants. Support for empirical parameters. Support for incoming or outgoing flow rates and fluxes. Support for reference quantities. Support for an arbitrary number of assumptions for each name.
  • 28. The CSDMS Standard Names Actually consist of several “controlled vocabularies” and a set of naming conventions or rules for combining them, i.e. Standard Variable Names Standard Process Names Standard Base Quantity Names Standard Quantity Names Standard Operation Names The rules are derived from spoken English and analysis of speech patterns. Scientists often use domain-specific jargon for expediency, but most also know how to avoid this jargon and use more widely understood terms (not prone to ambiguity) when speaking to scientists in other domains.
  • 29. Standard Operation Names Time derivatives: e.g. time_derivative, 2nd_time_derivative Spatial derivatives: General derivatives: Space and time integrals: Functions of one variable: Statistical operations: Operations on vectors that return scalars: Operations that return vectors: Operations on tensors that return scalars: Note that they can also be chained together as in: time_of_max_of.
  • 30. Reconciling Differences with Standards If we reconcile differences between the resources in a pairwise manner, the amount of work, etc. grows fast: Cost(N) = N (N-1) / 2 ~ N2 . vs. Introduce a new, generic or standard representation (the “hub”), then map resources to and from it. The amount of work, maintenance, etc. drops to: Cost(N) = N.
  • 31. Choosing Unambiguous Names rainrate precipitation_rate liquid_equivalent_precipitation_rate streamflow discharge volume_inflow_rate volume_outflow_rate specific_discharge darcy_velocity Note: Text books and Wikipedia pages are often good sources for learning about how to use quantity names correctly within a given science domain.
  • 32. Keep Objects out of Quantity Names For an object/substance that can be a gas, liquid or solid, an adjective like liquid equivalent may be needed to remove ambiguity, e.g. atmosphere_water__liquid_equivalent_precipitation_flux
  • 33. Taming Heterogeneity with Interfaces Before: Each resource is unique. Own ways of doing things. Respond differently. Can become unstable. Difficult to control. After: Uniform outward appearance. Respond to same commands. Interchangeable units. Have a chain of command. Work as a team.
  • 34.
  • 35. Motivation for Standard Names 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 if a set of components provides a complete model. •Connect each component that requires a certain input variable to another component in the set that provides that variable as output. This kind of automation requires a 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.
  • 36. Important Note Model developers do not replace variables in their code with CSDMS Standard Names. They only need to provide a mapping (e.g. a Python dictionary) of their input and output variables to CSDMS Standard Names and provide a Model Metadata File with assumptions, units, grid type, etc. This is part of the Basic Model Interface (BMI) that CSDMS asks model developers to provide.
  • 37. What About CF Standard Names? • Created by LLNL for naming variables in NetCDF files. • Domain-specific: Almost exclusively ocean and atmosphere model variables. (e.g. “tendency_of” instead of “time_derivative_of”) • Incomplete rules: No rules for constants, dimensionless numbers , reference quantities and many other quantity types. • Complex name-generation template (& inconsistently used): [surface] [component] standard_name [at surface] [in medium] [due to process] (for terms in an equation) [assuming condition] (for assumptions) • May also have a transformation prefix (e.g “magnitude_of”) • Assumptions are included in the name itself via “_assuming_*”. • http://cf-pcmdi.llnl.gov/documents/cf-standard-names/guidelines
  • 38. Model-specific Quantity Pattern channel_water__hydraulic_geometry_depth_vs_discharge_exponent channel_water__hydraulic_geometry_slope_vs_discharge_coefficient channel_water__hydraulic_geometry_width_vs_discharge_exponent channel_bed__manning_coefficient glacier__glen_law_coefficient glacier__glen_law_exponent soil__brooks_corey_conductivity_exponent (Smith, 2002) soil__brooks_corey_pore_size_distribution_parameter soil__green_ampt_capillary_length_scale soil__transitional_brooks_corey_curvature_parameter (Smith, 2002) watershed__flint_law_coefficient watershed__flint_law_exponent watershed__hack_law_coefficient watershed__hack_law_exponent Many variables are associated with some kind of mathematical model of a natural object or its properties. Many are associated with power-law approximations and a person’s name, e.g.
  • 39. CSDMS Standard Names: Basic Rules All names consist of an object name and a quantity name separated by double underscores (e.g. air__temperature) Object name + [Operation name] + Quantity name Standard names consist of lower-case letters and digits. They contain no blank spaces. Underscores are inserted into some compound words. Underscores are used as separators between words and hyphens are used in two-word object names such as carbon-dioxide. The rightmost word in an object name is a base_object. The rightmost word in a quantity name is a base_quantity. Some naming rules use reserved words, such as: of, in, on, at and to. A possessive “s” is never added to the end of a person’s name, but many names end in “s”, like “Reynolds” and “Stokes”.
  • 41. Object Name + Model Name Pattern channel_centerline__valley_sinuosity channel_cross-section_trapezoid__bottom_width crater_circle__radius earth_ellipsoid__equatorial_radius earth_mean-sea-level-datum_air__pressure land_surface__plan_curvature Objects are often idealized by a geometric shape or other “model”. Certain quantities may only be well-defined for the model as opposed to the actual object. Examples include:
  • 42. Object Name Patterns A fairly small number of patterns covers most object names.
  • 43. Word Order in Object Names Starting with a base object, descriptive words are added to the left in an effort to construct an unambiguous and easily understood object name. The addition of each new word (or words) produces a more restrictive or specific name from the previous name. For example: bear tree black_bear oak_tree alaskan_black_bear bluejack_oak_tree However, in the Part of Another Object Pattern, words added to the left could be objects that indicate nested containment, e.g.: bluejack_oak_tree_trunk_cross_section__diameter
  • 44. Part of Another Object Pattern alaskan_black_bear_brain_to_body__mass_ratio alaskan_black_bear_head__mean_diameter bluejack_oak_tree_trunk_cross_section__diameter brammo_empulse_electric_motorcycle__rake_angle brammo_empulse_electric_motorcycle__wheelbase_length channel_cross-section__wetted_perimeter channel_cross-section__area earth_axis__tilt_angle earth_orbit__eccentricity gm_hummer_gas-tank__volume gm_hummer__fuel_economy [mpg] We can also use “nested containment” to indicate which part of an object, as in: atmosphere_top, channel_bed, channel_inflow_end, glacier_top, sea_floor_surface, sea_surface.
  • 46. Object-in-object Quantity Pattern air_carbon-dioxide__partial_pressure air_water-vapor__relative_saturation water__carbon-dioxide__solubility soil_clay__volume_fraction (or silt or sand or water) air_helium_plume__richardson_number water_oxygen__mole_concentration water_suspended-sediment__volume_concentration air_visible-light__speed ethanol_water__dilution_ratio Object-to-object Quantity Pattern brain_to_body__mass_ratio carbon_to_hydrogen_bond__length carbon_to_hydrogen_bond__dissociation_energy earth_to_mars__travel_time earth_to_sun__mean_distance rubber_to_pavement__static_friction_coefficient