[yt-svn] commit/yt: 8 new changesets

commits-noreply at bitbucket.org commits-noreply at bitbucket.org
Tue Dec 2 12:27:26 PST 2014


8 new commits in yt:

https://bitbucket.org/yt_analysis/yt/commits/7695d8a4d6ec/
Changeset:   7695d8a4d6ec
Branch:      yt
User:        mzingale
Date:        2014-11-25 19:08:36+00:00
Summary:     first pass at making the field list a nice table
Affected #:  2 files

diff -r a0944e034d1db25d5f5679ef7eb57f1dc5159d78 -r 7695d8a4d6ec1556eae6f7c98bf5ccef082a73ca doc/helper_scripts/show_fields.py
--- a/doc/helper_scripts/show_fields.py
+++ b/doc/helper_scripts/show_fields.py
@@ -163,22 +163,25 @@
 ds.index
 print_all_fields(ds.field_info)
 
-def print_frontend_field(ftype, field, ptype):
-    name = field[0]
-    units = field[1][0]
-    aliases = ["``%s``" % f for f in field[1][1]]
-    if ftype is not "particle_type":
-        ftype = "'"+ftype+"'"
-    s = "(%s, '%s')" % (ftype, name)
-    print s
-    print "^" * len(s)
-    print
-    if len(units) > 0:
-        print "   * Units: :math:`\mathrm{%s}`" % fix_units(units)
-    if len(aliases) > 0:
-        print "   * Aliased to: %s" % " ".join(aliases)
-    print "   * Particle Type: %s" % (ptype)
-    print
+
+class FieldInfo:
+    """ a simple container to hold the information about fields """
+    def __init__(self, ftype, field, ptype):
+        name = field[0]
+        self.units = ""
+        u = field[1][0]
+        if len(u) > 0:
+            self.units = ":math:`\mathrm{%s}`" % fix_units(u)
+        a = ["``%s``" % f for f in field[1][1]]
+        self.aliases = " ".join(a)
+        self.dname = ""
+        if field[1][2] is not None:
+            self.dname = ":math: {}".format(field[1][2])
+
+        if ftype is not "particle_type":
+            ftype = "'"+ftype+"'"
+        self.name = "(%s, '%s')" % (ftype, name)
+        self.ptype = ptype
 
 current_frontends = [f for f in _frontends if f not in ["stream"]]
 
@@ -220,12 +223,51 @@
             h = "%s-Specific Fields" % dset_name.replace("Dataset", "")
             print h
             print "-" * len(h) + "\n"
+
+            field_stuff = []
             for field in known_other_fields:
-                print_frontend_field(frontend, field, False)
+                field_stuff.append(FieldInfo(frontend, field, False))
             for field in known_particle_fields:
                 if frontend in ["sph", "halo_catalogs", "sdf"]:
-                    print_frontend_field("particle_type", field, True)
+                    field_stuff.append(FieldInfo("particle_type", field, True))
                 else:
-                    print_frontend_field("io", field, True)
+                    field_stuff.append(FieldInfo("io", field, True))
+
+            # output
+            len_name = 10
+            len_units = 5
+            len_aliases = 7
+            len_part = 9
+            len_disp = 12
+            for f in field_stuff:
+                len_name = max(len_name, len(f.name))
+                len_aliases = max(len_aliases, len(f.aliases))
+                len_units = max(len_units, len(f.units))
+                len_disp = max(len_disp, len(f.dname))
+
+            fstr = "{nm:{nw}}  {un:{uw}}  {al:{aw}}  {pt:{pw}}  {dp:{dw}}"
+            header = fstr.format(nm="field name", nw=len_name,
+                                 un="units", uw=len_units,
+                                 al="aliases", aw=len_aliases,
+                                 pt="particle?", pw=len_part,
+                                 dp="display name", dw=len_disp)
+
+            div = fstr.format(nm="="*len_name, nw=len_name,
+                              un="="*len_units, uw=len_units,
+                              al="="*len_aliases, aw=len_aliases,
+                              pt="="*len_part, pw=len_part,
+                              dp="="*len_disp, dw=len_disp)
+            print div
+            print header
+            print div
+
+            for f in field_stuff:
+                print fstr.format(nm=f.name, nw=len_name,
+                                  un=f.units, uw=len_units,
+                                  al=f.aliases, aw=len_aliases,
+                                  pt=f.ptype, pw=len_part,
+                                  dp=f.dname, dw=len_disp)
+                
+            print div
 
 print footer

This diff is so big that we needed to truncate the remainder.

https://bitbucket.org/yt_analysis/yt/commits/bafd93262fd4/
Changeset:   bafd93262fd4
Branch:      yt
User:        mzingale
Date:        2014-11-25 19:37:14+00:00
Summary:     fix the formatting of the display name
Affected #:  2 files

diff -r 7695d8a4d6ec1556eae6f7c98bf5ccef082a73ca -r bafd93262fd43a869d8ddfd75215887ba1cad853 doc/helper_scripts/show_fields.py
--- a/doc/helper_scripts/show_fields.py
+++ b/doc/helper_scripts/show_fields.py
@@ -176,7 +176,7 @@
         self.aliases = " ".join(a)
         self.dname = ""
         if field[1][2] is not None:
-            self.dname = ":math: {}".format(field[1][2])
+            self.dname = ":math:`{}`".format(field[1][2])
 
         if ftype is not "particle_type":
             ftype = "'"+ftype+"'"

diff -r 7695d8a4d6ec1556eae6f7c98bf5ccef082a73ca -r bafd93262fd43a869d8ddfd75215887ba1cad853 doc/source/reference/field_list.rst
--- a/doc/source/reference/field_list.rst
+++ b/doc/source/reference/field_list.rst
@@ -2595,88 +2595,92 @@
 Castro-Specific Fields
 ----------------------
 
-========================  ========================================================  =======================  =========  =================================================
-field name                units                                                     aliases                  particle?  display name                                     
-========================  ========================================================  =======================  =========  =================================================
-('boxlib', 'density')     :math:`\mathrm{\frac{\rm{g}}{\rm{cm}^{3}}}`               ``density``                      0  :math: \rho                                      
-('boxlib', 'xmom')        :math:`\mathrm{\frac{\rm{g}}{\rm{cm}^{2} \cdot \rm{s}}}`  ``momentum_x``                   0  :math: \rho u                                    
-('boxlib', 'ymom')        :math:`\mathrm{\frac{\rm{g}}{\rm{cm}^{2} \cdot \rm{s}}}`  ``momentum_y``                   0  :math: \rho v                                    
-('boxlib', 'zmom')        :math:`\mathrm{\frac{\rm{g}}{\rm{cm}^{2} \cdot \rm{s}}}`  ``momentum_z``                   0  :math: \rho w                                    
-('boxlib', 'x_velocity')  :math:`\mathrm{\rm{cm} / \rm{s}}`                         ``velocity_x``                   0  :math: u                                         
-('boxlib', 'y_velocity')  :math:`\mathrm{\rm{cm} / \rm{s}}`                         ``velocity_y``                   0  :math: v                                         
-('boxlib', 'z_velocity')  :math:`\mathrm{\rm{cm} / \rm{s}}`                         ``velocity_z``                   0  :math: w                                         
-('boxlib', 'rho_E')       :math:`\mathrm{\frac{\rm{erg}}{\rm{cm}^{3}}}`             ``energy_density``               0  :math: \rho E                                    
-('boxlib', 'rho_e')       :math:`\mathrm{\frac{\rm{erg}}{\rm{cm}^{3}}}`                                              0  :math: \rho e                                    
-('boxlib', 'Temp')        :math:`\mathrm{\rm{K}}`                                   ``temperature``                  0  :math: T                                         
-('boxlib', 'grav_x')      :math:`\mathrm{\frac{\rm{cm}}{\rm{s}^{2}}}`                                                0  :math: \left(\mathbf{g} \cdot \mathbf{e}\right)_x
-('boxlib', 'grav_y')      :math:`\mathrm{\frac{\rm{cm}}{\rm{s}^{2}}}`                                                0  :math: \left(\mathbf{g} \cdot \mathbf{e}\right)_y
-('boxlib', 'grav_z')      :math:`\mathrm{\frac{\rm{cm}}{\rm{s}^{2}}}`                                                0  :math: \left(\mathbf{g} \cdot \mathbf{e}\right)_z
-('boxlib', 'pressure')    :math:`\mathrm{\frac{\rm{dyne}}{\rm{cm}^{2}}}`                                             0  :math: p                                         
-('boxlib', 'kineng')      :math:`\mathrm{\frac{\rm{erg}}{\rm{cm}^{3}}}`             ``kinetic_energy``               0  :math: \frac{1}{2}\rho|\mathbf{U}|**2            
-('boxlib', 'soundspeed')  :math:`\mathrm{\rm{cm} / \rm{s}}`                         ``sound_speed``                  0  :math: Sound Speed                               
-('boxlib', 'Machnumber')                                                            ``mach_number``                  0  :math: Mach Number                               
-('boxlib', 'entropy')     :math:`\mathrm{\frac{\rm{erg}}{\rm{K} \cdot \rm{g}}}`     ``entropy``                      0  :math: s                                         
-('boxlib', 'magvort')     :math:`\mathrm{1 / \rm{s}}`                               ``vorticity_magnitude``          0  :math: |\nabla \times \mathbf{U}|                
-('boxlib', 'divu')        :math:`\mathrm{1 / \rm{s}}`                               ``velocity_divergence``          0  :math: \nabla \cdot \mathbf{U}                   
-('boxlib', 'eint_E')      :math:`\mathrm{\rm{erg} / \rm{g}}`                                                         0  :math: e(E,U)                                    
-('boxlib', 'eint_e')      :math:`\mathrm{\rm{erg} / \rm{g}}`                                                         0  :math: e                                         
-('boxlib', 'magvel')      :math:`\mathrm{\rm{cm} / \rm{s}}`                         ``velocity_magnitude``           0  :math: |\mathbf{U}|                              
-('boxlib', 'radvel')      :math:`\mathrm{\rm{cm} / \rm{s}}`                         ``radial_velocity``              0  :math: \left(\mathbf{U} \cdot \mathbf{e}\right)_r
-('boxlib', 'magmom')      :math:`\mathrm{\rm{cm} \cdot \rm{g} / \rm{s}}`            ``momentum_magnitude``           0  :math: |\rho \mathbf{U}|                         
-('boxlib', 'maggrav')     :math:`\mathrm{\frac{\rm{cm}}{\rm{s}^{2}}}`                                                0  :math: |\mathbf{g}|                              
-('boxlib', 'phiGrav')     :math:`\mathrm{\rm{erg} / \rm{g}}`                                                         0  :math: |\Phi|                                    
-========================  ========================================================  =======================  =========  =================================================
+========================  ========================================================  =======================  =========  ==================================================
+field name                units                                                     aliases                  particle?  display name                                      
+========================  ========================================================  =======================  =========  ==================================================
+('boxlib', 'density')     :math:`\mathrm{\frac{\rm{g}}{\rm{cm}^{3}}}`               ``density``                      0  :math:`\rho`                                      
+('boxlib', 'xmom')        :math:`\mathrm{\frac{\rm{g}}{\rm{cm}^{2} \cdot \rm{s}}}`  ``momentum_x``                   0  :math:`\rho u`                                    
+('boxlib', 'ymom')        :math:`\mathrm{\frac{\rm{g}}{\rm{cm}^{2} \cdot \rm{s}}}`  ``momentum_y``                   0  :math:`\rho v`                                    
+('boxlib', 'zmom')        :math:`\mathrm{\frac{\rm{g}}{\rm{cm}^{2} \cdot \rm{s}}}`  ``momentum_z``                   0  :math:`\rho w`                                    
+('boxlib', 'x_velocity')  :math:`\mathrm{\rm{cm} / \rm{s}}`                         ``velocity_x``                   0  :math:`u`                                         
+('boxlib', 'y_velocity')  :math:`\mathrm{\rm{cm} / \rm{s}}`                         ``velocity_y``                   0  :math:`v`                                         
+('boxlib', 'z_velocity')  :math:`\mathrm{\rm{cm} / \rm{s}}`                         ``velocity_z``                   0  :math:`w`                                         
+('boxlib', 'rho_E')       :math:`\mathrm{\frac{\rm{erg}}{\rm{cm}^{3}}}`             ``energy_density``               0  :math:`\rho E`                                    
+('boxlib', 'rho_e')       :math:`\mathrm{\frac{\rm{erg}}{\rm{cm}^{3}}}`                                              0  :math:`\rho e`                                    
+('boxlib', 'Temp')        :math:`\mathrm{\rm{K}}`                                   ``temperature``                  0  :math:`T`                                         
+('boxlib', 'grav_x')      :math:`\mathrm{\frac{\rm{cm}}{\rm{s}^{2}}}`                                                0  :math:`\left(\mathbf{g} \cdot \mathbf{e}\right)_x`
+('boxlib', 'grav_y')      :math:`\mathrm{\frac{\rm{cm}}{\rm{s}^{2}}}`                                                0  :math:`\left(\mathbf{g} \cdot \mathbf{e}\right)_y`
+('boxlib', 'grav_z')      :math:`\mathrm{\frac{\rm{cm}}{\rm{s}^{2}}}`                                                0  :math:`\left(\mathbf{g} \cdot \mathbf{e}\right)_z`
+('boxlib', 'pressure')    :math:`\mathrm{\frac{\rm{dyne}}{\rm{cm}^{2}}}`                                             0  :math:`p`                                         
+('boxlib', 'kineng')      :math:`\mathrm{\frac{\rm{erg}}{\rm{cm}^{3}}}`                                              0  :math:`\frac{1}{2}\rho|\mathbf{U}|**2`            
+('boxlib', 'soundspeed')  :math:`\mathrm{\rm{cm} / \rm{s}}`                         ``sound_speed``                  0  :math:`Sound Speed`                               
+('boxlib', 'Machnumber')                                                            ``mach_number``                  0  :math:`Mach Number`                               
+('boxlib', 'entropy')     :math:`\mathrm{\frac{\rm{erg}}{\rm{K} \cdot \rm{g}}}`     ``entropy``                      0  :math:`s`                                         
+('boxlib', 'magvort')     :math:`\mathrm{1 / \rm{s}}`                               ``vorticity_magnitude``          0  :math:`|\nabla \times \mathbf{U}|`                
+('boxlib', 'divu')        :math:`\mathrm{1 / \rm{s}}`                                                                0  :math:`\nabla \cdot \mathbf{U}`                   
+('boxlib', 'eint_E')      :math:`\mathrm{\rm{erg} / \rm{g}}`                                                         0  :math:`e(E,U)`                                    
+('boxlib', 'eint_e')      :math:`\mathrm{\rm{erg} / \rm{g}}`                                                         0  :math:`e`                                         
+('boxlib', 'magvel')      :math:`\mathrm{\rm{cm} / \rm{s}}`                         ``velocity_magnitude``           0  :math:`|\mathbf{U}|`                              
+('boxlib', 'radvel')      :math:`\mathrm{\rm{cm} / \rm{s}}`                                                          0  :math:`\left(\mathbf{U} \cdot \mathbf{e}\right)_r`
+('boxlib', 'magmom')      :math:`\mathrm{\rm{cm} \cdot \rm{g} / \rm{s}}`            ``momentum_magnitude``           0  :math:`|\rho \mathbf{U}|`                         
+('boxlib', 'maggrav')     :math:`\mathrm{\frac{\rm{cm}}{\rm{s}^{2}}}`                                                0  :math:`|\mathbf{g}|`                              
+('boxlib', 'phiGrav')     :math:`\mathrm{\rm{erg} / \rm{g}}`                                                         0  :math:`|\Phi|`                                    
+========================  ========================================================  =======================  =========  ==================================================
 .. _Maestro_specific_fields:
 
 Maestro-Specific Fields
 -----------------------
 
