Hi all,
I broke volume rendering (via yt.extensions.volume_rendering) some
time ago, and I only just realized it today when some people were
getting corrupted images. It took a while to come up because I
avoided re-generating the Cython/C code that actually conducts the
volume rendering; however, recently I updated this code and pushed it
to the repository, and that's when the errors started showing up.
The exact error was in mercurial changeset 3007999e2518 (May 30),
which I merged into …
[View More]trunk in revision 1754 (June 24). These dates are
not necessarily the dates at which the error showed up, however, as
the re-cythonization probably did not occur at those times. The error
was in the optimization of division by the inverse of the vector
direction; the rays to cast were passed to partitioned bricks and to
avoid too much division of 64-bit floats, I changed it to be a
multiplication against the inverse.
To calculate the inverse, I did something similar to this:
for i in range(3):
iv_dir[i] = 1.0/v_dir[0]
The error, of course, being that I was dividing by v_dir[0] for all
three values.
I identified this by using the hg bisect command, where I found a good
revision and a bad revision and it executed the necessary tests to
figure out where the code took a turn for the worse. I've committed
fixes in hg changeset f0960f4f6bed, svn trunk r1804 and svn yt-1.7
r1805.
I'm really sorry for the troubles, and I hope that it hasn't cost
anyone too much time. There may still be some lingering bugs, so
please let me know if you run into any more bad images or difficulties
with the volume rendering. You can get an updated yt by doing "yt
instinfo -u".
-Matt
[View Less]
Hello fellow yt users!
I'm new at yt and have been working through the cookbook for a few days now. So far I've got 2 issues that I cannot resolve. I'm trying to make Phase diagrams (using time_series_phase.py form the cookbook), and I'm getting the following error on the SDSC cluster Triton (who's environment & installations were set up by Matt Turk):
[hipacc-16@login-4-0 unigrid]$ python time_series_phase.py
/projects/lca-group/local-dev/lib/python2.6/site-packages/pytz/__init__.py:29:…
[View More] UserWarning: Module readline was already imported from /projects/lca-group/local-dev/lib/python2.6/lib-dynload/readline.so, but /projects/lca-group/local-dev/lib/python2.6/site-packages is being added to sys.path
from pkg_resources import resource_stream
yt INFO 2010-07-30 16:56:57,368 Created plot collection with default plot-center = [0.5, 0.5, 0.5]
yt INFO 2010-07-30 16:56:57,380 Getting the binary hierarchy
yt INFO 2010-07-30 16:56:57,383 Finished with binary hierarchy reading
yt INFO 2010-07-30 16:56:57,487 Getting field Density from 8
yt INFO 2010-07-30 16:56:57,536 Getting field Temperature from 8
yt INFO 2010-07-30 16:56:57,743 Getting field CellMassMsun from 8
yt INFO 2010-07-30 16:56:57,743 Getting field CellVolume from 8
yt INFO 2010-07-30 16:56:57,743 Getting field dx from 8
yt INFO 2010-07-30 16:56:57,774 Getting field dy from 8
yt INFO 2010-07-30 16:56:57,806 Getting field dz from 8
yt INFO 2010-07-30 16:56:59,331 Saved DD0000_Profile2D_0_Density_Temperature_CellMassMsun.png
yt INFO 2010-07-30 16:56:59,338 Created plot collection with default plot-center = [0.5, 0.5, 0.5]
yt INFO 2010-07-30 16:56:59,343 Getting the binary hierarchy
yt INFO 2010-07-30 16:56:59,346 Finished with binary hierarchy reading
yt INFO 2010-07-30 16:56:59,448 Getting field Density from 8
yt INFO 2010-07-30 16:56:59,494 Getting field Temperature from 8
Traceback (most recent call last):
File "time_series_phase.py", line 23, in <module>
y_bins=128, y_bounds = (1e2, 1e7))
File "/projects/lca-group/local-dev/lib/python2.6/site-packages/yt-2.0dev-py2.6-linux-x86_64.egg/yt/raven/plot_collection.py", line 1130, in add_phase_sphere
lazy_reader, id, axes, figure, fractional)
File "/projects/lca-group/local-dev/lib/python2.6/site-packages/yt-2.0dev-py2.6-linux-x86_64.egg/yt/raven/plot_collection.py", line 1015, in add_phase_object
lazy_reader)
File "/projects/lca-group/local-dev/lib/python2.6/site-packages/yt-2.0dev-py2.6-linux-x86_64.egg/yt/lagos/Profiles.py", line 402, in __init__
self._args = self._get_bins(data_source)
File "/projects/lca-group/local-dev/lib/python2.6/site-packages/yt-2.0dev-py2.6-linux-x86_64.egg/yt/lagos/Profiles.py", line 47, in save_state
tr = func(*args, **kwargs)
File "/projects/lca-group/local-dev/lib/python2.6/site-packages/yt-2.0dev-py2.6-linux-x86_64.egg/yt/lagos/Profiles.py", line 453, in _get_bins
raise EmptyProfileData()
yt.lagos.Profiles.EmptyProfileData
[hipacc-16@login-4-0 unigrid]$
After all this is spit out there is a single PNG in the directory, when there should be ~27. I tried it with both lazy_reading on and off, both yield the same result.
My second issue is that I'm not getting color bars when making multiplots through the use of multi_plot.py. Here is the script (slightly altered from the cookbook) I am using:
from yt.mods import * # set up our namespace
orient = 'horozontal'
for i in range(0,27):
fn = "RD%04i/RedshiftOutput%04i" % (i,i) # parameter file to load
pf = load(fn) # load data
fig, axes, colorbars = raven.get_multi_plot(3, 1, colorbar=orient, bw=4)
pc = PlotCollection(pf, center=[0.5,0.5,0.5])
p = pc.add_projection("Density", 0, figure=fig, axes = axes[0][0], use_colorbar\
=False)
pc.set_cmap("bds_highcontrast")
p = pc.add_projection("Temperature", 0, figure=fig, axes=axes[0][1], use_colorb\
ar=False)
p = pc.add_projection("particle_density_pyx", 0, figure=fig, axes=axes[0][2], u\
se_colorbar=False)
for p, cax in zip(pc.plots, colorbars):
cbar = cb.Colorbar(cax, p.image, orientation=orient)
p.colorbar = cbar
p._autoset_label()
fig.savefig("%s_projection" % pf)
And it produces images like this: http://img.photobucket.com/albums/v321/mons00n/RedshiftOutput0009_projectio…
I'm quite happy to be getting results, but no idea on how to fix the missing color bar problem. Thanks for your time!
-Robert Thompson
[View Less]