Kenneth P. Bowman writes:
> 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])
This works OK, I think, if the values you wish to interpolate
to are completely contained within the bounds of the original
vectors. But, suppose the original array was 180x90 and
I want to interpolate from 360x180. Then, the beginning
and ending values in the vectors I want to interpolate to
are outside the bounds of the original vectors. When
I go to find the "interpolation coordinates", I encounter
divide by zero errors and get infinities in my vectors.
Do you have a way of handling this situation? I mention
this because in the perverse CCCMA climate model I am
using, the longitude vector is evenly spaced, *except*
for the two values at either end of the vector. (Don't
ask me, I have no idea.) My "regularly spaced" interpolation
vector blows up on me at either end.
Cheers,
David
--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Se****e ma de ni thui. ("Perhaps thou speakest truth.")


|