[Numpy-discussion] Optimize speed of for loop using numpy
Hoyt Koepke
hoytak at gmail.com
Mon Feb 25 21:40:19 EST 2008
I would definitely suggest using scipy's weave.inline for this. It
seems like this particular function can be translated into C code
really easily, which would give you a HUGE speed up. Look at some of
the examples in scipy/weave/examples to see how to do this. The numpy
book also has a section on it.
One of the reasons I've left matlab and never looked back is how easy
it is to interweave bits of compiled C code for loops like this.
--Hoyt
On Mon, Feb 25, 2008 at 6:32 PM, Trond Kristiansen <trond at unc.edu> wrote:
> Hi again.
>
> I have attached the function that the FOR loop is part of as a python file.
> What I am trying to do is to create a set of functions that will read the
> output files (NetCDF) from running the ROMS model (ocean model). The output
> file is organized in xi (x-direction), eta (y-direction), and s
> (z-direction) where the s-values are vertical layers and not depth. This
> particular function (z_slice) will find the closest upper and lower s-layer
> for a given depth in meters (e.g. -100). Then values from the two selcted
> layers will be interpolated to create a new layer at the selected depth
> (-100). The problem is that the s-layers follow the bathymetry and a
> particular s-layer will therefore sometimes be above and sometimes below the
> selected depth that we want to interpolate to. That's why I need a quick
> script that searches all of the layers and find the upper and lower layers
> for a given depth value (which is negative). The z_r is a 3D array
> (s,eta,xi) that is created using the netcdf module.
>
> The main goal of these set of functions is to move away from using matlab,
> but also to speed things up. The sliced data array will be plotted using GMT
> or pyNGL.
>
> Thanks for helping me. Cheers, Trond
>
>
>
>
> On 2/25/08 9:15 PM, "Robert Kern" <robert.kern at gmail.com> wrote:
>
> > On Mon, Feb 25, 2008 at 8:08 PM, Trond Kristiansen <trond at unc.edu> wrote:
> >>
> >>
> >> Hi all.
> >> This is my first email to the discussion group. I have spent two days trying
> >> to get a particular loop to speed up, and the best result I got was this:
> >
> > Can you try to repost this in such a way that the indentation is
> > preserved? Feel free to attach it as a text file. Also, can you
> > describe at a higher level what it is you are trying to accomplish and
> > what the arrays mean?
>
>
> _______________________________________________
> Numpy-discussion mailing list
> Numpy-discussion at scipy.org
> http://projects.scipy.org/mailman/listinfo/numpy-discussion
>
>
More information about the NumPy-Discussion
mailing list