On 3/26/2013 7:37 AM, Nan Galbraith wrote:
Jim, I think you use an 'ancillary_variables' attribute to tie quality or other
variables together.

It's alarming to think people can use an unmodified standard name like
sea_water_temperature for a variable that is in fact a standard deviation
or an error. I'm very curious to know if this is a widespread use of cell
methods, because it seems so ... wrong.

Hi Nan,

You are not the first to point this out.

My personal viewpoint: There's a strong case to be made that the string assigned to the standard_name attribute, whatever it is, should accurately describe what the variable is. If we do not follow this principle we know that mistakes and frustrations for end users will be the result. It will be cold comfort to blame the users and software developers. Expanding the standard_name modifier list may provide a solution that does not cause proliferation in the length of the standard names list.

    - Steve


Even if it's legal in CF, I wouldn't do it; I'd give this variable a long name only, and attach it to the actual sea_water_temperature (if there is such a variable in
the file) via an ancillary_variable attribute.

The possible misuse of data provided with a misleading standard name like
this seems much worse than the possibility that the field could be overlooked
by data discovery systems.

- Nan

On 3/26/13 10:06 AM, Jim Biard wrote:
Then why is standard deviation a cell method and standard error a standard name modifier? To my mind, they both represent "analytical methods that have been applied to derive the data values stored in the array".

While I'm at it, what is the correct way to provide linkage between the primary data variable and the quality measure variables? Would this be via an ancillary_coordinates attribute on the primary variable? Or do you put an ancillary_coordinates attribute on each quality measure variable that names the primary? I'm guessing the first answer (if either) is right, but that method is well less intuitive when browsing the file contents.

Grace and peace,

Jim



On Mar 26, 2013, at 9:56 AM, David Hassell <[email protected] <mailto:[email protected]>> wrote:

Hello,

I see it a bit differently. The 'area: mean time: standard_deviation'
cell methods, for example, describe analytical methods that have been
applied to derive the data values stored in the array. This is not the
case, it seems to me, for the standard name modifiers. The presence of
a standard name modifier points to, or defines, some metadata which
further describes a data variable's array (either its own array, or
another's via ancillary variables).

All the best,

David

---- Original message from Jim Biard (09AM 26 Mar 13)

From: Jim Biard <[email protected] <mailto:[email protected]>>
Date: Tue, 26 Mar 2013 09:14:11 -0400
To: "[email protected] <mailto:[email protected]>" <[email protected] <mailto:[email protected]>>
X-Mailer: Apple Mail (2.1503)
Subject: Re: [CF-metadata] Question from NODC about interplay of standard
name modifiers, cell_methods, etc.

This has confused and bothered me as well. There doesn't seem to be any consistency on whether to use cell methods or standard name modifiers for the various quality measures. Is it just that no one has requested a modifier?

fd

On Mar 26, 2013, at 8:32 AM, "Kenneth S. Casey - NOAA Federal" <[email protected]> wrote:

Jonathon,

Thanks. The picture is clearer now, but I think I still have a question or two. Let me try to summarize first, then ask the questions:

Ok, so for example, we have the simple case of the variable containing the physical variable of sea water temperature:

 float t_an(time, depth, lat, lon) ;
              t_an:standard_name = "sea_water_temperature" ;
t_an:long_name = "Objectively Analyzed Mean of Sea Water Temperature" ; // Expanded long_name following Steve's comment t_an:comment = "Objectively analyzed climatologies are the objectively interpolated mean fields for an oceanographic variable at standard depth levels for the World Ocean." ; t_an:cell_methods = "area: mean depth: mean time: mean" ; // added space between dimension and method, following Jonathan's comment
              t_an:grid_mapping = "crs" ;
              t_an:units = "degrees_celsius" ;
              t_an:FillValue = 9.96921e+36f ;

And, I would point out there there are cell bounds variables as well for lat, lon, depth, and a climatology_bounds for climatological time (time axis is a climatological time axis). So, we have a standard name, plus cell_methods.

