Hi, John and Dennis!
Thank you for the explaining why NetCDF-Java adapted such design
decision and what's really going on inside.
The URL for case 3. is here:
Don't be surprised if ToolsUI gives a pop-up window with an enormous width. :-)
On Fri, Mar 16, 2012 at 1:29 PM, John Caron <caron@xxxxxxxxxxxxxxxx> wrote:
> On 3/16/2012 12:02 PM, Dennis Heimbigner wrote:
>>> 1. It reads DDS, DAS outputs and then attempts to read the contents of
>>> all string data variables in DDS. Since some strings may be very long,
>>> it degrades the performance. I don’t know why it tries to access
>>> string variables when it opens data via OPeNDAP. Reading DDS and DAS
>>> seems sufficient.
> Its because netcdf data model has char datatype but dap2 has String, and
> theres no way to tell the length of a string without reading.
> prefetching strings was a compromise on fixing this problem.
> it can go away with DAP4.
>> The client side code attempts to do some prefetching of small variables.
>> The hidden assumption is that string values are not very big, and indeed
>> is usually the case. I am curious what kind of dataset you have that
>> this assumption.
>>> 2. If a string size is more than 32767, it throws an error. I don’t
>>> understand why it put such restriction yet. The line 151 and 152 of
>>>  checks Short.MAX_VALUE, which is 2^15 - 1 = 32767 according to
>>> . This restriction makes it fail to access otherwise valid OPeNDAP
> dennis can you check this? is 32767 limit part of dap2 spec?
>>> 3. It forms a very long URL string if data file has many variables
>>> with long variable names. If the requested URL is too long for server
>>> to handle, it returns an error “opendap.dap.DAP2.Exception: Method
>>> failed:HTTP/1.1 400 Bad Request on URL=http...<all variables will be
>>> listed here>”. I don’t understand why it tries to append all variables
>>> to get DDS output. Here's the part of code that constructs a very long
> Joe, can you send a URL with this problem?
>> This occurs primarily because of prefetching of "small" variables.
>> Later, it may need to get the whole DDS (for display in toolsUI, for
>> so it forms a URL requesting all variables except those already
>> =Dennis Heimbigner
>> netcdf-java mailing list
>> For list information or to unsubscribe, visit:
> netcdf-java mailing list
> For list information or to unsubscribe, visit: