[yt-dev] Issue #587: OffAxisSlicePlot annote_velocity (yt_analysis/yt)

Kyle Stewart issues-reply at bitbucket.org
Thu Jun 6 15:10:23 PDT 2013


New issue 587: OffAxisSlicePlot annote_velocity
https://bitbucket.org/yt_analysis/yt/issue/587/offaxissliceplot-annote_velocity

Kyle Stewart:

When I try to use annotate_velocity on the SlicePlot command it works fine, as before, but I get an error when I try to use it with the OffAxisSlicePlot command:

The code I'm using is:

```
#!python

gal=pf.h.sphere(center, 10.0/pf['kpc'])
Lgal = gal.quantities["AngularMomentumVector"]()

p=SlicePlot(pf, 2, ["Density", "HI_Density", "Temperature"], center=center, width=(140,'kpc'))
p.annotate_velocity(factor=32)
p.save("test")

p=OffAxisSlicePlot(pf, Lgal, ["Density", "HI_Density", "Temperature"], center=center, width=(140,'kpc'))
p.annotate_velocity(factor=32)
p.save("test")

```

The SlicePlot part works fine.  The error I get for the OffAxisSlicePlot is:

```
#!python

In [347]: p.annotate_velocity(factor=32)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
/Users/kstewart/code/yt-3.0/yt-x86_64/src/yt-3.0-hg/scripts/iyt in <module>()
----> 1 p.annotate_velocity(factor=32)

/Users/kstewart/code/yt-3.0/yt-x86_64/src/yt-3.0-hg/yt/visualization/plot_window.py in newfunc(*args, **kwargs)
     97         rv = f(*args, **kwargs)
     98         args[0]._plot_valid = False
---> 99         args[0]._setup_plots()
    100         return rv
    101     return newfunc

/Users/kstewart/code/yt-3.0/yt-x86_64/src/yt-3.0-hg/yt/visualization/plot_window.py in _setup_plots(self)
    956                 label.set_fontproperties(fp)
    957 
--> 958             self.run_callbacks(f)
    959 
    960         self._plot_valid = True

/Users/kstewart/code/yt-3.0/yt-x86_64/src/yt-3.0-hg/yt/visualization/plot_window.py in run_callbacks(self, f)
    966             CallbackMaker = callback_registry[name]
    967             callback = CallbackMaker(*args[1:], **kwargs)
--> 968             callback(cbw)
    969         for key in self._frb.keys():
    970             if key not in keys:

/Users/kstewart/code/yt-3.0/yt-x86_64/src/yt-3.0-hg/yt/visualization/plot_modifications.py in __call__(self, plot)
    132             yv = "%s-velocity" % (y_names[plot.data.axis])
    133             qcb = QuiverCallback(xv, yv, self.factor, scale=self.scale, scale_units=self.scale_units, normalize=self.normalize)
--> 134         return qcb(plot)
    135 
    136 class MagFieldCallback(PlotCallback):

/Users/kstewart/code/yt-3.0/yt-x86_64/src/yt-3.0-hg/yt/visualization/plot_modifications.py in __call__(self, plot)
    629                                plot.data['pdx'], plot.data['pdy'], plot.data['pdz'],
    630                                plot.data.center, plot.data._inv_mat, indices,
--> 631                                plot.data[self.field_x],
    632                                int(nx), int(ny),
    633                                (x0, x1, y0, y1),).transpose()

/Users/kstewart/code/yt-3.0/yt-x86_64/src/yt-3.0-hg/yt/data_objects/data_containers.py in __getitem__(self, key)
    198                 return self.field_data[f]
    199             else:
--> 200                 self.get_data(f)
    201         return self.field_data[f]
    202 

/Users/kstewart/code/yt-3.0/yt-x86_64/src/yt-3.0-hg/yt/data_objects/data_containers.py in get_data(self, fields)
    505         self.field_data.update(read_particles)
    506         fields_to_generate = gen_fluids + gen_particles
--> 507         self._generate_fields(fields_to_generate)
    508 
    509     def _generate_fields(self, fields_to_generate):

/Users/kstewart/code/yt-3.0/yt-x86_64/src/yt-3.0-hg/yt/data_objects/data_containers.py in _generate_fields(self, fields_to_generate)
    515                 if field in self.field_data: continue
    516                 try:
--> 517                     self.field_data[field] = self._generate_field(field)
    518                 except GenerationInProgress as gip:
    519                     for f in gip.fields:

/Users/kstewart/code/yt-3.0/yt-x86_64/src/yt-3.0-hg/yt/data_objects/data_containers.py in _generate_field(self, field)
    224                 return self._generate_particle_field(field)
    225             else:
--> 226                 return self._generate_fluid_field(field)
    227 
    228     def _generate_fluid_field(self, field):

/Users/kstewart/code/yt-3.0/yt-x86_64/src/yt-3.0-hg/yt/data_objects/data_containers.py in _generate_fluid_field(self, field)
    240             rv = self._generate_spatial_fluid(field, ngt_exception.ghost_zones)
    241         else:
--> 242             rv = finfo(gen_obj)
    243         return rv
    244 

/Users/kstewart/code/yt-3.0/yt-x86_64/src/yt-3.0-hg/yt/data_objects/field_info_container.py in __call__(self, data)
    478         ii = self.check_available(data)
    479         original_fields = data.keys() # Copy
--> 480         dd = self._function(self, data)
    481         if dd is not None:
    482             dd *= self._convert_function(data)

/Users/kstewart/code/yt-3.0/yt-x86_64/src/yt-3.0-hg/yt/data_objects/universal_fields.py in _CuttingPlaneVelocityX(field, data)
    886         bulk_velocity = np.zeros(3)
    887     v_vec = np.array([data["%s-velocity" % ax] for ax in 'xyz']) \
--> 888                 - bulk_velocity[...,np.newaxis]
    889     return np.dot(x_vec, v_vec)
    890 add_field("CuttingPlaneVelocityX", 

TypeError: unsupported operand type(s) for -: 'NoneType' and 'float'

```





More information about the yt-dev mailing list