Re: Creating a new vertical domain

Hi Don,

> . . .
> Actually, my field domain is:
>
> (x,y,press) with a CS to (lat,lon,alt)
>
> What I tried was taking the (x,y,press) -> theta and making
> an EmpiricalCS from (x,y,press) to (lat,lon, theta) (replacing
> alt values with theta) and then tried resampling.  That all worked
> until I tried to display it where I get some
> "reduce_inner failed" errors.

Hmmm, this comes from DelaunayClarkson which says there's
an IrregularSet involved. But in your previous message
you talked about errors from Gridded3DSet. May be multiple
problems here. Do you know how the IrregularSet is coming
into this?

About the only thing you can do about "reduce_inner failed"
is to force use of DelaunayWatson instead of DelaunayClarkson
by explicitly constructing IrregularSets and hope the Watson
algorithm works where Clarkson failed.

> > As a last resort, you can do a 1-D computation along the
> > vertical line above each (lat, lon) grid point, interpolating
> > altitude values for each of your theta levels. If there are
> > no theta "inversions", you might be able to do this with
> > resample() calls on a bunch of derived 1-D Fields.
>
> My main goal here is to display fields along a constant
> theta surface.  Ignoring the inversions and other theta issues
> that you and Tom described, here's something that worked that is
> sort of what I'm trying to do:

What you describe below is interesting. To display
scalar values on theta surfaces, you can map theta
to IsoContour and other values to RGB.

You may end up needing to do what I describe above
by "As a last resort ...", informed by Tom's comments
about interpolating with theta, to resample your
Fields on Gridded3DSets with manifold dimension = 2
of constant theta. A bit messy, but in 1-D (along
vertical lines) things can't get too bad.

Good luck,
Bill

> If I create a FlatField of (lat,lon,press) -> (theta, Z, (u,v))
> and display it in a spreadsheet cell (Omni control in IDV) with
> mappings:
>
> lat -> YAxis
> lon -> XAxis
> Z -> ZAxis
> theta -> SelectRange
> u -> Flow1X
> v -> Flow1Y
>
> and make a very narrow range of the select for theta (e.g. 309-311K), I
> basically get a display of wind vectors on an ~310K isentropic surface.
>
> To do this in the main IDV window, I need a domain with a vertical
> reference of Z and be able to slice along a constant theta value.