[netcdf-java] NcML and "values" support clarification?
Nick Bower
nick.bower at metoceanengineers.com
Tue Sep 4 19:10:52 MDT 2007
John Caron wrote:
> Hi Nick:
>
> Im not sure what your use case is. Are you generating the data values
> yourself, or do they come out of a netcdf file?
Hi John. 3 cases (for when you're back);
1) Build NcML representations on the fly myself in a data ingest
(producer), preferably using a NetCDF/NcML API. This NcML would be
serialized to String and distributed via JMS to consumers.
2) Flexibly parse NcML in data consumers (eg databases, monitoring) for
pulling out attributes/values etc, again using an API.
3) Dumping NcML messages directly into NetCDF files that will form a
master NetCDF store.
and full values support all the way through.
At the moment my messages comprise of Java Serializable simple bean-like
classes, but this is not a good approach for cross-platform integration
(ie working with .NET producers/consumers) and they're of course not
self describing either.
>
> BTW, I will be on vacations until next week, You might want to look at
> NcMLWriter.java in the meanwhile.
Ah yes I see NcMLWriter.writeXML / NcMLWriter.writeValues now - I had
been looking at NetcdfFile itself. 2 questions;
NcML.writeXML, being the method that generates NcML as I understand,
seems to want to read it's data via a NetcdfFile however I'd be wanting
to create containers in memory. Are temporary files essential?
NCMLReader looks more promising - you seem to be able to return an
in-memory NetcdfDataset via readNcML(InputStream...). Maybe this
NetcdfDataset is the common API - will writeXML work if passing it a
NetcdfDataset?
Hopefully I'm getting across that "files" are really just one of many
consumer end-points in my scenario and not something I'm trying to focus
my data around. More important is the in-memory container classes and
the ability to conveniently convert these to/from NcML (with values
support).
>
>
> Nick Bower wrote:
>> I want to verify the api support for variable values in NcML.
>>
>> Some background - we're looking at NcML as a potential cross-platform
>> format to exchange realtime data via Java/.Net messaging. We already
>> use NetCDF extensively in our organisation where we've conventionally
>> collected long periods of data at a single place, but the idea is
>> that we want to explore a more modern distributed realtime messaging
>> architecture where data volume in any single message is low, but
>> delivery frequency and schema variability from different sources is
>> high. In this way NcML could be used to represent measurement
>> datums, say one NcML message specifying a measurement timestamp from
>> a remote logging station contain the measurements of several
>> instruments. NcML also has the benefit of 1) facilitating downstream
>> aggregation by message consumers directly to NetCDF, 2) GML
>> extension. We're using Mule ESB (Java) to integrate this btw.
>>
>> My question regards the support for variable "values". Support
>> exists in the xsd, but appears totally lacking in both the java api
>> and ncdump/ncgen utilities. Both the api javadoc and utilities man
>> pages explicity say that any generated NcML will not include values.
>>
>> Can someone please clarify what is the status of supporting variable
>> values in NcML, and what is the roadmap for api inclusion?
>>
>> Thanks, Nick
>>
More information about the netcdf-java
mailing list