I ran ncdump using your url and
with fetch display enabled. It is
making 24 requests to the server
each of size one float
[Reading a float at a time is a function
of the way ncdump works, not the dap code].
Can you please do the following command and send me the output:
ncdump
'[log][show=fetch]http://goldsmr2.sci.gsfc.nasa.gov/opendap/hyrax/MERRA/MAT1NXSLV.5.2.0/1990/01/MERRA100.prod\
.assim.tavg1_2d_slv_Nx.19900101.hdf?U50M_EOSGRID_Data_Fields[0:23][282:282][441\
:441]'
=Dennis Heimbigner
Unidata
Taylor Binnington wrote:
Thank you Dennis.
I'm using version 4.2.1, netcdf-cxx4 by Lynton Appel, on openSUSE 12.1, so
I think it's fairly up-to-date. The problem is not that I am unable to open
the file (I, too, can print out the 24 values), but that doing so
apparently uses ~19 mb of bandwidth, according to the iftop monitoring
utility. This seems quite excessive.
Please let me know if there is specific information that I should provide
here. Much appreciated,
Taylor
On Mon, Feb 18, 2013 at 5:57 PM, Dennis Heimbigner <dmh@xxxxxxxxxxxxxxxx>wrote:
The opendap code in the netcdf-C libraries
(used by the C++ library) will in fact
properly handle the constraint you specified.
I just ran it and as expected, it is only pulling
in the 24 values you requested (took some 5 seconds to
obtain and print out the data).
One possibility is that you are using a rather old version
of the netcdf-C library.
=Dennis Heimbigner
Unidata
Taylor Binnington wrote:
Hello,
I have an 'understanding' type of question. I have omitted details of my
OS, NetCDF installation, and a minimal example since I do not think they
are important for my question, but I can provide these details if they are
important.
When I attempt to open a MERRA file using the NetCDF C++ libraries, with a
line like the following, in my code:
NcFile datafile("
http://goldsmr2.sci.gsfc.nasa.**gov/opendap/hyrax/MERRA/**
MAT1NXSLV.5.2.0/1990/01/**MERRA100.prod.assim.tavg1_2d_**
slv_Nx.19900101.hdf?U50M_**EOSGRID_Data_Fields[0:23][282:**282][441:441]<http://goldsmr2.sci.gsfc.nasa.gov/opendap/hyrax/MERRA/MAT1NXSLV.5.2.0/1990/01/MERRA100.prod.assim.tavg1_2d_slv_Nx.19900101.hdf?U50M_EOSGRID_Data_Fields[0:23][282:282][441:441]>
",NcFile::read);
...I notice that quite a lot (nearly 20 MB) is being transferred from
Hyrax
to my PC. However, all that I am interested in are the actual array values
(24 separate 32-bit real numbers) of the U50M_EOSGRID_Data_Fields. It has
been suggested that the entire array (of size 24*361*540 32-bit reals) is
being transferred by NetCDF before any subsetting takes place, is this
true? If so, is it then not possible to use OPeNDAP URLs to subset
on-the-fly through the NetCDF libraries?
Thank you for your help!
Taylor
------------------------------**------------------------------**
------------
______________________________**_________________
netcdfgroup mailing list
netcdfgroup@xxxxxxxxxxxxxxxx
For list information or to unsubscribe, visit:
http://www.unidata.ucar.edu/**mailing_lists/<http://www.unidata.ucar.edu/mailing_lists/>