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.
Hi Jim- We found and squashed this bug. It was deep down in the derivative calculation in VisAD. The fixes will be in tomorrow's nightly build. 2 IPV surface will show correctly in both the NAM and GFS. Thanks for bringing this to the forefront and helping us fix it. Don > > I'm clueless still. I looked at some of my GFS scripts and didn't > > notice anything weird with the sign, but I wrote them along time ago, so > > it's a bit like reading french. Perhaps the vertical indicies are > > switched? I'm grasping at straws. > > Me too. ;-) It looks like dtheta/dp is coming up with inverse signs. I'm > trying to track that down now. > > > At least now I can do a 3-D demo for the students. Thanks! > > At least that's a positive! Thanks for your help in tracking this down. > > Don > > Unidata IDV Support wrote: > > > Hi Jim- > > > > > > > > >> I've plotted up the nam211 and the GFS 80 km (I can't recall the > > >> grid number). The nam *looks* correct. The GFS *looks* correct with > > >> the sign error that you mention below. > > >> > > > > > > Oh, good, it's not just me. ;-) > > > > > > > > >> I'm at a loss for the cause of the sign error in the GFS. In the > > >> southern hemisphere, the PV *would* be negative. Why it is in the NH I > > >> don't know. The absolute vorticity calculated from U_wind and v_wind > > >> looks correct and this is what determines the sign of the PV normally. > > >> About all I can think of is that there is some weird convention in the > > >> NCEP grids (like gravity being negative). > > >> > > > > > > Yeah, I'll try to look more closely at the individual grids. > > > > > > > > >> Are you doing a conversion to isentropic coordinates for this or > > >> just using the pressure coordinate absolute vorticity? > > >> > > > > > > No, I'm using the calculated THTA from T and P and the calculated AVOR > > > from U and V. The existing absolute vorticity grid is only 3 levels. > > > > > > Thanks for checking that at least it looks reasonable (except for the > > > sign). I'll dig deeper. It's probably something simple, but for the > > > life of me I can't figure out what. Maybe it is something to do with the > > > latitude if it should be negative in the SH. > > > > > > Have a great weekend! > > > > > > Don > > > > > > Unidata IDV Support wrote: > > > > > >>> Hi Jim- > > >>> > > >>> > > >>> > > >>>> That's interesting. I haven't had a chance to download the latest > > >>>> build yet. Is last nights OK except for the sign error? Send me the > > >>>> URL again. > > >>>> > > >>>> > > >>> Last night's is okay except for the sign error. You can grab it at: > > >>> > > >>> http://www.unidata.ucar.edu/downloads/idv/nightly/ > > >>> > > >>> Don > > >>> > > >>> > > >>> > > >>> > > >>>> Unidata IDV Support wrote: > > >>>> > > >>>> > > >>>>> Hi Jim- > > >>>>> > > >>>>> I have a met question for you. If I negate the grid for the GFS, I > > >>>>> get what I would consider as correct results. However, for the NAM, > > >>>>> the values are then wrong. > > >>>>> > > >>>>> If you download the nightly build and run the Displays->Favorite > > >>>>> Bundles->NAM211->Isentropic Potential Vorticity bundle, you should > > >>>>> get a reasonable depiction. Can you confirm this? > > >>>>> > > >>>>> However, if you do a GFS isosurface, the values are negated. If you > > >>>>> set the isosurface value to -2, it should look like the NAM 2 IPVunit > > >>>>> surface. The GEMPAK formula is: > > >>>>> > > >>>>> -GRAVTY*AVOR(V)*dTheta/dP > > >>>>> > > >>>>> There was a note in the code that using the - gives the wrong values, > > >>>>> but I'm stumped as to way it works with one grid and not the other. > > >>>>> Both are GRIB1, both have a vertical dimension of P in hectopascals. > > >>>>> Any thoughts on this? > > >>>>> > > >>>>> I'll keep looking into it, but thought I'd turn to a professional for > > >>>>> some advice. > > >>>>> > > >>>>> In the meantime, you can just use the -2 isosurface for the GFS. ;-) > > >>>>> > > >>>>> Don > > >>>>> > > >>>>> > > >>>>> > > >>>>> > > >>>>>>> I was trying to plot an isosurface. That "works", but the result is > > >>>>>>> best described as "gobbledygook." The ability to do a 2 PVU > > >>>>>>> isosurface > > >>>>>>> is really powerful for teaching PV thinking. That's when I noticed > > >>>>>>> the > > >>>>>>> error. > > >>>>>>> > > >>>>>>> > > >>>>>>> > > >>>>>> I found one error which was that absolute vorticity was being > > >>>>>> calculated incorrectly. That will be fixed in the nightly build. > > >>>>>> However, I'm now trying to get IPV correct. I compared the results > > >>>>>> from GEMPAK and they match. > > >>>>>> > > >>>>>> However, IPV is even worse now. :-( I'll have to do some plan view > > >>>>>> plots in GEMPAK to compare with since I don't have any other program > > >>>>>> to show what the isosurface should look like. > > >>>>>> > > >>>>>> Thanks for your patience. > > >>>>>> > > >>>>>> Don > > >>>>>> > > >>>>>> > > >>>>>> > > >>>>>> > > >>>>>>> Unidata IDV Support wrote: > > >>>>>>> > > >>>>>>> > > >>>>>>> > > >>>>>>>> Hi Jim- > > >>>>>>>> > > >>>>>>>> I've moved this to the support system. Best to send questions to > > >>>>>>>> support-idv instead of me directly so we can better track these > > >>>>>>>> issues. > > >>>>>>>> > > >>>>>>>> Thanks for catching this. Did this ever work? I've always done > > >>>>>>>> this as a volume since IPV needs several levels. If you select 2 > > >>>>>>>> (or more) levels in the levels panel, you'll be able to do the > > >>>>>>>> slice for a plan view. However, the list of levels in the control > > >>>>>>>> will not reflect the levels you selected, but the entire list of > > >>>>>>>> levels. We're working on a fix to this. > > >>>>>>>> > > >>>>>>>> Don > > >>>>>>>> > > >>>>>>>> > > >>>>>>>> > > >>>>>>>> > > >>>>>>>> > > >>>>>>>>> ERROR: Creating display: Contour Plan View > > >>>>>>>>> org.python.core.PyException > > >>>>>>>>> Traceback (innermost last): > > >>>>>>>>> File "<string>", line 1, in ? > > >>>>>>>>> at visad.FlatField.derivative(FlatField.java:4044) > > >>>>>>>>> at visad.FlatField.derivative(FlatField.java:4485) > > >>>>>>>>> at > > >>>>>>>>> ucar.unidata.data.grid.DerivedGridFactory.partial(DerivedGridFactory.java:2366) > > >>>>>>>>> at > > >>>>>>>>> ucar.unidata.data.grid.DerivedGridFactory.createIPV(DerivedGridFactory.java:1954) > > >>>>>>>>> at > > >>>>>>>>> ucar.unidata.data.grid.DerivedGridFactory.createIPV(DerivedGridFactory.java:1880) > > >>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > >>>>>>>>> at > > >>>>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > > >>>>>>>>> at > > >>>>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > > >>>>>>>>> at java.lang.reflect.Method.invoke(Method.java:597) > > >>>>>>>>> > > >>>>>>>>> visad.VisADException: visad.VisADException: derivative: > > >>>>>>>>> d_partial_s not > > >>>>>>>>> in domain or reference > > >>>>>>>>> ERROR: Creating display: Contour Plan View > > >>>>>>>>> org.python.core.PyException > > >>>>>>>>> Traceback (innermost last): > > >>>>>>>>> File "<string>", line 1, in ? > > >>>>>>>>> at visad.FlatField.derivative(FlatField.java:4044) > > >>>>>>>>> at visad.FlatField.derivative(FlatField.java:4485) > > >>>>>>>>> at > > >>>>>>>>> ucar.unidata.data.grid.DerivedGridFactory.partial(DerivedGridFactory.java:2366) > > >>>>>>>>> at > > >>>>>>>>> ucar.unidata.data.grid.DerivedGridFactory.createIPV(DerivedGridFactory.java:1954) > > >>>>>>>>> at > > >>>>>>>>> ucar.unidata.data.grid.DerivedGridFactory.createIPV(DerivedGridFactory.java:1880) > > >>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > >>>>>>>>> at > > >>>>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > > >>>>>>>>> at > > >>>>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > > >>>>>>>>> at java.lang.reflect.Method.invoke(Method.java:597) > > >>>>>>>>> > > >>>>>>>>> visad.VisADException: visad.VisADException: derivative: > > >>>>>>>>> d_partial_s not > > >>>>>>>>> in domain or reference > > >>>>>>>>> > > >>>>>>>>> > > >>>>>>>>> > > >>>>>>>>> > > >>>>>>>>> > > >>>>>>>>> > > >>>>>>>> Ticket Details > > >>>>>>>> =================== > > >>>>>>>> Ticket ID: ZDT-182699 > > >>>>>>>> Department: Support IDV > > >>>>>>>> Priority: Normal > > >>>>>>>> Status: Open > > >>>>>>>> > > >>>>>>>> > > >>>>>>>> > > >>>>>>>> > > >>>>>>>> > > >>>>> Ticket Details > > >>>>> =================== > > >>>>> Ticket ID: ZDT-182699 > > >>>>> Department: Support IDV > > >>>>> Priority: Normal > > >>>>> Status: Open > > >>>>> > > >>>>> > > >>>>> > > >>>>> > > >>> Ticket Details > > >>> =================== > > >>> Ticket ID: ZDT-182699 > > >>> Department: Support IDV > > >>> Priority: Normal > > >>> Status: Open > > >>> > > >>> > > >>> > > >> > > > > > > > > > Ticket Details > > > =================== > > > Ticket ID: ZDT-182699 > > > Department: Support IDV > > > Priority: Normal > > > Status: Open > > > > > > > > > > > Ticket Details =================== Ticket ID: ZDT-182699 Department: Support IDV Priority: Normal Status: Closed