#140: Clarifying the role of attributes on boundary variables. -----------------------------+------------------------------------------ Reporter: davidhassell | Owner: cf-conventions@… Type: enhancement | Status: new Priority: medium | Milestone: Component: cf-conventions | Version: Resolution: | Keywords: boundary variable, attribute -----------------------------+------------------------------------------
Comment (by jonathan): Dear Karl and David I don't understand why Karl thinks the 1D formula terms (things like sigma values) are not anything like coordinate data. I have the same view as David that they do contain something like coordinate data, even though they're not coordinates by themselves. Evidently they ''do'' have bounds; in Karl's preferred arrangement (David's second case in comment 21 of ticket 147), `hybrid_sigma:formula_terms` points to `A_bounds` and `B_bounds`. If you don't call these boundary variables, what are they? If they are boundary variables, why not point to them with a `bounds` attribute? However since we've said all these things already, and know each other's point of view, it must be some philosophical disagreement. We'll have to arrange a conference about it sometime! There is an important advantage in Karl's arrangement that you don't have to work out the identities of the formula terms for the bounds, since there's a `formula_terms` attribute to tell you them explicitly. What if we make it ''mandatory'' for the bounds variable of a parametric vertical coordinate to have a `formula_terms` attribute? This would be a backward- incompatible change, in the sense that data that was compliant with earlier versions of CF might not be compliant with the new version. That would simplify the text here. Starting from the bold bit, we would have If a parametric coordinate variable with a `formula_terms` attribute (ref section 4.3.2) also has a `bounds` attribute, its boundary variable must have a `formula_terms` attribute too. Because the same `standard_name` must describe both variables, the formula must have the same terms (as specified in Appendix D), but a different variable must be named by the two `formula_terms` attributes for any term which depends on the vertical dimension, because the boundary variables have one more dimension. Then my preferred arrangement can be permitted by further text The boundary variables for these formula terms may also be identified by `bounds` attributes of the formula terms variables. In that case, the `formula_terms` of the boundary variable and the `bounds` of the formula terms variables must be consistent. So this permits David's case 2 and the case 3 I wrote down in ticket 147, but not David's case 1, which Karl doesn't like. In Martin's list in comment 20 of ticket 147, I would advocate option 4 - do nothing. We always permit non-standardised attributes in CF. The `formula_terms` attribute used other than for variables containing coordinate data (in the broad sense in which David and I interpret it) doesn't mean anything to CF, but it's allowed. It may have a meaning to the data-writer. Of course, it might be a mistake as well, but we don't police such mistakes. We have no general prohibition of or recommendation against using attributes from Appendix A in situations where CF doesn't describe their use. Best wishes Jonathan -- Ticket URL: <https://cf-trac.llnl.gov/trac/ticket/140#comment:7> CF Metadata <http://cf-convention.github.io/> CF Metadata