The CSDMS Standard Names:
Cross-Domain Naming Conventions
for Describing Process Models,
Data Sets and Their Associated
Va...
Linking Component-based Models:
How Can Two Models Differ?
• Programming language
(C, C++, Fortran, Java, Python, etc.)
So...
Semantic Matching for Model Variables
Hydro Model A
Output variables:
•streamflow
•rainrate
Hydro Model A
Output variables...
Types of Quantities we Need
Associated with Processes:
snow__melt_rate, land_surface__longwave_radiation_flux
Generated fr...
Unambiguous Quantity Names
Avoid jargon and keep objects out of quantity names
rainrate
precipitation_rate
liquid_equivale...
The CSDMS Standard Names
Data Models like RDF and EAV use triples like:
Subject + Predicate + Object, and
Entity/Object + ...
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,
constan...
Word Order in Quantity Names
Starting with a base quantity, descriptive words are added to
the left in an effort to constr...
Standard Process Names
From this work it became clear that process names could be
viewed as nouns derived from verbs, usua...
Process Name + Quantity Pattern
Much of science is concerned with the study of natural and physical
processes, so it shoul...
Flow Rates and Fluxes
Process + Quantity Name Pattern
Flow rates and fluxes are used to quantify the rate at which mass,
m...
Operation Name + Quantity Pattern
bedrock_surface__2nd_time_derivative_of_elevation
sea_water__time_derivative_of_northwar...
Standard Assumption Names
Assumptions --- interpreted broadly to include:
conditions, simplifications, approximations, lim...
Standard Assumption Names
Assumption Type: Example
Boundary conditions: no_slip_boundary_condition
Conserved quantities: m...
Summary
For More Information
Main Page: csdms.colorado.edu/wiki/CSDMS_Standard_Names
Basic Rules: csdms.colorado.edu/wiki/...
Summary
The CSDMS Standard Names are a work in progress but they are
already being used successfully for in the CSDMS fram...
2008 2009 2010 2011 2012
200
400
600
800
Number of CSDMS Members vs. Time
Terrestrial:
456
Coastal: 354
Marine: 240
Cyber:...
Quantity Suffix Pattern
Examples:
elevation_increment
equation_term
frequency_limit
gradient_magnitude
length_scale
mass_r...
Object-in-object Quantity Pattern
carbon_dioxide_in_air__partial_pressure
carbon_dioxide_in_air__relative_saturation
carbo...
Object-in-object Quantity Pattern
air_with_carbon-dioxide__partial_pressure
air_with_water-vapor__relative_saturation
wate...
Object-in-object Quantity Pattern
air_carbon-dioxide__partial_pressure
air_water-vapor__relative_saturation
water__carbon-...
Quantity-to-Quantity Pattern
channel_cross-section__width_to_depth_ratio
electron__charge_to_mass_ratio
watershed_outlet_c...
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-standa...
The CSDMS Standard Names
Actually consist of several “controlled vocabularies” and a set
of naming conventions or rules fo...
Standard Operation Names
Time derivatives: e.g. time_derivative, 2nd_time_derivative
Spatial derivatives:
General derivati...
Reconciling Differences with Standards
If we reconcile differences between
the resources in a pairwise manner,
the amount ...
Choosing Unambiguous Names
rainrate
precipitation_rate
liquid_equivalent_precipitation_rate
streamflow
discharge
volume_in...
Keep Objects out of Quantity Names
For an object/substance that can be a gas, liquid or solid, an adjective
like liquid eq...
Taming Heterogeneity with Interfaces
Before:
Each resource is unique.
Own ways of doing things.
Respond differently.
Can b...
Motivation for Standard Names
Most models require input variables and produce output variables. In
a component-based model...
Important Note
Model developers do not replace variables in their
code with CSDMS Standard Names. They only need to
provid...
What About CF Standard Names?
• Created by LLNL for naming variables in NetCDF files.
• Domain-specific: Almost exclusivel...
Model-specific Quantity Pattern
channel_water__hydraulic_geometry_depth_vs_discharge_exponent
channel_water__hydraulic_geo...
CSDMS Standard Names: Basic Rules
All names consist of an object name and a quantity name separated by
double underscores ...
brammo_empulse_electric-motorcycle__rake_angle
brammo_empulse_electric-motorcycle__wheelbase_length
Quantities for a Bramm...
Object Name + Model Name Pattern
channel_centerline__valley_sinuosity
channel_cross-section_trapezoid__bottom_width
crater...
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 ...
Part of Another Object Pattern
alaskan_black_bear_brain_to_body__mass_ratio
alaskan_black_bear_head__mean_diameter
bluejac...
Two-Object Quantities
earth_to_sun__mean_distance
rubber_to_pavement
__kinetic_friction_coefficient water_carbon-dioxide__...
Object-in-object Quantity Pattern
air_carbon-dioxide__partial_pressure
air_water-vapor__relative_saturation
water__carbon-...
AHM 2014: The CSDMS Standard Names, Cross-Domain Naming Conventions for Describing Process Models, Data Sets and Their Ass...
AHM 2014: The CSDMS Standard Names, Cross-Domain Naming Conventions for Describing Process Models, Data Sets and Their Ass...
AHM 2014: The CSDMS Standard Names, Cross-Domain Naming Conventions for Describing Process Models, Data Sets and Their Ass...
Upcoming SlideShare
Loading in …5
×

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

492 views

Published on

Presentation by Scott Peckham on Day 2, June 25 at the EarthCube All-Hands Meeting

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
492
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

  1. 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. 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. 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. 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. 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. 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. 7. Quantity Name Patterns A fairly small number of patterns covers most quantity names.
  8. 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. 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. 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. 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. 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. 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. 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. 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. 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. 17. 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
  18. 18. 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
  19. 19. 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
  20. 20. 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
  21. 21. 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
  22. 22. 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
  23. 23. 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:
  24. 24. Design Objectives For CSDMS Standard Variable Names (i.e. naming conventions).
  25. 25. 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.
  26. 26. 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.
  27. 27. 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.
  28. 28. 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.
  29. 29. 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.
  30. 30. 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
  31. 31. 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.
  32. 32. 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.
  33. 33. 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.
  34. 34. 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
  35. 35. 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.
  36. 36. 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”.
  37. 37. brammo_empulse_electric-motorcycle__rake_angle brammo_empulse_electric-motorcycle__wheelbase_length Quantities for a Brammo Empulse Electric Motorcycle
  38. 38. 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:
  39. 39. Object Name Patterns A fairly small number of patterns covers most object names.
  40. 40. 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
  41. 41. 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.
  42. 42. 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
  43. 43. 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

×