Re: [netcdf-java] Error on opening ECMWF long term forecast (Grib1 and second order packing)

  • To: Martijn van der pauw <martijnvanderpauw@xxxxxxxxx>
  • Subject: Re: [netcdf-java] Error on opening ECMWF long term forecast (Grib1 and second order packing)
  • From: John Caron <jcaron1129@xxxxxxxxx>
  • Date: Mon, 23 Nov 2015 10:48:05 -0700
Hi Martijn:

It appears we dont have second-order unpacking implemented in GRIB1,
although we do have it in GRIB2. Assuming its the same algorithm, i will
try adapting the GRIB2 code to GRIB1.

John

On Mon, Nov 23, 2015 at 3:03 AM, Martijn van der pauw <
martijnvanderpauw@xxxxxxxxx> wrote:

> Hi,
>
> Some long term ECMWF files have changed (second order packing) and we have
> problems reading those since then. When I want to check the data in ToolsUi
> 4.6 I get this stack trace (see below):
>
> Is this something that's not implemented in NetCDF yet?
>
> The data file can be found here:
> http://jmp.sh/pzcR2Vu
>
>
> SEVERE: Grib1BinaryDataSection: (octet 4, 1st half) not grid point data
> and simple packing for D:\data\grib\ECM_FDF_2015110900_0
> Nov 23, 2015 10:52:08 AM ucar.nc2.dt.grid.GeoGrid readDataSlice
> SEVERE: GeoGrid.getdataSlice() on dataset
> Maximum_temperature_at_2_metres_in_the_last_6_hours_surface_6_Hour_2
> D:/data/grib/ECM_
> java.lang.IllegalStateException: Grib1BinaryDataSection: (octet 4, 1st
> half) not grid point data and simple packing
>         at
> ucar.nc2.grib.grib1.Grib1DataReader.getData(Grib1DataReader.java:103)
>         at ucar.nc2.grib.grib1.Grib1Record.readData(Grib1Record.java:153)
>         at ucar.nc2.grib.grib1.Grib1Record.readData(Grib1Record.java:198)
>         at ucar.nc2.grib.collection.Grib1Iosp.readData(Grib1Iosp.java:387)
>         at
> ucar.nc2.grib.collection.GribIosp$DataReader.read(GribIosp.java:912)
>         at
> ucar.nc2.grib.collection.GribIosp.readDataFromCollection(GribIosp.java:847)
>         at ucar.nc2.grib.collection.GribIosp.readData(GribIosp.java:797)
>         at ucar.nc2.NetcdfFile.readData(NetcdfFile.java:1982)
>         at ucar.nc2.Variable.reallyRead(Variable.java:897)
>         at ucar.nc2.Variable._read(Variable.java:882)
>         at ucar.nc2.Variable.read(Variable.java:693)
>         at ucar.nc2.dataset.VariableDS.reallyRead(VariableDS.java:557)
>         at ucar.nc2.dataset.VariableDS._read(VariableDS.java:537)
>         at ucar.nc2.Variable.read(Variable.java:693)
>         at ucar.nc2.Variable.read(Variable.java:639)
>         at ucar.nc2.dt.grid.GeoGrid.readDataSlice(GeoGrid.java:606)
>         at ucar.nc2.ui.grid.GridRenderer.makeHSlice(GridRenderer.java:531)
>         at
> ucar.nc2.ui.grid.GridRenderer.renderPlanView(GridRenderer.java:730)
>         at ucar.nc2.ui.grid.GridController.drawH(GridController.java:828)
>         at ucar.nc2.ui.grid.GridController.draw(GridController.java:798)
>         at ucar.nc2.ui.grid.GridUI$6.actionPerformed(GridUI.java:448)
>         at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
>         at javax.swing.AbstractButton$Handler.actionPerformed(Unknown
> Source)
>         at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown
> Source)
>         at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
>         at
> javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
>         at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
>         at java.awt.Component.processMouseEvent(Unknown Source)
>         at javax.swing.JComponent.processMouseEvent(Unknown Source)
>         at java.awt.Component.processEvent(Unknown Source)
>         at java.awt.Container.processEvent(Unknown Source)
>         at java.awt.Component.dispatchEventImpl(Unknown Source)
>         at java.awt.Container.dispatchEventImpl(Unknown Source)
>         at java.awt.Component.dispatchEvent(Unknown Source)
>         at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown
> Source)
>         at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
>         at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
>         at java.awt.Container.dispatchEventImpl(Unknown Source)
>         at java.awt.Window.dispatchEventImpl(Unknown Source)
>         at java.awt.Component.dispatchEvent(Unknown Source)
>         at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
>         at java.awt.EventQueue.access$500(Unknown Source)
>         at java.awt.EventQueue$3.run(Unknown Source)
>         at java.awt.EventQueue$3.run(Unknown Source)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at
> java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown
> Source)
>         at
> java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown
> Source)
>         at java.awt.EventQueue$4.run(Unknown Source)
>         at java.awt.EventQueue$4.run(Unknown Source)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at
> java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown
> Source)
>         at java.awt.EventQueue.dispatchEvent(Unknown Source)
>         at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown
> Source)
>         at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
>         at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown
> Source)
>         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>         at java.awt.EventDispatchThread.run(Unknown Source)
>
> _______________________________________________
> netcdf-java mailing list
> netcdf-java@xxxxxxxxxxxxxxxx
> For list information or to unsubscribe, visit:
> http://www.unidata.ucar.edu/mailing_lists/
>
  • 2015 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the netcdf-java archives: