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

commits-noreply at bitbucket.org commits-noreply at bitbucket.org
Sun Apr 13 10:20:38 PDT 2014


7 new commits in yt:

https://bitbucket.org/yt_analysis/yt/commits/aa96f64edbb7/
Changeset:   aa96f64edbb7
Branch:      yt-3.0
User:        MatthewTurk
Date:        2014-04-11 16:31:05
Summary:     Beginning refactor of Maestro frontend.
Affected #:  2 files

diff -r 794b2beb2c48272fed16de10daa07975309b950f -r aa96f64edbb7003c681c6421c48c4b7d58bcf8e7 yt/frontends/boxlib/data_structures.py
--- a/yt/frontends/boxlib/data_structures.py
+++ b/yt/frontends/boxlib/data_structures.py
@@ -45,7 +45,9 @@
     cm_per_mpc
 
 from .fields import \
-    BoxlibFieldInfo
+    BoxlibFieldInfo, \
+    MaestroFieldInfo
+
 from .io import IOHandlerBoxlib
 # This is what we use to find scientific notation that might include d's
 # instead of e's.
@@ -457,21 +459,7 @@
             elif param == "castro.use_comoving":
                 vals = self.cosmological_simulation = int(vals)
             else:
-                # Now we guess some things about the parameter and its type
-                v = vals.split()[0] # Just in case there are multiple; we'll go
-                                    # back afterward to using vals.
-                try:
-                    float(v.upper().replace("D","E"))
-                except:
-                    pcast = str
-                else:
-                    syms = (".", "D+", "D-", "E+", "E-")
-                    if any(sym in v.upper() for sym in syms for v in vals.split()):
-                        pcast = float
-                    else:
-                        pcast = int
-                vals = [pcast(v) for v in vals.split()]
-                if len(vals) == 1: vals = vals[0]
+                vals = _guess_pcast(vals)
             self.parameters[param] = vals
 
         if getattr(self, "cosmological_simulation", 0) == 1:
@@ -759,6 +747,8 @@
 
 class MaestroDataset(BoxlibDataset):
 
+    _field_info_class = MaestroFieldInfo
+
     @classmethod
     def _is_valid(cls, *args, **kwargs):
         # fill our args
@@ -775,6 +765,19 @@
         if any("maestro" in line.lower() for line in lines): return True
         return False
 
+    def _parse_parameter_file(self):
+        super(MaestroDataset, self)._parse_parameter_file()
+        jobinfo_filename = os.path.join(self.output_dir, "job_info")
+        line = ""
+        with open(jobinfo_filename, "r") as f:
+            while not line.startswith(" [*] indicates overridden default"):
+                line = f.next()
+            for line in f:
+                p, v = (_.strip() for _ in line[4:].split("="))
+                if len(v) == 0:
+                    self.parameters[p] = ""
+                else:
+                    self.parameters[p] = _guess_pcast(v)
 
 class NyxHierarchy(BoxlibHierarchy):
 
@@ -871,3 +874,23 @@
         self.length_unit = YTQuantity(1.0 / (1 + self.current_redshift),
                                       "mpc")
         self.velocity_unit = self.length_unit / self.time_unit
+
+def _guess_pcast(vals):
+    # Now we guess some things about the parameter and its type
+    v = vals.split()[0] # Just in case there are multiple; we'll go
+                        # back afterward to using vals.
+    try:
+        float(v.upper().replace("D","E"))
+    except:
+        pcast = str
+        if v in ("F", "T"):
+            pcast = bool
+    else:
+        syms = (".", "D+", "D-", "E+", "E-")
+        if any(sym in v.upper() for sym in syms for v in vals.split()):
+            pcast = float
+        else:
+            pcast = int
+    vals = [pcast(v) for v in vals.split()]
+    if len(vals) == 1: vals = vals[0]
+    return vals

diff -r 794b2beb2c48272fed16de10daa07975309b950f -r aa96f64edbb7003c681c6421c48c4b7d58bcf8e7 yt/frontends/boxlib/fields.py
--- a/yt/frontends/boxlib/fields.py
+++ b/yt/frontends/boxlib/fields.py
@@ -108,3 +108,15 @@
             self.add_field(("gas", "velocity_%s" % ax),
                            function = _get_vel(ax),
                            units = "cm/s")
