Java NetCDF problem...
John Caron
caron at unidata.ucar.edu
Wed Apr 25 17:45:59 MDT 2007
you are using units "days since 0000-1-1"
perhaps you are using a different calendar than udunits expects ?? perhaps one that expects 365 days per year ??
udunits uses Gregorian calendar.
time
{730015.5, 730045.0, 730074.5, 730105.0, 730135.5, 730166.0, 730196.5, 730227.5, 730258.0, 730288.5, 730319.0, 730349.5, 730380.5, 730410.0, 730439.5, 730470.0, 730500.5, 730531.0, 730561.5, 730592.5, 730623.0, 730653.5, 730684.0, 730714.5, 730745.5, 730775.0, 730804.5, 730835.0, 730865.5, 730896.0, 730926.5, 730957.5, 730988.0, 731018.5, 731049.0, 731079.5, 731110.5, 731140.0, 731169.5, 731200.0, 731230.5, 731261.0, 731291.5, 731322.5, 731353.0, 731383.5, 731414.0, 731444.5, 731475.5, 731505.0, 731534.5, 731565.0, 731595.5, 731626.0, 731656.5, 731687.5, 731718.0, 731748.5, 731779.0, 731809.5, 731840.5, 731870.0, 731899.5, 731930.0, 731960.5, 731991.0, 732021.5, 732052.5, 732083.0, 732113.5, 732144.0, 732174.5, 732205.5, 732235.0, 732264.5, 732295.0, 732325.5, 732356.0, 732386.5, 732417.5, 732448.0, 732478.5, 732509.0, 732539.5, 732570.5, 732600.0, 732629.5, 732660.0, 732690.5, 732721.0, 732751.5, 732782.5, 732813.0, 732843.5, 732874.0, 732904.5, 732935.5, 732965.0, 732994
.5, 733025.0, 733055.5, 733086.0, 733116.5, 733147.5, 733178.0, 733208.5, 733239.0, 733269.5, 733300.5, 733330.0, 733359.5, 733390.0, 733420.5, 733451.0, 733481.5, 733512.5, 733543.0, 733573.5, 733604.0, 733634.5}
1998-09-16 12:00:00Z
1998-10-16 00:00:00Z
1998-11-14 12:00:00Z
1998-12-15 00:00:00Z
1999-01-14 12:00:00Z
1999-02-14 00:00:00Z
1999-03-16 12:00:00Z
1999-04-16 12:00:00Z
1999-05-17 00:00:00Z
Nathan Wilhelmi wrote:
> Hi John,
> Thanks for the previous help. We are having some problems with dates on
> the same file. I believe the first date for the file should be Jan 15
> 2000. However we are getting back values that seem out of range. The
> code below is returning 1998-09-16 12:00:00Z -> 2008-08-13 12:00:00Z for
> the range. 2000-1 to 2009-12 is the expected range. Dumping the time
> variable shows the first value to be 730015.5, which seems as expected.
> Any thoughts if this is an library usage error, file units error?
>
> Thanks!!!!
>
> -Nate
>
> CoordinateAxis1DTime timeAxis = coordSys.getTimeAxis1D();
> String timeUnit =
> timeAxis.getTimeResolution().getUnitString();
> if (logger.isDebugEnabled()) {
> logger.debug("loadTimeSlices() - String timeUnit=" + timeUnit);
> }
>
> DateRange range = timeAxis.getDateRange();
>
> logger.debug("Start: " + range.getStart().getText() + " End: " +
> range.getEnd().getText());
> Date[] dates = timeAxis.getTimeDates();
>
>
> ***
> netcdf parents {
> dimensions:
> bnds = 2 ;
> lon = 1405 ;
> lat = 621 ;
> time = UNLIMITED ; // (120 currently)
> parentlons = 41 ;
> parentlats = 19 ;
> variables:
> int bnds(bnds) ;
> double lon(lon) ;
> lon:units = "degrees_east" ;
> lon:axis = "X" ;
> lon:standard_name = "longitude" ;
> lon:bounds = "lon_bnds" ;
> lon:long_name = "longitude" ;
> double lon_bnds(lon, bnds) ;
> lon_bnds:units = "degrees_east" ;
> lon_bnds:missing_value = -999. ;
> double lat(lat) ;
> lat:units = "degrees_north" ;
> lat:axis = "Y" ;
> lat:standard_name = "latitude" ;
> lat:bounds = "lat_bnds" ;
> lat:long_name = "latitude" ;
> double lat_bnds(lat, bnds) ;
> lat_bnds:units = "degrees_north" ;
> lat_bnds:missing_value = -999. ;
> double time(time) ;
> time:units = "days since 0000-1-1" ;
> time:calendar = "noleap" ;
> time:standard_name = "time" ;
> time:axis = "T" ;
> time:long_name = "time" ;
> time:bounds = "time_bnds" ;
> double time_bnds(time, bnds) ;
> time_bnds:units = "days since 0000-1-1" ;
> time_bnds:missing_value = -999. ;
> double parentlons(parentlons) ;
> parentlons:units = "degrees_east" ;
> double parentlats(parentlats) ;
> parentlats:units = "degrees_north" ;
> float parentvar(time, parentlats, parentlons) ;
> parentvar:units = "K" ;
> parentvar:missing_value = -999.f ;
> parentvar:original_varname = "tas" ;
> parentvar:standard_name = "air_temperature" ;
> parentvar:long_name = "air_temperature" ;
> float tas(time, lat, lon) ;
> tas:units = "K" ;
> tas:missing_value = -999.f ;
> tas:cell_method = "time: mean" ;
> tas:cell_methods = "time: mean (interval: 1 month)" ;
> tas:cell_step1 = "thin-plate spline to dense grid" ;
> tas:cell_step2 = "apply linear model based on PRISM" ;
> tas:standard_name = "air_temperature" ;
> tas:long_name = "air_temperature" ;
>
> // global attributes:
> :CoefficientFileName =
> "/ptmp/thoar/downscaling/coeffs_tave_1895_2005.nc" ;
> :PrismDataSource = "PRISM Group, Oregon State University" ;
> :PrismDataURL = "http://www.ocs.orst.edu/prism/" ;
> :PrismDataOrigin = "ftp.ncdc.noaa.gov/pub/data/prism100" ;
> :PrismDataRetrievalDate1_1895_1997 = "30 Aug 2006" ;
> :PrismDataRetrievalDate2_1998_2005 = "20 Oct 2006" ;
> :ParentDataFileName =
> "tas_A1.SRESA1B_6.CCSM.atmm.2000-01_cat_2099-12.nc" ;
> :netCDFCreatedBy = "Tim Hoar - thoar at ucar.edu" ;
> :CreationDate = "Tue Apr 17 13:55:49 2007" ;
> :history = "Fri Apr 20 08:29:55 2007: ncks -A bounds.nc
> parents.nc\n",
> "Wed Apr 18 10:28:42 2007: ncks -A time_bnds.2000-01_cat_2009-12.nc
> tas_A1.SRESA1B_6.CCSM.atmm.2000-01_cat_2009-12.downscaled.org.nc\n",
> " " ;
> :Conventions = "CF-1.0" ;
> :realization = 6 ;
> :experiment_id = "720 ppm stabilization experiment (SRES
> A1B)" ;
> }
> ***
>
>
> John Caron wrote:
>> Hi Nathan:
>>
>> Its a bug in the Java NetCDF library: its unusual to have
>> non-contiguous coordinate bounds. Its now fixed in development release
>> 2.2.19.13 at:
>>
>> http://www.unidata.ucar.edu/software/netcdf-java/
>>
>> It looks like your coordinates are off, as you'll see if you look at
>> it in the GridViewer tab.
>>
>> Thanks for reporting!
>>
>> John
>>
>> Nathan Wilhelmi wrote:
>>> Hello - I have been working with Tim Hoar on a NetCDF file that we
>>> need to load up in the Java NetCDF library. It is crashing with a
>>> null pointer exception when creating the grid coordinate system. Is
>>> there anyway we can get the file (~400mb) to you or who ever would be
>>> best to take a look and try to spot the problem. We can't find it.
>>>
>>> Thanks!
>>>
>>> -Nate Wilhelmi
>>> ext 1839
More information about the Netcdf-java
mailing list