Hi Curtis-
Overall, I think you've hit the nail on the head. Just a few comments:
Curtis Rueden wrote:
If I understand your question correctly, I have been thinking about this
issue recently.
Some types of metadata are built in to the system. Units, coordinate
systems and error estimate propagation are all part of the VisAD Data
model. However, I suspect what you mean by "metadata" is the auxiliary
information (other than pixel data) embedded within a file.
Unfortunately, support for reading this type of information is not fully
implemented (although the VisAD API supports it).
There are two ways VisAD can handle file metadata:
1) Sometimes the file form adapter includes relevant metadata as part of
the data object. You can determine whether this is happening in the
VisAD SpreadSheet by bringing up the Edit Mappings dialog, and taking a
look at the MathType. If it is big and complex, chances are that it
represents a large tuple containing both pixel data and various metadata
parameters. I believe (although I am not certain) that the netCDF Plain
form behaves this way. Unfortunately, I don't think the FITS form does.
The netCDF adpater does not provide access to all the metadata.
Where possible it incorporates metadata (e.g. variable attributes)
into the Data object (units, scale/offset, valid range), but does
not give you direct access to these values (i.e., what have these
values been scaled by). The big "ommission" is access to the
global attributes. I've been thinking about how this might be
done. (see below).
2) To generalize the file metadata concept, I recently created an
optional interface for VisAD file form adapters:
visad.data.MetadataReader. It allows the file form to provide a
Hashtable containing all metadata extracted from the file, represented
as key/value pairs. (Of course, what this metadata is completely depends
on the file format.) I have implemented MetadataReader for the file form
adapters in visad.data.bio, but most other file forms do not yet support
it. Whether it gets implemented for other formats will depend on user
interest and VisAD developers' time availability.
Guess I missed that checkin. When I get a chance, I'll see
if that would work for the netCDF stuff.
Don
*************************************************************
Don Murray UCAR Unidata Program
dmurray@xxxxxxxxxxxxxxxx P.O. Box 3000
(303) 497-8628 Boulder, CO 80307
http://www.unidata.ucar.edu/staff/donm
"There's someone in my head, but it's not me" Roger Waters
*************************************************************