+
+class MaestroFieldInfo(BoxlibFieldInfo):
+
+    def __init__(self, *args, **kwargs):
+        maestro_fields = (
+            ("x_vel", ("cm/s", ["velocity_x"], None)),
+            ("y_vel", ("cm/s", ["velocity_y"], None)),
+            ("z_vel", ("cm/s", ["velocity_z"], None)),
+            ("magvel", ("cm/s", ["velocity_magnitude"], None)),
+        )
+        self.known_other_fields += maestro_fields
+        super(MaestroFieldInfo, self).__init__(*args, **kwargs)


https://bitbucket.org/yt_analysis/yt/commits/a18b8da7ccf2/
Changeset:   a18b8da7ccf2
Branch:      yt-3.0
User:        MatthewTurk
Date:        2014-04-11 16:31:24
Summary:     Adding ability to specify override for derived fields; False by default.
Affected #:  1 file

diff -r aa96f64edbb7003c681c6421c48c4b7d58bcf8e7 -r a18b8da7ccf2e6046a854c04c387d0969adc76bd yt/fields/field_info_container.py
--- a/yt/fields/field_info_container.py
+++ b/yt/fields/field_info_container.py
@@ -161,6 +161,8 @@
         :class:`~yt.data_objects.api.DerivedField`.
 
         """
+        override = kwargs.get("force_override", False)
+        if not override and name in self: return
         if function is None:
             def create_function(function):
                 self[name] = DerivedField(name, function, **kwargs)


https://bitbucket.org/yt_analysis/yt/commits/bddc4252ebe1/
Changeset:   bddc4252ebe1
Branch:      yt-3.0
User:        MatthewTurk
Date:        2014-04-11 16:35:35
Summary:     Adding correct temperature for Maestro.
Affected #:  1 file

diff -r a18b8da7ccf2e6046a854c04c387d0969adc76bd -r bddc4252ebe12f4675402566c94b492fbf533f3d yt/frontends/boxlib/fields.py
--- a/yt/frontends/boxlib/fields.py
+++ b/yt/frontends/boxlib/fields.py
@@ -117,6 +117,16 @@
             ("y_vel", ("cm/s", ["velocity_y"], None)),
             ("z_vel", ("cm/s", ["velocity_z"], None)),
             ("magvel", ("cm/s", ["velocity_magnitude"], None)),
+            ("tfromp", ("K", [], None)),
+            ("tfromh", ("K", [], None)),
         )
         self.known_other_fields += maestro_fields
         super(MaestroFieldInfo, self).__init__(*args, **kwargs)
+
+    def setup_fluid_fields(self):
+        if self.pf.parameters["use_tfromp"]:
+            self.alias(("gas", "temperature"), ("boxlib", "tfromp"),
+                       units = "K")
+        else:
+            self.alias(("gas", "temperature"), ("boxlib", "tfromh"),
+                       units = "K")


https://bitbucket.org/yt_analysis/yt/commits/fb3ac99c0045/
Changeset:   fb3ac99c0045
Branch:      yt-3.0
User:        MatthewTurk
Date:        2014-04-11 17:17:47
Summary:     Continuing Maestro refactor, adding more fields, units.
Affected #:  1 file

diff -r bddc4252ebe12f4675402566c94b492fbf533f3d -r fb3ac99c004552fcb27135f199daf5884a595e9c yt/frontends/boxlib/fields.py
--- a/yt/frontends/boxlib/fields.py
+++ b/yt/frontends/boxlib/fields.py
@@ -14,11 +14,16 @@
 #-----------------------------------------------------------------------------
 
 import numpy as np
+import string
 
 from yt.utilities.physical_constants import \
     mh, boltzmann_constant_cgs, amu_cgs
 from yt.fields.field_info_container import \
     FieldInfoContainer
+from yt.fields.species_fields import \
+    add_species_field_by_fraction
+from yt.utilities.chemical_formulas import \
+    ChemicalFormula
 
 rho_units = "code_mass / code_length**3"
 mom_units = "code_mass / (code_time * code_length**2)"
@@ -109,24 +114,89 @@
                            function = _get_vel(ax),
                            units = "cm/s")
 
-class MaestroFieldInfo(BoxlibFieldInfo):
+class MaestroFieldInfo(FieldInfoContainer):
 
-    def __init__(self, *args, **kwargs):
-        maestro_fields = (
-            ("x_vel", ("cm/s", ["velocity_x"], None)),
-            ("y_vel", ("cm/s", ["velocity_y"], None)),
-            ("z_vel", ("cm/s", ["velocity_z"], None)),
-            ("magvel", ("cm/s", ["velocity_magnitude"], None)),
-            ("tfromp", ("K", [], None)),
-            ("tfromh", ("K", [], None)),
-        )
-        self.known_other_fields += maestro_fields
-        super(MaestroFieldInfo, self).__init__(*args, **kwargs)
+    known_other_fields = (
+        ("density", ("g/cm**3", ["density"], None)),
+        ("x_vel", ("cm/s", ["velocity_x"], None)),
+        ("y_vel", ("cm/s", ["velocity_y"], None)),
+        ("z_vel", ("cm/s", ["velocity_z"], None)),
+        ("magvel", ("cm/s", ["velocity_magnitude"], None)),
+        ("tfromp", ("K", [], None)),
+        ("tfromh", ("K", [], None)),
+        ("Machnumber", ("", ["mach_number"], None)),
+        ("S", ("1/s", [], None)),
+        ("ad_excess", ("", [], "Adiabatic Excess")),
+        ("deltaT", ("", [], None)),
+        ("deltagamma", ("", [], None)),
+        ("deltap", ("", [], None)),
+        ("divw0", ("1/s", [], None)),
+        # Specific entropy
+        ("entropy", ("erg/(g*K)", ["entropy"], None)),
+        ("entropypert", ("", [], None)),
+        ("enucdot", ("ergs/(g*s)", [], None)),
+        ("gpi_x", ("dyne/cm**3", [], None)), # Perturbational pressure grad
+        ("gpi_y", ("dyne/cm**3", [], None)),
+        ("gpi_z", ("dyne/cm**3", [], None)),
+        ("h", ("erg/g", [], "Specific Enthalpy")),
+        ("h0", ("erg/g", [], "Base State Specific Enthalpy")),
+        # Momentum cannot be computed because we need to include base and
+        # full state.
+        ("momentum", ("g*cm/s", ["momentum_magnitude"], None)),
+        ("p0", ("erg/cm**3", [], None)),
+        ("p0pluspi", ("erg/cm**3", [], None)),
+        ("pi", ("erg/cm**3", [], None)),
+        ("pioverp0", ("", [], None)),
+        # Base state density
+        ("rho0", ("g/cm**3", [], None)),
+        ("rhoh", ("erg/cm**3", ["enthalpy_density"], None)),
+        # Base state enthalpy density
+        ("rhoh0", ("erg/cm**3", [], None)),
+        ("rhohpert", ("erg/cm**3", [], None)),
+        ("rhopert", ("g/cm**3", [], None)),
+        ("soundspeed", ("cm/s", ["sound_speed"], None)),
+        ("sponge", ("", [], None)),
+        ("tpert", ("K", [], None)),
+        # Again, base state -- so we can't compute ourselves.
+        ("vort", ("1/s", ["vorticity_magnitude"], None)),
+        # Base state
+        ("w0_x", ("cm/s", [], None)),
+        ("w0_y", ("cm/s", [], None)),
+        ("w0_z", ("cm/s", [], None)),
+    )
 
     def setup_fluid_fields(self):
+        # Add omegadots, units of 1/s
         if self.pf.parameters["use_tfromp"]:
             self.alias(("gas", "temperature"), ("boxlib", "tfromp"),
                        units = "K")
         else:
             self.alias(("gas", "temperature"), ("boxlib", "tfromh"),
                        units = "K")
+
+        for _, field in self.pf.field_list:
+            if field.startswith("X("):
+                # We have a fraction
+                nice_name = field[2:-1]
+                self.alias(("gas", "%s_fraction" % nice_name), ("boxlib", field),
+                           units = "")
+                def _create_density_func(field_name):
+                    def _func(field, data):
+                        return data[field_name] * data["gas", "density"]
+                    return _func
+                func = _create_density_func(("gas", "%s_fraction" % nice_name))
+                self.add_field(name = ("gas", "%s_density" % nice_name),
+                               function = func,
+                               units = "g/cm**3")
+                # We know this will either have one letter, or two.
+                if field[3] in string.letters:
+                    element, weight = field[2:4], field[4:-1]
+                else:
+                    element, weight = field[2:3], field[3:-1]
+                weight = int(weight)
+                # Here we can, later, add number density.
+            if field.startswith("omegadot("):
+                nice_name = field[9:-1]
+                self.add_output_field(("boxlib", field), units = "1/s")
+                self.alias(("gas", "%s_creation_rate" % nice_name),
+                           ("boxlib", field), units = "1/s")


https://bitbucket.org/yt_analysis/yt/commits/e0d513a7dca2/
Changeset:   e0d513a7dca2
Branch:      yt-3.0
User:        MatthewTurk
Date:        2014-04-11 17:35:14
Summary:     Fixing domain annotation for volume rendering.
Affected #:  1 file

diff -r fb3ac99c004552fcb27135f199daf5884a595e9c -r e0d513a7dca2241371c3012a3e52c28240a16f45 yt/visualization/volume_rendering/camera.py
--- a/yt/visualization/volume_rendering/camera.py
+++ b/yt/visualization/volume_rendering/camera.py
@@ -294,8 +294,9 @@
         order += [0, 4, 1, 5, 2, 6, 3, 7]
         
         vertices = np.empty([corners.shape[2]*2*12,3])
+        vertices = self.pf.arr(vertices, "code_length")
         for i in xrange(3):
-            vertices[:,i] = corners[order,i,:].ravel(order='F')
+            vertices[:,i] = corners[order,i,...].ravel(order='F')
 
         px, py, dz = self.project_to_plane(vertices, res=im.shape[:2])
         
@@ -477,8 +478,9 @@
         order += [0, 4, 1, 5, 2, 6, 3, 7]
         
         vertices = np.empty([24,3])
+        vertices = self.pf.arr(vertices, "code_length")
         for i in xrange(3):
-            vertices[:,i] = corners[order,i,:].ravel(order='F')
+            vertices[:,i] = corners[order,i,...].ravel(order='F')
 
         px, py, dz = self.project_to_plane(vertices, res=im.shape[:2])
        


https://bitbucket.org/yt_analysis/yt/commits/63fe502c29fc/
Changeset:   63fe502c29fc
Branch:      yt-3.0
User:        MatthewTurk
Date:        2014-04-11 19:46:18
Summary:     We want this to be pop, not get.
Affected #:  1 file

diff -r e0d513a7dca2241371c3012a3e52c28240a16f45 -r 63fe502c29fc122a660d5835ad2a9fc149185df5 yt/fields/field_info_container.py
--- a/yt/fields/field_info_container.py
+++ b/yt/fields/field_info_container.py
@@ -161,7 +161,7 @@
         :class:`~yt.data_objects.api.DerivedField`.
 
         """
