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

commits-noreply at bitbucket.org commits-noreply at bitbucket.org
Tue Oct 25 12:59:26 PDT 2016


3 new commits in yt:

https://bitbucket.org/yt_analysis/yt/commits/aadcd1583576/
Changeset:   aadcd1583576
Branch:      yt
User:        xarthisius
Date:        2016-10-19 15:23:03+00:00
Summary:     [flash] Access a vlen dataset only by the names of its components. Closes #1291
Affected #:  2 files

diff -r 34a95afc68047ab60ddf5a20816dfb80291cd99b -r aadcd158357617dab2608a5667d367a77eab4be0 yt/frontends/flash/data_structures.py
--- a/yt/frontends/flash/data_structures.py
+++ b/yt/frontends/flash/data_structures.py
@@ -80,7 +80,11 @@
             self.num_grids = self.dataset._find_parameter(
                 "integer", "globalnumblocks", True)
         except KeyError:
-            self.num_grids = self._handle["/simulation parameters"][0][0]
+            try:
+                self.num_grids = \
+                    self._handle['simulation parameters']['total blocks'][0]
+            except KeyError:
+                self.num_grids = self._handle["/simulation parameters"][0][0]
         
     def _parse_index(self):
         f = self._handle # shortcut
@@ -317,11 +321,14 @@
                 if hn not in self._handle:
                     continue
                 if hn is 'simulation parameters':
-                    zipover = zip(self._handle[hn].dtype.names,self._handle[hn][0])
+                    zipover = ((name, self._handle[hn][name][0])
+                               for name in self._handle[hn].dtype.names)
                 else:
                     zipover = zip(self._handle[hn][:,'name'],self._handle[hn][:,'value'])
                 for varname, val in zipover:
                     vn = varname.strip()
+                    if hasattr(vn, 'decode'):
+                        vn = vn.decode("ascii", "ignore")
                     if hn.startswith("string"):
                         pval = val.strip()
                     else:
@@ -331,7 +338,7 @@
                                    "scalar of the same name".format(hn[:-1],vn))
                     if hasattr(pval, 'decode'):
                         pval = pval.decode("ascii", "ignore")
-                    self.parameters[vn.decode("ascii", "ignore")] = pval
+                    self.parameters[vn] = pval
         
         # Determine block size
         try:

diff -r 34a95afc68047ab60ddf5a20816dfb80291cd99b -r aadcd158357617dab2608a5667d367a77eab4be0 yt/frontends/flash/tests/test_outputs.py
--- a/yt/frontends/flash/tests/test_outputs.py
+++ b/yt/frontends/flash/tests/test_outputs.py
@@ -13,6 +13,7 @@
 # The full license is in the file COPYING.txt, distributed with this software.
 #-----------------------------------------------------------------------------
 
+import numpy as np
 from yt.testing import \
     assert_equal, \
     requires_file, \
@@ -75,6 +76,21 @@
 def test_FLASHParticleDataset():
     assert isinstance(data_dir_load(fid_1to3_b1), FLASHParticleDataset)
 
+
+dens_turb_mag = 'DensTurbMag/DensTurbMag_hdf5_plt_cnt_0015'
+ at requires_file(dens_turb_mag)
+def test_FLASH25_dataset():
+    ds = data_dir_load(dens_turb_mag)
+    dd = ds.all_data()
+    assert_equal(ds.parameters['time'], 751000000000.0)
+    assert_equal(ds.domain_dimensions, np.array([8, 8, 8]))
+    assert_equal(ds.domain_left_edge, 
+                 ds.arr([-2e18, -2e18, -2e18], 'code_length'))
+
+    assert_equal(ds.index.num_grids, len(list(dd.blocks)))
+    dd['density']
+
+
 @requires_ds(fid_1to3_b1, big_data=True)
 def test_fid_1to3_b1():
     ds = data_dir_load(fid_1to3_b1)


https://bitbucket.org/yt_analysis/yt/commits/88ac55d94fe5/
Changeset:   88ac55d94fe5
Branch:      yt
User:        xarthisius
Date:        2016-10-19 16:11:10+00:00
Summary:     fix num_grids assertation
Affected #:  1 file

diff -r aadcd158357617dab2608a5667d367a77eab4be0 -r 88ac55d94fe5e7cdd1956762fdd142992b52741d yt/frontends/flash/tests/test_outputs.py
--- a/yt/frontends/flash/tests/test_outputs.py
+++ b/yt/frontends/flash/tests/test_outputs.py
@@ -81,13 +81,13 @@
 @requires_file(dens_turb_mag)
 def test_FLASH25_dataset():
     ds = data_dir_load(dens_turb_mag)
