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

commits-noreply at bitbucket.org commits-noreply at bitbucket.org
Mon Nov 23 11:06:58 PST 2015


4 new commits in yt:

https://bitbucket.org/yt_analysis/yt/commits/b4637be8ea3c/
Changeset:   b4637be8ea3c
Branch:      yt
User:        chummels
Date:        2015-11-19 04:42:23+00:00
Summary:     Adding checks to assure ARTIO creates a metal_density field from existing metal fields.
Affected #:  1 file

diff -r 90f900be7a36433fdd48941cae4bc91066ff5c76 -r b4637be8ea3c489aae5347f0e0f1d2c73d940cf9 yt/frontends/artio/fields.py
--- a/yt/frontends/artio/fields.py
+++ b/yt/frontends/artio/fields.py
@@ -99,14 +99,27 @@
         self.add_field(("gas", "temperature"), function = _temperature,
                        units = "K")
 
-        def _metal_density(field, data):
-            tr = data["metal_ia_density"]
-            tr += data["metal_ii_density"]
-            return tr
-        self.add_field(("gas","metal_density"),
-                       function=_metal_density,
-                       units="g/cm**3",
-                       take_log=True)
+        # Create a metal_density field as sum of existing metal fields. 
+        flag1 = ("artio", "HVAR_METAL_DENSITY_Ia") in self.field_list
+        flag2 = ("artio", "HVAR_METAL_DENSITY_II") in self.field_list
+        if flag1 or flag2:
+            if flag1 and flag2:
+                def _metal_density(field, data):
+                    tr = data["metal_ia_density"]
+                    tr += data["metal_ii_density"]
+                    return tr
+            elif flag1 and not flag2:
+                def _metal_density(field, data):
+                    tr = data["metal_ia_density"]
+                    return tr
+            else:
+                def _metal_density(field, data):
+                    tr = data["metal_ii_density"]
+                    return tr
+            self.add_field(("gas","metal_density"),
+                           function=_metal_density,
+                           units="g/cm**3",
+                           take_log=True)
 
     def setup_particle_fields(self, ptype):
         if ptype == "STAR":


https://bitbucket.org/yt_analysis/yt/commits/fd24a828fe91/
Changeset:   fd24a828fe91
Branch:      yt
User:        chummels
Date:        2015-11-19 05:14:54+00:00
Summary:     Making field addition perform better and not squash existing array data.
Affected #:  1 file

diff -r b4637be8ea3c489aae5347f0e0f1d2c73d940cf9 -r fd24a828fe91f2faa8523d4eddb02ee428686697 yt/frontends/artio/fields.py
--- a/yt/frontends/artio/fields.py
+++ b/yt/frontends/artio/fields.py
@@ -105,8 +105,8 @@
         if flag1 or flag2:
             if flag1 and flag2:
                 def _metal_density(field, data):
-                    tr = data["metal_ia_density"]
-                    tr += data["metal_ii_density"]
+                    tr = data['metal_ia_density'].copy()
+                    np.add(tr, data["metal_ii_density"], out=tr)
                     return tr
             elif flag1 and not flag2:
                 def _metal_density(field, data):


https://bitbucket.org/yt_analysis/yt/commits/7e563cd4e709/
Changeset:   7e563cd4e709
Branch:      yt
User:        chummels
Date:        2015-11-19 15:27:11+00:00
Summary:     Adding numpy import.
Affected #:  1 file

diff -r fd24a828fe91f2faa8523d4eddb02ee428686697 -r 7e563cd4e709d9b3a240e9817b0134f2af664fca yt/frontends/artio/fields.py
--- a/yt/frontends/artio/fields.py
+++ b/yt/frontends/artio/fields.py
@@ -20,10 +20,10 @@
     FieldDetector
 from yt.units.yt_array import \
     YTArray
-
 from yt.utilities.physical_constants import \
     boltzmann_constant_cgs, \
     amu_cgs
+import numpy as np
 
 b_units = "code_magnetic"
 ra_units = "code_length / code_time**2"


https://bitbucket.org/yt_analysis/yt/commits/25030d46ee18/
Changeset:   25030d46ee18
Branch:      yt
User:        bwkeller
Date:        2015-11-23 19:06:48+00:00
Summary:     Merged in chummels/yt (pull request #1876)

Adding checks to assure ARTIO creates a metal_density field from existing metal fields.
Affected #:  1 file

diff -r c453499f3b1a652cd481e179094e53c6fcdbd3cb -r 25030d46ee18f7000c1d1199fbd78a678c9c3b99 yt/frontends/artio/fields.py
--- a/yt/frontends/artio/fields.py
+++ b/yt/frontends/artio/fields.py
@@ -20,10 +20,10 @@
     FieldDetector
 from yt.units.yt_array import \
     YTArray
-
 from yt.utilities.physical_constants import \
     boltzmann_constant_cgs, \
     amu_cgs
+import numpy as np
 
 b_units = "code_magnetic"
 ra_units = "code_length / code_time**2"
@@ -99,14 +99,27 @@
         self.add_field(("gas", "temperature"), function = _temperature,
                        units = "K")
 
-        def _metal_density(field, data):
-            tr = data["metal_ia_density"]
-            tr += data["metal_ii_density"]
-            return tr
-        self.add_field(("gas","metal_density"),
-                       function=_metal_density,
-                       units="g/cm**3",
-                       take_log=True)
+        # Create a metal_density field as sum of existing metal fields. 
+        flag1 = ("artio", "HVAR_METAL_DENSITY_Ia") in self.field_list
+        flag2 = ("artio", "HVAR_METAL_DENSITY_II") in self.field_list
+        if flag1 or flag2:
+            if flag1 and flag2:
+                def _metal_density(field, data):
+                    tr = data['metal_ia_density'].copy()
+                    np.add(tr, data["metal_ii_density"], out=tr)
+                    return tr
+            elif flag1 and not flag2:
+                def _metal_density(field, data):
+                    tr = data["metal_ia_density"]
+                    return tr
+            else:
+                def _metal_density(field, data):
+                    tr = data["metal_ii_density"]
+                    return tr
+            self.add_field(("gas","metal_density"),
+                           function=_metal_density,
+                           units="g/cm**3",
+                           take_log=True)
 
     def setup_particle_fields(self, ptype):
         if ptype == "STAR":

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