-=============================  =====================================================  =======================  =========  ==============================================
-field name                     units                                                  aliases                  particle?  display name                                  
-=============================  =====================================================  =======================  =========  ==============================================
-('boxlib', 'density')          :math:`\mathrm{\frac{\rm{g}}{\rm{cm}^{3}}}`            ``density``                      0                                                
-('boxlib', 'x_vel')            :math:`\mathrm{\rm{cm} / \rm{s}}`                      ``velocity_x``                   0  :math: \tilde{u}                              
-('boxlib', 'y_vel')            :math:`\mathrm{\rm{cm} / \rm{s}}`                      ``velocity_y``                   0  :math: \tilde{v}                              
-('boxlib', 'z_vel')            :math:`\mathrm{\rm{cm} / \rm{s}}`                      ``velocity_z``                   0  :math: \tilde{w}                              
-('boxlib', 'magvel')           :math:`\mathrm{\rm{cm} / \rm{s}}`                      ``velocity_magnitude``           0  :math: |\tilde{\mathbf{U}} + w_0 \mathbf{e}_r|
-('boxlib', 'radial_velocity')  :math:`\mathrm{\rm{cm} / \rm{s}}`                      ``radial_velocity``              0  :math: U\cdot e_r                             
-('boxlib', 'circum_velocity')  :math:`\mathrm{\rm{cm} / \rm{s}}`                      ``tangential_velocity``          0  :math: U - U\cdot e_r                         
-('boxlib', 'tfromp')           :math:`\mathrm{\rm{K}}`                                                                 0  :math: T(\rho,p,X)                            
-('boxlib', 'tfromh')           :math:`\mathrm{\rm{K}}`                                                                 0  :math: T(\rho,h,X)                            
-('boxlib', 'Machnumber')                                                              ``mach_number``                  0  :math: Mach Number                            
-('boxlib', 'S')                :math:`\mathrm{1 / \rm{s}}`                                                             0                                                
-('boxlib', 'ad_excess')                                                                                                0  :math: Adiabatic Excess                       
-('boxlib', 'deltaT')                                                                                                   0  :math: [T(\rho,h,X) - T(\rho,p,X)]/T(\rho,h,X)
-('boxlib', 'deltagamma')                                                                                               0  :math: \Gamma_1 - \overline{\Gamma_1}         
-('boxlib', 'deltap')                                                                                                   0  :math: [p(\rho,h,X) - p_0] / p_0              
-('boxlib', 'divw0')            :math:`\mathrm{1 / \rm{s}}`                                                             0  :math: \nabla \cdot \mathbf{w}_0              
-('boxlib', 'entropy')          :math:`\mathrm{\frac{\rm{erg}}{\rm{K} \cdot \rm{g}}}`  ``entropy``                      0  :math: s                                      
-('boxlib', 'entropypert')                                                                                              0  :math: [s - \overline{s}] / \overline{s}      
-('boxlib', 'enucdot')          :math:`\mathrm{\frac{\rm{erg}}{\rm{g} \cdot \rm{s}}}`                                   0  :math: \dot{\epsilon_{nuc}}                   
-('boxlib', 'Hext')             :math:`\mathrm{\frac{\rm{erg}}{\rm{g} \cdot \rm{s}}}`                                   0  :math: H_{ext}                                
-('boxlib', 'gpi_x')            :math:`\mathrm{\frac{\rm{dyne}}{\rm{cm}^{3}}}`                                          0  :math: \left(\nabla\pi\right)_x               
-('boxlib', 'gpi_y')            :math:`\mathrm{\frac{\rm{dyne}}{\rm{cm}^{3}}}`                                          0  :math: \left(\nabla\pi\right)_y               
-('boxlib', 'gpi_z')            :math:`\mathrm{\frac{\rm{dyne}}{\rm{cm}^{3}}}`                                          0  :math: \left(\nabla\pi\right)_z               
-('boxlib', 'h')                :math:`\mathrm{\rm{erg} / \rm{g}}`                                                      0  :math: h                                      
-('boxlib', 'h0')               :math:`\mathrm{\rm{erg} / \rm{g}}`                                                      0  :math: h_0                                    
-('boxlib', 'momentum')         :math:`\mathrm{\rm{cm} \cdot \rm{g} / \rm{s}}`         ``momentum_magnitude``           0                                                
-('boxlib', 'p0')               :math:`\mathrm{\frac{\rm{erg}}{\rm{cm}^{3}}}`                                           0  :math: p_0                                    
-('boxlib', 'p0pluspi')         :math:`\mathrm{\frac{\rm{erg}}{\rm{cm}^{3}}}`                                           0  :math: p_0 + \pi                              
-('boxlib', 'pi')               :math:`\mathrm{\frac{\rm{erg}}{\rm{cm}^{3}}}`                                           0  :math: \pi                                    
-('boxlib', 'pioverp0')                                                                                                 0  :math: \pi/p_0                                
-('boxlib', 'rho0')             :math:`\mathrm{\frac{\rm{g}}{\rm{cm}^{3}}}`                                             0  :math: \rho_0                                 
-('boxlib', 'rhoh')             :math:`\mathrm{\frac{\rm{erg}}{\rm{cm}^{3}}}`          ``enthalpy_density``             0  :math: (\rho h)                               
-('boxlib', 'rhoh0')            :math:`\mathrm{\frac{\rm{erg}}{\rm{cm}^{3}}}`                                           0  :math: (\rho h)_0                             
-('boxlib', 'rhohpert')         :math:`\mathrm{\frac{\rm{erg}}{\rm{cm}^{3}}}`                                           0  :math: (\rho h)^\prime                        
-('boxlib', 'rhopert')          :math:`\mathrm{\frac{\rm{g}}{\rm{cm}^{3}}}`                                             0  :math: \rho^\prime                            
-('boxlib', 'soundspeed')       :math:`\mathrm{\rm{cm} / \rm{s}}`                      ``sound_speed``                  0                                                
-('boxlib', 'sponge')                                                                                                   0                                                
-('boxlib', 'tpert')            :math:`\mathrm{\rm{K}}`                                                                 0  :math: T - \overline{T}                       
-('boxlib', 'vort')             :math:`\mathrm{1 / \rm{s}}`                            ``vorticity_magnitude``          0  :math: |\nabla\times\tilde{U}|                
-('boxlib', 'w0_x')             :math:`\mathrm{\rm{cm} / \rm{s}}`                                                       0  :math: (w_0)_x                                
-('boxlib', 'w0_y')             :math:`\mathrm{\rm{cm} / \rm{s}}`                                                       0  :math: (w_0)_y                                
-('boxlib', 'w0_z')             :math:`\mathrm{\rm{cm} / \rm{s}}`                                                       0  :math: (w_0)_z                                
-=============================  =====================================================  =======================  =========  ==============================================
+=============================  =====================================================  =======================  =========  ===============================================
+field name                     units                                                  aliases                  particle?  display name                                   
+=============================  =====================================================  =======================  =========  ===============================================
+('boxlib', 'density')          :math:`\mathrm{\frac{\rm{g}}{\rm{cm}^{3}}}`            ``density``                      0                                                 
+('boxlib', 'x_vel')            :math:`\mathrm{\rm{cm} / \rm{s}}`                      ``velocity_x``                   0  :math:`\tilde{u}`                              
+('boxlib', 'y_vel')            :math:`\mathrm{\rm{cm} / \rm{s}}`                      ``velocity_y``                   0  :math:`\tilde{v}`                              
+('boxlib', 'z_vel')            :math:`\mathrm{\rm{cm} / \rm{s}}`                      ``velocity_z``                   0  :math:`\tilde{w}`                              
+('boxlib', 'magvel')           :math:`\mathrm{\rm{cm} / \rm{s}}`                      ``velocity_magnitude``           0  :math:`|\tilde{\mathbf{U}} + w_0 \mathbf{e}_r|`
+('boxlib', 'radial_velocity')  :math:`\mathrm{\rm{cm} / \rm{s}}`                                                       0  :math:`U\cdot e_r`                             
+('boxlib', 'tfromp')           :math:`\mathrm{\rm{K}}`                                                                 0  :math:`T(\rho,p,X)`                            
+('boxlib', 'tfromh')           :math:`\mathrm{\rm{K}}`                                                                 0  :math:`T(\rho,h,X)`                            
+('boxlib', 'Machnumber')                                                              ``mach_number``                  0  :math:`Mach Number`                            
+('boxlib', 'S')                :math:`\mathrm{1 / \rm{s}}`                                                             0                                                 
+('boxlib', 'ad_excess')                                                                                                0  :math:`Adiabatic Excess`                       
+('boxlib', 'deltaT')                                                                                                   0  :math:`[T(\rho,h,X) - T(\rho,p,X)]/T(\rho,h,X)`
+('boxlib', 'deltagamma')                                                                                               0  :math:`\Gamma_1 - \overline{\Gamma_1}`         
+('boxlib', 'deltap')                                                                                                   0  :math:`[p(\rho,h,X) - p_0] / p_0`              
+('boxlib', 'divw0')            :math:`\mathrm{1 / \rm{s}}`                                                             0  :math:`
+abla \cdot \mathbf{w}_0`               
+('boxlib', 'entropy')          :math:`\mathrm{\frac{\rm{erg}}{\rm{K} \cdot \rm{g}}}`  ``entropy``                      0  :math:`s`                                      
+('boxlib', 'entropypert')                                                                                              0  :math:`[s - \overline{s}] / \overline{s}`      
+('boxlib', 'enucdot')          :math:`\mathrm{\frac{\rm{erg}}{\rm{g} \cdot \rm{s}}}`                                   0  :math:`\dot{\epsilon_{nuc}}`                   
+('boxlib', 'Hext')             :math:`\mathrm{\frac{\rm{erg}}{\rm{g} \cdot \rm{s}}}`                                   0  :math:`H_{ext}`                                
+('boxlib', 'gpi_x')            :math:`\mathrm{\frac{\rm{dyne}}{\rm{cm}^{3}}}`                                          0  :math:`\left(
+abla\pi
ight)_x`                 
+('boxlib', 'gpi_y')            :math:`\mathrm{\frac{\rm{dyne}}{\rm{cm}^{3}}}`                                          0  :math:`\left(
+abla\pi
ight)_y`                 
+('boxlib', 'gpi_z')            :math:`\mathrm{\frac{\rm{dyne}}{\rm{cm}^{3}}}`                                          0  :math:`\left(
+abla\pi
ight)_z`                 
+('boxlib', 'h')                :math:`\mathrm{\rm{erg} / \rm{g}}`                                                      0  :math:`h`                                      
+('boxlib', 'h0')               :math:`\mathrm{\rm{erg} / \rm{g}}`                                                      0  :math:`h_0`                                    
+('boxlib', 'momentum')         :math:`\mathrm{\rm{cm} \cdot \rm{g} / \rm{s}}`         ``momentum_magnitude``           0                                                 
+('boxlib', 'p0')               :math:`\mathrm{\frac{\rm{erg}}{\rm{cm}^{3}}}`                                           0  :math:`p_0`                                    
+('boxlib', 'p0pluspi')         :math:`\mathrm{\frac{\rm{erg}}{\rm{cm}^{3}}}`                                           0  :math:`p_0 + \pi`                              
+('boxlib', 'pi')               :math:`\mathrm{\frac{\rm{erg}}{\rm{cm}^{3}}}`                                           0  :math:`\pi`                                    
+('boxlib', 'pioverp0')                                                                                                 0  :math:`\pi/p_0`                                
+('boxlib', 'rho0')             :math:`\mathrm{\frac{\rm{g}}{\rm{cm}^{3}}}`                                             0  :math:`\rho_0`                                 
+('boxlib', 'rhoh')             :math:`\mathrm{\frac{\rm{erg}}{\rm{cm}^{3}}}`          ``enthalpy_density``             0  :math:`(\rho h)`                               
+('boxlib', 'rhoh0')            :math:`\mathrm{\frac{\rm{erg}}{\rm{cm}^{3}}}`                                           0  :math:`(\rho h)_0`                             
+('boxlib', 'rhohpert')         :math:`\mathrm{\frac{\rm{erg}}{\rm{cm}^{3}}}`                                           0  :math:`(\rho h)^\prime`                        
+('boxlib', 'rhopert')          :math:`\mathrm{\frac{\rm{g}}{\rm{cm}^{3}}}`                                             0  :math:`\rho^\prime`                            
+('boxlib', 'soundspeed')       :math:`\mathrm{\rm{cm} / \rm{s}}`                      ``sound_speed``                  0                                                 
+('boxlib', 'sponge')                                                                                                   0                                                 
+('boxlib', 'tpert')            :math:`\mathrm{\rm{K}}`                                                                 0  :math:`T - \overline{T}`                       
+('boxlib', 'vort')             :math:`\mathrm{1 / \rm{s}}`                            ``vorticity_magnitude``          0  :math:`|
+abla	imes	ilde{U}|`                   
+('boxlib', 'w0_x')             :math:`\mathrm{\rm{cm} / \rm{s}}`                                                       0  :math:`(w_0)_x`                                
+('boxlib', 'w0_y')             :math:`\mathrm{\rm{cm} / \rm{s}}`                                                       0  :math:`(w_0)_y`                                
+('boxlib', 'w0_z')             :math:`\mathrm{\rm{cm} / \rm{s}}`                                                       0  :math:`(w_0)_z`                                
+=============================  =====================================================  =======================  =========  ===============================================
 .. _Orion_specific_fields:
 
 Orion-Specific Fields
@@ -2857,58 +2861,58 @@
 FLASH-Specific Fields
 ---------------------
 
