NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
Ethan,I guess we're thinking along the same lines, because after reading Jon's email my first thought was I would return a string like "F-TDS - OPeNDAP - netCDF". This would say a lot to me, in that I would know that the data flowing out might be the result of some sort of server side calculation, delivered via OPeNDAP and originally read from a netCDF file. But, without some sort of agreed upon convention then it's just a String.
I think loading up these ID's with a bunch of semantics seems kind of like a bad idea. An invitation for trouble and confusion.
Don't we really want an API where we can ask the relevant questions like Are you compressed? Are you coming over the wire as OPeNDAP? What is your underlying storage?
Roland On 04/29/2011 11:20 AM, Ethan Davis wrote:
Hi Roland, The fileTypeId wasn't really designed with virtual datasets in mind or with any particular semantics in mind. They are similar to using software version numbers to indicate capabilities, you just have to know what they mean. Since virtual datasets may change the characteristics expected from a dataset with a given fileTypeId, perhaps we should extend fileTypeIds to allow for multi-layer names. Maybe something like "ncAggregation - GRIB2". Ethan On 4/29/2011 7:41 AM, Roland Schweitzer wrote:Hi Jon, Thanks for the code link and information. Unfortunately I'm still confused. It seems that you want to distinguish between reading local data files and OPeNDAP data sources and distinguish between uncompressed and compress local files. Makes sense to want to know this and to code accordingly. However, Ethan said that TDS promotes the underlying FileTypeId from the data files when returning the FileTypeId for a TDS aggregation. And you suggest I do the same for my virtual data sets. It seems to me that this will give you exactly the wrong information for how you want to classify the data. An F-TDS data source is by definition an OPeNDAP data source, but the data type of the underlying data will most of the time be a local netCDF file or type netCDF. So if I follow the suggestion and return won't you get wrong optimization by looking the FileTypeId? Roland On 04/29/2011 03:45 AM, Jon Blower wrote:Hi Roland, The fileTypeId is used by ncWMS to decide on what algorithm to use to extract data. Compressed data (e.g. NetCDF4) and data read over OPeNDAP, have very different performance characteristics to uncompressed, local data (e.g. NetCDF3, HDF4). See the code here: http://www.resc.rdg.ac.uk/trac/ncWMS/browser/trunk/src/java/uk/ac/rdg/resc/edal/cdm/CdmUtils.java#L269 So I guess the fileTypeId of your virtual dataset should match the underlying file type. If this isn't easy, then from the WMS point of view you can put any old string as the fileTypeId and the WMS will be conservative and won't assume that data-reading is "cheap". This is an example of the adage "all abstractions are leaky"... performance concerns are notorious for messing up nice clean abstractions. HTH, Jon ---------------------------------------------------------------------- Message: 1 Date: Wed, 27 Apr 2011 17:09:13 -0500 From: Roland Schweitzer<Roland.Schweitzer@xxxxxxxx> To: thredds@xxxxxxxxxxxxxxxx Subject: Re: [thredds] WMS and F-TDS virtual datasets [was: Re: aggregation / arithmetic between variables] Message-ID:<4DB89409.5000701@xxxxxxxx> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Jon and Ethan, Help me understand the best way forward with these FileTypeId in the IOSP. Questions below... On 04/15/2011 03:37 PM, Ethan Davis wrote:Hi Roland,What should these [getFileTypeId] values be, Ethan? Is there an official enumeration I can reference for know values for these? I just grabbed them off the Web page: http://www.unidata.ucar.edu/software/netcdf-java/formats/FileTypes.html. It makes sense to me to use netCDF since it is the intent of the IOSP to act like netCDF OPeNDAP in every case.The ID values should uniquely identify the "file type". The web page enumerates the values we know. We encourage everyone that implements an IOSP to select an ID not on the list and let us know so we can update the list. So, I think rather than use "netCDF" you should decide on an ID unique to your IOSP. Or, if all the datasets behind one of your virtual datasets are always going to be the same type, you could use the type of the backing datasets. (That is what the CDM Aggregation class does, it uses the "file type" of the aggregations "typical dataset").Jon, what does the ncWMS do with the FileTypeId? The best decision from my point of view for what to return seems to depend on how the value is being used by clients. I thought the point of the the CDM was everything looks like netCDF. If folks are making optimizations based on the FileTypeId then for some cases like F-TDS it seems like they might miss out if the FileTypeId was something other than netCDF. RolandLet us know if you decide on a new unique ID and we'll add it to the list .End of thredds Digest, Vol 27, Issue 34 *************************************** _______________________________________________ thredds mailing list thredds@xxxxxxxxxxxxxxxx For list information or to unsubscribe, visit: http://www.unidata.ucar.edu/mailing_lists/_______________________________________________ thredds mailing list thredds@xxxxxxxxxxxxxxxx For list information or to unsubscribe, visit: http://www.unidata.ucar.edu/mailing_lists/_______________________________________________ thredds mailing list thredds@xxxxxxxxxxxxxxxx For list information or to unsubscribe, visit: http://www.unidata.ucar.edu/mailing_lists/
thredds
archives: