* Fri Aug 24 2006 John Evans - 2.3.0 The java backend is now back in place, and hopefully done a little more intelligently this time. It is still very much read-only, a consequence of the java implementation of the netcdf classes. If you want read/write, you have to use the java netcdf calls directly or have mexnc available. The routines that can make direct use of java are nc_info, nc_getvarinfo, nc_varget, nc_attget, and nc_isvar. The switch that controls the usage of java versus the mexnc mex-file is the new routine "nc_method". It set by default to 'mexnc', but is straightforward to edit it to change to 'java'. If snctools is being used by a number of users on the same system, then one user could still use, say, java, and the others still use 'mexnc'. The one user would only have to copy "nc_method" somewhere into their own path, editing it appropriately, and having their local copy precede SNCTOOLS on their matlab path. There's no loaddap backend yet. No promise of reinstating it anytime soon. If you don't care about java, then you can continue to not care and just consider the 2.3.0 as just a minor bugfix release. * Wed Aug 09 2006 John Evans - 2.2.0 IMPORTANT!!! Disregard the loaddap and java information in the 2.1.0 release, those backends are history. They just broke too much existing code and I could see things getting much more complicated down the road. If there's one lesson I've learned, it's to do just one thing but do it well. * Wed Jul 12 2006 John Evans - 2.1.0 IMPORTANT!!! There has been a change in the API of many SNCTOOLS m-files that all users need to know about. Many m-files used to optionally return a status argument, and that has mostly been done away with, as now SNCTOOLS m-files will throw exceptions whenever an error is encountered, resulting in much cleaner code (much less code, too). Most users never used the status anyway. But if you did, you will find that your m-files will refuse to run until you rewrite your code to longer asks for the return status. Java and loaddap support has been added to SNCTOOLS. This means that there are now three ways to read an opendap URL, via java, loaddap, and opendap-enabled mexnc , which could potentially be quite confusing, I know. The reason for doing this is that the java route would seem to neatly solve a number of problems. For example, you currently cannot read large netCDF files (i.e. > 2GB) with the opendap-enabled mexnc. In order to do so, one would have to manually switch back to using "normal" mexnc (built directly on top of the unidata netCDF library). But by simply testing the given file argument "under the hood" as to whether it is actually a URL, SNCTOOLS can switch to using java for opendap URLs or normal mexnc for local netCDF files seamlessly. Having this flexibility will be especially useful when netCDF-4 arrives on the scene. Why not just go entirely to using java? Well, there are a couple of reasons. First of all, people using intel macs don't have access to the java virtual machine with matlab. Second of all, it would necessitate rewriting all of SNCTOOLS, and I don't see that as being necessary. Thirdly, I wrote mexnc and can safely say that it is pretty robust (the netcdf-3 code, anyway). And last of all, I really just don't like java. There, I said it, it's all out on the table now.