[yt-svn] commit/yt: 3 new changesets
Bitbucket
commits-noreply at bitbucket.org
Mon Nov 12 11:35:01 PST 2012
3 new commits in yt:
https://bitbucket.org/yt_analysis/yt/changeset/7fc56f31b20f/
changeset: 7fc56f31b20f
branch: yt
user: MatthewTurk
date: 2012-11-05 20:05:22
summary: Two major changes:
* Fixing issue with answer testing.
* Adding tests for smoothed covering grids
* Fixing issue that arose with smoothed covering grids, wherein generated
fields were never being created in the smoothed covering grid but always
interpolated down. This resulted in potentially-incorrect masses and
volumes in smoothed covering grids, when crossing level boundaries. I think
this is a very uncommon use case.
affected #: 3 files
diff -r 8e2150167715b63ab413670576ea18a08e9f72bd -r 7fc56f31b20f6520605b33754047758f9a5baccd yt/data_objects/data_containers.py
--- a/yt/data_objects/data_containers.py
+++ b/yt/data_objects/data_containers.py
@@ -3887,10 +3887,21 @@
self._get_list_of_grids()
# We don't generate coordinates here.
if field == None:
- fields_to_get = self.fields[:]
+ fields = self.fields[:]
else:
- fields_to_get = ensure_list(field)
- fields_to_get = [f for f in fields_to_get if f not in self.field_data]
+ fields = ensure_list(field)
+ fields_to_get = []
+ for field in fields:
+ if self.field_data.has_key(field): continue
+ if field not in self.hierarchy.field_list:
+ try:
+ #print "Generating", field
+ self._generate_field(field)
+ continue
+ except NeedsOriginalGrid, ngt_exception:
+ pass
+ fields_to_get.append(field)
+ if len(fields_to_get) == 0: return
# Note that, thanks to some trickery, we have different dimensions
# on the field than one might think from looking at the dx and the
# L/R edges.
diff -r 8e2150167715b63ab413670576ea18a08e9f72bd -r 7fc56f31b20f6520605b33754047758f9a5baccd yt/data_objects/tests/test_covering_grid.py
--- a/yt/data_objects/tests/test_covering_grid.py
+++ b/yt/data_objects/tests/test_covering_grid.py
@@ -25,3 +25,24 @@
dn*di[1]+i:dn*(di[1]+dd[1])+i:dn,
dn*di[2]+i:dn*(di[2]+dd[2])+i:dn]
yield assert_equal, f, g["Density"]
+
+def test_smoothed_covering_grid():
+ # We decompose in different ways
+ for level in [0, 1, 2]:
+ for nprocs in [1, 2, 4, 8]:
+ pf = fake_random_pf(16, nprocs = nprocs)
+ dn = pf.refine_by**level
+ cg = pf.h.smoothed_covering_grid(level, [0.0, 0.0, 0.0],
+ dn * pf.domain_dimensions)
+ assert_equal( cg["Ones"].max(), 1.0)
+ assert_equal( cg["Ones"].min(), 1.0)
+ assert_equal( cg["CellVolume"].sum(), pf.domain_width.prod())
+ for g in pf.h.grids:
+ if level != g.Level: continue
+ di = g.get_global_startindex()
+ dd = g.ActiveDimensions
+ for i in range(dn):
+ f = cg["Density"][dn*di[0]+i:dn*(di[0]+dd[0])+i:dn,
+ dn*di[1]+i:dn*(di[1]+dd[1])+i:dn,
+ dn*di[2]+i:dn*(di[2]+dd[2])+i:dn]
+ yield assert_equal, f, g["Density"]
diff -r 8e2150167715b63ab413670576ea18a08e9f72bd -r 7fc56f31b20f6520605b33754047758f9a5baccd yt/utilities/answer_testing/framework.py
--- a/yt/utilities/answer_testing/framework.py
+++ b/yt/utilities/answer_testing/framework.py
@@ -148,6 +148,7 @@
class AnswerTestingTest(object):
reference_storage = None
+ result_storage = None
def __init__(self, pf_fn):
self.pf = data_dir_load(pf_fn)
https://bitbucket.org/yt_analysis/yt/changeset/a0b098682138/
changeset: a0b098682138
branch: yt
user: MatthewTurk
date: 2012-11-08 20:33:20
summary: Merging
affected #: 3 files
diff -r b9d9aca343f57f3708754a0043c0a4f4f3b72b35 -r a0b0986821382e3baf2a4199fca1425fbc166f0d yt/data_objects/data_containers.py
--- a/yt/data_objects/data_containers.py
+++ b/yt/data_objects/data_containers.py
@@ -3887,10 +3887,21 @@
self._get_list_of_grids()
# We don't generate coordinates here.
if field == None:
- fields_to_get = self.fields[:]
+ fields = self.fields[:]
else:
- fields_to_get = ensure_list(field)
- fields_to_get = [f for f in fields_to_get if f not in self.field_data]
+ fields = ensure_list(field)
+ fields_to_get = []
+ for field in fields:
+ if self.field_data.has_key(field): continue
+ if field not in self.hierarchy.field_list:
+ try:
+ #print "Generating", field
+ self._generate_field(field)
+ continue
+ except NeedsOriginalGrid, ngt_exception:
+ pass
+ fields_to_get.append(field)
+ if len(fields_to_get) == 0: return
# Note that, thanks to some trickery, we have different dimensions
# on the field than one might think from looking at the dx and the
# L/R edges.
diff -r b9d9aca343f57f3708754a0043c0a4f4f3b72b35 -r a0b0986821382e3baf2a4199fca1425fbc166f0d yt/data_objects/tests/test_covering_grid.py
--- a/yt/data_objects/tests/test_covering_grid.py
+++ b/yt/data_objects/tests/test_covering_grid.py
@@ -25,3 +25,24 @@
dn*di[1]+i:dn*(di[1]+dd[1])+i:dn,
dn*di[2]+i:dn*(di[2]+dd[2])+i:dn]
yield assert_equal, f, g["Density"]
+
+def test_smoothed_covering_grid():
+ # We decompose in different ways
+ for level in [0, 1, 2]:
+ for nprocs in [1, 2, 4, 8]:
+ pf = fake_random_pf(16, nprocs = nprocs)
+ dn = pf.refine_by**level
+ cg = pf.h.smoothed_covering_grid(level, [0.0, 0.0, 0.0],
+ dn * pf.domain_dimensions)
+ assert_equal( cg["Ones"].max(), 1.0)
+ assert_equal( cg["Ones"].min(), 1.0)
+ assert_equal( cg["CellVolume"].sum(), pf.domain_width.prod())
+ for g in pf.h.grids:
+ if level != g.Level: continue
+ di = g.get_global_startindex()
+ dd = g.ActiveDimensions
+ for i in range(dn):
+ f = cg["Density"][dn*di[0]+i:dn*(di[0]+dd[0])+i:dn,
+ dn*di[1]+i:dn*(di[1]+dd[1])+i:dn,
+ dn*di[2]+i:dn*(di[2]+dd[2])+i:dn]
+ yield assert_equal, f, g["Density"]
diff -r b9d9aca343f57f3708754a0043c0a4f4f3b72b35 -r a0b0986821382e3baf2a4199fca1425fbc166f0d yt/utilities/answer_testing/framework.py
--- a/yt/utilities/answer_testing/framework.py
+++ b/yt/utilities/answer_testing/framework.py
@@ -164,6 +164,7 @@
class AnswerTestingTest(object):
reference_storage = None
+ result_storage = None
prefix = ""
def __init__(self, pf_fn):
self.pf = data_dir_load(pf_fn)
https://bitbucket.org/yt_analysis/yt/changeset/d9a5a2350dad/
changeset: d9a5a2350dad
branch: yt
user: brittonsmith
date: 2012-11-12 20:34:58
summary: Merged in MatthewTurk/yt (pull request #327)
affected #: 3 files
diff -r 5e1ba28cc582d1f7dc9de6f0c73695722d1f32bd -r d9a5a2350dad48594e24bb3ba3d1c013ce2e5edb yt/data_objects/data_containers.py
--- a/yt/data_objects/data_containers.py
+++ b/yt/data_objects/data_containers.py
@@ -3887,10 +3887,21 @@
self._get_list_of_grids()
# We don't generate coordinates here.
if field == None:
- fields_to_get = self.fields[:]
+ fields = self.fields[:]
else:
- fields_to_get = ensure_list(field)
- fields_to_get = [f for f in fields_to_get if f not in self.field_data]
+ fields = ensure_list(field)
+ fields_to_get = []
+ for field in fields:
+ if self.field_data.has_key(field): continue
+ if field not in self.hierarchy.field_list:
+ try:
+ #print "Generating", field
+ self._generate_field(field)
+ continue
+ except NeedsOriginalGrid, ngt_exception:
+ pass
+ fields_to_get.append(field)
+ if len(fields_to_get) == 0: return
# Note that, thanks to some trickery, we have different dimensions
# on the field than one might think from looking at the dx and the
# L/R edges.
diff -r 5e1ba28cc582d1f7dc9de6f0c73695722d1f32bd -r d9a5a2350dad48594e24bb3ba3d1c013ce2e5edb yt/data_objects/tests/test_covering_grid.py
--- a/yt/data_objects/tests/test_covering_grid.py
+++ b/yt/data_objects/tests/test_covering_grid.py
@@ -25,3 +25,24 @@
dn*di[1]+i:dn*(di[1]+dd[1])+i:dn,
dn*di[2]+i:dn*(di[2]+dd[2])+i:dn]
yield assert_equal, f, g["Density"]
+
+def test_smoothed_covering_grid():
+ # We decompose in different ways
+ for level in [0, 1, 2]:
+ for nprocs in [1, 2, 4, 8]:
+ pf = fake_random_pf(16, nprocs = nprocs)
+ dn = pf.refine_by**level
+ cg = pf.h.smoothed_covering_grid(level, [0.0, 0.0, 0.0],
+ dn * pf.domain_dimensions)
+ assert_equal( cg["Ones"].max(), 1.0)
+ assert_equal( cg["Ones"].min(), 1.0)
+ assert_equal( cg["CellVolume"].sum(), pf.domain_width.prod())
+ for g in pf.h.grids:
+ if level != g.Level: continue
+ di = g.get_global_startindex()
+ dd = g.ActiveDimensions
+ for i in range(dn):
+ f = cg["Density"][dn*di[0]+i:dn*(di[0]+dd[0])+i:dn,
+ dn*di[1]+i:dn*(di[1]+dd[1])+i:dn,
+ dn*di[2]+i:dn*(di[2]+dd[2])+i:dn]
+ yield assert_equal, f, g["Density"]
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