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

spherical gridding problem


I'm seeing a spherical gridding problem, and I swear I've seen
something similar before - but only when I've been working with
large datasets, so I'm afraid I don't have a simple
small example to show it - only a great whopping example.

Well, here's the description:

I have a random collection of data of the sort
[longitude, latitude, value] and I would like
to create a uniform cylindrical map of this data,
so I use sph_scat (equivalent to triangulate followed by trigrid).

When I do this, I sometimes see anomolous features (big positive
and negative spikes) in the map.  Please see http://baritone.tn.cornell.edu/~jj/idl
for a zoomed picutre an anomaly (a 6x6 degree sample).

The anomaly seems to be more closely tied to the
lat/lon locations of the data than to the data values themselves,
I do see an anomoly in the same place using different data values at the same
locations, however, when I tried very uniform types of
data (like value = 1 everywhere or value = lat or value = lon) at the
same locations, I didn't see an anomoly.  This leads me
to believe that the the locations of the data points in the vicinity
somehow produce a very sensitive situation (a big wiggle in the
interpolation) which will not manifest itself unless the data
is also wiggling (ie. not close to planar) over the problem area.

A save file with lats,lons,data is at the same URL as above.
Unfortunately, this dataset has 44701 points.
In this dataset, the most glaring problem occurs at roughly
longitude = -65.4, latitude = 8,  The data values in this
region are pretty well behaved, and the triangulation
seems pretty well behaved, but big positive and negative spikes
occur in the result.  If I do a spherical triangulation, and a planar
trigrid over the same small area, the result looks pleasant with
no spikes.

Here's what I did to highlight the problem

IDL> print,!version
{ x86 linux unix 5.4 Sep 25 2000      32      32}
IDL> restore,'sph.dat'
IDL> help
% At  $MAIN$                 
DATA            DOUBLE    = Array[44701]
LATS            DOUBLE    = Array[1, 44701]
LONS            DOUBLE    = Array[1, 44701]
Compiled Procedures:

Compiled Functions:

IDL> m=sph_scat(lons,lats,data,bounds=[-68.5,5,-62.5,11],nlon=401,nlat=401)
IDL> tvscl,m


IDL> shade_surf,m,ax=15,az=70

Has anyone seen this before, or have any ideas on why it is happening
and how it might be prevented?  thanks.