-=======================  ====================================================================================================  ===========================  =========  =================================================
-field name               units                                                                                                 aliases                      particle?  display name                                     
-=======================  ====================================================================================================  ===========================  =========  =================================================
-('flash', 'velx')        :math:`\mathrm{\rm{code}~\rm{length} / \rm{code}~\rm{time}}`                                          ``velocity_x``                       0                                                   
-('flash', 'vely')        :math:`\mathrm{\rm{code}~\rm{length} / \rm{code}~\rm{time}}`                                          ``velocity_y``                       0                                                   
-('flash', 'velz')        :math:`\mathrm{\rm{code}~\rm{length} / \rm{code}~\rm{time}}`                                          ``velocity_z``                       0                                                   
-('flash', 'dens')        :math:`\mathrm{\frac{\rm{code}~\rm{mass}}{\rm{code}~\rm{length}^{3}}}`                                ``density``                          0                                                   
-('flash', 'temp')        :math:`\mathrm{\rm{code}~\rm{temperature}}`                                                           ``temperature``                      0                                                   
-('flash', 'pres')        :math:`\mathrm{\frac{\rm{code}~\rm{mass}}{\rm{code}~\rm{length} \cdot \rm{code}~\rm{time}^{2}}}`      ``pressure``                         0                                                   
-('flash', 'gpot')        :math:`\mathrm{\frac{\rm{code}~\rm{length}^{2}}{\rm{code}~\rm{time}^{2}}}`                            ``gravitational_potential``          0                                                   
-('flash', 'gpol')        :math:`\mathrm{\frac{\rm{code}~\rm{length}^{2}}{\rm{code}~\rm{time}^{2}}}`                                                                 0                                                   
-('flash', 'tion')        :math:`\mathrm{\rm{code}~\rm{temperature}}`                                                                                                0                                                   
-('flash', 'tele')        :math:`\mathrm{\rm{code}~\rm{temperature}}`                                                                                                0                                                   
-('flash', 'trad')        :math:`\mathrm{\rm{code}~\rm{temperature}}`                                                                                                0                                                   
-('flash', 'pion')        :math:`\mathrm{\frac{\rm{code}~\rm{mass}}{\rm{code}~\rm{length} \cdot \rm{code}~\rm{time}^{2}}}`                                           0                                                   
-('flash', 'pele')        :math:`\mathrm{\frac{\rm{code}~\rm{mass}}{\rm{code}~\rm{length} \cdot \rm{code}~\rm{time}^{2}}}`                                           0  :math: Electron Pressure, P_e                    
-('flash', 'prad')        :math:`\mathrm{\frac{\rm{code}~\rm{mass}}{\rm{code}~\rm{length} \cdot \rm{code}~\rm{time}^{2}}}`                                           0  :math: Radiation Pressure                        
-('flash', 'eion')        :math:`\mathrm{\frac{\rm{code}~\rm{mass}}{\rm{code}~\rm{time}^{2}} \cdot \rm{code}~\rm{length}^{2}}`                                       0  :math: Ion Internal Energy                       
-('flash', 'eele')        :math:`\mathrm{\frac{\rm{code}~\rm{mass}}{\rm{code}~\rm{time}^{2}} \cdot \rm{code}~\rm{length}^{2}}`                                       0  :math: Electron Internal Energy                  
-('flash', 'erad')        :math:`\mathrm{\frac{\rm{code}~\rm{mass}}{\rm{code}~\rm{time}^{2}} \cdot \rm{code}~\rm{length}^{2}}`                                       0  :math: Radiation Internal Energy                 
-('flash', 'pden')        :math:`\mathrm{\frac{\rm{code}~\rm{mass}}{\rm{code}~\rm{length}^{3}}}`                                                                     0                                                   
-('flash', 'depo')        :math:`\mathrm{\frac{\rm{code}~\rm{length}^{2}}{\rm{code}~\rm{time}^{2}}}`                                                                 0                                                   
-('flash', 'ye')                                                                                                                                                     0  :math: Y_e                                       
-('flash', 'magp')        :math:`\mathrm{\frac{\rm{code}~\rm{mass}}{\rm{code}~\rm{length} \cdot \rm{code}~\rm{time}^{2}}}`                                           0                                                   
-('flash', 'divb')        :math:`\mathrm{\rm{code}~\rm{length} \cdot \rm{code_magnetic}}`                                                                            0                                                   
-('flash', 'game')                                                                                                                                                   0  :math: \gamma_e\/
m{(ratio\/of\/specific\/heats)}
-('flash', 'gamc')                                                                                                                                                   0  :math: \gamma_c\/
m{(ratio\/of\/specific\/heats)}
-('flash', 'flam')                                                                                                                                                   0                                                   
-('flash', 'absr')                                                                                                                                                   0  :math: Absorption Coefficient                    
-('flash', 'emis')                                                                                                                                                   0  :math: Emissivity                                
-('flash', 'cond')                                                                                                                                                   0  :math: Conductivity                              
-('flash', 'dfcf')                                                                                                                                                   0  :math: Diffusion Equation Scalar                 
-('flash', 'fllm')                                                                                                                                                   0  :math: Flux Limit                                
-('flash', 'pipe')                                                                                                                                                   0  :math: P_i/P_e                                   
-('flash', 'tite')                                                                                                                                                   0  :math: T_i/T_e                                   
-('flash', 'dbgs')                                                                                                                                                   0  :math: Debug for Shocks                          
-('flash', 'cham')                                                                                                                                                   0  :math: Chamber Material Fraction                 
-('flash', 'targ')                                                                                                                                                   0  :math: Target Material Fraction                  
-('flash', 'sumy')                                                                                                                                                   0                                                   
-('flash', 'mgdc')                                                                                                                                                   0  :math: Emission Minus Absorption Diffusion Terms 
-('flash', 'magx')        :math:`\mathrm{\rm{code_magnetic}}`                                                                   ``magnetic_field_x``                 0  :math: B_x                                       
-('flash', 'magy')        :math:`\mathrm{\rm{code_magnetic}}`                                                                   ``magnetic_field_y``                 0  :math: B_y                                       
-('flash', 'magz')        :math:`\mathrm{\rm{code_magnetic}}`                                                                   ``magnetic_field_z``                 0  :math: B_z                                       
-('io', 'particle_posx')  :math:`\mathrm{\rm{code}~\rm{length}}`                                                                ``particle_position_x``              1                                                   
-('io', 'particle_posy')  :math:`\mathrm{\rm{code}~\rm{length}}`                                                                ``particle_position_y``              1                                                   
-('io', 'particle_posz')  :math:`\mathrm{\rm{code}~\rm{length}}`                                                                ``particle_position_z``              1                                                   
-('io', 'particle_velx')  :math:`\mathrm{\rm{code}~\rm{length} / \rm{code}~\rm{time}}`                                          ``particle_velocity_x``              1                                                   
-('io', 'particle_vely')  :math:`\mathrm{\rm{code}~\rm{length} / \rm{code}~\rm{time}}`                                          ``particle_velocity_y``              1                                                   
-('io', 'particle_velz')  :math:`\mathrm{\rm{code}~\rm{length} / \rm{code}~\rm{time}}`                                          ``particle_velocity_z``              1                                                   
-('io', 'particle_tag')                                                                                                         ``particle_index``                   1                                                   
-('io', 'particle_mass')  :math:`\mathrm{\rm{code}~\rm{mass}}`                                                                  ``particle_mass``                    1                                                   
-=======================  ====================================================================================================  ===========================  =========  =================================================
+=======================  ====================================================================================================  ===========================  =========  ==================================================
+field name               units                                                                                                 aliases                      particle?  display name                                      
+=======================  ====================================================================================================  ===========================  =========  ==================================================
+('flash', 'velx')        :math:`\mathrm{\rm{code}~\rm{length} / \rm{code}~\rm{time}}`                                          ``velocity_x``                       0                                                    
+('flash', 'vely')        :math:`\mathrm{\rm{code}~\rm{length} / \rm{code}~\rm{time}}`                                          ``velocity_y``                       0                                                    
+('flash', 'velz')        :math:`\mathrm{\rm{code}~\rm{length} / \rm{code}~\rm{time}}`                                          ``velocity_z``                       0                                                    
+('flash', 'dens')        :math:`\mathrm{\frac{\rm{code}~\rm{mass}}{\rm{code}~\rm{length}^{3}}}`                                ``density``                          0                                                    
+('flash', 'temp')        :math:`\mathrm{\rm{code}~\rm{temperature}}`                                                           ``temperature``                      0                                                    
+('flash', 'pres')        :math:`\mathrm{\frac{\rm{code}~\rm{mass}}{\rm{code}~\rm{length} \cdot \rm{code}~\rm{time}^{2}}}`      ``pressure``                         0                                                    
+('flash', 'gpot')        :math:`\mathrm{\frac{\rm{code}~\rm{length}^{2}}{\rm{code}~\rm{time}^{2}}}`                            ``gravitational_potential``          0                                                    
+('flash', 'gpol')        :math:`\mathrm{\frac{\rm{code}~\rm{length}^{2}}{\rm{code}~\rm{time}^{2}}}`                                                                 0                                                    
+('flash', 'tion')        :math:`\mathrm{\rm{code}~\rm{temperature}}`                                                                                                0                                                    
+('flash', 'tele')        :math:`\mathrm{\rm{code}~\rm{temperature}}`                                                                                                0                                                    
+('flash', 'trad')        :math:`\mathrm{\rm{code}~\rm{temperature}}`                                                                                                0                                                    
+('flash', 'pion')        :math:`\mathrm{\frac{\rm{code}~\rm{mass}}{\rm{code}~\rm{length} \cdot \rm{code}~\rm{time}^{2}}}`                                           0                                                    
+('flash', 'pele')        :math:`\mathrm{\frac{\rm{code}~\rm{mass}}{\rm{code}~\rm{length} \cdot \rm{code}~\rm{time}^{2}}}`                                           0  :math:`Electron Pressure, P_e`                    
+('flash', 'prad')        :math:`\mathrm{\frac{\rm{code}~\rm{mass}}{\rm{code}~\rm{length} \cdot \rm{code}~\rm{time}^{2}}}`                                           0  :math:`Radiation Pressure`                        
+('flash', 'eion')        :math:`\mathrm{\frac{\rm{code}~\rm{mass}}{\rm{code}~\rm{time}^{2}} \cdot \rm{code}~\rm{length}^{2}}`                                       0  :math:`Ion Internal Energy`                       
+('flash', 'eele')        :math:`\mathrm{\frac{\rm{code}~\rm{mass}}{\rm{code}~\rm{time}^{2}} \cdot \rm{code}~\rm{length}^{2}}`                                       0  :math:`Electron Internal Energy`                  
+('flash', 'erad')        :math:`\mathrm{\frac{\rm{code}~\rm{mass}}{\rm{code}~\rm{time}^{2}} \cdot \rm{code}~\rm{length}^{2}}`                                       0  :math:`Radiation Internal Energy`                 
+('flash', 'pden')        :math:`\mathrm{\frac{\rm{code}~\rm{mass}}{\rm{code}~\rm{length}^{3}}}`                                                                     0                                                    
+('flash', 'depo')        :math:`\mathrm{\frac{\rm{code}~\rm{length}^{2}}{\rm{code}~\rm{time}^{2}}}`                                                                 0                                                    
+('flash', 'ye')                                                                                                                                                     0  :math:`Y_e`                                       
+('flash', 'magp')        :math:`\mathrm{\frac{\rm{code}~\rm{mass}}{\rm{code}~\rm{length} \cdot \rm{code}~\rm{time}^{2}}}`                                           0                                                    
+('flash', 'divb')        :math:`\mathrm{\rm{code}~\rm{length} \cdot \rm{code_magnetic}}`                                                                            0                                                    
+('flash', 'game')                                                                                                                                                   0  :math:`\gamma_e\/
m{(ratio\/of\/specific\/heats)}`
+('flash', 'gamc')                                                                                                                                                   0  :math:`\gamma_c\/
m{(ratio\/of\/specific\/heats)}`
+('flash', 'flam')                                                                                                                                                   0                                                    
+('flash', 'absr')                                                                                                                                                   0  :math:`Absorption Coefficient`                    
+('flash', 'emis')                                                                                                                                                   0  :math:`Emissivity`                                
+('flash', 'cond')                                                                                                                                                   0  :math:`Conductivity`                              
+('flash', 'dfcf')                                                                                                                                                   0  :math:`Diffusion Equation Scalar`                 
+('flash', 'fllm')                                                                                                                                                   0  :math:`Flux Limit`                                
+('flash', 'pipe')                                                                                                                                                   0  :math:`P_i/P_e`                                   
+('flash', 'tite')                                                                                                                                                   0  :math:`T_i/T_e`                                   
+('flash', 'dbgs')                                                                                                                                                   0  :math:`Debug for Shocks`                          
+('flash', 'cham')                                                                                                                                                   0  :math:`Chamber Material Fraction`                 
+('flash', 'targ')                                                                                                                                                   0  :math:`Target Material Fraction`                  
+('flash', 'sumy')                                                                                                                                                   0                                                    
+('flash', 'mgdc')                                                                                                                                                   0  :math:`Emission Minus Absorption Diffusion Terms` 
+('flash', 'magx')        :math:`\mathrm{\rm{code_magnetic}}`                                                                   ``magnetic_field_x``                 0  :math:`B_x`                                       
+('flash', 'magy')        :math:`\mathrm{\rm{code_magnetic}}`                                                                   ``magnetic_field_y``                 0  :math:`B_y`                                       
+('flash', 'magz')        :math:`\mathrm{\rm{code_magnetic}}`                                                                   ``magnetic_field_z``                 0  :math:`B_z`                                       
+('io', 'particle_posx')  :math:`\mathrm{\rm{code}~\rm{length}}`                                                                ``particle_position_x``              1                                                    
+('io', 'particle_posy')  :math:`\mathrm{\rm{code}~\rm{length}}`                                                                ``particle_position_y``              1                                                    
+('io', 'particle_posz')  :math:`\mathrm{\rm{code}~\rm{length}}`                                                                ``particle_position_z``              1                                                    
+('io', 'particle_velx')  :math:`\mathrm{\rm{code}~\rm{length} / \rm{code}~\rm{time}}`                                          ``particle_velocity_x``              1                                                    
+('io', 'particle_vely')  :math:`\mathrm{\rm{code}~\rm{length} / \rm{code}~\rm{time}}`                                          ``particle_velocity_y``              1                                                    
+('io', 'particle_velz')  :math:`\mathrm{\rm{code}~\rm{length} / \rm{code}~\rm{time}}`                                          ``particle_velocity_z``              1                                                    
+('io', 'particle_tag')                                                                                                         ``particle_index``                   1                                                    
+('io', 'particle_mass')  :math:`\mathrm{\rm{code}~\rm{mass}}`                                                                  ``particle_mass``                    1                                                    
+=======================  ====================================================================================================  ===========================  =========  ==================================================
 .. _GDF_specific_fields:
 
 GDF-Specific Fields
@@ -2933,19 +2937,19 @@
 HaloCatalog-Specific Fields
 ---------------------------
 
-=============================  =================================  =======  =========  ====================
-field name                     units                              aliases  particle?  display name        
-=============================  =================================  =======  =========  ====================
-('io', 'particle_identifier')                                                      1                      
-('io', 'particle_position_x')  :math:`\mathrm{\rm{cm}}`                            1                      
-('io', 'particle_position_y')  :math:`\mathrm{\rm{cm}}`                            1                      
-('io', 'particle_position_z')  :math:`\mathrm{\rm{cm}}`                            1                      
-('io', 'particle_velocity_x')  :math:`\mathrm{\rm{cm} / \rm{s}}`                   1                      
-('io', 'particle_velocity_y')  :math:`\mathrm{\rm{cm} / \rm{s}}`                   1                      
-('io', 'particle_velocity_z')  :math:`\mathrm{\rm{cm} / \rm{s}}`                   1                      
-('io', 'particle_mass')        :math:`\mathrm{\rm{g}}`                             1  :math: Virial Mass  
-('io', 'virial_radius')        :math:`\mathrm{\rm{cm}}`                            1  :math: Virial Radius
-=============================  =================================  =======  =========  ====================
+=============================  =================================  =======  =========  =====================
+field name                     units                              aliases  particle?  display name         
+=============================  =================================  =======  =========  =====================
+('io', 'particle_identifier')                                                      1                       
+('io', 'particle_position_x')  :math:`\mathrm{\rm{cm}}`                            1                       
+('io', 'particle_position_y')  :math:`\mathrm{\rm{cm}}`                            1                       
+('io', 'particle_position_z')  :math:`\mathrm{\rm{cm}}`                            1                       
+('io', 'particle_velocity_x')  :math:`\mathrm{\rm{cm} / \rm{s}}`                   1                       
+('io', 'particle_velocity_y')  :math:`\mathrm{\rm{cm} / \rm{s}}`                   1                       
+('io', 'particle_velocity_z')  :math:`\mathrm{\rm{cm} / \rm{s}}`                   1                       
+('io', 'particle_mass')        :math:`\mathrm{\rm{g}}`                             1  :math:`Virial Mass`  
+('io', 'virial_radius')        :math:`\mathrm{\rm{cm}}`                            1  :math:`Virial Radius`
+=============================  =================================  =======  =========  =====================
 .. _OWLS_specific_fields:
 
 OWLS-Specific Fields
@@ -3047,67 +3051,67 @@
 Rockstar-Specific Fields
 ------------------------
 
