[yt-users] h5py execution time

Stephen Skory stephenskory at yahoo.com
Thu Aug 12 18:03:00 PDT 2010


JC,

>        for k1 in range(0,size[0],1):
>          for k2 in range(0,size[1],1):
>            for k3 in range(0,size[2],1):
>             if (density[k1,k2,k3] > Threshold):
>                tmp[k1,k2,k3] = SomeValue
>              else:
>                tmp[k1,k2,k3] = 0.0


Using Numpy array functions will make your life much better! Here is a simple 
example below that I think is roughly what you want to do. It should at least 
get you started down the right path. Luckily, 'density' is already a numpy array 
when it gets read in, so you're good to go!


In [1]: import numpy as np

In [2]: a = np.random.random((2,2,2))

In [3]: a
Out[3]: 
array([[[ 0.97104489,  0.25985399],
        [ 0.02646919,  0.50027277]],

       [[ 0.21725962,  0.19100341],
        [ 0.96593371,  0.65269835]]])

In [4]: big = (a > 0.5)

In [5]: small = (a <= 0.5)

In [6]: b = big * 0.7 + small * 0

In [7]: b
Out[7]: 
array([[[ 0.7,  0. ],
        [ 0. ,  0.7]],

       [[ 0. ,  0. ],
        [ 0.7,  0.7]]])




 _______________________________________________________
sskory at physics.ucsd.edu           o__  Stephen Skory
http://physics.ucsd.edu/~sskory/ _.>/ _Graduate Student
________________________________(_)_\(_)_______________



More information about the yt-users mailing list