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

[Support #ZDT-182699]: PV in IDV



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


NOTE: All email exchanges with Unidata User Support are recorded in the Unidata inquiry tracking system and then made publicly available through the web. If you do not want to have your interactions made available in this way, you must let us know in each email you send to us.