Dear Daniel

Thanks. This is much better. "Search by absolute path" should start with "A" 
not "An". In "Search by relative path" I would say "(i.e. containing a slash 
but not with a leading slash e.g. `child/lat`)".

I think "Search by proximity" can be stated more concisely and perhaps more 
clearly with less repetition, thus:

"A variable or dimension specified with no path (for example, `lat`) refers to 
the variable or dimension of that name, if there is one, in the referring 
group. If the variable or dimension is not in the referring group then it is 
termed an out-of-group reference. Out-of-group references are resolved by 
searching all direct ancestors, starting from the direct ancestor and 
proceeding toward the root group, until the specified variable or dimension is 
found.

"For coordinate variables that are not found in the referring group or its 
ancestors, a further strategy is provided, called lateral search. The lateral 
search proceeds downwards from the root group width-wise through each level of 
groups until the sought coordinate is found. This placement of coordinates and 
lateral search strategy to find them are discouraged. They are allowed mainly 
for backwards-compatibility with existing datasets, and may be deprecated in 
future versions of the standard."

I didn't understand the justification "Because coordinate variables must share 
dimensions with the variables that reference them", which I have omitted above. 
However, it made me realise that the lateral search algorithm may have problems 
with dimensions. It could find a coordinate variable with a dimension that has 
the right name e.g. `lat(lat)` but where `lat` isn't the same dimension as in 
the referring group (i.e. it has a different size)  if it's been defined 
differently somewhere between the root group and the group which contains the 
coordinate variable. This is dangerous. At least it requires another rule to 
state that the dimensions must be of the same size as in the referring group. 
Is the lateral search algorithm intended to work for auxiliary and scalar 
coordinate variables too?

The section on "Application of attributes" would be simpler and more compatible 
with the conventions if it referred to Appendix A. Maybe I've said that before? 
It seems to me that global atts mentioned in Appendix A should be allowed as 
group atts, with some exceptions e.g. `Conventions`, maybe 
`external_variables`, but why would you made an exception of `title` for 
example? Perhaps the simplest thing would be to modify Appendix A to show which 
G (global) atts are not permitted as group atts, and say that other G atts are 
allowed as group atts. I feel that you don't need to list the variable atts in 
this section.

Sorry to be vague about Appendix I. Yes, I understand and appreciate the 
intention of it. Please could we talk about that once we've agreed about the 
text of the main conventions?

Best wishes and thanks

Jonathan

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/cf-convention/cf-conventions/issues/144#issuecomment-429236366

Reply via email to