-=============================  =======================================  =======  =========  ================================
-field name                     units                                    aliases  particle?  display name                    
-=============================  =======================================  =======  =========  ================================
-('io', 'particle_identifier')                                                            1                                  
-('io', 'particle_position_x')  :math:`\mathrm{\rm{pc}/(1+z) / \rm{h}}`                   1                                  
-('io', 'particle_position_y')  :math:`\mathrm{\rm{pc}/(1+z) / \rm{h}}`                   1                                  
-('io', 'particle_position_z')  :math:`\mathrm{\rm{pc}/(1+z) / \rm{h}}`                   1                                  
-('io', 'particle_velocity_x')  :math:`\mathrm{\rm{km} / \rm{s}}`                         1                                  
-('io', 'particle_velocity_y')  :math:`\mathrm{\rm{km} / \rm{s}}`                         1                                  
-('io', 'particle_velocity_z')  :math:`\mathrm{\rm{km} / \rm{s}}`                         1                                  
-('io', 'particle_corevel_x')   :math:`\mathrm{\rm{km} / \rm{s}}`                         1                                  
-('io', 'particle_corevel_y')   :math:`\mathrm{\rm{km} / \rm{s}}`                         1                                  
-('io', 'particle_corevel_z')   :math:`\mathrm{\rm{km} / \rm{s}}`                         1                                  
-('io', 'particle_bulkvel_x')   :math:`\mathrm{\rm{km} / \rm{s}}`                         1                                  
-('io', 'particle_bulkvel_y')   :math:`\mathrm{\rm{km} / \rm{s}}`                         1                                  
-('io', 'particle_bulkvel_z')   :math:`\mathrm{\rm{km} / \rm{s}}`                         1                                  
-('io', 'particle_mass')        :math:`\mathrm{\rm{M}_\odot / \rm{h}}`                    1  :math: Mass                     
-('io', 'virial_radius')        :math:`\mathrm{\rm{pc}/(1+z) / \rm{h}}`                   1  :math: Radius                   
-('io', 'child_r')              :math:`\mathrm{\rm{pc}/(1+z) / \rm{h}}`                   1                                  
-('io', 'vmax_r')               :math:`\mathrm{\rm{km} / \rm{s}}`                         1                                  
-('io', 'mgrav')                                                                          1                                  
-('io', 'vmax')                 :math:`\mathrm{\rm{km} / \rm{s}}`                         1  :math: V_{max}                  
-('io', 'rvmax')                :math:`\mathrm{\rm{km} / \rm{s}}`                         1                                  
-('io', 'rs')                   :math:`\mathrm{\rm{pc}/(1+z) / \rm{h}}`                   1  :math: R_s                      
-('io', 'klypin_rs')            :math:`\mathrm{\rm{pc}/(1+z) / \rm{h}}`                   1  :math: Klypin R_s               
-('io', 'vrms')                 :math:`\mathrm{\rm{km} / \rm{s}}`                         1  :math: V_{rms}                  
-('io', 'Jx')                                                                             1  :math: J_x                      
-('io', 'Jy')                                                                             1  :math: J_y                      
-('io', 'Jz')                                                                             1  :math: J_z                      
-('io', 'energy')                                                                         1                                  
-('io', 'spin')                                                                           1  :math: Spin Parameter           
-('io', 'alt_m1')               :math:`\mathrm{\rm{M}_\odot / \rm{h}}`                    1                                  
-('io', 'alt_m2')               :math:`\mathrm{\rm{M}_\odot / \rm{h}}`                    1                                  
-('io', 'alt_m3')               :math:`\mathrm{\rm{M}_\odot / \rm{h}}`                    1                                  
-('io', 'alt_m4')               :math:`\mathrm{\rm{M}_\odot / \rm{h}}`                    1                                  
-('io', 'Xoff')                                                                           1                                  
-('io', 'Voff')                                                                           1                                  
-('io', 'b_to_a')                                                                         1  :math: Ellipsoidal b to a       
-('io', 'c_to_a')                                                                         1  :math: Ellipsoidal c to a       
-('io', 'Ax')                                                                             1  :math: A_x                      
-('io', 'Ay')                                                                             1  :math: A_y                      
-('io', 'Az')                                                                             1  :math: A_z                      
-('io', 'b_to_a2')                                                                        1                                  
-('io', 'c_to_a2')                                                                        1                                  
-('io', 'A2x')                                                                            1  :math: A2_x                     
-('io', 'A2y')                                                                            1  :math: A2_y                     
-('io', 'A2z')                                                                            1  :math: A2_z                     
-('io', 'bullock_spin')                                                                   1  :math: Bullock Spin Parameter   
-('io', 'kin_to_pot')                                                                     1  :math: Kinetic to Potential     
-('io', 'm_pe_b')                                                                         1                                  
-('io', 'm_pe_d')                                                                         1                                  
-('io', 'num_p')                                                                          1  :math: Number of Particles      
-('io', 'num_child_particles')                                                            1  :math: Number of Child Particles
-('io', 'p_start')                                                                        1                                  
-('io', 'desc')                                                                           1                                  
-('io', 'flags')                                                                          1                                  
-('io', 'n_core')                                                                         1                                  
-('io', 'min_pos_err')                                                                    1                                  
-('io', 'min_vel_err')                                                                    1                                  
-('io', 'min_bulkvel_err')                                                                1                                  
-=============================  =======================================  =======  =========  ================================
+=============================  =======================================  =======  =========  =================================
+field name                     units                                    aliases  particle?  display name                     
+=============================  =======================================  =======  =========  =================================
+('io', 'particle_identifier')                                                            1                                   
+('io', 'particle_position_x')  :math:`\mathrm{\rm{pc}/(1+z) / \rm{h}}`                   1                                   
+('io', 'particle_position_y')  :math:`\mathrm{\rm{pc}/(1+z) / \rm{h}}`                   1                                   
+('io', 'particle_position_z')  :math:`\mathrm{\rm{pc}/(1+z) / \rm{h}}`                   1                                   
+('io', 'particle_velocity_x')  :math:`\mathrm{\rm{km} / \rm{s}}`                         1                                   
+('io', 'particle_velocity_y')  :math:`\mathrm{\rm{km} / \rm{s}}`                         1                                   
+('io', 'particle_velocity_z')  :math:`\mathrm{\rm{km} / \rm{s}}`                         1                                   
+('io', 'particle_corevel_x')   :math:`\mathrm{\rm{km} / \rm{s}}`                         1                                   
+('io', 'particle_corevel_y')   :math:`\mathrm{\rm{km} / \rm{s}}`                         1                                   
+('io', 'particle_corevel_z')   :math:`\mathrm{\rm{km} / \rm{s}}`                         1                                   
+('io', 'particle_bulkvel_x')   :math:`\mathrm{\rm{km} / \rm{s}}`                         1                                   
+('io', 'particle_bulkvel_y')   :math:`\mathrm{\rm{km} / \rm{s}}`                         1                                   
+('io', 'particle_bulkvel_z')   :math:`\mathrm{\rm{km} / \rm{s}}`                         1                                   
+('io', 'particle_mass')        :math:`\mathrm{\rm{M}_\odot / \rm{h}}`                    1  :math:`Mass`                     
+('io', 'virial_radius')        :math:`\mathrm{\rm{pc}/(1+z) / \rm{h}}`                   1  :math:`Radius`                   
+('io', 'child_r')              :math:`\mathrm{\rm{pc}/(1+z) / \rm{h}}`                   1                                   
+('io', 'vmax_r')               :math:`\mathrm{\rm{km} / \rm{s}}`                         1                                   
+('io', 'mgrav')                                                                          1                                   
+('io', 'vmax')                 :math:`\mathrm{\rm{km} / \rm{s}}`                         1  :math:`V_{max}`                  
+('io', 'rvmax')                :math:`\mathrm{\rm{km} / \rm{s}}`                         1                                   
+('io', 'rs')                   :math:`\mathrm{\rm{pc}/(1+z) / \rm{h}}`                   1  :math:`R_s`                      
+('io', 'klypin_rs')            :math:`\mathrm{\rm{pc}/(1+z) / \rm{h}}`                   1  :math:`Klypin R_s`               
+('io', 'vrms')                 :math:`\mathrm{\rm{km} / \rm{s}}`                         1  :math:`V_{rms}`                  
+('io', 'Jx')                                                                             1  :math:`J_x`                      
+('io', 'Jy')                                                                             1  :math:`J_y`                      
+('io', 'Jz')                                                                             1  :math:`J_z`                      
+('io', 'energy')                                                                         1                                   
+('io', 'spin')                                                                           1  :math:`Spin Parameter`           
+('io', 'alt_m1')               :math:`\mathrm{\rm{M}_\odot / \rm{h}}`                    1                                   
+('io', 'alt_m2')               :math:`\mathrm{\rm{M}_\odot / \rm{h}}`                    1                                   
+('io', 'alt_m3')               :math:`\mathrm{\rm{M}_\odot / \rm{h}}`                    1                                   
+('io', 'alt_m4')               :math:`\mathrm{\rm{M}_\odot / \rm{h}}`                    1                                   
+('io', 'Xoff')                                                                           1                                   
+('io', 'Voff')                                                                           1                                   
+('io', 'b_to_a')                                                                         1  :math:`Ellipsoidal b to a`       
+('io', 'c_to_a')                                                                         1  :math:`Ellipsoidal c to a`       
+('io', 'Ax')                                                                             1  :math:`A_x`                      
+('io', 'Ay')                                                                             1  :math:`A_y`                      
+('io', 'Az')                                                                             1  :math:`A_z`                      
+('io', 'b_to_a2')                                                                        1                                   
+('io', 'c_to_a2')                                                                        1                                   
+('io', 'A2x')                                                                            1  :math:`A2_x`                     
+('io', 'A2y')                                                                            1  :math:`A2_y`                     
+('io', 'A2z')                                                                            1  :math:`A2_z`                     
+('io', 'bullock_spin')                                                                   1  :math:`Bullock Spin Parameter`   
+('io', 'kin_to_pot')                                                                     1  :math:`Kinetic to Potential`     
+('io', 'm_pe_b')                                                                         1                                   
+('io', 'm_pe_d')                                                                         1                                   
+('io', 'num_p')                                                                          1  :math:`Number of Particles`      
+('io', 'num_child_particles')                                                            1  :math:`Number of Child Particles`
+('io', 'p_start')                                                                        1                                   
+('io', 'desc')                                                                           1                                   
+('io', 'flags')                                                                          1                                   
+('io', 'n_core')                                                                         1                                   
+('io', 'min_pos_err')                                                                    1                                   
+('io', 'min_vel_err')                                                                    1                                   
+('io', 'min_bulkvel_err')                                                                1                                   
+=============================  =======================================  =======  =========  =================================
 .. _Tipsy_specific_fields:
 
 Tipsy-Specific Fields


https://bitbucket.org/yt_analysis/yt/commits/075792dd00bb/
Changeset:   075792dd00bb
Branch:      yt
User:        mzingale
Date:        2014-11-25 19:59:08+00:00
Summary:     deal with \r in the specific heat field names
Affected #:  1 file

diff -r bafd93262fd43a869d8ddfd75215887ba1cad853 -r 075792dd00bb92b40878785f909c5cb50e34687b yt/frontends/flash/fields.py
--- a/yt/frontends/flash/fields.py
+++ b/yt/frontends/flash/fields.py
@@ -67,8 +67,8 @@
         ("ye", ("", [], "Y_e")),
         ("magp", (pres_units, [], None)),
         ("divb", ("code_magnetic*code_length", [], None)),
-        ("game", ("", [], "\gamma_e\/\rm{(ratio\/of\/specific\/heats)}")),
-        ("gamc", ("", [], "\gamma_c\/\rm{(ratio\/of\/specific\/heats)}")),
+        ("game", ("", [], r"\gamma_e\/\rm{(ratio\/of\/specific\/heats)}")),
+        ("gamc", ("", [], r"\gamma_c\/\rm{(ratio\/of\/specific\/heats)}")),
         ("flam", ("", [], None)),
         ("absr", ("", [], "Absorption Coefficient")),
         ("emis", ("", [], "Emissivity")),


https://bitbucket.org/yt_analysis/yt/commits/fae08d86f0dc/
Changeset:   fae08d86f0dc
Branch:      yt
User:        mzingale
Date:        2014-11-25 19:59:37+00:00
Summary:     new run of the field list with the Flash front end changes
Affected #:  1 file

diff -r 075792dd00bb92b40878785f909c5cb50e34687b -r fae08d86f0dcac28acabed44c868b87a7f836e61 doc/source/reference/field_list.rst
--- a/doc/source/reference/field_list.rst
+++ b/doc/source/reference/field_list.rst
@@ -2886,8 +2886,8 @@
 ('flash', 'ye')                                                                                                                                                     0  :math:`Y_e`                                       
 ('flash', 'magp')        :math:`\mathrm{\frac{\rm{code}~\rm{mass}}{\rm{code}~\rm{length} \cdot \rm{code}~\rm{time}^{2}}}`                                           0                                                    
 ('flash', 'divb')        :math:`\mathrm{\rm{code}~\rm{length} \cdot \rm{code_magnetic}}`                                                                            0                                                    
-('flash', 'game')                                                                                                                                                   0  :math:`\gamma_e\/
m{(ratio\/of\/specific\/heats)}`
-('flash', 'gamc')                                                                                                                                                   0  :math:`\gamma_c\/
m{(ratio\/of\/specific\/heats)}`
+('flash', 'game')                                                                                                                                                   0  :math:`\gamma_e\/m{(ratio\/of\/specific\/heats)}`
+('flash', 'gamc')                                                                                                                                                   0  :math:`\gamma_c\/m{(ratio\/of\/specific\/heats)}`
 ('flash', 'flam')                                                                                                                                                   0                                                    
 ('flash', 'absr')                                                                                                                                                   0  :math:`Absorption Coefficient`                    
 ('flash', 'emis')                                                                                                                                                   0  :math:`Emissivity`                                


https://bitbucket.org/yt_analysis/yt/commits/f778b2f71ad3/
Changeset:   f778b2f71ad3
Branch:      yt
User:        mzingale
Date:        2014-11-26 00:30:00+00:00
Summary:     update to reflect the flash frontend fixes
Affected #:  1 file

diff -r fae08d86f0dcac28acabed44c868b87a7f836e61 -r f778b2f71ad35bfc67f186d928c65196e84b4f91 doc/source/reference/field_list.rst
--- a/doc/source/reference/field_list.rst
+++ b/doc/source/reference/field_list.rst
@@ -2861,58 +2861,58 @@
 FLASH-Specific Fields
 ---------------------
 
