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

Re: Deployed: Bug fixes to NetCDF Java API 4.1.20100227.0121



On 3/5/2010 5:07 PM, Tom Margolis wrote:
Hi,

I found and fixed bugs - having to do with the handling of longitude
ranges - in the following two NetCDF API classes:

     ucar.nc2.dataset.CoordinateAxis1D
     ucar.nc2.dt.grid.GridCoordSys

I did so by adding a new ucar.ral.util.BugFixes class, and having the
above two classes call methods therein.  This isolation will make it
easy to find and identify the bug fixes: search for the string
"BugFixes" in the above two classes.

I jarred up the original 4.1.20100227.0121 code base with the two
altered classes and the new BugFixes class, and deployed to the MIT
Lincoln Labs repository as:


edu/ucar/unidata/netcdf-api/4.1.20100227.0121-ralfix.1/netcdf-api-4.1.20100227.0121-ralfix.1.jar


The "ralfix" jar is also attached to this email, as are the three
classes in question.  The "ralfix" jar includes a CHANGES_ralfix file
that explains the changes made.

John:
     Can you take a look at the fixes and possibly include in your next
release?

Others:
     Please update your wcsri/ and wcsri_datatests/ code from svn.  The
updates will include new pom.xml files, new test code, and new core code.

Aaron:
     Can you pass this email to the folks at Savoir?

Thanks,
Tom

Hi Tom:

I appreciate your time in tracking down these bugs. Sorry it takes me a while to review them, esp when they have implications throughout larger pieces of code.

1) CoordinateAxis1D

The problem here is that the longitude axis is violating this assumption of CoordinateAxis1D:

   * A 1-dimensional Coordinate Axis. Its values must be monotonic.

It would be good to relax that assumption for longitude if possible, since obviously datasets normalize their longitudes.

However, im not sure where else that assumption is used, so i would have to examine the grid code base. I wonder if youve thought about that and looked through the grid code for that assumption?

Its possible that a better strategy is to have CoordinateAxis1D monoticize its values, ie check when reading in if it crosses the dateline and adjust.

2) GridCoordSys

These appear to be the same as what you previously sent? If so, Ive already incorporated these in the release.

It would be helpful to me in reviewing your fixes if you would summarize the problem, as well as the fix. A sample file (remote access ok) and/or a unit test would sometimes cut down on the work i have to do.

thanks again.