BUG: defect in polar coordinate handler breaks fixed-resolution buffer
neutrinoceros opened this issue · 2 comments
neutrinoceros commented
Bug report
Bug summary
This was spotted by @forrestglines in #4323 (comment)
I don't know yet if it's an issue with just polar coordinates or 2D dataset. Will investigate.
Code for reproduction
import yt
ds = yt.load_sample("bw_polar_2d")
slc = yt.SlicePlot(ds, "z", ("gas", "density"))
frb = slc.data_source.to_frb(width=(1, "cm"), resolution=(512, 512))
frb["r"]
Actual outcome
yt : [INFO ] 2024-01-26 10:50:16,011 Sample dataset found in '/Users/clm/dev/yt-project/yt/bugs/parthenon/polar/bw_polar_2d/output0001.dat'
yt : [INFO ] 2024-01-26 10:50:16,108 Parameters: current_time = 0.05
yt : [INFO ] 2024-01-26 10:50:16,108 Parameters: domain_dimensions = [32 32 1]
yt : [INFO ] 2024-01-26 10:50:16,108 Parameters: domain_left_edge = [0. 0. 0.]
yt : [INFO ] 2024-01-26 10:50:16,108 Parameters: domain_right_edge = [2. 6.28318531 1. ]
yt : [INFO ] 2024-01-26 10:50:16,108 Parameters: cosmological_simulation = 0
yt : [INFO ] 2024-01-26 10:50:16,115 Using full MHD energy for thermal pressure.
yt : [INFO ] 2024-01-26 10:50:16,202 xlim = -2.000000 2.000000
yt : [INFO ] 2024-01-26 10:50:16,202 ylim = -2.000000 2.000000
yt : [INFO ] 2024-01-26 10:50:16,202 Setting origin='native' for polar geometry.
yt : [INFO ] 2024-01-26 10:50:16,203 xlim = -2.000000 2.000000
yt : [INFO ] 2024-01-26 10:50:16,203 ylim = -2.000000 2.000000
yt : [INFO ] 2024-01-26 10:50:16,206 Making a fixed resolution buffer of (('gas', 'density')) 800 by 800
Traceback (most recent call last):
File "/Users/clm/dev/yt-project/yt/bugs/parthenon/polar/t.py", line 6, in <module>
frb["r"]
~~~^^^^^
File "/Users/clm/dev/yt-project/yt/yt/visualization/fixed_resolution.py", line 208, in __getitem__
return self.get_image(item)
^^^^^^^^^^^^^^^^^^^^
File "/Users/clm/dev/yt-project/yt/yt/visualization/fixed_resolution.py", line 212, in get_image
self._generate_image_and_mask(key)
File "/Users/clm/dev/yt-project/yt/yt/visualization/fixed_resolution.py", line 600, in _generate_image_and_mask
mask = pixelize_cylinder(
^^^^^^^^^^^^^^^^^^
File "yt/utilities/lib/pixelization_routines.pyx", line 552, in yt.utilities.lib.pixelization_routines.pixelize_cylinder
ValueError: Buffer has wrong number of dimensions (expected 2, got 1)
Expected outcome
no exception
Version Information
- Operating System: macOS
- Python Version: 3.12.1
- yt version: 4.4.dev0
- Other Libraries (if applicable):
forrestglines commented
I don't know yet if it's an issue with just polar coordinates or 2D dataset. Will investigate.
I think it's related to polar coordinates and not 2D datasets. In the PR where I came across this bug I also tested on a 3D polar dataset and got the same error.
neutrinoceros commented
Indeed, my patch (#4790) has nothing to do with dimensionality!