On 10 August 2014 18:43, Hartmut Kaiser <hartmut.kai...@gmail.com> wrote:

> All,
>
> I'm running into a crash while trying to construct a
> tri.LinearTriInterpolator. Here is the short version of the code:
>
>     import netCDF4
>     import matplotlib.tri as tri
>
>     var = netCDF4.Dataset('filename.cdf').variables
>     x = var['x'][:]
>     y = var['y'][:]
>     data = var['attrname'][:]
>     elems = var['element'][:,:]-1
>
>     triang = tri.Triangulation(x, y, triangles=elems)
>
>     # this crashes the python interpreter
>     interp = tri.LinearTriInterpolator(triang, data)
>
> The data arrays (x, y, data, elems) are fairly large (>1 mio elements), all
> represented as numpy arrays (as returned by netCDF4). The 'data' array is a
> masked array and contains masked values.
>
> If somebody cares, I'd be able to post a link to the netCDF data file
> causing this.
>
> All this happens when using matplotlib 1.3.1, Win32, Python 2.7.
>
> Any help would be highly appreciated!
> Regards Hartmut
>

Hartmut,

That is an excellent issue report; all the relevant information and nothing
extraneous.  Hence the quick response.

The second argument to TriLinearInterpolator (and other TriInterpolator
classes), i.e. your 'data' array, is expected to be an array of the same
size as the 'x' and 'y' arrays.  It is not expecting a masked array.  If a
masked array is used the mask will be ignored, and so the values behind the
mask will be used as though they were real values.  If my memory of netCDF
is correct, this will be whatever 'FillValue' is defined for the file, but
it may depend on what is used to generate the netCDF file.

I would normally expect the code to work but produce useless output.  A
crash is possible though.  It would be best if you could post a link to the
netCDF file and I will take a closer look to check there is not something
else going wrong.

Ian Thomas
------------------------------------------------------------------------------
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to