Registry of CSDMS Standard Names
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.ci/travis
scripts
.travis.yml
LICENSE
README.md
names.txt

README.md

Build Status

Master List of CSDMS Standard Names

Adding new names

If you would like to add new names to the official CSDMS Standard Names Registry, please do so by either submitting it as an issue to the GitHub issue tracker or as a pull request that adds your new names to names.txt.

Some basic rules

The CSDMS wiki provides a full description of the basic rules. Below are the basics.

  • Names are of the form: <object>__<quantity>.
  • Names shall contain only lowercase letters and numbers along with the Standard Names separator characters (_, -, ~, __).
  • The Standard Names separators:
    • _: delimite separate words of a name.
    • -: join multi-word objects, quantities, adjectives, etc.
    • ~: join an adjective to a noun (the noun comes first following by or more adjectives).
    • __: separate an object from a quantity.
    • _of_: apply a math operation to the subsequent quantity.
  • Qualifiers that make an object or quantity more specific are added to the left of the base object or quantity (with increasing specitivity).

For those so inclined, here is the current regular expression for a CSDMS Standard Names,

^[a-z]([a-zA-Z0-9~-]|_(?!_))*(__)[a-z0-9]([a-z0-9~-]|_(?!_))*[a-z0-9]$

With the standard_names package, this is the re attribute of the StandardName class (StandardName.re).

Helpful links

Scrape names from the CSDMS Wiki

There are many examples of CSDMS Standard Names on several pages of the CSDMS wiki. These names can be scraped with the snscrape command provided by the standard_names package.

$ snscrape --no-headers \
    https://csdms.colorado.edu/wiki/CSN_Quantity_Templates \
    http://csdms.colorado.edu/wiki/CSN_Object_Templates \
    http://csdms.colorado.edu/wiki/CSN_Operation_Templates \
    http://csdms.colorado.edu/wiki/CSN_Examples > scraped_names.txt

Merge two lists

The following command will merge two lists (one name per line, no leading or trailing whitespace) into one sorted list of unique names.

$ cat list1.txt list2.txt | sort | uniq