On 8/4/2011 1:30 PM, Upendra Dadi wrote:
Hi Steve & Nan,
Is this allowed in CF? Isn't ancillary_variable meant to be used for
per value metadata i.e. metadata for each and every value in the
variable it is referring to? If so, shouldn't the ancillary_variable
have the same set of dimensions and in the same order as the variable
it is referring to?
Hi Upendra, Nan, Roy,
First off just to comment that these topics seems appropriate as a
logical next step. The new Discrete Geometries chapter largely focused
on the file structure aspects -- storing the numbers. Community by
community the metadata needs vary, of course. Defining "standard
profiles" (e.g. OceanSites) is the natural approach to standardizing
metadata contents. So I think we are all asking the question, what are
the general rules and structures that should be followed so that generic
applications are best able to access and utilize the specialized
metadata encoded per a standardized CF profile? A second point is to
confess that I wasn't personally involved in the discussions that lead
to the ancillary_variables machinery. I'm ready to stand corrected if I
misinterpret the words found in CF 1.5. Lets just get the ideas out on
the table and let others comment.
For the case that Nan has described, if one were using the techniques of
chapter 9
(https://cf-pcmdi.llnl.gov/trac/attachment/ticket/37/CFch9-may4.docx?format=raw)
the metadata would be tied to the variable "TEMP" by its station index,
rather than by an ancillary_variable attribute. In this example the
"station_info" variable is a model model for "Instrument_manufacturer",
"Instrument_model", etc.
A9.2.4 Contiguous ragged array representation of timeSeries
dimensions:
station = 23 ;
obs = 1234 ;
variables:
float lon(station) ;
lon:standard_name = "longitude";
lon:long_name = "station longitude";
lon:units = "degrees_east";
float lat(station) ;
lat:standard_name = "latitude";
lat:long_name = "station latitude" ;
lat:units = "degrees_north" ;
char station_name(station, name_strlen) ;
station_name:long_name = "station name" ;
station_name:cf_role = "station_idtimeseries_id";
* int station_info(station) ;*
* station_info:long_name = "some kind of station info" ;*
int row_size(station) ;
row_size:long_name = "number of observations for this
station " ;
row_size:ample_dimension = "obs" ;
double time(obs) ;
time:standard_name = "time";
time:long_name = "time of measurement" ;
time:units = "days since 1970-01-01 00:00:00" ;
float humidity(obs) ;
humidity:standard_name = "specific_humidity" ;
Nan, I think in your example the "depth" dimension is effectively the
same as the "station" dimension in A9.2.4 (or 9.2.1) -- independent
instruments deployed at a list of depths (stations) with metadata
describing each depth. So the question is whether the the association
of metadata through the station (or depth) dimension is sufficient? (I
think it is.) Or is there a use case that demonstrates that the
ancillary_variable machinery is needed, as well?
Upendra, your point, "/ancillary_variable meant to be used for per
value metadata i.e. metadata for each and every value in the variable it
is referring to/" is a strict interpretation of the opening sentence of
3.4. Ancillary Data
(http://cf-pcmdi.llnl.gov/documents/cf-conventions/1.5/cf-conventions.html#ancillary-data),
"/one data variable provides metadata about the individual values of
another data variable/". That interpretation would rule out cases like
the following, which seem desirable to encode (imagining an instrument
such as a Doppler profiler, where the uncertainty in a velocity
measurement is a function of depth)
float q(time, depth) ;
q:standard_name = "||upward_sea_water_velocity" ;
q:ancillary_variables = "q_uncertainty" ;
float q_uncertainty(depth)
Some word-smithing seems to be in order to clarify that opening sentence
of section 3.4.
- Steve
Upendra
On 8/4/2011 2:17 PM, Nan Galbraith wrote:
Hi Steve -
I'm very interested in the background discussion on this -
any chance of bringing it into the foreground?
I'm using ancillary variables in 2-D in situ data files to describe
instruments and things like precision, accuracy, sample scheme,
etc.. For temperature files from moorings where different sensor
types are at different depths, I'd like to use something like
TEMP:ancillary_variables = "Instrument_manufacturer Instrument_model
Instrument_sample_scheme Instrument_serial_number
TEMP_qc_procedure
TEMP_accuracy TEMP_precision TEMP_resolution";
and then
short INST_SN(depth) ;
INST_SN:long_name = "instrument_serial_number" ;
... etc., etc.
If there's going to be a standard way to do this, I'd really like to
know about it - sooner rather than than later.
Thanks -
Nan
On 8/4/11 11:35 AM, Steve Hankin wrote:
Hi Jeff,
Each variable in a CF file may possess an |ancillary_variables|
attribute, that points to variables that have relationships
(http://cf-pcmdi.llnl.gov/documents/cf-conventions/1.5/cf-conventions.html#ancillary-data).
To attach flags to a variable, use |ancillary_variables| to point to
a variable that has |flag_values||| and |flag_meanings |attributes
(http://cf-pcmdi.llnl.gov/documents/cf-conventions/1.5/cf-conventions.html#flags).
We have started a discussion in the background, whether an example
that illustrates this should be included in the CF documentation.
- Steve
=====================================================
On 7/14/2010 6:21 AM, Jeff deLaBeaujardiere wrote:
In another discussion, Steve Hankin wrote:
> CF generally favors attributes attached to variables over
attributes attached to files
This reminds me of a question I wanted to ask: does CF have any
conventions regarding how to handle data that contains multiple
observed quantities with different quality flags, comment fields or
other attributes for each quantity?
-Jeff DLB
_______________________________________________
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
--
*******************************************************
* Nan Galbraith (508) 289-2444 *
* Upper Ocean Processes Group Mail Stop 29 *
* Woods Hole Oceanographic Institution *
* Woods Hole, MA 02543 *
*******************************************************
_______________________________________________
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
_______________________________________________
CF-metadata mailing list
[email protected]
http://mailman.cgd.ucar.edu/mailman/listinfo/cf-metadata