On Mar 3, 9:24 am, "Kenneth P. Bowman" <k-bow...@[EMAIL PROTECTED]
> wrote:
> In article
> <57808cc6-8454-45f1-a104-50e465ef2...@[EMAIL PROTECTED]
>,
>
> "ben.bighair" <ben.bigh...@[EMAIL PROTECTED]
> wrote:
> > I have seen a number of messages on the newsgroup about interpolation
> > from an irregular grid to a regular one. None appear to address the
> > issues around gridding on a sphere. I don't think I can use anything
> > as simple as INTERPOLATE since the input array is sampled at irregular
> > intervals.
>
> > So how is this kind of interpolation supposed to be done?
>
> If your grid is rectangular and separable (in the sense that all the
> longitudes in each "column" of data are the same and all of the
> latitudes in each "row" of data are same), even if the coordinates
> are not regularly spaced, then it is actually quite
> easy to interpolate to any set of points (regular or irregular) using
> INTERPOLATE. This should be much faster than triangulating.
>
> This problem looks just like the one David Fanning was working
> on recently, and here is an outline of the solution
>
> > Assuming that your data is 2-D (x = longitude and y = latitude),
create
> > the grids that you want to interpolate to
> > nx = 360
> > ny = 181
> > x = FINDGEN(nx)
> > y = -90.0 + FINDGEN(ny)
> > Compute the "interpolation coordinates" from the original grid
> > j = VALUE_LOCATE(y_original, y)
> > yj = j + (y - y_original[j])/(y_original[j+1] - y_original[j])
> > Since the input and output grids are the same in the x-direction, you
> > don't need to do anything with x. Expand x and yi into 2-D arrays
> > xx = REBIN(x, nx, ny, /SAMPLE)
> > yy = REBIN(REFORM(yi, 1, ny), nx, ny, /SAMPLE)
> > Then interpolate
> > new = INTERPOLATE(original, xx, yy)
>
> By happy chance, the interpolation chapter from my book is the sample
> that is posted online here
>
> http://idl.tamu.edu/Book.html
>
> Ken Bowman
Thanks Bill and Ken,
I had scoured the c.l.i-p archives but never used "regridding" keyword
which, in hindsight, seems the perfect keyword. The perils of keyword
searches...
The discussion on INTERPOLATE that you reference (see
http://tinyurl.com/38mr7k)
is the first time I have ever "gotten" INTERPOLATE. Thank you! The
function has always felt so awkward because the units x and y are in
dimensions - it always left me feeling a little disconnected from the
physical meaning. I'll get over it.
For my purposes the INTERPOLATE method is probably just the ticket,
but I do have this lingering question about the fact that the input
values are drawn from the surface of a sphere. What are the
conditions under which I do need to worry about it? Is it the spacing
between the input values? The extend over the sphere? Some
combination?
I have read that gridding can be as much art as science, but I would
love to have some general principles that tell me when I can rely on
one more than the other.
I agree with David, Ken's book is an excellent resource. Mine is well
thumbed. Come to think of it, all my IDL books are well thumbed.
Cheers and thanks again,
Ben


|