#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