-    dd = ds.all_data()
     assert_equal(ds.parameters['time'], 751000000000.0)
     assert_equal(ds.domain_dimensions, np.array([8, 8, 8]))
     assert_equal(ds.domain_left_edge, 
                  ds.arr([-2e18, -2e18, -2e18], 'code_length'))
 
-    assert_equal(ds.index.num_grids, len(list(dd.blocks)))
+    assert_equal(ds.index.num_grids, 73)
+    dd = ds.all_data()
     dd['density']
 
 


https://bitbucket.org/yt_analysis/yt/commits/fa5a73a7a64f/
Changeset:   fa5a73a7a64f
Branch:      yt
User:        ngoldbaum
Date:        2016-10-25 19:58:58+00:00
Summary:     Merged in xarthisius/yt (pull request #2421)

[flash] Access a vlen dataset only by the name of its components.
Affected #:  2 files

diff -r 0f30249e590736a2068d6786c64f4fe453f49687 -r fa5a73a7a64f8780a534fa6fb7511faeab08cbc6 yt/frontends/flash/data_structures.py
--- a/yt/frontends/flash/data_structures.py
+++ b/yt/frontends/flash/data_structures.py
@@ -80,7 +80,11 @@
             self.num_grids = self.dataset._find_parameter(
                 "integer", "globalnumblocks", True)
         except KeyError:
-            self.num_grids = self._handle["/simulation parameters"][0][0]
+            try:
+                self.num_grids = \
+                    self._handle['simulation parameters']['total blocks'][0]
+            except KeyError:
+                self.num_grids = self._handle["/simulation parameters"][0][0]
         
     def _parse_index(self):
         f = self._handle # shortcut
@@ -317,11 +321,14 @@
                 if hn not in self._handle:
                     continue
                 if hn is 'simulation parameters':
-                    zipover = zip(self._handle[hn].dtype.names,self._handle[hn][0])
+                    zipover = ((name, self._handle[hn][name][0])
+                               for name in self._handle[hn].dtype.names)
                 else:
                     zipover = zip(self._handle[hn][:,'name'],self._handle[hn][:,'value'])
                 for varname, val in zipover:
                     vn = varname.strip()
+                    if hasattr(vn, 'decode'):
+                        vn = vn.decode("ascii", "ignore")
                     if hn.startswith("string"):
                         pval = val.strip()
                     else:
@@ -331,7 +338,7 @@
                                    "scalar of the same name".format(hn[:-1],vn))
                     if hasattr(pval, 'decode'):
                         pval = pval.decode("ascii", "ignore")
-                    self.parameters[vn.decode("ascii", "ignore")] = pval
+                    self.parameters[vn] = pval
         
         # Determine block size
         try:

diff -r 0f30249e590736a2068d6786c64f4fe453f49687 -r fa5a73a7a64f8780a534fa6fb7511faeab08cbc6 yt/frontends/flash/tests/test_outputs.py
--- a/yt/frontends/flash/tests/test_outputs.py
+++ b/yt/frontends/flash/tests/test_outputs.py
@@ -13,6 +13,7 @@
 # The full license is in the file COPYING.txt, distributed with this software.
 #-----------------------------------------------------------------------------
 
+import numpy as np
 from yt.testing import \
     assert_equal, \
     requires_file, \
@@ -75,6 +76,21 @@
 def test_FLASHParticleDataset():
     assert isinstance(data_dir_load(fid_1to3_b1), FLASHParticleDataset)
 
+
+dens_turb_mag = 'DensTurbMag/DensTurbMag_hdf5_plt_cnt_0015'
+ at requires_file(dens_turb_mag)
+def test_FLASH25_dataset():
+    ds = data_dir_load(dens_turb_mag)
+    assert_equal(ds.parameters['time'], 751000000000.0)
+    assert_equal(ds.domain_dimensions, np.array([8, 8, 8]))
+    assert_equal(ds.domain_left_edge, 
+                 ds.arr([-2e18, -2e18, -2e18], 'code_length'))
+
+    assert_equal(ds.index.num_grids, 73)
+    dd = ds.all_data()
+    dd['density']
+
+
 @requires_ds(fid_1to3_b1, big_data=True)
 def test_fid_1to3_b1():
     ds = data_dir_load(fid_1to3_b1)

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