-=======================  ====================================================================================================  ===========================  =========  ==================================================
-field name               units                                                                                                 aliases                      particle?  display name                                      
-=======================  ====================================================================================================  ===========================  =========  ==================================================
-('flash', 'velx')        :math:`\mathrm{\rm{code}~\rm{length} / \rm{code}~\rm{time}}`                                          ``velocity_x``                       0                                                    
-('flash', 'vely')        :math:`\mathrm{\rm{code}~\rm{length} / \rm{code}~\rm{time}}`                                          ``velocity_y``                       0                                                    
-('flash', 'velz')        :math:`\mathrm{\rm{code}~\rm{length} / \rm{code}~\rm{time}}`                                          ``velocity_z``                       0                                                    
-('flash', 'dens')        :math:`\mathrm{\frac{\rm{code}~\rm{mass}}{\rm{code}~\rm{length}^{3}}}`                                ``density``                          0                                                    
-('flash', 'temp')        :math:`\mathrm{\rm{code}~\rm{temperature}}`                                                           ``temperature``                      0                                                    
-('flash', 'pres')        :math:`\mathrm{\frac{\rm{code}~\rm{mass}}{\rm{code}~\rm{length} \cdot \rm{code}~\rm{time}^{2}}}`      ``pressure``                         0                                                    
-('flash', 'gpot')        :math:`\mathrm{\frac{\rm{code}~\rm{length}^{2}}{\rm{code}~\rm{time}^{2}}}`                            ``gravitational_potential``          0                                                    
-('flash', 'gpol')        :math:`\mathrm{\frac{\rm{code}~\rm{length}^{2}}{\rm{code}~\rm{time}^{2}}}`                                                                 0                                                    
-('flash', 'tion')        :math:`\mathrm{\rm{code}~\rm{temperature}}`                                                                                                0                                                    
-('flash', 'tele')        :math:`\mathrm{\rm{code}~\rm{temperature}}`                                                                                                0                                                    
-('flash', 'trad')        :math:`\mathrm{\rm{code}~\rm{temperature}}`                                                                                                0                                                    
-('flash', 'pion')        :math:`\mathrm{\frac{\rm{code}~\rm{mass}}{\rm{code}~\rm{length} \cdot \rm{code}~\rm{time}^{2}}}`                                           0                                                    
-('flash', 'pele')        :math:`\mathrm{\frac{\rm{code}~\rm{mass}}{\rm{code}~\rm{length} \cdot \rm{code}~\rm{time}^{2}}}`                                           0  :math:`Electron Pressure, P_e`                    
-('flash', 'prad')        :math:`\mathrm{\frac{\rm{code}~\rm{mass}}{\rm{code}~\rm{length} \cdot \rm{code}~\rm{time}^{2}}}`                                           0  :math:`Radiation Pressure`                        
-('flash', 'eion')        :math:`\mathrm{\frac{\rm{code}~\rm{mass}}{\rm{code}~\rm{time}^{2}} \cdot \rm{code}~\rm{length}^{2}}`                                       0  :math:`Ion Internal Energy`                       
-('flash', 'eele')        :math:`\mathrm{\frac{\rm{code}~\rm{mass}}{\rm{code}~\rm{time}^{2}} \cdot \rm{code}~\rm{length}^{2}}`                                       0  :math:`Electron Internal Energy`                  
-('flash', 'erad')        :math:`\mathrm{\frac{\rm{code}~\rm{mass}}{\rm{code}~\rm{time}^{2}} \cdot \rm{code}~\rm{length}^{2}}`                                       0  :math:`Radiation Internal Energy`                 
-('flash', 'pden')        :math:`\mathrm{\frac{\rm{code}~\rm{mass}}{\rm{code}~\rm{length}^{3}}}`                                                                     0                                                    
-('flash', 'depo')        :math:`\mathrm{\frac{\rm{code}~\rm{length}^{2}}{\rm{code}~\rm{time}^{2}}}`                                                                 0                                                    
-('flash', 'ye')                                                                                                                                                     0  :math:`Y_e`                                       
-('flash', 'magp')        :math:`\mathrm{\frac{\rm{code}~\rm{mass}}{\rm{code}~\rm{length} \cdot \rm{code}~\rm{time}^{2}}}`                                           0                                                    
-('flash', 'divb')        :math:`\mathrm{\rm{code}~\rm{length} \cdot \rm{code_magnetic}}`                                                                            0                                                    
-('flash', 'game')                                                                                                                                                   0  :math:`\gamma_e\/m{(ratio\/of\/specific\/heats)}`
-('flash', 'gamc')                                                                                                                                                   0  :math:`\gamma_c\/m{(ratio\/of\/specific\/heats)}`
-('flash', 'flam')                                                                                                                                                   0                                                    
-('flash', 'absr')                                                                                                                                                   0  :math:`Absorption Coefficient`                    
-('flash', 'emis')                                                                                                                                                   0  :math:`Emissivity`                                
-('flash', 'cond')                                                                                                                                                   0  :math:`Conductivity`                              
-('flash', 'dfcf')                                                                                                                                                   0  :math:`Diffusion Equation Scalar`                 
-('flash', 'fllm')                                                                                                                                                   0  :math:`Flux Limit`                                
-('flash', 'pipe')                                                                                                                                                   0  :math:`P_i/P_e`                                   
-('flash', 'tite')                                                                                                                                                   0  :math:`T_i/T_e`                                   
-('flash', 'dbgs')                                                                                                                                                   0  :math:`Debug for Shocks`                          
-('flash', 'cham')                                                                                                                                                   0  :math:`Chamber Material Fraction`                 
-('flash', 'targ')                                                                                                                                                   0  :math:`Target Material Fraction`                  
-('flash', 'sumy')                                                                                                                                                   0                                                    
-('flash', 'mgdc')                                                                                                                                                   0  :math:`Emission Minus Absorption Diffusion Terms` 
-('flash', 'magx')        :math:`\mathrm{\rm{code_magnetic}}`                                                                   ``magnetic_field_x``                 0  :math:`B_x`                                       
-('flash', 'magy')        :math:`\mathrm{\rm{code_magnetic}}`                                                                   ``magnetic_field_y``                 0  :math:`B_y`                                       
-('flash', 'magz')        :math:`\mathrm{\rm{code_magnetic}}`                                                                   ``magnetic_field_z``                 0  :math:`B_z`                                       
-('io', 'particle_posx')  :math:`\mathrm{\rm{code}~\rm{length}}`                                                                ``particle_position_x``              1                                                    
-('io', 'particle_posy')  :math:`\mathrm{\rm{code}~\rm{length}}`                                                                ``particle_position_y``              1                                                    
-('io', 'particle_posz')  :math:`\mathrm{\rm{code}~\rm{length}}`                                                                ``particle_position_z``              1                                                    
-('io', 'particle_velx')  :math:`\mathrm{\rm{code}~\rm{length} / \rm{code}~\rm{time}}`                                          ``particle_velocity_x``              1                                                    
-('io', 'particle_vely')  :math:`\mathrm{\rm{code}~\rm{length} / \rm{code}~\rm{time}}`                                          ``particle_velocity_y``              1                                                    
-('io', 'particle_velz')  :math:`\mathrm{\rm{code}~\rm{length} / \rm{code}~\rm{time}}`                                          ``particle_velocity_z``              1                                                    
-('io', 'particle_tag')                                                                                                         ``particle_index``                   1                                                    
-('io', 'particle_mass')  :math:`\mathrm{\rm{code}~\rm{mass}}`                                                                  ``particle_mass``                    1                                                    
-=======================  ====================================================================================================  ===========================  =========  ==================================================
+=======================  ====================================================================================================  ===========================  =========  ===================================================
+field name               units                                                                                                 aliases                      particle?  display name                                       
+=======================  ====================================================================================================  ===========================  =========  ===================================================
+('flash', 'velx')        :math:`\mathrm{\rm{code}~\rm{length} / \rm{code}~\rm{time}}`                                          ``velocity_x``                       0                                                     
+('flash', 'vely')        :math:`\mathrm{\rm{code}~\rm{length} / \rm{code}~\rm{time}}`                                          ``velocity_y``                       0                                                     
+('flash', 'velz')        :math:`\mathrm{\rm{code}~\rm{length} / \rm{code}~\rm{time}}`                                          ``velocity_z``                       0                                                     
+('flash', 'dens')        :math:`\mathrm{\frac{\rm{code}~\rm{mass}}{\rm{code}~\rm{length}^{3}}}`                                ``density``                          0                                                     
+('flash', 'temp')        :math:`\mathrm{\rm{code}~\rm{temperature}}`                                                           ``temperature``                      0                                                     
+('flash', 'pres')        :math:`\mathrm{\frac{\rm{code}~\rm{mass}}{\rm{code}~\rm{length} \cdot \rm{code}~\rm{time}^{2}}}`      ``pressure``                         0                                                     
+('flash', 'gpot')        :math:`\mathrm{\frac{\rm{code}~\rm{length}^{2}}{\rm{code}~\rm{time}^{2}}}`                            ``gravitational_potential``          0                                                     
+('flash', 'gpol')        :math:`\mathrm{\frac{\rm{code}~\rm{length}^{2}}{\rm{code}~\rm{time}^{2}}}`                                                                 0                                                     
+('flash', 'tion')        :math:`\mathrm{\rm{code}~\rm{temperature}}`                                                                                                0                                                     
+('flash', 'tele')        :math:`\mathrm{\rm{code}~\rm{temperature}}`                                                                                                0                                                     
+('flash', 'trad')        :math:`\mathrm{\rm{code}~\rm{temperature}}`                                                                                                0                                                     
+('flash', 'pion')        :math:`\mathrm{\frac{\rm{code}~\rm{mass}}{\rm{code}~\rm{length} \cdot \rm{code}~\rm{time}^{2}}}`                                           0                                                     
+('flash', 'pele')        :math:`\mathrm{\frac{\rm{code}~\rm{mass}}{\rm{code}~\rm{length} \cdot \rm{code}~\rm{time}^{2}}}`                                           0  :math:`Electron Pressure, P_e`                     
+('flash', 'prad')        :math:`\mathrm{\frac{\rm{code}~\rm{mass}}{\rm{code}~\rm{length} \cdot \rm{code}~\rm{time}^{2}}}`                                           0  :math:`Radiation Pressure`                         
+('flash', 'eion')        :math:`\mathrm{\frac{\rm{code}~\rm{mass}}{\rm{code}~\rm{time}^{2}} \cdot \rm{code}~\rm{length}^{2}}`                                       0  :math:`Ion Internal Energy`                        
+('flash', 'eele')        :math:`\mathrm{\frac{\rm{code}~\rm{mass}}{\rm{code}~\rm{time}^{2}} \cdot \rm{code}~\rm{length}^{2}}`                                       0  :math:`Electron Internal Energy`                   
+('flash', 'erad')        :math:`\mathrm{\frac{\rm{code}~\rm{mass}}{\rm{code}~\rm{time}^{2}} \cdot \rm{code}~\rm{length}^{2}}`                                       0  :math:`Radiation Internal Energy`                  
+('flash', 'pden')        :math:`\mathrm{\frac{\rm{code}~\rm{mass}}{\rm{code}~\rm{length}^{3}}}`                                                                     0                                                     
+('flash', 'depo')        :math:`\mathrm{\frac{\rm{code}~\rm{length}^{2}}{\rm{code}~\rm{time}^{2}}}`                                                                 0                                                     
+('flash', 'ye')                                                                                                                                                     0  :math:`Y_e`                                        
+('flash', 'magp')        :math:`\mathrm{\frac{\rm{code}~\rm{mass}}{\rm{code}~\rm{length} \cdot \rm{code}~\rm{time}^{2}}}`                                           0                                                     
+('flash', 'divb')        :math:`\mathrm{\rm{code}~\rm{length} \cdot \rm{code_magnetic}}`                                                                            0                                                     
+('flash', 'game')                                                                                                                                                   0  :math:`\gamma_e\/\rm{(ratio\/of\/specific\/heats)}`
+('flash', 'gamc')                                                                                                                                                   0  :math:`\gamma_c\/\rm{(ratio\/of\/specific\/heats)}`
+('flash', 'flam')                                                                                                                                                   0                                                     
+('flash', 'absr')                                                                                                                                                   0  :math:`Absorption Coefficient`                     
+('flash', 'emis')                                                                                                                                                   0  :math:`Emissivity`                                 
+('flash', 'cond')                                                                                                                                                   0  :math:`Conductivity`                               
+('flash', 'dfcf')                                                                                                                                                   0  :math:`Diffusion Equation Scalar`                  
+('flash', 'fllm')                                                                                                                                                   0  :math:`Flux Limit`                                 
+('flash', 'pipe')                                                                                                                                                   0  :math:`P_i/P_e`                                    
+('flash', 'tite')                                                                                                                                                   0  :math:`T_i/T_e`                                    
+('flash', 'dbgs')                                                                                                                                                   0  :math:`Debug for Shocks`                           
+('flash', 'cham')                                                                                                                                                   0  :math:`Chamber Material Fraction`                  
+('flash', 'targ')                                                                                                                                                   0  :math:`Target Material Fraction`                   
+('flash', 'sumy')                                                                                                                                                   0                                                     
+('flash', 'mgdc')                                                                                                                                                   0  :math:`Emission Minus Absorption Diffusion Terms`  
+('flash', 'magx')        :math:`\mathrm{\rm{code_magnetic}}`                                                                   ``magnetic_field_x``                 0  :math:`B_x`                                        
+('flash', 'magy')        :math:`\mathrm{\rm{code_magnetic}}`                                                                   ``magnetic_field_y``                 0  :math:`B_y`                                        
+('flash', 'magz')        :math:`\mathrm{\rm{code_magnetic}}`                                                                   ``magnetic_field_z``                 0  :math:`B_z`                                        
+('io', 'particle_posx')  :math:`\mathrm{\rm{code}~\rm{length}}`                                                                ``particle_position_x``              1                                                     
+('io', 'particle_posy')  :math:`\mathrm{\rm{code}~\rm{length}}`                                                                ``particle_position_y``              1                                                     
+('io', 'particle_posz')  :math:`\mathrm{\rm{code}~\rm{length}}`                                                                ``particle_position_z``              1                                                     
+('io', 'particle_velx')  :math:`\mathrm{\rm{code}~\rm{length} / \rm{code}~\rm{time}}`                                          ``particle_velocity_x``              1                                                     
+('io', 'particle_vely')  :math:`\mathrm{\rm{code}~\rm{length} / \rm{code}~\rm{time}}`                                          ``particle_velocity_y``              1                                                     
+('io', 'particle_velz')  :math:`\mathrm{\rm{code}~\rm{length} / \rm{code}~\rm{time}}`                                          ``particle_velocity_z``              1                                                     
+('io', 'particle_tag')                                                                                                         ``particle_index``                   1                                                     
+('io', 'particle_mass')  :math:`\mathrm{\rm{code}~\rm{mass}}`                                                                  ``particle_mass``                    1                                                     
+=======================  ====================================================================================================  ===========================  =========  ===================================================
 .. _GDF_specific_fields:
 
 GDF-Specific Fields


https://bitbucket.org/yt_analysis/yt/commits/28227b001654/
Changeset:   28227b001654
Branch:      yt
User:        ngoldbaum
Date:        2014-11-26 00:59:28+00:00
Summary:     Ensure Gadget field shows up in the field list.
Affected #:  3 files

diff -r f778b2f71ad35bfc67f186d928c65196e84b4f91 -r 28227b0016541a7ecae197a488bae705c957f825 doc/helper_scripts/show_fields.py
--- a/doc/helper_scripts/show_fields.py
+++ b/doc/helper_scripts/show_fields.py
@@ -190,9 +190,11 @@
     field_info_names = [fi for fi in dir(this_f) if "FieldInfo" in fi]
     dataset_names = [dset for dset in dir(this_f) if "Dataset" in dset]
 
-    if frontend == "sph":
-        field_info_names = \
-          ['TipsyFieldInfo' if 'Tipsy' in d else 'SPHFieldInfo' for d in dataset_names]
+    if frontend == "gadget":
+        # Drop duplicate entry for GadgetHDF5, add special case for FieldInfo
+        # entry
+        dataset_names = ['GadgetDataset']
+        field_info_names = ['SPHFieldInfo']
     elif frontend == "boxlib":
         field_info_names = []
         for d in dataset_names:

diff -r f778b2f71ad35bfc67f186d928c65196e84b4f91 -r 28227b0016541a7ecae197a488bae705c957f825 doc/source/reference/field_list.rst
--- a/doc/source/reference/field_list.rst
+++ b/doc/source/reference/field_list.rst
@@ -2913,6 +2913,42 @@
 ('io', 'particle_tag')                                                                                                         ``particle_index``                   1                                                     
 ('io', 'particle_mass')  :math:`\mathrm{\rm{code}~\rm{mass}}`                                                                  ``particle_mass``                    1                                                     
 =======================  ====================================================================================================  ===========================  =========  ===================================================
+.. _Gadget_specific_fields:
+
+Gadget-Specific Fields
+----------------------
+
+============================  ======================================================================  =====================  =========  ============
+field name                    units                                                                   aliases                particle?  display name
+============================  ======================================================================  =====================  =========  ============
+('io', 'Mass')                :math:`\mathrm{\rm{code}~\rm{mass}}`                                    ``particle_mass``              1              
+('io', 'Masses')              :math:`\mathrm{\rm{code}~\rm{mass}}`                                    ``particle_mass``              1              
+('io', 'Coordinates')         :math:`\mathrm{\rm{code}~\rm{length}}`                                  ``particle_position``          1              
+('io', 'Velocity')            :math:`\mathrm{\rm{code}~\rm{velocity}}`                                ``particle_velocity``          1              
+('io', 'Velocities')          :math:`\mathrm{\rm{code}~\rm{velocity}}`                                ``particle_velocity``          1              
+('io', 'ParticleIDs')                                                                                 ``particle_index``             1              
+('io', 'InternalEnergy')                                                                              ``thermal_energy``             1              
+('io', 'SmoothingLength')     :math:`\mathrm{\rm{code}~\rm{length}}`                                  ``smoothing_length``           1              
+('io', 'Density')             :math:`\mathrm{\frac{\rm{code}~\rm{mass}}{\rm{code}~\rm{length}^{3}}}`  ``density``                    1              
+('io', 'MaximumTemperature')  :math:`\mathrm{\rm{K}}`                                                                                1              
+('io', 'Temperature')         :math:`\mathrm{\rm{K}}`                                                 ``temperature``                1              
+('io', 'Epsilon')             :math:`\mathrm{\rm{code}~\rm{length}}`                                                                 1              
+('io', 'Metals')              :math:`\mathrm{\rm{code}~\rm{metallicity}}`                             ``metallicity``                1              
+('io', 'Metallicity')         :math:`\mathrm{\rm{code}~\rm{metallicity}}`                             ``metallicity``                1              
+('io', 'Phi')                 :math:`\mathrm{\rm{code}~\rm{length}}`                                                                 1              
+('io', 'FormationTime')       :math:`\mathrm{\rm{code}~\rm{time}}`                                    ``creation_time``              1              
+('io', 'Metallicity_00')                                                                              ``metallicity``                1              
+('io', 'Metallicity_01')                                                                              ``He_fraction``                1              
+('io', 'Metallicity_02')                                                                              ``C_fraction``                 1              
+('io', 'Metallicity_03')                                                                              ``N_fraction``                 1              
+('io', 'Metallicity_04')                                                                              ``O_fraction``                 1              
+('io', 'Metallicity_05')                                                                              ``Ne_fraction``                1              
+('io', 'Metallicity_06')                                                                              ``Mg_fraction``                1              
+('io', 'Metallicity_07')                                                                              ``Si_fraction``                1              
+('io', 'Metallicity_08')                                                                              ``S_fraction``                 1              
+('io', 'Metallicity_09')                                                                              ``Ca_fraction``                1              
+('io', 'Metallicity_10')                                                                              ``Fe_fraction``                1              
+============================  ======================================================================  =====================  =========  ============
 .. _GDF_specific_fields:
 
 GDF-Specific Fields

diff -r f778b2f71ad35bfc67f186d928c65196e84b4f91 -r 28227b0016541a7ecae197a488bae705c957f825 yt/frontends/gadget/api.py
--- a/yt/frontends/gadget/api.py
+++ b/yt/frontends/gadget/api.py
@@ -16,7 +16,8 @@
 
 from .data_structures import \
     GadgetDataset, \
-    GadgetHDF5Dataset
+    GadgetHDF5Dataset, \
+    SPHFieldInfo
 
 from .io import \
     IOHandlerGadgetBinary, \


https://bitbucket.org/yt_analysis/yt/commits/a2191caf624a/
Changeset:   a2191caf624a
Branch:      yt
User:        ngoldbaum
Date:        2014-12-02 20:26:08+00:00
Summary:     Make sure autogenerated field list includes particle fields.
Affected #:  2 files

diff -r 28227b0016541a7ecae197a488bae705c957f825 -r a2191caf624a1dbfa7bd6bb37c32be14952de0ac doc/helper_scripts/show_fields.py
--- a/doc/helper_scripts/show_fields.py
+++ b/doc/helper_scripts/show_fields.py
@@ -38,7 +38,7 @@
 np.random.seed(int(0x4d3d3d3))
 units = [base_ds._get_field_info(*f).units for f in fields]
 fields = [_strip_ftype(f) for f in fields]
-ds = fake_random_ds(16, fields = fields, units = units)
+ds = fake_random_ds(16, fields=fields, units=units, particles=True)
 ds.parameters["HydroMethod"] = "streaming"
 ds.parameters["EOSType"] = 1.0
 ds.parameters["EOSSoundSpeed"] = 1.0

diff -r 28227b0016541a7ecae197a488bae705c957f825 -r a2191caf624a1dbfa7bd6bb37c32be14952de0ac doc/source/reference/field_list.rst
--- a/doc/source/reference/field_list.rst
+++ b/doc/source/reference/field_list.rst
@@ -43,6 +43,1046 @@
 Universal Fields
 ----------------
 
