[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[netCDFJava #TIC-922637]: Can't get past 'Server does not support byte ranges'



Jon,

Thanks for the detailed explanation, that helps a lot. NCSS exists 
independently of NetCDF-Java, in that NetCDF-Java has no special ways to talk 
to NCSS. The intention, when using NCSS is to use dataset.xml or 
datasetBoundaries.xml to get the metadata you want (parsing using standard XML 
libraries). For more information you can see here:

http://www.unidata.ucar.edu/software/thredds/current/tds/reference/NetcdfSubsetServiceReference.html

Since you already are using NetCDF-Java to talk to the OpenDAP endpoint in TDS, 
there's no reason you couldn't continue to use it to get the metadata for a 
dataset and configure the UI. There's nothing to prevent your UI from then 
talking to the TDS using NCSS and get the nice subsetting features. The two 
processes should be independent, and the variable names, etc. should be 
consistent across the two.

Ryan

> Thanks again.  The overall purpose of my work is to integrate datasets 
> available on our new Thredds server into our existing data ordering system.
> 
> Our current ordering system handles dataset licensing, e-mail communication 
> with the customer, auditing, usage monitoring, has a help desk, etc.  It 
> currently provides access to both pre-prepared static data files and dynamic 
> sub-setting of datasets spatially and temporally using the third party 
> Feature Manipulation Engine.  The main client that the customer interacts 
> with is a wizard that walks the customer through the ordering steps relevant 
> to the dataset they have chosen - for example: agree licence > enter dates 
> range using calendar widgets > draw polygon on interactive map > choose 
> sub-variables > choose format > submit.  This order will drop into a 
> processing queue and when the data is ready the customer receives an e-mail 
> with a download link.
> 
> I have already integrated datasets held on our Thredds server into this model 
> by using the OpenDap interface and java api (as you have mentioned).  The 
> client app handles temporal ranges at resolutions from seconds through to 
> years, giving the customer different interfaces in the ordering wizard 
> dependent on the temporal resolution of the dataset.  The spatial clipping is 
> all done against WGS84 and then converted to the dataset's projection system.
> 
> Because OpenDap uses query urls that simply contain the array locations for 
> subsetting variables, it was very difficult to map the values from the wizard 
> GUI to this.  The main challenge has been to add an administrator's interface 
> to allow them to add new Thredds datasets to the ordering system.  It is at 
> this point that the temporal and spatial dimensions have to be determined, 
> their ranges calculated, step sizes retrieved, etc - so that this information 
> can be used to do the mapping from the GUI world of the customer to the 
> 'OpenDap query' world.
> 
> I'm not too happy with the complexity of the mapping that has to occur, which 
> is when a colleague pointed out to me that the netCDF subsetting service 
> available on the Thredds server might be easier for me to use, since it works 
> in the units of the dataset, not array indexes.  OK, would have been nice to 
> have spotted this earlier.  So, I'm currently trying to quickly investigate 
> using the netCDF-java api to access the datasets, with a view to stripping 
> out the more complex array mapping code I've written and have a simpler model 
> that uses the nice stuff that netCDF subsetting seems to provide.
> 
> So that's why I posted this because I have fallen over at the first hurdle - 
> I can't open a netCDF dataset delivered from the Thredds server with the 
> netCDF-java api (please see attached code and earlier request).
> 
> Here's why I'm a bit confused.  I have an ncss url to a netCDF dataset on a 
> Thredds server.  As yet, I have no more information about that dataset.  I 
> try to use the netCDF-api to get some metadata about the dataset.  The method 
> I have used just returns an error (probably the wrong method for what I 
> need?) and you have let me know that it makes sense as ncss needs to know 
> what variables I want.  I feel in a catch-22 situation - how do I find out 
> about those variables, their ranges, etc? Can I do that through the 
> netCDF-java api?  Once I have this metadata I can use it to build the wizard 
> for the customer that collects their sub-setting choices, which I can use to 
> query ncss and prepare their download.
> 

Ticket Details
===================
Ticket ID: TIC-922637
Department: Support netCDF Java
Priority: Normal
Status: Closed