-        override = kwargs.get("force_override", False)
+        override = kwargs.pop("force_override", False)
         if not override and name in self: return
         if function is None:
             def create_function(function):


https://bitbucket.org/yt_analysis/yt/commits/87fe2e111e03/
Changeset:   87fe2e111e03
Branch:      yt-3.0
User:        MatthewTurk
Date:        2014-04-13 19:20:30
Summary:     Merged in MatthewTurk/yt/yt-3.0 (pull request #810)

Updating Maestro frontend, with two quick fixes
Affected #:  4 files

diff -r cc6b873a4471e049b6fef33146e92615c72f1243 -r 87fe2e111e03663c6da6948be519c390ebd831d8 yt/fields/field_info_container.py
--- a/yt/fields/field_info_container.py
+++ b/yt/fields/field_info_container.py
@@ -161,6 +161,8 @@
         :class:`~yt.data_objects.api.DerivedField`.
 
         """
+        override = kwargs.pop("force_override", False)
+        if not override and name in self: return
         if function is None:
             def create_function(function):
                 self[name] = DerivedField(name, function, **kwargs)

diff -r cc6b873a4471e049b6fef33146e92615c72f1243 -r 87fe2e111e03663c6da6948be519c390ebd831d8 yt/frontends/boxlib/data_structures.py
--- a/yt/frontends/boxlib/data_structures.py
+++ b/yt/frontends/boxlib/data_structures.py
@@ -45,7 +45,9 @@
     cm_per_mpc
 
 from .fields import \
-    BoxlibFieldInfo
+    BoxlibFieldInfo, \
+    MaestroFieldInfo
+
 from .io import IOHandlerBoxlib
 # This is what we use to find scientific notation that might include d's
 # instead of e's.
@@ -457,21 +459,7 @@
             elif param == "castro.use_comoving":
                 vals = self.cosmological_simulation = int(vals)
             else:
-                # Now we guess some things about the parameter and its type
-                v = vals.split()[0] # Just in case there are multiple; we'll go
-                                    # back afterward to using vals.
-                try:
-                    float(v.upper().replace("D","E"))
-                except:
-                    pcast = str
-                else:
-                    syms = (".", "D+", "D-", "E+", "E-")
-                    if any(sym in v.upper() for sym in syms for v in vals.split()):
-                        pcast = float
-                    else:
-                        pcast = int
-                vals = [pcast(v) for v in vals.split()]
-                if len(vals) == 1: vals = vals[0]
+                vals = _guess_pcast(vals)
             self.parameters[param] = vals
 
         if getattr(self, "cosmological_simulation", 0) == 1:
@@ -759,6 +747,8 @@
 
 class MaestroDataset(BoxlibDataset):
 
+    _field_info_class = MaestroFieldInfo
+
     @classmethod
     def _is_valid(cls, *args, **kwargs):
         # fill our args
@@ -775,6 +765,19 @@
         if any("maestro" in line.lower() for line in lines): return True
         return False
 
+    def _parse_parameter_file(self):
+        super(MaestroDataset, self)._parse_parameter_file()
+        jobinfo_filename = os.path.join(self.output_dir, "job_info")
+        line = ""
+        with open(jobinfo_filename, "r") as f:
+            while not line.startswith(" [*] indicates overridden default"):
+                line = f.next()
+            for line in f:
+                p, v = (_.strip() for _ in line[4:].split("="))
+                if len(v) == 0:
+                    self.parameters[p] = ""
+                else:
+                    self.parameters[p] = _guess_pcast(v)
 
 class NyxHierarchy(BoxlibHierarchy):
 
@@ -871,3 +874,23 @@
         self.length_unit = YTQuantity(1.0 / (1 + self.current_redshift),
                                       "mpc")
         self.velocity_unit = self.length_unit / self.time_unit
+
+def _guess_pcast(vals):
+    # Now we guess some things about the parameter and its type
+    v = vals.split()[0] # Just in case there are multiple; we'll go
+                        # back afterward to using vals.
+    try:
+        float(v.upper().replace("D","E"))
+    except:
+        pcast = str
+        if v in ("F", "T"):
+            pcast = bool
+    else:
+        syms = (".", "D+", "D-", "E+", "E-")
+        if any(sym in v.upper() for sym in syms for v in vals.split()):
+            pcast = float
+        else:
+            pcast = int
+    vals = [pcast(v) for v in vals.split()]
+    if len(vals) == 1: vals = vals[0]
+    return vals

diff -r cc6b873a4471e049b6fef33146e92615c72f1243 -r 87fe2e111e03663c6da6948be519c390ebd831d8 yt/frontends/boxlib/fields.py
--- a/yt/frontends/boxlib/fields.py
+++ b/yt/frontends/boxlib/fields.py
@@ -14,11 +14,16 @@
 #-----------------------------------------------------------------------------
 
 import numpy as np
+import string
 
 from yt.utilities.physical_constants import \
     mh, boltzmann_constant_cgs, amu_cgs
 from yt.fields.field_info_container import \
     FieldInfoContainer
+from yt.fields.species_fields import \
+    add_species_field_by_fraction
+from yt.utilities.chemical_formulas import \
+    ChemicalFormula
 
 rho_units = "code_mass / code_length**3"
 mom_units = "code_mass / (code_time * code_length**2)"
@@ -108,3 +113,90 @@
             self.add_field(("gas", "velocity_%s" % ax),
                            function = _get_vel(ax),
                            units = "cm/s")
+
+class MaestroFieldInfo(FieldInfoContainer):
+
+    known_other_fields = (
+        ("density", ("g/cm**3", ["density"], None)),
+        ("x_vel", ("cm/s", ["velocity_x"], None)),
+        ("y_vel", ("cm/s", ["velocity_y"], None)),
+        ("z_vel", ("cm/s", ["velocity_z"], None)),
+        ("magvel", ("cm/s", ["velocity_magnitude"], None)),
+        ("tfromp", ("K", [], None)),
+        ("tfromh", ("K", [], None)),
+        ("Machnumber", ("", ["mach_number"], None)),
+        ("S", ("1/s", [], None)),
+        ("ad_excess", ("", [], "Adiabatic Excess")),
+        ("deltaT", ("", [], None)),
+        ("deltagamma", ("", [], None)),
+        ("deltap", ("", [], None)),
+        ("divw0", ("1/s", [], None)),
+        # Specific entropy
+        ("entropy", ("erg/(g*K)", ["entropy"], None)),
+        ("entropypert", ("", [], None)),
+        ("enucdot", ("ergs/(g*s)", [], None)),
+        ("gpi_x", ("dyne/cm**3", [], None)), # Perturbational pressure grad
+        ("gpi_y", ("dyne/cm**3", [], None)),
+        ("gpi_z", ("dyne/cm**3", [], None)),
+        ("h", ("erg/g", [], "Specific Enthalpy")),
+        ("h0", ("erg/g", [], "Base State Specific Enthalpy")),
+        # Momentum cannot be computed because we need to include base and
+        # full state.
+        ("momentum", ("g*cm/s", ["momentum_magnitude"], None)),
+        ("p0", ("erg/cm**3", [], None)),
+        ("p0pluspi", ("erg/cm**3", [], None)),
+        ("pi", ("erg/cm**3", [], None)),
+        ("pioverp0", ("", [], None)),
+        # Base state density
+        ("rho0", ("g/cm**3", [], None)),
+        ("rhoh", ("erg/cm**3", ["enthalpy_density"], None)),
+        # Base state enthalpy density
+        ("rhoh0", ("erg/cm**3", [], None)),
+        ("rhohpert", ("erg/cm**3", [], None)),
+        ("rhopert", ("g/cm**3", [], None)),
+        ("soundspeed", ("cm/s", ["sound_speed"], None)),
+        ("sponge", ("", [], None)),
+        ("tpert", ("K", [], None)),
+        # Again, base state -- so we can't compute ourselves.
+        ("vort", ("1/s", ["vorticity_magnitude"], None)),
+        # Base state
+        ("w0_x", ("cm/s", [], None)),
+        ("w0_y", ("cm/s", [], None)),
+        ("w0_z", ("cm/s", [], None)),
+    )
+
+    def setup_fluid_fields(self):
+        # Add omegadots, units of 1/s
+        if self.pf.parameters["use_tfromp"]:
+            self.alias(("gas", "temperature"), ("boxlib", "tfromp"),
+                       units = "K")
+        else:
+            self.alias(("gas", "temperature"), ("boxlib", "tfromh"),
+                       units = "K")
+
+        for _, field in self.pf.field_list:
+            if field.startswith("X("):
+                # We have a fraction
+                nice_name = field[2:-1]
+                self.alias(("gas", "%s_fraction" % nice_name), ("boxlib", field),
+                           units = "")
+                def _create_density_func(field_name):
+                    def _func(field, data):
+                        return data[field_name] * data["gas", "density"]
+                    return _func
+                func = _create_density_func(("gas", "%s_fraction" % nice_name))
+                self.add_field(name = ("gas", "%s_density" % nice_name),
+                               function = func,
+                               units = "g/cm**3")
+                # We know this will either have one letter, or two.
+                if field[3] in string.letters:
+                    element, weight = field[2:4], field[4:-1]
+                else:
+                    element, weight = field[2:3], field[3:-1]
+                weight = int(weight)
+                # Here we can, later, add number density.
+            if field.startswith("omegadot("):
+                nice_name = field[9:-1]
+                self.add_output_field(("boxlib", field), units = "1/s")
+                self.alias(("gas", "%s_creation_rate" % nice_name),
+                           ("boxlib", field), units = "1/s")

diff -r cc6b873a4471e049b6fef33146e92615c72f1243 -r 87fe2e111e03663c6da6948be519c390ebd831d8 yt/visualization/volume_rendering/camera.py
--- a/yt/visualization/volume_rendering/camera.py
+++ b/yt/visualization/volume_rendering/camera.py
@@ -294,8 +294,9 @@
         order += [0, 4, 1, 5, 2, 6, 3, 7]
         
         vertices = np.empty([corners.shape[2]*2*12,3])
+        vertices = self.pf.arr(vertices, "code_length")
         for i in xrange(3):
-            vertices[:,i] = corners[order,i,:].ravel(order='F')
+            vertices[:,i] = corners[order,i,...].ravel(order='F')
 
         px, py, dz = self.project_to_plane(vertices, res=im.shape[:2])
         
@@ -477,8 +478,9 @@
         order += [0, 4, 1, 5, 2, 6, 3, 7]
         
         vertices = np.empty([24,3])
+        vertices = self.pf.arr(vertices, "code_length")
         for i in xrange(3):
-            vertices[:,i] = corners[order,i,:].ravel(order='F')
+            vertices[:,i] = corners[order,i,...].ravel(order='F')
 
         px, py, dz = self.project_to_plane(vertices, res=im.shape[:2])

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