I'd like to bring everyone's attention to ureka (http://ssb.stsci.edu/ureka/)
a new binary distribution centered around python, IRAF, and commonly used
astronomical image viewing and visualization software (e.g. DS9). They
include a large number of python modules, in fact most of yt's source
All this software is available for OS X and linux and because it's a binary
download it should run significantly quicker than yt's install script.
I'll admit that I haven't tried installing it yet but it might be
worthwhile to experiment a bit. If it's a good fit, we could add
instructions to the website or the docs or even try to get them to include
yt out of the box.
New issue 593: RADMC-3D converter does not work on FLASH data
The layer-style AMR input files for RADMC-3D generated from FLASH input data are corrupted. A typical error message from RADMC-3D looks as follows:
Reading grid file and prepare grid tree...
ERROR in layers: layer out of bounds
layer number = 19
layer parent = 0
nnxyz parent = 8 8 32
ixyz = -2 5 1
nxyz = 4 4 4
Has anyone successfully used the converter for a FLASH dataset?
New issue 592: Fields that combine deposited particle quantities with gas do not work
This was exposed on an enzo-3.0 dataset, but I've reproduced it using IsolatedGalaxy.
One minor note: the yt-3.0 `TotalMass` field still depends on `Dark_Matter_Density`. I can't remember if we merged from yt-2.6dev before that was patched so this might not be a merge error, but I suspect it is. In any case, the `Matter_Density` correctly uses `particle_density`, so I've used it below:
$ yt plot -a 2 -w 25 -u kpc -f Matter_Density IsolatedGalaxy/galaxy0030/galaxy0030
yt : [INFO ] 2013-06-12 18:42:33,994 Parameters: current_time = 0.00600002000283
yt : [INFO ] 2013-06-12 18:42:33,994 Parameters: domain_dimensions = [32 32 32]
yt : [INFO ] 2013-06-12 18:42:33,995 Parameters: domain_left_edge = [ 0. 0. 0.]
yt : [INFO ] 2013-06-12 18:42:33,995 Parameters: domain_right_edge = [ 1. 1. 1.]
yt : [INFO ] 2013-06-12 18:42:33,996 Parameters: cosmological_simulation = 0.0
yt : [INFO ] 2013-06-12 18:42:33,996 Adding plot for axis 2
Parsing Hierarchy100% |||||||||||||||||||||||||||||||||||||||||| Time: 00:00:00
yt : [INFO ] 2013-06-12 18:42:34,018 Gathering a field list (this may take a moment.)
yt : [INFO ] 2013-06-12 18:42:34,031 Adding unknown field SFR_Density to list of fields
yt : [INFO ] 2013-06-12 18:42:34,031 Adding unknown field Forming_Stellar_Mass_Density to list of fields
yt : [INFO ] 2013-06-12 18:42:34,031 Adding unknown field Galaxy1Colour to list of fields
yt : [INFO ] 2013-06-12 18:42:34,031 Adding unknown field kphHeI to list of fields
yt : [INFO ] 2013-06-12 18:42:34,031 Adding unknown field MBHColour to list of fields
yt : [INFO ] 2013-06-12 18:42:34,032 Adding unknown field Phi_pField to list of fields
yt : [INFO ] 2013-06-12 18:42:34,032 Adding unknown field Galaxy2Colour to list of fields
yt : [INFO ] 2013-06-12 18:42:34,032 Adding unknown field Average_creation_time to list of fields
yt : [INFO ] 2013-06-12 18:42:34,032 Adding unknown field gammaHI to list of fields
yt : [INFO ] 2013-06-12 18:42:34,032 Adding unknown field kphHI to list of fields
yt : [INFO ] 2013-06-12 18:42:34,032 Adding unknown field kphHeII to list of fields
yt : [INFO ] 2013-06-12 18:42:34,032 Adding unknown field Star_Particle_Density to list of fields
yt : [INFO ] 2013-06-12 18:42:34,036 Adding unknown field PhiField to list of fields
Traceback (most recent call last):
File "/usr/local/share/python/yt", line 9, in <module>
load_entry_point('yt==3.0dev', 'console_scripts', 'yt')()
File "/Users/goldbaum/Documents/yt-3.0/yt/utilities/command_line.py", line 1691, in run_main
File "/Users/goldbaum/Documents/yt-3.0/yt/utilities/command_line.py", line 97, in run
File "/Users/goldbaum/Documents/yt-3.0/yt/utilities/command_line.py", line 1319, in __call__
File "/Users/goldbaum/Documents/yt-3.0/yt/visualization/plot_window.py", line 1246, in __init__
File "/Users/goldbaum/Documents/yt-3.0/yt/data_objects/data_containers.py", line 521, in get_data
File "/Users/goldbaum/Documents/yt-3.0/yt/data_objects/data_containers.py", line 537, in _generate_fields
self.field_data[field] = self._generate_field(field)
File "/Users/goldbaum/Documents/yt-3.0/yt/data_objects/data_containers.py", line 226, in _generate_field
File "/Users/goldbaum/Documents/yt-3.0/yt/data_objects/data_containers.py", line 242, in _generate_fluid_field
rv = finfo(gen_obj)
File "/Users/goldbaum/Documents/yt-3.0/yt/data_objects/field_info_container.py", line 482, in __call__
dd = self._function(self, data)
File "/Users/goldbaum/Documents/yt-3.0/yt/data_objects/universal_fields.py", line 411, in _Matter_Density
return (data['Density'] + data['particle_density'])
TypeError: unsupported operand type(s) for +: 'NoneType' and 'float'
I put a breakpoint inside `_Matter_Density` and It looks like an exception is raised when yt attempts to retrieve `particle_density` during field detection. This exception is never raised to the user level (see #589) so execution proceeds normally. When the field is finally called by the script, 'Density' is returned as `None`, I guess since the field detection didn't finish properly.
New issue 591: HI Density for RAMSES?
I will probably be doing a lot of testing of RAMSES functionality in the near future, with the added Ramses support features available in 3.0.
One of the first things I've noticed is that there is no HI_Density field for RAMSES files. I'm not sure how much work is required to set one up, but this would be a great thing to have.
New issue 590: Orientation arrows for volume rendering
In my recent experience using yt, it was difficult to construct a sample set of axes that orient the volume render with respect to the original coordinate axes of the data set in question. This feature is particularly useful for rendering observational data. I tried implementing this through a series of draw_box, but it wasn't of the quality that the rest of the yt was producing.
x0 = np.array([0.4,0.7,0.5])
dx = np.array([0.05,0.0,0.0])
Requests from my collaborators included both clearer lines, with arrow heads and the ability to render text along the arrows.
New issue 589: Field detection catches all exceptions raised by broken fields
Right now yt-3.0 field detection catches all exception raised during field discovery. This happens on line 190 of `geometry_handler.py` in the 3.0a2 release. We should only catch exceptions that indicate that a field isn't available for the dataset (e.g. `YTFieldNotFound`) and let all other exceptions, indicating that a field is broken somehow, continue to be elevated.
Once this is fixed, a user will immediately know that a newly created field that contains a bug is broken, since an exception will be raised during field detection.
New issue 588: annotate_contour on only half the image
I came across a curious bug where I was looking at a SlicePlot and using annotate_contour to add density contours on top of the plot. When zoomed pretty far out, everything works fine, but when I began to zoom in on the galaxy in my simulation, the contours stopped displaying correctly, and began to only display on *exactly* half the image (the left half).
p=SlicePlot(pf, 2, ["Density", "HI_Density", "Temperature"], center=center, width=(500,'kpc'))
I thought maybe it would help to call p.annotate_contour("Density") again after re-setting the width, but that doesn't accomplish anything.
I've included the resulting images.
New issue 586: YT Dynamic Linking Error on SUSE
YT fails to link against it's own local copy of the libpng16.so.16 library successfully at runtime.
The initial error is
ImportError: libpng16.so.16: cannot open shared object file: No such file or directory
Adding the YT path to LD_LIBRARY_PATH fixes this error but shows another error subsequently
Instead YT links against the system png library causing a runtime error.
ImportError: .../yt-x86_64/lib/python2.7/site-packages/matplotlib/_png.so: undefined symbol: png_set_longjmp_fn
This is because of a dynamic linking error. ldd shows that _png.so is dynamically linking again the system png library
libpng12.so.0 => /usr/lib64/libpng12.so.0 (0x00007fffbfb56000)
Setting LD_PRELOAD to point to YT's copy of the libpng.so.16.so fixes the issue.
A fix in the install script for SUSE may be needed to avoid this workaround.