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

[IDV #OFG-746816]: IDV error when plotting specific GRIB fields



Hans-

Thanks for the sample file.  This was a different problem than the
previous, but a bug none the less.  The problem is that the first
timestep has either bad (all 0) or missing data and that was causing
the contouring routine to fail.  I put a temporary fix into the
latest nightly build (just released).

I think your process for building the files is fine.  I'll look into
what's going on with the first timestep of the convective_cloud field
when I get back to the office.  Tomorrow's a holiday, so it will
be Tuesday at the earliest.

Thanks for testing this and reporting these issues.

Don Murray
> I'm using the GFS 0.5x0.5 (rotating) grib2 from NCEP NOMADS server at 
> http://nomad3.ncep.noaa.gov/ncep_data/index.html
> 
> I usually download subsets through the "g2sub" link.
> 
> Having IDV read any of the files downloaded from this site works fine, 
> including plotting most of the fields in them (at least the ones I've tested 
> so far).
> 
> 
> However, I am starting to wonder if there is something else failing in the 
> process I am using for generating the actual data that I use as input to IDV.
> 
> To be able to produce nice sequences of images from a forecast run, I merge 
> the individual forecast files into one file, thus containing data for all the 
> available forecast hours (i.e. up to h 48). For this I use wgrib2 
> (http://www.cpc.ncep.noaa.gov/products/wesley/wgrib2/) and grep to build a 
> number of data files with different GFS fields in them, e.g. "Total cloud 
> cover" (TCDC). I then feed those files into IDV to produce set of forecast 
> images and movies.
> 
> This process works perfectly for all the GFS fields I have tried so far, 
> except for TCDC @ convective cloud layer, which causes many error messages 
> from IDV.
> 
> 
> If wgrib is doing something funny with the data it merges, then why are all 
> the other fields working just fine, except this specific field? Hmm...
> 
> 
> I have attached an example merged TCDC file for you to try if you like. It 
> contains all the TCDC fields from 0h to 48h from today's 12z GFS run.
> 
> 
> Thanks,
> Hans
> 
> -----Original Message-----
> From: Unidata IDV Support [mailto:address@hidden]
> Sent: Thursday, August 28, 2008 7:15 PM
> To: address@hidden
> Cc: address@hidden
> Subject: [IDV #OFG-746816]: IDV error when plotting specific GRIB fields
> 
> Hi Hans-
> 
> > Just tried the latest build (todays date).
> >
> > "convective precipitation" now plots as it should.
> >
> > "convective cloud" still generates the same error messages, I'm afraid.
> >
> > A step in the right direction though!
> 
> Thanks for testing. Which GFS dataset are you looking at?
> 
> Don
> > -----Original Message-----
> > From: Unidata IDV Support [mailto:address@hidden]
> > Sent: Thursday, August 28, 2008 2:33 PM
> > To: address@hidden
> > Subject: [IDV #OFG-746816]: IDV error when plotting specific GRIB fields
> >
> > Hi Hans-
> >
> > We think this problem is fixed in the latest nightly build.  Please
> > let us know if it's not.
> >
> > Don
> >
> > > This is a bug with a recent change to the contour routine.  We
> > > are working on a fix and hope to have it out soon. Sometimes
> > > you can zoom in or out and the plot will display correctly.
> > > Also, turning off labels on the contours should make the
> > > plot okay.  The problem is in the labelling.
> > >
> > > Don Murray
> > >
> > > > I am trying to plot the GFS GRIB2 field "Total Cloud Cover @
> > > > convective_cloud".
> > > >
> > > >
> > > >
> > > > If the GRIB file contains several forecast hours, and I choose display
> > > > "Color-filled Contour Plan view" or "Contour plan view", I get no plot 
> > > > at
> > > > all and sometimes I get a whole bunch of error messages like the ones 
> > > > below.
> > > > Choosing display "Color-shaded plan view" usually works though. Choosing
> > > > "Value plots" sometimes work, sometimes not.
> > > >
> > > >
> > > >
> > > > But, if the GRIB file only contains one forecast hour data for the
> > > > convective cloud cover, all four display types plot correctly.
> > > >
> > > >
> > > >
> > > > Almost the same goes for the field "Convective precipitation".
> > > >
> > > >
> > > >
> > > > So, it appears that, trying to plot anything "convective" for more than 
> > > > one
> > > > forecast hour, using any of the contour plan views, results in IDV 
> > > > loosing
> > > > it.
> > > >
> > > >
> > > >
> > > > Could this be a bug, perhaps?
> > > >
> > > >
> > > >
> > > > Using IDV v 2.6a3 build August 25.
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > Best Regards,
> > > >
> > > > Hans
> > > >
> > > >
> > > >
> > > > ----------------------------------------------------------
> > > >
> > > > java.lang.NullPointerException
> > > >
> > > > at visad.Gridded3DSet.makeIsoLines(Gridded3DSet.java:2218)
> > > >
> > > > at visad.ShadowType.makeContour(ShadowType.java:3831)
> > > >
> > > > at visad.java3d.ShadowTypeJ3D.makeContour(ShadowTypeJ3D.java:1038)
> > > >
> > > > at
> > > > visad.ShadowFunctionOrSetType.doTransform(ShadowFunctionOrSetType.jav
> > > >
> > > > a:2188)
> > > >
> > > > at
> > > > visad.java3d.ShadowFunctionOrSetTypeJ3D.doTransform(ShadowFunctionOrS
> > > >
> > > > etTypeJ3D.java:159)
> > > >
> > > > at
> > > > visad.java3d.ShadowFunctionOrSetTypeJ3D.recurseRange(ShadowFunctionOr
> > > >
> > > > SetTypeJ3D.java:1104)
> > > >
> > > > at
> > > > visad.java3d.ShadowFunctionOrSetTypeJ3D.doTransform(ShadowFunctionOrS
> > > >
> > > > etTypeJ3D.java:150)
> > > >
> > > > at
> > > > visad.java3d.DefaultRendererJ3D.doTransform(DefaultRendererJ3D.java:1
> > > >
> > > > 33)
> > > >
> > > > at visad.java3d.RendererJ3D.doAction(RendererJ3D.java:181)
> > > >
> > > > at visad.DisplayImpl.doAction(DisplayImpl.java:1750)
> > > >
> > > > at visad.ActionImpl.run(ActionImpl.java:364)
> > > >
> > > > at visad.util.ThreadPool$ThreadMinnow.run(ThreadPool.java:95)
> > > >
> > > > java.lang.NullPointerException
> > > >
> > > > at visad.Gridded3DSet.makeIsoLines(Gridded3DSet.java:2218)
> > > >
> > > > at visad.ShadowType.makeContour(ShadowType.java:3831)
> > > >
> > > > at visad.java3d.ShadowTypeJ3D.makeContour(ShadowTypeJ3D.java:1038)
> > > >
> > > > at
> > > > visad.ShadowFunctionOrSetType.doTransform(ShadowFunctionOrSetType.jav
> > > >
> > > > a:2188)
> > > >
> > > > at
> > > > visad.java3d.ShadowFunctionOrSetTypeJ3D.doTransform(ShadowFunctionOrS
> > > >
> > > > etTypeJ3D.java:159)
> > > >
> > > > at
> > > > visad.java3d.ShadowFunctionOrSetTypeJ3D.recurseRange(ShadowFunctionOr
> > > >
> > > > SetTypeJ3D.java:1104)
> > > >
> > > > at
> > > > visad.java3d.ShadowFunctionOrSetTypeJ3D.doTransform(ShadowFunctionOrS
> > > >
> > > > etTypeJ3D.java:150)
> > > >
> > > > at
> > > > visad.java3d.DefaultRendererJ3D.doTransform(DefaultRendererJ3D.java:1
> > > >
> > > > 33)
> > > >
> > > > at visad.java3d.RendererJ3D.doAction(RendererJ3D.java:181)
> > > >
> > > > at visad.DisplayImpl.doAction(DisplayImpl.java:1750)
> > > >
> > > > at visad.ActionImpl.run(ActionImpl.java:364)
> > > >
> > > > at visad.util.ThreadPool$ThreadMinnow.run(ThreadPool.java:95)
> > > >
> > > > java.lang.NullPointerException
> > > >
> > > > at visad.Gridded3DSet.makeIsoLines(Gridded3DSet.java:2218)
> > > >
> > > > at visad.ShadowType.makeContour(ShadowType.java:3831)
> > > >
> > > > at visad.java3d.ShadowTypeJ3D.makeContour(ShadowTypeJ3D.java:1038)
> > > >
> > > > at
> > > > visad.ShadowFunctionOrSetType.doTransform(ShadowFunctionOrSetType.jav
> > > >
> > > > a:2188)
> > > >
> > > > at
> > > > visad.java3d.ShadowFunctionOrSetTypeJ3D.doTransform(ShadowFunctionOrS
> > > >
> > > > etTypeJ3D.java:159)
> > > >
> > > > at
> > > > visad.java3d.ShadowFunctionOrSetTypeJ3D.recurseRange(ShadowFunctionOr
> > > >
> > > > SetTypeJ3D.java:1104)
> > > >
> > > > at
> > > > visad.java3d.ShadowFunctionOrSetTypeJ3D.doTransform(ShadowFunctionOrS
> > > >
> > > > etTypeJ3D.java:150)
> > > >
> > > > at
> > > > visad.java3d.DefaultRendererJ3D.doTransform(DefaultRendererJ3D.java:1
> > > >
> > > > 33)
> > > >
> > > > at visad.java3d.RendererJ3D.doAction(RendererJ3D.java:181)
> > > >
> > > > at visad.DisplayImpl.doAction(DisplayImpl.java:1750)
> > > >
> > > > at visad.ActionImpl.run(ActionImpl.java:364)
> > > >
> > > > at visad.util.ThreadPool$ThreadMinnow.run(ThreadPool.java:95)
> > > >
> > > > java.lang.NullPointerException
> > > >
> > > > at visad.Gridded3DSet.makeIsoLines(Gridded3DSet.java:2218)
> > > >
> > > > at visad.ShadowType.makeContour(ShadowType.java:3831)
> > > >
> > > > at visad.java3d.ShadowTypeJ3D.makeContour(ShadowTypeJ3D.java:1038)
> > > >
> > > > at
> > > > visad.ShadowFunctionOrSetType.doTransform(ShadowFunctionOrSetType.jav
> > > >
> > > > a:2188)
> > > >
> > > > at
> > > > visad.java3d.ShadowFunctionOrSetTypeJ3D.doTransform(ShadowFunctionOrS
> > > >
> > > > etTypeJ3D.java:159)
> > > >
> > > > at
> > > > visad.java3d.ShadowFunctionOrSetTypeJ3D.recurseRange(ShadowFunctionOr
> > > >
> > > > SetTypeJ3D.java:1104)
> > > >
> > > > at
> > > > visad.java3d.ShadowFunctionOrSetTypeJ3D.doTransform(ShadowFunctionOrS
> > > >
> > > > etTypeJ3D.java:150)
> > > >
> > > > at
> > > > visad.java3d.DefaultRendererJ3D.doTransform(DefaultRendererJ3D.java:1
> > > >
> > > > 33)
> > > >
> > > > at visad.java3d.RendererJ3D.doAction(RendererJ3D.java:181)
> > > >
> > > > at visad.DisplayImpl.doAction(DisplayImpl.java:1750)
> > > >
> > > > at visad.ActionImpl.run(ActionImpl.java:364)
> > > >
> > > > at visad.util.ThreadPool$ThreadMinnow.run(ThreadPool.java:95)
> > > >
> > > > java.lang.NullPointerException
> > > >
> > > > at visad.Gridded3DSet.makeIsoLines(Gridded3DSet.java:2218)
> > > >
> > > > at visad.ShadowType.makeContour(ShadowType.java:3831)
> > > >
> > > > at visad.java3d.ShadowTypeJ3D.makeContour(ShadowTypeJ3D.java:1038)
> > > >
> > > > at
> > > > visad.ShadowFunctionOrSetType.doTransform(ShadowFunctionOrSetType.jav
> > > >
> > > > a:2188)
> > > >
> > > > at
> > > > visad.java3d.ShadowFunctionOrSetTypeJ3D.doTransform(ShadowFunctionOrS
> > > >
> > > > etTypeJ3D.java:159)
> > > >
> > > > at
> > > > visad.java3d.ShadowFunctionOrSetTypeJ3D.recurseRange(ShadowFunctionOr
> > > >
> > > > SetTypeJ3D.java:1104)
> > > >
> > > > at
> > > > visad.java3d.ShadowFunctionOrSetTypeJ3D.doTransform(ShadowFunctionOrS
> > > >
> > > > etTypeJ3D.java:150)
> > > >
> > > > at
> > > > visad.java3d.DefaultRendererJ3D.doTransform(DefaultRendererJ3D.java:1
> > > >
> > > > 33)
> > > >
> > > > at visad.java3d.RendererJ3D.doAction(RendererJ3D.java:181)
> > > >
> > > > at visad.DisplayImpl.doAction(DisplayImpl.java:1750)
> > > >
> > > > at visad.ActionImpl.run(ActionImpl.java:364)
> > > >
> > > > at visad.util.ThreadPool$ThreadMinnow.run(ThreadPool.java:95)
> > > >
> > > >
> > > >
> > >
> >
> >
> > Ticket Details
> > ===================
> > Ticket ID: OFG-746816
> > Department: Support IDV
> > Priority: Normal
> > Status: Open
> >
> >
> 
> 
> Ticket Details
> ===================
> Ticket ID: OFG-746816
> Department: Support IDV
> Priority: Normal
> Status: Open
> 
> 
> 


Ticket Details
===================
Ticket ID: OFG-746816
Department: Support IDV
Priority: Normal
Status: Open