Opened 4 years ago

Last modified 3 months ago

#100 accepted defect

Clarifications to the preamble of sections 4 and 5

Reported by: jonathan Owned by: davidhassell
Priority: medium Milestone:
Component: cf-conventions Version:
Keywords: Cc:

Description

Dear all

I have the honour of opening ticket number 100. In this ticket, Steve Hankin and I have a number of changes to propose to the text of section 5, with the intention of clarifying it, not changing what it means. Therefore this is a defect ticket, but please object if you think it is changing the meaning, or making it any less clear!

Cheers

Jonathan

Replace this text in the first paragraph

A variable's spatiotemporal dimensions are used to locate data values in time and space. This is accomplished by associating these dimensions with the relevant set of latitude, longitude, vertical, and time coordinates.

with

A data variable's dimensions are used to locate data values in time and space or as a function of other independent variables. This is accomplished by associating these dimensions with the relevant set of latitude, longitude, vertical, time and any non-spatiotemporal coordinates.

These changes clarify that coordinate systems belong to data variables (rather than any other type of variable in a CF-netCDF file) and recognise the use of non-spatiotemporal dimensions.

Replace this text in the second paragraph

All of a variable's dimensions that are latitude, longitude, vertical, or time dimensions (see Section 1.2, "Terminology") must have corresponding coordinate variables, i.e., one-dimensional variables with the same name as the dimension

with

Any of a variable's dimensions that is an independently varying latitude, longitude, vertical, or time dimension (see Section 1.2, "Terminology") and that has a size greater than one must have a corresponding coordinate variable, i.e., a one-dimensional variable with the same name as the dimension

These changes remove the implication that spatiotemporal scalar coordinates might be prohibited, and allow for discrete axes (section 4.5, used extensively in section 9).

Replace this text in the third paragraph

All of a variable's spatiotemporal dimensions that are not latitude, longitude, vertical, or time dimensions are required to be associated with the relevant latitude, longitude, vertical, or time coordinates via the new coordinates attribute of the variable

with

Any longitude, latitude, vertical or time coordinate which depends on more than one spatiotemporal dimension must be identified by the coordinates attribute of the data variable.

This change is for clarity.

Replace this text in the fifth paragraph

The use of coordinate variables is required whenever they are applicable. That is, auxiliary coordinate variables may not be used as the only way to identify latitude and longitude coordinates that could be identified using coordinate variables.

with

If the longitude, latitude, vertical or time coordinate is multi-valued and varies in only one dimension, it is not permitted to store it as an auxiliary coordinate variable.

This change is for simplicity and clarity. The use of coordinate variables where applicable is already required by the second paragraph.

Append to the fifth paragraph

If the longitude, latitude, vertical or time coordinate is single-valued, it may be stored either as a coordinate variable with a dimension of size one, or as a scalar coordinate variable (Section 5.7).

This change recognises the use of spatiotemporal scalar coordinates.

Change History (9)

comment:1 Changed 4 years ago by Dave.Allured

Jonathan,

Thanks to you and Steve for working on clarification. In the current document (CF 1.6), I have trouble understanding the intent of section 5, paragraph 7:

If the coordinate variables for a horizontal grid are not longitude and latitude, it is recommended that they be supplied in addition to the required coordinates. For example, the Cartesian coordinates of a map projection should be supplied as coordinate variables in addition to the required two-dimensional latitude and longitude variables that are identified via the coordinates attribute ...

If the required two-dimensional latitude and longitude variables are present and correctly identified, are the one-dimensional Cartesian coordinates also required, or optional? Either way, could you please add an explicit statement about this?

In two different use cases that I have encountered, when the data variable is a single horizontal grid, the Cartesian coordinates will increase file size by roughly 67%. I would favor making the Cartesian coordinates explicitly optional. Thanks for your consideration.

--Dave

comment:2 Changed 4 years ago by jonathan

Dear Dave

Thanks for your comment. I think the existing text implies that it is optional to include the 1D Cartesian coordinates when they are not lon and lat and 2D lon and lat have been provided. It says it is "recommended", which is not the same as "required". The CF checker will produce only a warning if they are not present, not an error. But we could say explicitly they are optional. Is this what you mean? I am curious about why they take up so much space, being only 1D? Perhaps you mean that the grid itself is 1D? In that case, the Cartesian coordinates are I suppose auxiliary coordinate variables too.

Best wishes

Jonathan

comment:3 Changed 4 years ago by jonathan

Dear all

On the email list, Randy Horne has raised an issue of clarity regarding the use of non-spatiotemporal coordinates. Since that point is rather similar to others in this ticket, I'd like to add to the present proposal, to make changes in section 4, as follows:

Delete the sentence, "Coordinate types other than latitude, longitude, vertical, and time are allowed" at the start of the third paragraph.

Insert new text at the start of the section

The commonest use of coordinate variables is to locate the data in space and time, but coordinates may be provided for any other continuous geophysical quantity (e.g. density, temperature, radiation wavelength, zenith angle of radiance, sea surface wave frequency) or discrete category (see Section 4.5, "Discrete axis", e.g. area type, model level number, ensemble member number) on which the data variable depends.

continuing with the existing text, "Four types of coordinates ...".

Jonathan

comment:4 Changed 4 years ago by jonathan

  • Summary changed from Clarifications to the preamble of section 5 to Clarifications to the preamble of sections 4 and 5

comment:5 Changed 4 years ago by jonathan

Since no further comments or objections have been made for more than a month, this defect ticket is accepted according to the rules.

comment:6 Changed 4 years ago by rhattersley

I appreciate this ticket has been accepted, but I'm concerned that it contains a mistake with regards to the replacement text for the fifth paragraph:

If the longitude, latitude, vertical or time coordinate is multi-valued and varies in only one dimension, it is not permitted to store it as an auxiliary coordinate variable.

Unlike the previous wording, this appears to rule out the ability to encode a trajectory. In general for a trajectory, each of the longitude, latitude, vertical, and time coordinates may be multi-valued and vary in only one dimension. But those coordinates all wish to vary over the *same* dimension, which can only be done using auxiliary coordinate variables.

If this is a genuine issue, should this ticket be re-opened or a new ticket raised?

comment:7 follow-up: Changed 4 years ago by jonathan

Dear Richard

Quite right, thanks. The current text does not exclude this possibility, because it is more vague about the intentions. I propose a modified version:

If the longitude, latitude, vertical or time coordinate is multi-valued, varies in only one dimension, and varies independently of other spatiotemporal coordinates, it is not permitted to store it as an auxiliary coordinate variable.

OK?

Cheers

Jonathan

comment:8 in reply to: ↑ 7 Changed 4 years ago by rhattersley

Replying to jonathan:

If the longitude, latitude, vertical or time coordinate is multi-valued, varies in only one dimension, and varies independently of other spatiotemporal coordinates, it is not permitted to store it as an auxiliary coordinate variable.

Yes - that looks OK to me. Thank you.

comment:9 Changed 3 months ago by davidhassell

  • Owner changed from cf-conventions@… to davidhassell
  • Status changed from new to accepted
Note: See TracTickets for help on using tickets.