+('all', 'mesh_id')
+^^^^^^^^^^^^^^^^^^
+
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+      def particle_mesh_ids(field, data):
+          pos = data[ptype, coord_name]
+          ids = np.zeros(pos.shape[0], dtype="float64") - 1
+          # This is float64 in name only.  It will be properly cast inside the
+          # deposit operation.
+          #_ids = ids.view("float64")
+          data.deposit(pos, [ids], method = "mesh_id")
+          return data.apply_units(ids, "")
+  
+
+('all', 'particle_angular_momentum')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm}^{2} \cdot \rm{g} / \rm{s}`
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+      def _particle_angular_momentum(field, data):
+          return data[ptype, "particle_mass"] \
+              * data[ptype, "particle_specific_angular_momentum"]
+  
+
+('all', 'particle_angular_momentum_magnitude')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm}^{2} \cdot \rm{g} / \rm{s}`
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+      def _magnitude(field, data):
+          fn = field_components[0]
+          mag = data[fn] * data[fn]
+          for idim in range(1, registry.ds.dimensionality):
+              fn = field_components[idim]
+              mag += data[fn] * data[fn]
+          return np.sqrt(mag)
+  
+
+('all', 'particle_angular_momentum_x')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm}^{2} \cdot \rm{g} / \rm{s}`
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+      def _particle_angular_momentum_x(field, data):
+          return data[ptype, "particle_mass"] * \
+                 data[ptype, "particle_specific_angular_momentum_x"]
+  
+
+('all', 'particle_angular_momentum_y')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm}^{2} \cdot \rm{g} / \rm{s}`
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+      def _particle_angular_momentum_y(field, data):
+          return data[ptype, "particle_mass"] * \
+                 data[ptype, "particle_specific_angular_momentum_y"]
+  
+
+('all', 'particle_angular_momentum_z')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm}^{2} \cdot \rm{g} / \rm{s}`
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+      def _particle_angular_momentum_z(field, data):
+          return data[ptype, "particle_mass"] * \
+                 data[ptype, "particle_specific_angular_momentum_z"]
+  
+
+('all', 'particle_mass')
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{g}`
+   * Particle Type: True
+
+**Field Source**
+
+No source available.
+
+('all', 'particle_ones')
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+      def particle_ones(field, data):
+          v = np.ones(data[ptype, mass_name].shape, dtype="float64")
+          return data.apply_units(v, field.units)
+  
+
+('all', 'particle_position')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{code}~\rm{length}`
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+          def particle_vectors(field, data):
+              v = [data[_ptype, name].in_units(field.units)
+                    for name in names]
+              c = np.column_stack(v)
+              return data.apply_units(c, field.units)
+  
+
+('all', 'particle_position_x')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{code}~\rm{length}`
+   * Particle Type: True
+
+**Field Source**
+
+No source available.
+
+('all', 'particle_position_y')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{code}~\rm{length}`
+   * Particle Type: True
+
+**Field Source**
+
+No source available.
+
+('all', 'particle_position_z')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{code}~\rm{length}`
+   * Particle Type: True
+
+**Field Source**
+
+No source available.
+
+('all', 'particle_radial_velocity')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm} / \rm{s}`
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+      def _particle_spherical_velocity_radius(field, data):
+          """
+          Radial component of the particles' velocity vectors in spherical coords
+          based on the provided field parameters for 'normal', 'center', and 
+          'bulk_velocity', 
+          """
+          normal = data.get_field_parameter('normal')
+          center = data.get_field_parameter('center')
+          bv = data.get_field_parameter("bulk_velocity")
+          pos = spos
+          pos = YTArray([data[ptype, pos % ax] for ax in "xyz"])
+          vel = svel
+          vel = YTArray([data[ptype, vel % ax] for ax in "xyz"])
+          theta = get_sph_theta(pos, center)
+          phi = get_sph_phi(pos, center)
+          pos = pos - np.reshape(center, (3, 1))
+          vel = vel - np.reshape(bv, (3, 1))
+          sphr = get_sph_r_component(vel, theta, phi, normal)
+          return sphr
+  
+
+('all', 'particle_radius')
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm}`
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+      def _particle_radius(field, data):
+          return get_radius(data, "particle_position_")
+  
+
+('all', 'particle_specific_angular_momentum')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm}^{2} / \rm{s}`
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+      def _particle_specific_angular_momentum(field, data):
+          """
+          Calculate the angular of a particle velocity.  Returns a vector for each
+          particle.
+          """
+          if data.has_field_parameter("bulk_velocity"):
+              bv = data.get_field_parameter("bulk_velocity")
+          else: bv = np.zeros(3, dtype=np.float64)
+          xv = data[ptype, svel % 'x'] - bv[0]
+          yv = data[ptype, svel % 'y'] - bv[1]
+          zv = data[ptype, svel % 'z'] - bv[2]
+          center = data.get_field_parameter('center')
+          coords = YTArray([data[ptype, spos % 'x'],
+                             data[ptype, spos % 'y'],
+                             data[ptype, spos % 'z']], dtype=np.float64)
+          new_shape = tuple([3] + [1]*(len(coords.shape)-1))
+          r_vec = coords - np.reshape(center,new_shape)
+          v_vec = YTArray([xv,yv,zv], dtype=np.float64)
+          return np.cross(r_vec, v_vec, axis=0)
+  
+
+('all', 'particle_specific_angular_momentum_magnitude')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm}^{2} / \rm{s}`
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+      def _magnitude(field, data):
+          fn = field_components[0]
+          mag = data[fn] * data[fn]
+          for idim in range(1, registry.ds.dimensionality):
+              fn = field_components[idim]
+              mag += data[fn] * data[fn]
+          return np.sqrt(mag)
+  
+
+('all', 'particle_specific_angular_momentum_x')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm}^{2} / \rm{s}`
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+      def _particle_specific_angular_momentum_x(field, data):
+          if data.has_field_parameter("bulk_velocity"):
+              bv = data.get_field_parameter("bulk_velocity")
+          else: bv = np.zeros(3, dtype=np.float64)
+          center = data.get_field_parameter('center')
+          y = data[ptype, spos % "y"] - center[1]
+          z = data[ptype, spos % "z"] - center[2]
+          yv = data[ptype, svel % "y"] - bv[1]
+          zv = data[ptype, svel % "z"] - bv[2]
+          return yv*z - zv*y
+  
+
+('all', 'particle_specific_angular_momentum_y')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm}^{2} / \rm{s}`
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+      def _particle_specific_angular_momentum_y(field, data):
+          if data.has_field_parameter("bulk_velocity"):
+              bv = data.get_field_parameter("bulk_velocity")
+          else: bv = np.zeros(3, dtype=np.float64)
+          center = data.get_field_parameter('center')
+          x = data[ptype, spos % "x"] - center[0]
+          z = data[ptype, spos % "z"] - center[2]
+          xv = data[ptype, svel % "x"] - bv[0]
+          zv = data[ptype, svel % "z"] - bv[2]
+          return -(xv*z - zv*x)
+  
+
+('all', 'particle_specific_angular_momentum_z')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm}^{2} / \rm{s}`
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+      def _particle_specific_angular_momentum_z(field, data):
+          if data.has_field_parameter("bulk_velocity"):
+              bv = data.get_field_parameter("bulk_velocity")
+          else: bv = np.zeros(3, dtype=np.float64)
+          center = data.get_field_parameter('center')
+          x = data[ptype, spos % "x"] - center[0]
+          y = data[ptype, spos % "y"] - center[1]
+          xv = data[ptype, svel % "x"] - bv[0]
+          yv = data[ptype, svel % "y"] - bv[1]
+          return xv*y - yv*x
+  
+
+('all', 'particle_spherical_position_phi')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm}`
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+      def _particle_spherical_position_phi(field, data):
+          """
+          Phi component of the particles' position vectors in spherical coords
+          on the provided field parameters for 'normal', 'center', and 
+          'bulk_velocity', 
+          """
+          normal = data.get_field_parameter('normal')
+          center = data.get_field_parameter('center')
+          bv = data.get_field_parameter("bulk_velocity")
+          pos = spos
+          pos = YTArray([data[ptype, pos % ax] for ax in "xyz"])
+          theta = get_sph_theta(pos, center)
+          phi = get_sph_phi(pos, center)
+          pos = pos - np.reshape(center, (3, 1))
+          sphp = get_sph_phi_component(pos, phi, normal)
+          return sphp
+  
+
+('all', 'particle_spherical_position_radius')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm}`
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+      def _particle_spherical_position_radius(field, data):
+          """
+          Radial component of the particles' position vectors in spherical coords
+          on the provided field parameters for 'normal', 'center', and 
+          'bulk_velocity', 
+          """
+          normal = data.get_field_parameter('normal')
+          center = data.get_field_parameter('center')
+          bv = data.get_field_parameter("bulk_velocity")
+          pos = spos
+          pos = YTArray([data[ptype, pos % ax] for ax in "xyz"])
+          theta = get_sph_theta(pos, center)
+          phi = get_sph_phi(pos, center)
+          pos = pos - np.reshape(center, (3, 1))
+          sphr = get_sph_r_component(pos, theta, phi, normal)
+          return sphr
+  
+
+('all', 'particle_spherical_position_theta')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm}`
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+      def _particle_spherical_position_theta(field, data):
+          """
+          Theta component of the particles' position vectors in spherical coords
+          on the provided field parameters for 'normal', 'center', and 
+          'bulk_velocity', 
+          """
+          normal = data.get_field_parameter('normal')
+          center = data.get_field_parameter('center')
+          bv = data.get_field_parameter("bulk_velocity")
+          pos = spos
+          pos = YTArray([data[ptype, pos % ax] for ax in "xyz"])
+          theta = get_sph_theta(pos, center)
+          phi = get_sph_phi(pos, center)
+          pos = pos - np.reshape(center, (3, 1))
+          spht = get_sph_theta_component(pos, theta, phi, normal)
+          return spht
+  
+
+('all', 'particle_spherical_velocity_phi')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm} / \rm{s}`
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+      def _particle_spherical_velocity_phi(field, data):
+          """
+          Phi component of the particles' velocity vectors in spherical coords
+          based on the provided field parameters for 'normal', 'center', and 
+          'bulk_velocity', 
+          """
+          normal = data.get_field_parameter('normal')
+          center = data.get_field_parameter('center')
+          bv = data.get_field_parameter("bulk_velocity")
+          pos = YTArray([data[ptype, spos % ax] for ax in "xyz"])
+          vel = YTArray([data[ptype, svel % ax] for ax in "xyz"])
+          theta = get_sph_theta(pos, center)
+          phi = get_sph_phi(pos, center)
+          pos = pos - np.reshape(center, (3, 1))
+          vel = vel - np.reshape(bv, (3, 1))
+          sphp = get_sph_phi_component(vel, phi, normal)
+          return sphp
+  
+
+('all', 'particle_spherical_velocity_radius')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm} / \rm{s}`
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+      def _particle_spherical_velocity_radius(field, data):
+          """
+          Radial component of the particles' velocity vectors in spherical coords
+          based on the provided field parameters for 'normal', 'center', and 
+          'bulk_velocity', 
+          """
+          normal = data.get_field_parameter('normal')
+          center = data.get_field_parameter('center')
+          bv = data.get_field_parameter("bulk_velocity")
+          pos = spos
+          pos = YTArray([data[ptype, pos % ax] for ax in "xyz"])
+          vel = svel
+          vel = YTArray([data[ptype, vel % ax] for ax in "xyz"])
+          theta = get_sph_theta(pos, center)
+          phi = get_sph_phi(pos, center)
+          pos = pos - np.reshape(center, (3, 1))
+          vel = vel - np.reshape(bv, (3, 1))
+          sphr = get_sph_r_component(vel, theta, phi, normal)
+          return sphr
+  
+
+('all', 'particle_spherical_velocity_theta')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm} / \rm{s}`
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+      def _particle_spherical_velocity_theta(field, data):
+          """
+          Theta component of the particles' velocity vectors in spherical coords
+          based on the provided field parameters for 'normal', 'center', and 
+          'bulk_velocity', 
+          """
+          normal = data.get_field_parameter('normal')
+          center = data.get_field_parameter('center')
+          bv = data.get_field_parameter("bulk_velocity")
+          pos = spos
+          pos = YTArray([data[ptype, pos % ax] for ax in "xyz"])
+          vel = svel
+          vel = YTArray([data[ptype, vel % ax] for ax in "xyz"])
+          theta = get_sph_theta(pos, center)
+          phi = get_sph_phi(pos, center)
+          pos = pos - np.reshape(center, (3, 1))
+          vel = vel - np.reshape(bv, (3, 1))
+          spht = get_sph_theta_component(vel, theta, phi, normal)
+          return spht
+  
+
+('all', 'particle_velocity')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm} / \rm{s}`
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+          def particle_vectors(field, data):
+              v = [data[_ptype, name].in_units(field.units)
+                    for name in names]
+              c = np.column_stack(v)
+              return data.apply_units(c, field.units)
+  
+
+('all', 'particle_velocity_magnitude')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm} / \rm{s}`
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+      def _particle_velocity_magnitude(field, data):
+          """ M{|v|} """
+          bulk_velocity = data.get_field_parameter("bulk_velocity")
+          if bulk_velocity is None:
+              bulk_velocity = np.zeros(3)
+          return np.sqrt((data[ptype, svel % 'x'] - bulk_velocity[0])**2
+                       + (data[ptype, svel % 'y'] - bulk_velocity[1])**2
+                       + (data[ptype, svel % 'z'] - bulk_velocity[2])**2 )
+  
+
+('all', 'particle_velocity_x')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm} / \rm{s}`
+   * Particle Type: True
+
+**Field Source**
+
+No source available.
+
+('all', 'particle_velocity_y')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm} / \rm{s}`
+   * Particle Type: True
+
+**Field Source**
+
+No source available.
+
+('all', 'particle_velocity_z')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm} / \rm{s}`
+   * Particle Type: True
+
+**Field Source**
+
+No source available.
+
+('deposit', 'all_cic')
+^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\frac{\rm{g}}{\rm{cm}^{3}}`
+   * Particle Type: False
+
+**Field Source**
+
+.. code-block:: python
+
+      def particle_cic(field, data):
+          pos = data[ptype, coord_name]
+          d = data.deposit(pos, [data[ptype, mass_name]], method = "cic")
+          d = data.apply_units(d, data[ptype, mass_name].units)
+          d /= data["index", "cell_volume"]
+          return d
+  
+
+('deposit', 'all_cic_velocity_x')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm} / \rm{s}`
+   * Particle Type: False
+
+**Field Source**
+
+.. code-block:: python
+
+          def _deposit_field(field, data):
+              """
+              Create a grid field for particle quantities weighted by particle
+              mass, using cloud-in-cell deposit.
+              """
+              pos = data[ptype, "particle_position"]
+              # Get back into density
+              pden = data[ptype, 'particle_mass']
+              top = data.deposit(pos, [data[(ptype, fname)]*pden], method=method)
+              bottom = data.deposit(pos, [pden], method=method)
+              top[bottom == 0] = 0.0
+              bnz = bottom.nonzero()
+              top[bnz] /= bottom[bnz]
+              d = data.ds.arr(top, input_units=units)
+              return d
+  
+
+('deposit', 'all_cic_velocity_y')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm} / \rm{s}`
+   * Particle Type: False
+
+**Field Source**
+
+.. code-block:: python
+
+          def _deposit_field(field, data):
+              """
+              Create a grid field for particle quantities weighted by particle
+              mass, using cloud-in-cell deposit.
+              """
+              pos = data[ptype, "particle_position"]
+              # Get back into density
+              pden = data[ptype, 'particle_mass']
+              top = data.deposit(pos, [data[(ptype, fname)]*pden], method=method)
+              bottom = data.deposit(pos, [pden], method=method)
+              top[bottom == 0] = 0.0
+              bnz = bottom.nonzero()
+              top[bnz] /= bottom[bnz]
+              d = data.ds.arr(top, input_units=units)
+              return d
+  
+
+('deposit', 'all_cic_velocity_z')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm} / \rm{s}`
+   * Particle Type: False
+
+**Field Source**
+
+.. code-block:: python
+
+          def _deposit_field(field, data):
+              """
+              Create a grid field for particle quantities weighted by particle
+              mass, using cloud-in-cell deposit.
+              """
+              pos = data[ptype, "particle_position"]
+              # Get back into density
+              pden = data[ptype, 'particle_mass']
+              top = data.deposit(pos, [data[(ptype, fname)]*pden], method=method)
+              bottom = data.deposit(pos, [pden], method=method)
+              top[bottom == 0] = 0.0
+              bnz = bottom.nonzero()
+              top[bnz] /= bottom[bnz]
+              d = data.ds.arr(top, input_units=units)
+              return d
+  
+
+('deposit', 'all_count')
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Particle Type: False
+
+**Field Source**
+
+.. code-block:: python
+
+      def particle_count(field, data):
+          pos = data[ptype, coord_name]
+          d = data.deposit(pos, method = "count")
+          d = data.ds.arr(d, input_units = "cm**-3")
+          return data.apply_units(d, field.units)
+  
+
+('deposit', 'all_density')
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\frac{\rm{g}}{\rm{cm}^{3}}`
+   * Particle Type: False
+
+**Field Source**
+
+.. code-block:: python
+
+      def particle_density(field, data):
+          pos = data[ptype, coord_name]
+          mass = data[ptype, mass_name]
+          pos.convert_to_units("code_length")
+          mass.convert_to_units("code_mass")
+          d = data.deposit(pos, [data[ptype, mass_name]], method = "sum")
+          d = data.ds.arr(d, "code_mass")
+          d /= data["index", "cell_volume"]
+          return d
+  
+
+('deposit', 'all_mass')
+^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{g}`
+   * Particle Type: False
+
+**Field Source**
+
+.. code-block:: python
+
+      def particle_mass(field, data):
+          pos = data[ptype, coord_name]
+          pmass = data[ptype, mass_name].in_units(field.units)
+          d = data.deposit(pos, [pmass], method = "sum")
+          return data.apply_units(d, field.units)
+  
+
+('deposit', 'all_nn_velocity_x')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm} / \rm{s}`
+   * Particle Type: False
+
+**Field Source**
+
+.. code-block:: python
+
+          def _deposit_field(field, data):
+              """
+              Create a grid field for particle quantities weighted by particle
+              mass, using cloud-in-cell deposit.
+              """
+              pos = data[ptype, "particle_position"]
+              # Get back into density
+              pden = data[ptype, 'particle_mass']
+              top = data.deposit(pos, [data[(ptype, fname)]*pden], method=method)
+              bottom = data.deposit(pos, [pden], method=method)
+              top[bottom == 0] = 0.0
+              bnz = bottom.nonzero()
+              top[bnz] /= bottom[bnz]
+              d = data.ds.arr(top, input_units=units)
+              return d
+  
+
+('deposit', 'all_nn_velocity_y')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm} / \rm{s}`
+   * Particle Type: False
+
+**Field Source**
+
+.. code-block:: python
+
+          def _deposit_field(field, data):
+              """
+              Create a grid field for particle quantities weighted by particle
+              mass, using cloud-in-cell deposit.
+              """
+              pos = data[ptype, "particle_position"]
+              # Get back into density
+              pden = data[ptype, 'particle_mass']
+              top = data.deposit(pos, [data[(ptype, fname)]*pden], method=method)
+              bottom = data.deposit(pos, [pden], method=method)
+              top[bottom == 0] = 0.0
+              bnz = bottom.nonzero()
+              top[bnz] /= bottom[bnz]
+              d = data.ds.arr(top, input_units=units)
+              return d
+  
+
+('deposit', 'all_nn_velocity_z')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm} / \rm{s}`
+   * Particle Type: False
+
+**Field Source**
+
+.. code-block:: python
+
+          def _deposit_field(field, data):
+              """
+              Create a grid field for particle quantities weighted by particle
+              mass, using cloud-in-cell deposit.
+              """
+              pos = data[ptype, "particle_position"]
+              # Get back into density
+              pden = data[ptype, 'particle_mass']
+              top = data.deposit(pos, [data[(ptype, fname)]*pden], method=method)
+              bottom = data.deposit(pos, [pden], method=method)
+              top[bottom == 0] = 0.0
+              bnz = bottom.nonzero()
+              top[bnz] /= bottom[bnz]
+              d = data.ds.arr(top, input_units=units)
+              return d
+  
+
+('deposit', 'io_cic')
+^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\frac{\rm{g}}{\rm{cm}^{3}}`
+   * Particle Type: False
+
+**Field Source**
+
+.. code-block:: python
+
+      def particle_cic(field, data):
+          pos = data[ptype, coord_name]
+          d = data.deposit(pos, [data[ptype, mass_name]], method = "cic")
+          d = data.apply_units(d, data[ptype, mass_name].units)
+          d /= data["index", "cell_volume"]
+          return d
+  
+
+('deposit', 'io_cic_velocity_x')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm} / \rm{s}`
+   * Particle Type: False
+
+**Field Source**
+
+.. code-block:: python
+
+          def _deposit_field(field, data):
+              """
+              Create a grid field for particle quantities weighted by particle
+              mass, using cloud-in-cell deposit.
+              """
+              pos = data[ptype, "particle_position"]
+              # Get back into density
+              pden = data[ptype, 'particle_mass']
+              top = data.deposit(pos, [data[(ptype, fname)]*pden], method=method)
+              bottom = data.deposit(pos, [pden], method=method)
+              top[bottom == 0] = 0.0
+              bnz = bottom.nonzero()
+              top[bnz] /= bottom[bnz]
+              d = data.ds.arr(top, input_units=units)
+              return d
+  
+
+('deposit', 'io_cic_velocity_y')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm} / \rm{s}`
+   * Particle Type: False
+
+**Field Source**
+
+.. code-block:: python
+
+          def _deposit_field(field, data):
+              """
+              Create a grid field for particle quantities weighted by particle
+              mass, using cloud-in-cell deposit.
+              """
+              pos = data[ptype, "particle_position"]
+              # Get back into density
+              pden = data[ptype, 'particle_mass']
+              top = data.deposit(pos, [data[(ptype, fname)]*pden], method=method)
+              bottom = data.deposit(pos, [pden], method=method)
+              top[bottom == 0] = 0.0
+              bnz = bottom.nonzero()
+              top[bnz] /= bottom[bnz]
+              d = data.ds.arr(top, input_units=units)
+              return d
+  
+
+('deposit', 'io_cic_velocity_z')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm} / \rm{s}`
+   * Particle Type: False
+
+**Field Source**
+
+.. code-block:: python
+
+          def _deposit_field(field, data):
+              """
+              Create a grid field for particle quantities weighted by particle
+              mass, using cloud-in-cell deposit.
+              """
+              pos = data[ptype, "particle_position"]
+              # Get back into density
+              pden = data[ptype, 'particle_mass']
+              top = data.deposit(pos, [data[(ptype, fname)]*pden], method=method)
+              bottom = data.deposit(pos, [pden], method=method)
+              top[bottom == 0] = 0.0
+              bnz = bottom.nonzero()
+              top[bnz] /= bottom[bnz]
+              d = data.ds.arr(top, input_units=units)
+              return d
+  
+
+('deposit', 'io_count')
+^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Particle Type: False
+
+**Field Source**
+
+.. code-block:: python
+
+      def particle_count(field, data):
+          pos = data[ptype, coord_name]
+          d = data.deposit(pos, method = "count")
+          d = data.ds.arr(d, input_units = "cm**-3")
+          return data.apply_units(d, field.units)
+  
+
+('deposit', 'io_density')
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\frac{\rm{g}}{\rm{cm}^{3}}`
+   * Particle Type: False
+
+**Field Source**
+
+.. code-block:: python
+
+      def particle_density(field, data):
+          pos = data[ptype, coord_name]
+          mass = data[ptype, mass_name]
+          pos.convert_to_units("code_length")
+          mass.convert_to_units("code_mass")
+          d = data.deposit(pos, [data[ptype, mass_name]], method = "sum")
+          d = data.ds.arr(d, "code_mass")
+          d /= data["index", "cell_volume"]
+          return d
+  
+
+('deposit', 'io_mass')
+^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{g}`
+   * Particle Type: False
+
+**Field Source**
+
+.. code-block:: python
+
+      def particle_mass(field, data):
+          pos = data[ptype, coord_name]
+          pmass = data[ptype, mass_name].in_units(field.units)
+          d = data.deposit(pos, [pmass], method = "sum")
+          return data.apply_units(d, field.units)
+  
+
+('deposit', 'io_nn_velocity_x')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm} / \rm{s}`
+   * Particle Type: False
+
+**Field Source**
+
+.. code-block:: python
+
+          def _deposit_field(field, data):
+              """
+              Create a grid field for particle quantities weighted by particle
+              mass, using cloud-in-cell deposit.
+              """
+              pos = data[ptype, "particle_position"]
+              # Get back into density
+              pden = data[ptype, 'particle_mass']
+              top = data.deposit(pos, [data[(ptype, fname)]*pden], method=method)
+              bottom = data.deposit(pos, [pden], method=method)
+              top[bottom == 0] = 0.0
+              bnz = bottom.nonzero()
+              top[bnz] /= bottom[bnz]
+              d = data.ds.arr(top, input_units=units)
+              return d
+  
+
+('deposit', 'io_nn_velocity_y')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm} / \rm{s}`
+   * Particle Type: False
+
+**Field Source**
+
+.. code-block:: python
+
+          def _deposit_field(field, data):
+              """
+              Create a grid field for particle quantities weighted by particle
+              mass, using cloud-in-cell deposit.
+              """
+              pos = data[ptype, "particle_position"]
+              # Get back into density
+              pden = data[ptype, 'particle_mass']
+              top = data.deposit(pos, [data[(ptype, fname)]*pden], method=method)
+              bottom = data.deposit(pos, [pden], method=method)
+              top[bottom == 0] = 0.0
+              bnz = bottom.nonzero()
+              top[bnz] /= bottom[bnz]
+              d = data.ds.arr(top, input_units=units)
+              return d
+  
+
+('deposit', 'io_nn_velocity_z')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm} / \rm{s}`
+   * Particle Type: False
+
+**Field Source**
+
+.. code-block:: python
+
+          def _deposit_field(field, data):
+              """
+              Create a grid field for particle quantities weighted by particle
+              mass, using cloud-in-cell deposit.
+              """
+              pos = data[ptype, "particle_position"]
+              # Get back into density
+              pden = data[ptype, 'particle_mass']
+              top = data.deposit(pos, [data[(ptype, fname)]*pden], method=method)
+              bottom = data.deposit(pos, [pden], method=method)
+              top[bottom == 0] = 0.0
+              bnz = bottom.nonzero()
+              top[bnz] /= bottom[bnz]
+              d = data.ds.arr(top, input_units=units)
+              return d
+  
+
 ('gas', 'H_nuclei_density')
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
@@ -2475,6 +3515,578 @@
           return data.apply_units(arr, field.units)
   
 
