⇐ ⇒

[CF-metadata] scalar coordinates

From: Hedley, Mark <mark.hedley>
Date: Thu, 20 Jun 2013 08:43:26 +0000

Hello Jonathan

> The reason why this is hard to settle is that, as we have agreed, it has no implication at all for the netCDF file. It is just a matter of interpretation.

This doesn't seem right to me, my thought process is addressing how we encode concepts and what concepts are allowed to be encoded. I do not want to see this limitation in what can be encoded adopted by the community.

Of equal note is how we interpret data which has already been encoded.

> That means you have to decide which kind a scalar coordinate variable is representing. I think the convention (up to CF 1.5 - see DSG email) implies that if it's a numeric scalar, it's a size-one dimension coordinate construct, and if it's a single string, it's a size-one auxiliary coordinate construct.

The principle of deciding what type of vector coordinate and what characteristics that vector coordinate should have based on contextual information on the data variable is a flawed approach which will bring further pain for creators and users of data. I think this has been a significant part of the problem so far.

I also do not think that we should try to deal with the discrete sampling geometries independently, I think introducing further special cases to base decisions on exacerbate this issue.

> You are concerned this restricts your flexibility. I see why you say that, of course, but practically speaking I don't think it does. You can't leave it undecided what a scalar coordinate means (according to my view), but nothing prevents you from following a different interpretation to the above when you read the file.

I am not proposing leaving the meaning of a scalar coordinate variable undecided. I think it should be well defined, in a simple and clear manner. I am proposing that a scalar coordinate variable defines a coordinate which does not vary with any dimension of the data.

Any implication of unencoded dimensionality is then left to the data consumer to infer if they see fit.

> That may mean you have adopted a different view from the person who created the file, but if that person did not *want* to make it clear what sort it was (which is what you suggest) then surely he or she does not mind which interpretation you adopt. Equally, you can read the file with one interpretation, and then change your mind when it's in memory, by converting dimension coordinate constructs to auxiliaries or vice-versa, creating or dropping size-one dimensions. This is all easy to do in memory. The data is completely unaffected, apart from being possibly reshaped by the insertion or removal of size-one dimensions. It just shuffles the metadata around.

In this context I would like to turn the point around. If the scalar coordinate variable is defined as I have proposed, your discussion makes it clear that the interpretation you desire from your use of the scalar coordinate variables is always available to you.

This leads me to conclude that the simplest solution, addressing our use case, your use cases and the discrete sampling geometries issues, is the one I have proposed.

As I see it, the proposal I have put forward is of no cost to your use cases and considerable benefit to mine. It simplifies the interpretation of CF NetCDF files by introducing a new type which is clearly defined semantically and within the encoding.

mark
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.cgd.ucar.edu/pipermail/cf-metadata/attachments/20130620/63a79647/attachment.html>
Received on Thu Jun 20 2013 - 02:43:26 BST

This archive was generated by hypermail 2.3.0 : Tue Sep 13 2022 - 23:02:41 BST

⇐ ⇒