I have disabled fast ParticleIO for now. There's a bug in this code,
which I am struggling to figure out the right way to fix. This only
applies to Enzo data, and the bug only showed up when you had a
derived field depending on only one field, and only if it's more than
a simple conversion factor. The only field I found that this applied
to was ParticleAge.
During the reading, we pass in conversion factors for fields, so that
when returned they will be correctly scaled. However, I was
incorrectly setting dependency fields as the main field; this means
that, for instance, the ParticleAge conversion was being applied to
the creation_time field, and then creation_time was set as
ParticleAge. This is inside yt/data_objects/particle_io.py.
The problem here is getting all three things playing nicely:
* Particle IO
* Derived fields based on particles
I have to sit back and think about ParticleIO. Really I have always
kind of hated my particle IO implementation, but I think the solution
is to simplify it and make it behave more straightforwardly. I'll
notify the list when I've fixed the bug and re-enabled ParticleIO.
Show replies by date