review of standard_names for interoperability
|Reported by:||mgschultz||Owned by:||cf-standard-names@…|
This is related to track item #90 and goes back to the previous discussion on a grammar-based definition of standard_names.
In general, the standard_names are a great success story and are already widely used. However, in some cases, they carry a bit of legacy which may make them easier to read for humans, but harder to understand for software. A good while back, Jonathan had constructed a set of grammar rules which could help define new standard names. Unfortunately, this never made it into the mainstream. Furthermore, his set of rules was based on the existing standard_names, and therefore included some small incoherencies due to legacy names.
A simple example is "air_temperature". This is, of course, very well known. Yet, in a more formal system, it describes an intrinsic property of a physical medium. Therefore, the rule should be "<property>_of_<medium>", and the standard_name should be "temperature_of_air". Then it would be (more) consistent with all other standard names describing things "of_air" or "in_air", and it would be much simpler to apply the same rule to other compartments "temperature_of_land_surface", "temperature_of_ocean_water_at_depth", and so on.
If there is at least some support for this, I propose to review all existing standard_names and construct a new grammar with as few rules as possible. This should of course not start from scratch, but build on the existing grammar rules and standard_names as much as possible. The existing names could become aliases, so that backward compatibility would be ensured. Once the new grammar would be adopted, any new standard_name proposal should follow its rules, or a separate discussion would be needed why the grammar rules would need to be amended.
Side remark: while reviewing the names, an additional column should be added to the standard_name table to indicate whether a comment attribute is needed (recommended?) for this standard_name or not.