So I think it is best to have e1 and e2. Having e3 calculated on the fly will save 3 columns off of the data file, and if we don't store the center and A that's another 4 columns. And if we go with the rotation angle idea it will save another 2 out of 3 columns, replacing 3 e2 components with 1 angle.
So, where does this leave us, Geoffrey, in your opinion? Are you going to make changes soon, later, or never? Shall we merge now, or wait for changes from you?
Ultimately I'd want to analyze the DM and star particles in the ellipsoid separately, do I just use the derived field and particle ages to do that once the previous problem is solved?
(Quoting Matt's response)
I'll defer to someone else on this. The way stars are differentiated in Enzo -- although other codes seem to have gotten this right -- bugs me in its inconsistencies. (i.e., ages versus ParticleType. Not a fault of enzo, really, just inconsistent conventions for running simulations. :)
I agree with Matt on this confusion bit. But to answer your question, Geoffrey, yeah, you'll just do something like:
ct = Ell['creation_time'] select_stars = (ct > 0) star_masses = Ell['ParticleMassMsun'][select_stars]
or similarly with 'particle_type' in the first line.