Re: [netcdf-java] ECMWF GRIB2 file and toolsUI

Greetings Jian,

netCDF-Java and the TDS should handle the case of GRIB files with more
than one GDS, for example the NWS Firenest grids:

http://thredds.ucar.edu/thredds/catalog/grib/NCEP/NAM/Firewxnest/catalog.html

In this catalog, there are two "types" of Full and Best collections:

LambertConformal_564X494 (Center 31.03N 83.01W)
LambertConformal_370X509 (Center 32.98N 111.1W)

Each one references a different collection of GDSs. While the name
sure looks ugly, the TDS can be configured to rename them with
something more easy to understand. See "Example 3 (Multiple Groups)"
here:

http://www.unidata.ucar.edu/software/thredds/current/tds/reference/collections/GribCollections.html

We do not rename these different GDSs, as the nested domain changes
often, but it is nice to do for archived datasets.

Cheers,

Sean


On Tue, May 23, 2017 at 8:24 AM, TANGJian@xxxxxxxxx.gmail
<jtang.nju@xxxxxxxxx> wrote:
> Hi Sean,
>
> Sorry I do not make myself clear.
> When I am talking about mix coordinates, I mean different horizontal
> dimension.
> the link you show has same x * y , which is [y = 1377][x = 2145];
> but the grib file we receive from ecmwf have different x*y, surface is
> global and isobaric in hPa is a subset cover most of Asia.
> I think it should be Keith's case too.
>
> Best,
> Jian
>
> --
> Dr. Jian TANG
> Room 403, National Meteorological Center
> China Meteorological Administration
> No. 46, Zhongguancun South Street, Haidian District, Beijing
> P. R. China, 100081
> Tel: +86 10 68400450
>       +86 0 13717637500
> Email: tangjian@xxxxxxxxxx
>
> 2017-05-23 22:14 GMT+08:00 Sean Arms <sarms@xxxxxxxx>:
>>
>> Greetings Jian,
>>
>> I am not familiar with the problem regarding mixed coordinate files -
>> here is an example of a grib collection with mixed coordinates:
>>
>>
>> http://thredds.ucar.edu/thredds/ncml/grib/NCEP/HRRR/CONUS_2p5km/Best?catalog=http%3A%2F%2Fthredds.ucar.edu%2Fthredds%2Fcatalog%2Fgrib%2FNCEP%2FHRRR%2FCONUS_2p5km%2Fcatalog.html&dataset=grib%2FNCEP%2FHRRR%2FCONUS_2p5km%2FBest
>>
>> This file has sigma, isobaric,and height above ground, to name a few.
>>
>> Cheers,
>>
>> Sean
>>
>>
>> On Tue, May 23, 2017 at 8:08 AM, TANGJian@xxxxxxxxx.gmail
>> <jtang.nju@xxxxxxxxx> wrote:
>> > HI Keith,
>> >
>> > IF you are dealing with C1D or so, my experience is, you should split
>> > C1D
>> > files by using grib_copy
>> > into surface/isobaric/hybrid files, because TDS cannot dealing with mix
>> > coordinate files.
>> >
>> > It works for me at NMC/CMA here.
>> >
>> > Good luck,
>> > Jian
>> >
>> > --
>> > Dr. Jian TANG
>> > National Meteorological Center
>> > China Meteorological Administration
>> > No. 46, Zhongguancun South Street, Haidian District, Beijing
>> > P. R. China
>> > Email: tangjian@xxxxxxxxxx
>> >
>> > 2017-05-22 12:17 GMT+08:00 Keith To <kcto@xxxxxxxxxx>:
>> >>
>> >> Hello,
>> >>
>> >> We are processing ECMWF GRIB2 files which can be read by ecCode.
>> >> However, an exception occurs when reading these ECMWF GRIB2 files with
>> >> toolsUI-4.6.10.
>> >> We'd like to know how can we read ECMWF GRIB2 files using toolsUI /
>> >> TDS.
>> >>
>> >> java.lang.NullPointerException
>> >>     at
>> >>
>> >> ucar.nc2.grib.grib2.table.Grib2Customizer.factory(Grib2Customizer.java:80)
>> >>     at
>> >>
>> >> ucar.nc2.ui.grib.Grib2CollectionPanel.processGribFile(Grib2CollectionPanel.java:535)
>> >>     at
>> >>
>> >> ucar.nc2.ui.grib.Grib2CollectionPanel.setCollection(Grib2CollectionPanel.java:504)
>> >>     at
>> >> ucar.nc2.ui.ToolsUI$Grib2CollectionPanel.process(ToolsUI.java:2736)
>> >>     at ucar.nc2.ui.ToolsUI$OpPanel.doit(ToolsUI.java:1600)
>> >>     at ucar.nc2.ui.ToolsUI$OpPanel$1.actionPerformed(ToolsUI.java:1522)
>> >>     at javax.swing.JComboBox.fireActionEvent(Unknown Source)
>> >>     at ucar.util.prefs.ui.ComboBox.fireActionEvent(ComboBox.java:172)
>> >>     at javax.swing.JComboBox.setSelectedItem(Unknown Source)
>> >>     at ucar.nc2.ui.ToolsUI$OpPanel$3.actionPerformed(ToolsUI.java:1545)
>> >>     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)
>> >>
>> >>
>> >> Thank you in advance,
>> >> Keith
>> >>
>> >> _______________________________________________
>> >> NOTE: All exchanges posted to Unidata maintained email lists are
>> >> recorded in the Unidata inquiry tracking system and made publicly
>> >> available through the web.  Users who post to any of the lists we
>> >> maintain are reminded to remove any personal information that they
>> >> do not want to be made public.
>> >>
>> >>
>> >> netcdf-java mailing list
>> >> netcdf-java@xxxxxxxxxxxxxxxx
>> >> For list information or to unsubscribe, visit:
>> >> http://www.unidata.ucar.edu/mailing_lists/
>> >
>> >
>> >
>> > _______________________________________________
>> > NOTE: All exchanges posted to Unidata maintained email lists are
>> > recorded in the Unidata inquiry tracking system and made publicly
>> > available through the web.  Users who post to any of the lists we
>> > maintain are reminded to remove any personal information that they
>> > do not want to be made public.
>> >
>> >
>> > netcdf-java mailing list
>> > netcdf-java@xxxxxxxxxxxxxxxx
>> > For list information or to unsubscribe, visit:
>> > http://www.unidata.ucar.edu/mailing_lists/
>
>



  • 2017 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the netcdf-java archives: