This pull request includes initial support for reading OWLS (SPH) data off disk.
This includes reading OWLS data, creating an in-memory octree, and selecting sub-regions. Essentially, all quantitative analysis. It does not include density estimators or fluid deposition. There is still a considerable amount of work to do.
Also, I have reconsidered the way that particle types are read, and I will be making some changes to the other frontends. I want to remove the distinction between reading by type and reading all, and make one a special case of the other.
UPDATE 1: To fix merge conflict.
UPDATE 2: Vector fields get passed through correctly now.
UPDATE 3: Adding initial tests for the particle octree. Also identified a nasty indexing bug and found a good (but yet unexplored) location for improving memory consumption of particle octrees.)
I should also note, that we will ultimately need a proper distributed octree.
For what it's worth, I think the main reasons to hold off on accepting:
Tests for particle octree need to be written
YTEP for SPH/N-body support needs to be written
I think this is ready to go, modulo testing that my change to line 149 of oct_container.pyx does not change results for @sleitner ; Sam, does this need to be changed?
Since SPH support is till fully in development and in flux, and Matt has added tests, I'm going to accept. Thanks for all your hard work on this Matt! This looks like a great base for better support for SPH codes.