Hi Roy:
Hi All:
For some background, here are snippets from a user who is accessing the CalCOFI data (stations that are sampled by ship for a variety of parameters) through ERDDAP, and getting back netcdf files that follow the CF DSG specs.
I have a question for you. I am playing with the SIO hydrographic bottle data, and did a test extract to examine the variables in a downloaded netcdf file (both nc and ncCF formats).
What is puzzling me is that the dimensionality of the variable for measured oxygen, for example, is 1 rather than 4 (i.e. ) time, lat, long, depth.
ncdump shows three coordinates, as specified in the header, implying that the dimension is 3, not 1:
float o2ml_l(row) ; o2ml_l:actual_range = 0.f, 9.44f ; o2ml_l:coordinates = "time latitude longitude" ; o2ml_l:ioos_category = "Dissolved O2" ; o2ml_l:long_name = "Measured Oxygen" ; o2ml_l:units = "ml/L of seawater" ;
If so, its the usual confusion about dimensions vs coordinates.
and
NetCDF4 allows multiple unlimited dimensions (which in this case would be time and depth coordinates). The netCDF4 data are then read as a ragged array and gridding can be done easily because the dimensionality of the variables is known. Essentially the data become 4-dimensional semi-random point data rather than a regular array, and the plotting functions in NCL or other program can handle this.
There are several things that come up in relation to this, that I thought you folks might provide some guidance:
1. We have been reluctant to provide hdf5 writes in ERDDAP because there is no pure Java way to do so. Many of the Java/C interfaces only work so-so, but even more the chance for error and support nightmares in making sure we can connect with the appropriate libraries is not something we really want to do. Is there anything on the horizon for a pure Java write interface - we do not need everything hdf5 can do, basically we need to be able to write netcdf4 files.
CDM supports netcdf-4 writing using the netcdf C library:
http://www.unidata.ucar.edu/software/thredds/v4.4/netcdf-java/reference/netcdf4Clibrary.html
2. hdf5 (even netcdf4) is a wide open format unless there are some standards on how things are to be written. The best that we can tell, the CF DSG are only defined in terms of netcdf3 (are we are incorrect on this?), and some of you had the rude awakening to what happens when you propose to try to do anything that keeps up with some changing technology. So even if there aren't formally approved standards for the type of write mentioned above, are there at least proposed and public available "standards" that we can both use and point users to?
Regards, John
Thanks
-Roy
********************** "The contents of this message do not reflect any position of the U.S. Government or NOAA." ********************** Roy Mendelssohn Supervisory Operations Research Analyst NOAA/NMFS Environmental Research Division Southwest Fisheries Science Center 1352 Lighthouse Avenue Pacific Grove, CA 93950-2097
e-mail: address@hidden (Note new e-mail address) voice: (831)-648-9029 fax: (831)-648-8440 www: http://www.pfeg.noaa.gov/
"Old age and treachery will overcome youth and skill." "From those who have been given much, much will be expected" "the arc of the moral universe is long, but it bends toward justice" -MLK Jr.
NOTE: All email exchanges with Unidata User Support are recorded in the Unidata inquiry tracking system and then made publicly available through the web. If you do not want to have your interactions made available in this way, you must let us know in each email you send to us.