The next case for these data is where we have a statistical value that is contained in the variable, but where no standard_name modifier exists? here is an example then for standard deviation of that sea water temperature:

 float t_sd(time, depth, lat, lon) ;
t_an:standard_name = "sea_water_temperature" ; // Use the physical parameter's standard_name, following Jonathan's comment t_an:long_name = "Temporal Standard Deviation about the Statistical Mean Sea Water Temperature" ; // Expanded long_name following Steve's comment t_an:comment = "The temporal standard deviation about the statistical mean Sea Water Temperature in each grid-square at each standard depth level" ; // just highlighting changes compared to our existing draft t_an:cell_methods = "area: mean depth: mean time: standard_deviation" ; // sequence is correct I think, take area-depth mean first, then compute standard deviation over time
              t_an:grid_mapping = "crs" ;
              t_an:units = "degrees_celsius" ;
              t_an:FillValue = 9.96921e+36f ;

Seems simple enough, though I do need to confirm with Tim that the variable is in fact a temporal standard deviation. Now the third case is where there exists a relevant standard_name modifier, for example, for the standard error of the mean:

 float t_se(time, depth, lat, lon) ;
t_an:standard_name = "sea_water_temperature standard_error" ; // Use the physical parameter's standard_name plus modifier, following Jonathan's comment t_an:long_name = "Standard Error about the Statistical Mean Sea Water Temperature" ; // Expanded long_name following Steve's comment t_an:comment = "The standard error about the statistical mean Sea Water Temperature in each grid-square at each standard depth level" ; // just highlighting changes compared to our existing draft t_an:cell_methods = "area: mean depth: mean" ; // Is this correct?? Since we have a standard name modifier, and no cell_methods string for standard error?
              t_an:grid_mapping = "crs" ;
              t_an:units = "degrees_celsius" ;
              t_an:FillValue = 9.96921e+36f

So, my question arises in this last example, where a standard name modifier exists. I guess this is the part I don't understand?. is there no reference to cell_methods for the time dimension in the standard error variable t_se? If so, why is there a standard_error standard_name modifier but not one for standard_deviation?

Thanks, Ken



On Mar 25, 2013, at 1:40 PM, Jonathan Gregory <[email protected]> wrote:

Dear Ken

Thanks for your response too (copied here? is it bad form in a listserv to consolidate responses like this?)

I think it's convenient, myself!

That answer seems so easy and obvious that I wonder if I asked the question properly! I'll have to ask Tim to be sure, but I think the standard deviation is the standard deviation over time, of means generated in each time-area-depth cell.

But I think the question still remains about being able to use a standard name, which we would like to do of course? I am pretty sure in this example for this standard deviation variable we should NOT use sea_water_temperature for standard_name, and that it would be good if there were more standard name modifiers to choose from. If there were, perhaps we could set standard name to something like "sea_water_temperature standard_deviation".

You *should* use sea_water_temperature as the standard_name. The standard_name alone is not to be regarded as the description of the metadata. It has to be taken in combination with cell_methods and modifiers. Maybe it seems more surprising that a temporal standard deviation of sea_water_temperature has sea_water_temperature for its standard name, but it's really the same kind of idea - i.e. a statistic - as a temporal mean or a temporal maximum, isn't it. Even if it was variance its standard_name would be sea_water_temperature, and
in that case the units would be different too.

Cheers

Jonathan

--
*******************************************************
* Nan Galbraith        Information Systems Specialist *
* Upper Ocean Processes Group            Mail Stop 29 *
* Woods Hole Oceanographic Institution                *
* Woods Hole, MA 02543                 (508) 289-2444 *
*******************************************************




_______________________________________________
CF-metadata mailing list
[email protected]
http://mailman.cgd.ucar.edu/mailman/listinfo/cf-metadata

_______________________________________________
CF-metadata mailing list
[email protected]
http://mailman.cgd.ucar.edu/mailman/listinfo/cf-metadata

Reply via email to