This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
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