#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

Reply via email to