+('io', 'mesh_id')
+^^^^^^^^^^^^^^^^^
+
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+      def particle_mesh_ids(field, data):
+          pos = data[ptype, coord_name]
+          ids = np.zeros(pos.shape[0], dtype="float64") - 1
+          # This is float64 in name only.  It will be properly cast inside the
+          # deposit operation.
+          #_ids = ids.view("float64")
+          data.deposit(pos, [ids], method = "mesh_id")
+          return data.apply_units(ids, "")
+  
+
+('io', 'particle_angular_momentum')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm}^{2} \cdot \rm{g} / \rm{s}`
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+      def _particle_angular_momentum(field, data):
+          return data[ptype, "particle_mass"] \
+              * data[ptype, "particle_specific_angular_momentum"]
+  
+
+('io', 'particle_angular_momentum_magnitude')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm}^{2} \cdot \rm{g} / \rm{s}`
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+      def _magnitude(field, data):
+          fn = field_components[0]
+          mag = data[fn] * data[fn]
+          for idim in range(1, registry.ds.dimensionality):
+              fn = field_components[idim]
+              mag += data[fn] * data[fn]
+          return np.sqrt(mag)
+  
+
+('io', 'particle_angular_momentum_x')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm}^{2} \cdot \rm{g} / \rm{s}`
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+      def _particle_angular_momentum_x(field, data):
+          return data[ptype, "particle_mass"] * \
+                 data[ptype, "particle_specific_angular_momentum_x"]
+  
+
+('io', 'particle_angular_momentum_y')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm}^{2} \cdot \rm{g} / \rm{s}`
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+      def _particle_angular_momentum_y(field, data):
+          return data[ptype, "particle_mass"] * \
+                 data[ptype, "particle_specific_angular_momentum_y"]
+  
+
+('io', 'particle_angular_momentum_z')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm}^{2} \cdot \rm{g} / \rm{s}`
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+      def _particle_angular_momentum_z(field, data):
+          return data[ptype, "particle_mass"] * \
+                 data[ptype, "particle_specific_angular_momentum_z"]
+  
+
+('io', 'particle_mass')
+^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{g}`
+   * Particle Type: True
+
+**Field Source**
+
+No source available.
+
+('io', 'particle_ones')
+^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+      def particle_ones(field, data):
+          v = np.ones(data[ptype, mass_name].shape, dtype="float64")
+          return data.apply_units(v, field.units)
+  
+
+('io', 'particle_position')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{code}~\rm{length}`
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+          def particle_vectors(field, data):
+              v = [data[_ptype, name].in_units(field.units)
+                    for name in names]
+              c = np.column_stack(v)
+              return data.apply_units(c, field.units)
+  
+
+('io', 'particle_position_x')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{code}~\rm{length}`
+   * Particle Type: True
+
+**Field Source**
+
+No source available.
+
+('io', 'particle_position_y')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{code}~\rm{length}`
+   * Particle Type: True
+
+**Field Source**
+
+No source available.
+
+('io', 'particle_position_z')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{code}~\rm{length}`
+   * Particle Type: True
+
+**Field Source**
+
+No source available.
+
+('io', 'particle_radial_velocity')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm} / \rm{s}`
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+      def _particle_spherical_velocity_radius(field, data):
+          """
+          Radial component of the particles' velocity vectors in spherical coords
+          based on the provided field parameters for 'normal', 'center', and 
+          'bulk_velocity', 
+          """
+          normal = data.get_field_parameter('normal')
+          center = data.get_field_parameter('center')
+          bv = data.get_field_parameter("bulk_velocity")
+          pos = spos
+          pos = YTArray([data[ptype, pos % ax] for ax in "xyz"])
+          vel = svel
+          vel = YTArray([data[ptype, vel % ax] for ax in "xyz"])
+          theta = get_sph_theta(pos, center)
+          phi = get_sph_phi(pos, center)
+          pos = pos - np.reshape(center, (3, 1))
+          vel = vel - np.reshape(bv, (3, 1))
+          sphr = get_sph_r_component(vel, theta, phi, normal)
+          return sphr
+  
+
+('io', 'particle_radius')
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm}`
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+      def _particle_radius(field, data):
+          return get_radius(data, "particle_position_")
+  
+
+('io', 'particle_specific_angular_momentum')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm}^{2} / \rm{s}`
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+      def _particle_specific_angular_momentum(field, data):
+          """
+          Calculate the angular of a particle velocity.  Returns a vector for each
+          particle.
+          """
+          if data.has_field_parameter("bulk_velocity"):
+              bv = data.get_field_parameter("bulk_velocity")
+          else: bv = np.zeros(3, dtype=np.float64)
+          xv = data[ptype, svel % 'x'] - bv[0]
+          yv = data[ptype, svel % 'y'] - bv[1]
+          zv = data[ptype, svel % 'z'] - bv[2]
+          center = data.get_field_parameter('center')
+          coords = YTArray([data[ptype, spos % 'x'],
+                             data[ptype, spos % 'y'],
+                             data[ptype, spos % 'z']], dtype=np.float64)
+          new_shape = tuple([3] + [1]*(len(coords.shape)-1))
+          r_vec = coords - np.reshape(center,new_shape)
+          v_vec = YTArray([xv,yv,zv], dtype=np.float64)
+          return np.cross(r_vec, v_vec, axis=0)
+  
+
+('io', 'particle_specific_angular_momentum_magnitude')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm}^{2} / \rm{s}`
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+      def _magnitude(field, data):
+          fn = field_components[0]
+          mag = data[fn] * data[fn]
+          for idim in range(1, registry.ds.dimensionality):
+              fn = field_components[idim]
+              mag += data[fn] * data[fn]
+          return np.sqrt(mag)
+  
+
+('io', 'particle_specific_angular_momentum_x')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm}^{2} / \rm{s}`
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+      def _particle_specific_angular_momentum_x(field, data):
+          if data.has_field_parameter("bulk_velocity"):
+              bv = data.get_field_parameter("bulk_velocity")
+          else: bv = np.zeros(3, dtype=np.float64)
+          center = data.get_field_parameter('center')
+          y = data[ptype, spos % "y"] - center[1]
+          z = data[ptype, spos % "z"] - center[2]
+          yv = data[ptype, svel % "y"] - bv[1]
+          zv = data[ptype, svel % "z"] - bv[2]
+          return yv*z - zv*y
+  
+
+('io', 'particle_specific_angular_momentum_y')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm}^{2} / \rm{s}`
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+      def _particle_specific_angular_momentum_y(field, data):
+          if data.has_field_parameter("bulk_velocity"):
+              bv = data.get_field_parameter("bulk_velocity")
+          else: bv = np.zeros(3, dtype=np.float64)
+          center = data.get_field_parameter('center')
+          x = data[ptype, spos % "x"] - center[0]
+          z = data[ptype, spos % "z"] - center[2]
+          xv = data[ptype, svel % "x"] - bv[0]
+          zv = data[ptype, svel % "z"] - bv[2]
+          return -(xv*z - zv*x)
+  
+
+('io', 'particle_specific_angular_momentum_z')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm}^{2} / \rm{s}`
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+      def _particle_specific_angular_momentum_z(field, data):
+          if data.has_field_parameter("bulk_velocity"):
+              bv = data.get_field_parameter("bulk_velocity")
+          else: bv = np.zeros(3, dtype=np.float64)
+          center = data.get_field_parameter('center')
+          x = data[ptype, spos % "x"] - center[0]
+          y = data[ptype, spos % "y"] - center[1]
+          xv = data[ptype, svel % "x"] - bv[0]
+          yv = data[ptype, svel % "y"] - bv[1]
+          return xv*y - yv*x
+  
+
+('io', 'particle_spherical_position_phi')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm}`
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+      def _particle_spherical_position_phi(field, data):
+          """
+          Phi component of the particles' position vectors in spherical coords
+          on the provided field parameters for 'normal', 'center', and 
+          'bulk_velocity', 
+          """
+          normal = data.get_field_parameter('normal')
+          center = data.get_field_parameter('center')
+          bv = data.get_field_parameter("bulk_velocity")
+          pos = spos
+          pos = YTArray([data[ptype, pos % ax] for ax in "xyz"])
+          theta = get_sph_theta(pos, center)
+          phi = get_sph_phi(pos, center)
+          pos = pos - np.reshape(center, (3, 1))
+          sphp = get_sph_phi_component(pos, phi, normal)
+          return sphp
+  
+
+('io', 'particle_spherical_position_radius')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm}`
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+      def _particle_spherical_position_radius(field, data):
+          """
+          Radial component of the particles' position vectors in spherical coords
+          on the provided field parameters for 'normal', 'center', and 
+          'bulk_velocity', 
+          """
+          normal = data.get_field_parameter('normal')
+          center = data.get_field_parameter('center')
+          bv = data.get_field_parameter("bulk_velocity")
+          pos = spos
+          pos = YTArray([data[ptype, pos % ax] for ax in "xyz"])
+          theta = get_sph_theta(pos, center)
+          phi = get_sph_phi(pos, center)
+          pos = pos - np.reshape(center, (3, 1))
+          sphr = get_sph_r_component(pos, theta, phi, normal)
+          return sphr
+  
+
+('io', 'particle_spherical_position_theta')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm}`
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+      def _particle_spherical_position_theta(field, data):
+          """
+          Theta component of the particles' position vectors in spherical coords
+          on the provided field parameters for 'normal', 'center', and 
+          'bulk_velocity', 
+          """
+          normal = data.get_field_parameter('normal')
+          center = data.get_field_parameter('center')
+          bv = data.get_field_parameter("bulk_velocity")
+          pos = spos
+          pos = YTArray([data[ptype, pos % ax] for ax in "xyz"])
+          theta = get_sph_theta(pos, center)
+          phi = get_sph_phi(pos, center)
+          pos = pos - np.reshape(center, (3, 1))
+          spht = get_sph_theta_component(pos, theta, phi, normal)
+          return spht
+  
+
+('io', 'particle_spherical_velocity_phi')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm} / \rm{s}`
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+      def _particle_spherical_velocity_phi(field, data):
+          """
+          Phi component of the particles' velocity vectors in spherical coords
+          based on the provided field parameters for 'normal', 'center', and 
+          'bulk_velocity', 
+          """
+          normal = data.get_field_parameter('normal')
+          center = data.get_field_parameter('center')
+          bv = data.get_field_parameter("bulk_velocity")
+          pos = YTArray([data[ptype, spos % ax] for ax in "xyz"])
+          vel = YTArray([data[ptype, svel % ax] for ax in "xyz"])
+          theta = get_sph_theta(pos, center)
+          phi = get_sph_phi(pos, center)
+          pos = pos - np.reshape(center, (3, 1))
+          vel = vel - np.reshape(bv, (3, 1))
+          sphp = get_sph_phi_component(vel, phi, normal)
+          return sphp
+  
+
+('io', 'particle_spherical_velocity_radius')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm} / \rm{s}`
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+      def _particle_spherical_velocity_radius(field, data):
+          """
+          Radial component of the particles' velocity vectors in spherical coords
+          based on the provided field parameters for 'normal', 'center', and 
+          'bulk_velocity', 
+          """
+          normal = data.get_field_parameter('normal')
+          center = data.get_field_parameter('center')
+          bv = data.get_field_parameter("bulk_velocity")
+          pos = spos
+          pos = YTArray([data[ptype, pos % ax] for ax in "xyz"])
+          vel = svel
+          vel = YTArray([data[ptype, vel % ax] for ax in "xyz"])
+          theta = get_sph_theta(pos, center)
+          phi = get_sph_phi(pos, center)
+          pos = pos - np.reshape(center, (3, 1))
+          vel = vel - np.reshape(bv, (3, 1))
+          sphr = get_sph_r_component(vel, theta, phi, normal)
+          return sphr
+  
+
+('io', 'particle_spherical_velocity_theta')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm} / \rm{s}`
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+      def _particle_spherical_velocity_theta(field, data):
+          """
+          Theta component of the particles' velocity vectors in spherical coords
+          based on the provided field parameters for 'normal', 'center', and 
+          'bulk_velocity', 
+          """
+          normal = data.get_field_parameter('normal')
+          center = data.get_field_parameter('center')
+          bv = data.get_field_parameter("bulk_velocity")
+          pos = spos
+          pos = YTArray([data[ptype, pos % ax] for ax in "xyz"])
+          vel = svel
+          vel = YTArray([data[ptype, vel % ax] for ax in "xyz"])
+          theta = get_sph_theta(pos, center)
+          phi = get_sph_phi(pos, center)
+          pos = pos - np.reshape(center, (3, 1))
+          vel = vel - np.reshape(bv, (3, 1))
+          spht = get_sph_theta_component(vel, theta, phi, normal)
+          return spht
+  
+
+('io', 'particle_velocity')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm} / \rm{s}`
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+          def particle_vectors(field, data):
+              v = [data[_ptype, name].in_units(field.units)
+                    for name in names]
+              c = np.column_stack(v)
+              return data.apply_units(c, field.units)
+  
+
+('io', 'particle_velocity_magnitude')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm} / \rm{s}`
+   * Particle Type: True
+
+**Field Source**
+
+.. code-block:: python
+
+      def _particle_velocity_magnitude(field, data):
+          """ M{|v|} """
+          bulk_velocity = data.get_field_parameter("bulk_velocity")
+          if bulk_velocity is None:
+              bulk_velocity = np.zeros(3)
+          return np.sqrt((data[ptype, svel % 'x'] - bulk_velocity[0])**2
+                       + (data[ptype, svel % 'y'] - bulk_velocity[1])**2
+                       + (data[ptype, svel % 'z'] - bulk_velocity[2])**2 )
+  
+
+('io', 'particle_velocity_x')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm} / \rm{s}`
+   * Particle Type: True
+
+**Field Source**
+
+No source available.
+
+('io', 'particle_velocity_y')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm} / \rm{s}`
+   * Particle Type: True
+
+**Field Source**
+
+No source available.
+
+('io', 'particle_velocity_z')
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   * Units: :math:`\rm{cm} / \rm{s}`
+   * Particle Type: True
+
+**Field Source**
+
+No source available.
+
 .. _ART_specific_fields:
 
 ART-Specific Fields


https://bitbucket.org/yt_analysis/yt/commits/46d4d84d797d/
Changeset:   46d4d84d797d
Branch:      yt
User:        ngoldbaum
Date:        2014-12-02 20:26:54+00:00
Summary:     Merging with tip.
Affected #:  6 files

diff -r a2191caf624a1dbfa7bd6bb37c32be14952de0ac -r 46d4d84d797dae33eca0e966c3cc1fbb1a20443c yt/fields/field_functions.py
--- a/yt/fields/field_functions.py
+++ b/yt/fields/field_functions.py
@@ -55,8 +55,19 @@
     for i in range(coords.shape[0]):
         if not data.ds.periodicity[i]: continue
         coords[i, ...] -= le[i]
-        coords[i, ...] = np.min([np.abs(np.mod(coords[i, ...],  dw[i])),
-                                 np.abs(np.mod(coords[i, ...], -dw[i]))],
-                                 axis=0)
-        coords[i, ...] += le[i]
+        #figure out which measure is less
+        mins = np.argmin([np.abs(np.mod(coords[i, ...],  dw[i])),
+                         np.abs(np.mod(coords[i, ...], -dw[i]))],
+                         axis=0)
+        temp_coords = np.mod(coords[i, ...], dw[i])
+
+        #Where second measure is better, updating temporary coords
+        ii = mins==1
+        temp_coords[ii] = np.mod(coords[i, ...], -dw[i])[ii]
+
+        # Putting the temporary coords into the actual storage
+        coords[i, ...] = temp_coords
+
+        coords[i, ...] + le[i]
+
     return coords

diff -r a2191caf624a1dbfa7bd6bb37c32be14952de0ac -r 46d4d84d797dae33eca0e966c3cc1fbb1a20443c yt/frontends/boxlib/fields.py
--- a/yt/frontends/boxlib/fields.py
+++ b/yt/frontends/boxlib/fields.py
@@ -147,27 +147,27 @@
         ("rho_e", ("erg/cm**3", [], r"\rho e")),
         ("Temp", ("K", ["temperature"], r"T")),
         ("grav_x", ("cm/s**2", [],
-                    r"\left(\mathbf{g} \cdot \mathbf{e}\right)_x")),
+                    r"\mathbf{g} \cdot \mathbf{e}_x")),
         ("grav_y", ("cm/s**2", [],
-                    r"\left(\mathbf{g} \cdot \mathbf{e}\right)_y")),
+                    r"\mathbf{g} \cdot \mathbf{e}_y")),
         ("grav_z", ("cm/s**2", [],
-                    r"\left(\mathbf{g} \cdot \mathbf{e}\right)_z")),
+                    r"\mathbf{g} \cdot \mathbf{e}_z")),
         ("pressure", ("dyne/cm**2", [], r"p")),
-        ("kineng", ("erg/cm**3", [], r"\frac{1}{2}\rho|\mathbf{U}|**2")),
+        ("kineng", ("erg/cm**3", ["kinetic_energy"], r"\frac{1}{2}\rho|\mathbf{U}|^2")),
         ("soundspeed", ("cm/s", ["sound_speed"], "Sound Speed")),
         ("Machnumber", ("", ["mach_number"], "Mach Number")),
         ("entropy", ("erg/(g*K)", ["entropy"], r"s")),
         ("magvort", ("1/s", ["vorticity_magnitude"],
                      r"|\nabla \times \mathbf{U}|")),
-        ("divu", ("1/s", [], r"\nabla \cdot \mathbf{U}")),
+        ("divu", ("1/s", ["velocity_divergence"], r"\nabla \cdot \mathbf{U}")),
         ("eint_E", ("erg/g", [], r"e(E,U)")),
         ("eint_e", ("erg/g", [], r"e")),
         ("magvel", ("cm/s", ["velocity_magnitude"], r"|\mathbf{U}|")),
-        ("radvel", ("cm/s", [],
-                    r"\left(\mathbf{U} \cdot \mathbf{e}\right)_r")),
-        ("magmom", ("g*cm/s", ["momentum_magnitude"], r"|\rho \mathbf{U}|")),
+        ("radvel", ("cm/s", ["radial_velocity"],
+                    r"\mathbf{U} \cdot \mathbf{e}_r")),
+        ("magmom", ("g*cm/s", ["momentum_magnitude"], r"\rho |\mathbf{U}|")),
         ("maggrav", ("cm/s**2", [], r"|\mathbf{g}|")),
-        ("phiGrav", ("erg/g", [], r"|\Phi|")),
+        ("phiGrav", ("erg/g", [], r"\Phi")),
     )
 
     def setup_fluid_fields(self):
@@ -201,30 +201,31 @@
         ("z_vel", ("cm/s", ["velocity_z"], r"\tilde{w}")),
         ("magvel", ("cm/s", ["velocity_magnitude"],
                     r"|\tilde{\mathbf{U}} + w_0 \mathbf{e}_r|")),
-        ("radial_velocity", ("cm/s", [], r"U\cdot e_r")),
+        ("radial_velocity", ("cm/s", ["radial_velocity"], r"\mathbf{U}\cdot \mathbf{e}_r")),
+        ("circum_velocity", ("cm/s", ["tangential_velocity"], r"U - U\cdot e_r")),
         ("tfromp", ("K", [], "T(\\rho,p,X)")),
         ("tfromh", ("K", [], "T(\\rho,h,X)")),
-        ("Machnumber", ("", ["mach_number"], "Mach Number")),
+        ("Machnumber", ("", ["mach_number"], "M")),
         ("S", ("1/s", [], None)),
-        ("ad_excess", ("", [], "Adiabatic Excess")),
+        ("ad_excess", ("", [], r"\nabla - \nabla_\mathrm{ad}")),
         ("deltaT", ("", [], "[T(\\rho,h,X) - T(\\rho,p,X)]/T(\\rho,h,X)")),
         ("deltagamma", ("", [], "\Gamma_1 - \overline{\Gamma_1}")),
         ("deltap", ("", [], "[p(\\rho,h,X) - p_0] / p_0")),
-        ("divw0", ("1/s", [], "\nabla \cdot \mathbf{w}_0")),
+        ("divw0", ("1/s", [], r"\nabla \cdot \mathbf{w}_0")),
         # Specific entropy
         ("entropy", ("erg/(g*K)", ["entropy"], "s")),
         ("entropypert", ("", [], "[s - \overline{s}] / \overline{s}")),
-        ("enucdot", ("erg/(g*s)", [], "\dot{\epsilon_{nuc}}")),
+        ("enucdot", ("erg/(g*s)", [], "\dot{\epsilon}_{nuc}")),
         ("Hext", ("erg/(g*s)", [], "H_{ext}")),
         # Perturbational pressure grad
-        ("gpi_x", ("dyne/cm**3", [], "\left(\nabla\pi\right)_x")),
-        ("gpi_y", ("dyne/cm**3", [], "\left(\nabla\pi\right)_y")),
-        ("gpi_z", ("dyne/cm**3", [], "\left(\nabla\pi\right)_z")),
+        ("gpi_x", ("dyne/cm**3", [], r"\left(\nabla\pi\right)_x")),
+        ("gpi_y", ("dyne/cm**3", [], r"\left(\nabla\pi\right)_y")),
+        ("gpi_z", ("dyne/cm**3", [], r"\left(\nabla\pi\right)_z")),
         ("h", ("erg/g", [], "h")),
         ("h0", ("erg/g", [], "h_0")),
         # Momentum cannot be computed because we need to include base and
         # full state.
-        ("momentum", ("g*cm/s", ["momentum_magnitude"], None)),
+        ("momentum", ("g*cm/s", ["momentum_magnitude"], r"\rho |\mathbf{U}|")),
         ("p0", ("erg/cm**3", [], "p_0")),
         ("p0pluspi", ("erg/cm**3", [], "p_0 + \pi")),
         ("pi", ("erg/cm**3", [], "\pi")),
@@ -240,7 +241,7 @@
         ("sponge", ("", [], None)),
         ("tpert", ("K", [], "T - \overline{T}")),
         # Again, base state -- so we can't compute ourselves.
-        ("vort", ("1/s", ["vorticity_magnitude"], "|\nabla\times\tilde{U}|")),
+        ("vort", ("1/s", ["vorticity_magnitude"], r"|\nabla\times\tilde{U}|")),
         # Base state
         ("w0_x", ("cm/s", [], "(w_0)_x")),
         ("w0_y", ("cm/s", [], "(w_0)_y")),

diff -r a2191caf624a1dbfa7bd6bb37c32be14952de0ac -r 46d4d84d797dae33eca0e966c3cc1fbb1a20443c yt/frontends/gadget/data_structures.py
--- a/yt/frontends/gadget/data_structures.py
+++ b/yt/frontends/gadget/data_structures.py
@@ -178,7 +178,9 @@
                        hvals["Time"], self.current_time)
         self.parameters = hvals
 
-        prefix = self.parameter_filename.split(".", 1)[0]
+        prefix = os.path.abspath(
+            os.path.join(os.path.dirname(self.parameter_filename),
+                         os.path.basename(self.parameter_filename).split(".", 1)[0]))
 
         if hvals["NumFiles"] > 1:
             self.filename_template = "%s.%%(num)s%s" % (prefix, self._suffix)
@@ -309,7 +311,10 @@
         self.cosmological_simulation = 1
         self.periodicity = (True, True, True)
 
-        prefix = os.path.abspath(self.parameter_filename.split(".", 1)[0])
+        prefix = os.path.abspath(
+            os.path.join(os.path.dirname(self.parameter_filename),
+                         os.path.basename(self.parameter_filename).split(".", 1)[0]))
+
         suffix = self.parameter_filename.rsplit(".", 1)[-1]
         self.filename_template = "%s.%%(num)i.%s" % (prefix, suffix)
         self.file_count = self.parameters["NumFilesPerSnapshot"]

diff -r a2191caf624a1dbfa7bd6bb37c32be14952de0ac -r 46d4d84d797dae33eca0e966c3cc1fbb1a20443c yt/frontends/owls/fields.py
--- a/yt/frontends/owls/fields.py
+++ b/yt/frontends/owls/fields.py
@@ -17,6 +17,8 @@
 import os
 import numpy as np
 
+from yt.funcs import \
+    mylog, download_file
 from yt.config import ytcfg
 from yt.fields.particle_fields import \
     add_volume_weighted_smoothed_field

diff -r a2191caf624a1dbfa7bd6bb37c32be14952de0ac -r 46d4d84d797dae33eca0e966c3cc1fbb1a20443c yt/frontends/owls/io.py
--- a/yt/frontends/owls/io.py
+++ b/yt/frontends/owls/io.py
@@ -16,6 +16,7 @@
 
 import h5py
 import numpy as np
+import os
 
 from yt.utilities.io_handler import \
     BaseIOHandler

Repository URL: https://bitbucket.org/yt_analysis/yt/

--

This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.



More information about the yt-svn mailing list