Hi Hartmut.

I ran the example on my machine (which is a 64-bit Linux box with 8 GB of
RAM; Python 2.7, matplotlib 1.3.1) and it runs fine. However, it does use
around 2 GB of memory, perhaps slightly more. I think the memory usage
might be a problem for you if you are using 32-bit Windows. I'm not
familiar with the details but I believe the memory available to a single
32-bit process on Win32 may be only 2 GB. I'm also not familiar with the
data you provided, but is it possible to reduce to number of points in
order to test if memory limitations are the underlying problemhere?




On 11 August 2014 14:54, Hartmut Kaiser <hartmut.kai...@gmail.com> wrote:

> Ian,
>
> > 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['zeta_max'][:]
> >     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.
>
> Thanks for the quick response!
>
> Here is the data file: http://tinyurl.com/ms7vzxw. I did some more
> experiments. The picture stays unchanged, even if I fill the masked values
> in the array with some real numbers (I'm not saying that this would give me
> any sensible results...):
>
>     import netCDF4
>     import matplotlib.tri as tri
>
>     var = netCDF4.Dataset('maxele.63.nc').variables
>     x = var['x'][:]
>     y = var['y'][:]
>     data = var['zeta_max'][:]
>     elems = var['element'][:, :]-1
>
>     triang = tri.Triangulation(x, y, triangles=elems)
>
>     data = data.filled(0.0)
>
>     # this still crashes the python interpreter
>     interp = tri.LinearTriInterpolator(triang, data)
>
> Thanks again!
> Regards Hartmut
> ---------------
> http://boost-spirit.com
> http://stellar.cct.lsu.edu
>
>
>
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Matplotlib-users mailing list
> Matplotlib-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>



-- 
Dr Andrew Dawson
Atmospheric, Oceanic & Planetary Physics
Clarendon Laboratory
Parks Road
Oxford OX1 3PU, UK
Tel: +44 (0)1865 282438
Email: daw...@atm.ox.ac.uk
Web Site: http://www2.physics.ox.ac.uk/contacts/people/dawson
------------------------------------------------------------------------------
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to