[yt-users] No 'astype' attribute error - clump finding, volume rendering

Noel Scudder noel.scudder at stonybrook.edu
Tue Jul 2 10:12:32 PDT 2013


Hi yt users,

I have a (hopefully) simple question I'm hoping to get cleared up.
I've run into the same error both in clump finding and volume rendering:
AttributeError: 'list' object has no attribute 'astype'.

My volume rendering script:
----------------------
from yt.mods import *
pf = load("plt_derr_perr_grav_00020")
field = "pressure"
pf.h

#color transfer function/layer creation I'll leave out for clarity

c = [5.0e9, 5.0e9, 5.0e9]
L = [0.15, 1.0, 0.20]
W = (pf.domain_right_edge - pf.domain_left_edge)*0.5
Nvec = 768

cam = pf.h.camera(c, L, W, (Nvec,Nvec), transfer_function = tf,
fields=[field], pf=pf, no_ghost=False)

im = cam.snapshot(clip_ratio=6.0)

...
----------------------

Without "no_ghost=False", the script runs as it's supposed to. If it's
included, I get the following message:

  File "<stdin>", line 1, in <module>
  File "volume.py", line 17, in <module>
    cam.snapshot("v1.png")
  File
"/home/noel/shocks/yt-x86_64/src/yt-hg/yt/visualization/volume_rendering/camera.py",
line 684, in snapshot
    self.initialize_source()
  File
"/home/noel/shocks/yt-x86_64/src/yt-hg/yt/visualization/volume_rendering/camera.py",
line 636, in initialize_source
    return self.volume.initialize_source()
  File
"/home/noel/shocks/yt-x86_64/src/yt-hg/yt/utilities/amr_kdtree/amr_kdtree.py",
line 200, in initialize_source
    for b in self.traverse():
  File
"/home/noel/shocks/yt-x86_64/src/yt-hg/yt/utilities/amr_kdtree/amr_kdtree.py",
line 210, in traverse
    yield self.get_brick_data(node)
  File
"/home/noel/shocks/yt-x86_64/src/yt-hg/yt/utilities/amr_kdtree/amr_kdtree.py",
line 284, in get_brick_data
    vcd =
grid.get_vertex_centered_data(field,smoothed=True,no_ghost=self.no_ghost).astype('float64')
  File
"/home/noel/shocks/yt-x86_64/src/yt-hg/yt/data_objects/grid_patch.py", line
510, in get_vertex_centered_data
    cg = self.retrieve_ghost_zones(1, field, smoothed=smoothed)
  File
"/home/noel/shocks/yt-x86_64/src/yt-hg/yt/data_objects/grid_patch.py", line
477, in retrieve_ghost_zones
    level, new_left_edge, **kwargs)
  File
"/home/noel/shocks/yt-x86_64/src/yt-hg/yt/data_objects/data_containers.py",
line 3867, in __init__
    self.pf.domain_dimensions.astype("float64"))
AttributeError: 'list' object has no attribute 'astype'


My clump-finding script closely follows the "Identifying Clumps" recipe in
the cookbook:
----------------------
from yt.mods import *
from yt.analysis_modules.level_sets.api import *

field = "density"
step = 2.0

pf = load("plt_derr_perr_grav_00020")
pf.h

data_source = pf.h.all_data()
c_min = 10**na.floor(na.log10(data_source[field]).min()  )
c_max = 10**na.floor(na.log10(data_source[field]).max()+1)

function = 'self.data[\'%s\'].size > 8' %field

master_clump = Clump(data_source, None, field, function=function)
find_clumps(master_clump, c_min, c_max, step)

...
----------------------
An error will occur occur at find_clumps:

Finding clumps: min: 1.500000e-04, max: 1.500000e+07, step: 2.000000
First pass100%
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Time: 00:00:00
Traceback (most recent call last):
 | ETA:  --:--:--
  File "<stdin>", line 1, in <module>
  File "clumps.py", line 30, in <module>
    find_clumps(master_clump, c_min, c_max, step)
  File
"/home/noel/shocks/yt-x86_64/src/yt-hg/yt/analysis_modules/level_sets/clump_handling.py",
line 179, in find_clumps
    clump.find_children(min_val)
  File
"/home/noel/shocks/yt-x86_64/src/yt-hg/yt/analysis_modules/level_sets/clump_handling.py",
line 120, in find_children
    self.cached_fields)
  File
"/home/noel/shocks/yt-x86_64/src/yt-hg/yt/analysis_modules/level_sets/contour_finder.py",
line 107, in identify_contours
    cg = grid.retrieve_ghost_zones(1, "tempContours", smoothed=False)
  File
"/home/noel/shocks/yt-x86_64/src/yt-hg/yt/data_objects/grid_patch.py", line
479, in retrieve_ghost_zones
    cube = self.hierarchy.covering_grid(level, new_left_edge, **kwargs)
  File
"/home/noel/shocks/yt-x86_64/src/yt-hg/yt/data_objects/data_containers.py",
line 3706, in __init__
    self.dds = self.pf.domain_width/rdx.astype("float64")
AttributeError: 'list' object has no attribute 'astype'


Can anyone tell me why I am getting this error in both cases? I've been
doing my utmost, but I'm not familiar enough with python nor yt yet.Thanks
for your help!

Cheers,

Noel Scudder
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.spacepope.org/pipermail/yt-users-spacepope.org/attachments/20130702/6b5ff2f0/attachment.htm>


More information about the yt-users mailing list