Hi Don,
Well, theta doesn't always increase with decreasing pressure.
Even where it does, the grid boxes may be so distorted that
the Gridded3DSet constructor rejects them.
If your (lat, lon, press) doesn't have a reference, then
it can be a reference for a CS to (lat, lon, theta) and
you can resample your (((lat,lon,theta) -> altitude) Field
to a grid defined in (lat, lon, theta). But of course
defining the CS requires you to invert the
((lat,lon,press) -> theta) to a ((lat, lon, theta) -> press).
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.
Good luck,
Bill
On Tue, 12 Apr 2005, Don Murray wrote:
> Hi-
>
> I have a field of potential temperature of the form:
>
> (lat,lon,press) -> theta
>
> and a corresponding field for altitude:
>
> (lat,lon,press) -> altitude
>
> What I'd like to have is a field of:
>
> (lat,lon,theta) -> altitude
>
> but where the theta values are at specific levels (e.g. every
> 5K between 280 and 320) so I can resample to a specific slice.
> Basically, I'd like to take slices through the 3D theta volume,
> getting the corresponding lat,lon and (interpolated) altitude
> values at each lat,lon,press point on the theta temperature slice.
>
> I tried just replacing press with theta and then creating a
> new sampling set with my desired values, but it I got complaints
> from Gridded3DSet about not the samples not being a valid grid.
>
> Anyone have a suggestion on a different way to do this?
>
> Thanks.
>
> Don
> *************************************************************
> Don Murray UCAR Unidata Program
> dmurray@xxxxxxxxxxxxxxxx P.O. Box 3000
> (303) 497-8628 Boulder, CO 80307
> http://www.unidata.ucar.edu/staff/donm
> "Time makes everyone interesting, even YOU!"
> *************************************************************
>
>
>