Open zacjohnston opened 4 years ago
Hi, and welcome to yt! Thanks for opening your first issue. We have an issue template that helps us to gather relevant information to help diagnosing and fixing the issue.
well it somehow seems to have gotten worse, so there may be more than one bug to solve here now Here's what I get by running the embedded script with yt 4.0.1 + unyt 2.8.0
IterableUnitCoercionError: Received a list or tuple of quantities with nonuniform units: [unyt_quantity(0., 'code_length'), unyt_quantity(0., 'code_length'), 0]
edit: this is due to unyt becoming more strict about inputs, it is fixed with the following change in OP's script
- point = data.point([x, y, 0])
+ point = data.point([x, y, data.quan(0, "code_length")])
with this patch, I report that I can reproduce the original problem.
I went down the rabbit hole and I am still not sure wether this is a frontend-specific issue.
What I know so far is that in yt.geometry.geometry_handler.Index._read_fluid_fields
, we get some chunks (yt.geometry.geometry_handler.YTDataChunk
) with a data_size
of 0.
I think these chunks are retrieved via yt.geometry.grid_geometry_handler.GridIndex._identify_base_chunk
, which we could override in FlashHierarchy
if need be, but that's all I have so far.
Bug report
Bug summary
When using the
point
function to sample a FLASH checkpoint file, it will sometimes return an empty array as if the point is outside the domain. It seems to happen when the point lies on a cell edge, even when that edge is well inside the grid domain (though it doesn't happen on every edge).Code for reproduction
data file:
curl -JO http://use.yt/upload/ae71a17a
Actual outcome
Expected outcome
Always return a value at all points within the domain.
Version Information
yt was installed with
conda install yt