Due to the current gap in continued funding from the U.S. National Science Foundation (NSF), the NSF Unidata Program Center has temporarily paused most operations. See NSF Unidata Pause in Most Operations for details.
Hello, I have a problem using netcdfAll-4.2.jar to parse files like that http://nomads.ncep.noaa.gov/pub/data/nccf/com/cfs/para/cfs/cfs.20110309/00/monthly_grib_01/flxf.01.2011030900.201103.avrg.grib.06Z.grb2 There is an error if I tring to open it as Netcdf file java.lang.UnsupportedOperationException at ucar.grib.grib2.Grib2Pds.makeForecastTime(Grib2Pds.java:187) at ucar.grib.grib2.Grib2Pds$Grib2Pds8.<init>(Grib2Pds.java:1101) at ucar.grib.grib2.Grib2Pds.factory(Grib2Pds.java:79) at ucar.grib.grib2.Grib2ProductDefinitionSection.<init>(Grib2ProductDefinitionSection.java:203) at ucar.grib.grib2.Grib2Input.scan(Grib2Input.java:204) at ucar.grib.grib2.Grib2WriteIndex.writeGribIndex(Grib2WriteIndex.java:162) at ucar.grib.grib2.Grib2WriteIndex.writeGribIndex(Grib2WriteIndex.java:111) at ucar.nc2.iosp.grib.GribGridServiceProvider.writeIndex(GribGridServiceProvider.java:345) at ucar.nc2.iosp.grib.GribGridServiceProvider.getIndex(GribGridServiceProvider.java:289) at ucar.nc2.iosp.grib.GribGridServiceProvider.open(GribGridServiceProvider.java:118) at ucar.nc2.NetcdfFile.<init>(NetcdfFile.java:1317) at ucar.nc2.NetcdfFile.open(NetcdfFile.java:753) at ucar.nc2.NetcdfFile.open(NetcdfFile.java:387) at ucar.nc2.NetcdfFile.open(NetcdfFile.java:357) ... same error occures in IDV. I think the reason of it in procedure makeForecastTime in class grib2.Pds package ucar.grib.grib2 because there is no timeUnit=3 (Month) in this procedure. static public int makeForecastTime(long refTime, long foreDate, int timeUnit) { int intv = (int) ((foreDate - refTime) / 1000); // secs // common cases if (timeUnit == 1) return intv / 3600; // hour else if (timeUnit == 0) return intv / 60; // minute else if (timeUnit == 2) return intv / 3600 / 24; // day else if (timeUnit == 10) return intv / 3600 / 3; // 3 hour else if (timeUnit == 11) return intv / 3600 / 6; // 6 hour else if (timeUnit == 12) return intv / 3600 / 12; // 12 hour else if (timeUnit == 13) return intv; // sec // otherwise ?? throw new UnsupportedOperationException(); } Best regards, Igor
netcdf-java
archives: