[yt-svn] commit/yt: 8 new changesets
commits-noreply at bitbucket.org
commits-noreply at bitbucket.org
Tue Jul 29 18:23:16 PDT 2014
8 new commits in yt:
https://bitbucket.org/yt_analysis/yt/commits/04100dc73835/
Changeset: 04100dc73835
Branch: yt-3.0
User: ngoldbaum
Date: 2014-07-26 00:30:53
Summary: Backing out e7bb66ea994e
Affected #: 3 files
diff -r 4540c772c86ba37c5f7a099bfc1ab3cad8a2fab7 -r 04100dc73835a2ae4b41f915ac14a329f6439d05 yt/data_objects/construction_data_containers.py
--- a/yt/data_objects/construction_data_containers.py
+++ b/yt/data_objects/construction_data_containers.py
@@ -225,10 +225,6 @@
self.weight_field = weight_field
self._set_center(center)
if data_source is None: data_source = self.ds.all_data()
- for k, v in data_source.field_parameters.items():
- if k not in self.field_parameters or \
- self._is_default_field_parameter(k):
- self.set_field_parameter(k, v)
self.data_source = data_source
self.weight_field = weight_field
self.get_data(field)
diff -r 4540c772c86ba37c5f7a099bfc1ab3cad8a2fab7 -r 04100dc73835a2ae4b41f915ac14a329f6439d05 yt/data_objects/data_containers.py
--- a/yt/data_objects/data_containers.py
+++ b/yt/data_objects/data_containers.py
@@ -107,19 +107,10 @@
self.ds.objects.append(weakref.proxy(self))
mylog.debug("Appending object to %s (type: %s)", self.ds, type(self))
self.field_data = YTFieldData()
- self._default_field_parameters = {
- 'center': self.ds.arr(np.zeros(3, dtype='float64'), 'cm'),
- 'bulk_velocity': self.ds.arr(np.zeros(3, dtype='float64'), 'cm/s'),
- 'normal': self.ds.arr(np.zeros(3, dtype='float64'), ''),
- }
- if field_parameters is None:
- self.field_parameters = {}
- else:
- self.field_parameters = field_parameters
+ if field_parameters is None: field_parameters = {}
self._set_default_field_parameters()
- for key, val in self.field_parameters.items():
- if not self._is_default_field_parameter(key):
- mylog.debug("Setting %s to %s", key, val)
+ for key, val in field_parameters.items():
+ mylog.debug("Setting %s to %s", key, val)
self.set_field_parameter(key, val)
@property
@@ -134,14 +125,13 @@
return self._index
def _set_default_field_parameters(self):
- for k,v in self._default_field_parameters.items():
- self.set_field_parameter(k,v)
-
- def _is_default_field_parameter(self, parameter):
- if parameter not in self._default_field_parameters:
- return False
- return self._default_field_parameters[parameter] is \
- self.field_parameters[parameter]
+ self.field_parameters = {}
+ self.set_field_parameter(
+ "center",self.ds.arr(np.zeros(3,dtype='float64'),'cm'))
+ self.set_field_parameter(
+ "bulk_velocity",self.ds.arr(np.zeros(3,dtype='float64'),'cm/s'))
+ self.set_field_parameter(
+ "normal",np.array([0,0,1],dtype='float64'))
def apply_units(self, arr, units):
return self.ds.arr(arr, input_units = units)
diff -r 4540c772c86ba37c5f7a099bfc1ab3cad8a2fab7 -r 04100dc73835a2ae4b41f915ac14a329f6439d05 yt/data_objects/tests/test_projection.py
--- a/yt/data_objects/tests/test_projection.py
+++ b/yt/data_objects/tests/test_projection.py
@@ -35,12 +35,6 @@
rho_tot = dd.quantities["TotalQuantity"]("density")
coords = np.mgrid[xi:xf:xn*1j, yi:yf:yn*1j, zi:zf:zn*1j]
uc = [np.unique(c) for c in coords]
- # test if projections inherit the field parameters of their data sources
- dd.set_field_parameter("bulk_velocity", np.array([0,1,2]))
- proj = ds.proj(0, "density", data_source=dd)
- yield assert_equal, dd.field_parameters["bulk_velocity"], \
- proj.field_parameters["bulk_velocity"]
-
# Some simple projection tests with single grids
for ax, an in enumerate("xyz"):
xax = ds.coordinates.x_axis[ax]
https://bitbucket.org/yt_analysis/yt/commits/c7925184bf77/
Changeset: c7925184bf77
Branch: yt-3.0
User: MatthewTurk
Date: 2014-07-29 17:12:31
Summary: Backed out changeset 04100dc73835
Affected #: 3 files
diff -r 04100dc73835a2ae4b41f915ac14a329f6439d05 -r c7925184bf77f6589a9cda00bada30ec0f4fd031 yt/data_objects/construction_data_containers.py
--- a/yt/data_objects/construction_data_containers.py
+++ b/yt/data_objects/construction_data_containers.py
@@ -225,6 +225,10 @@
self.weight_field = weight_field
self._set_center(center)
if data_source is None: data_source = self.ds.all_data()
+ for k, v in data_source.field_parameters.items():
+ if k not in self.field_parameters or \
+ self._is_default_field_parameter(k):
+ self.set_field_parameter(k, v)
self.data_source = data_source
self.weight_field = weight_field
self.get_data(field)
diff -r 04100dc73835a2ae4b41f915ac14a329f6439d05 -r c7925184bf77f6589a9cda00bada30ec0f4fd031 yt/data_objects/data_containers.py
--- a/yt/data_objects/data_containers.py
+++ b/yt/data_objects/data_containers.py
@@ -107,10 +107,19 @@
self.ds.objects.append(weakref.proxy(self))
mylog.debug("Appending object to %s (type: %s)", self.ds, type(self))
self.field_data = YTFieldData()
- if field_parameters is None: field_parameters = {}
+ self._default_field_parameters = {
+ 'center': self.ds.arr(np.zeros(3, dtype='float64'), 'cm'),
+ 'bulk_velocity': self.ds.arr(np.zeros(3, dtype='float64'), 'cm/s'),
+ 'normal': self.ds.arr(np.zeros(3, dtype='float64'), ''),
+ }
+ if field_parameters is None:
+ self.field_parameters = {}
+ else:
+ self.field_parameters = field_parameters
self._set_default_field_parameters()
- for key, val in field_parameters.items():
- mylog.debug("Setting %s to %s", key, val)
+ for key, val in self.field_parameters.items():
+ if not self._is_default_field_parameter(key):
+ mylog.debug("Setting %s to %s", key, val)
self.set_field_parameter(key, val)
@property
@@ -125,13 +134,14 @@
return self._index
def _set_default_field_parameters(self):
- self.field_parameters = {}
- self.set_field_parameter(
- "center",self.ds.arr(np.zeros(3,dtype='float64'),'cm'))
- self.set_field_parameter(
- "bulk_velocity",self.ds.arr(np.zeros(3,dtype='float64'),'cm/s'))
- self.set_field_parameter(
- "normal",np.array([0,0,1],dtype='float64'))
+ for k,v in self._default_field_parameters.items():
+ self.set_field_parameter(k,v)
+
+ def _is_default_field_parameter(self, parameter):
+ if parameter not in self._default_field_parameters:
+ return False
+ return self._default_field_parameters[parameter] is \
+ self.field_parameters[parameter]
def apply_units(self, arr, units):
return self.ds.arr(arr, input_units = units)
diff -r 04100dc73835a2ae4b41f915ac14a329f6439d05 -r c7925184bf77f6589a9cda00bada30ec0f4fd031 yt/data_objects/tests/test_projection.py
--- a/yt/data_objects/tests/test_projection.py
+++ b/yt/data_objects/tests/test_projection.py
@@ -35,6 +35,12 @@
rho_tot = dd.quantities["TotalQuantity"]("density")
coords = np.mgrid[xi:xf:xn*1j, yi:yf:yn*1j, zi:zf:zn*1j]
uc = [np.unique(c) for c in coords]
+ # test if projections inherit the field parameters of their data sources
+ dd.set_field_parameter("bulk_velocity", np.array([0,1,2]))
+ proj = ds.proj(0, "density", data_source=dd)
+ yield assert_equal, dd.field_parameters["bulk_velocity"], \
+ proj.field_parameters["bulk_velocity"]
+
# Some simple projection tests with single grids
for ax, an in enumerate("xyz"):
xax = ds.coordinates.x_axis[ax]
https://bitbucket.org/yt_analysis/yt/commits/c7f6286fe135/
Changeset: c7f6286fe135
Branch: yt-3.0
User: MatthewTurk
Date: 2014-07-29 18:07:22
Summary: Add a failing test for radial velocities.
Affected #: 1 file
diff -r c7925184bf77f6589a9cda00bada30ec0f4fd031 -r c7f6286fe135ebab08350a3b4f1248f3d0427fd6 yt/data_objects/tests/test_spheres.py
--- a/yt/data_objects/tests/test_spheres.py
+++ b/yt/data_objects/tests/test_spheres.py
@@ -1,3 +1,4 @@
+from yt.data_objects.profiles import create_profile
from yt.testing import *
import numpy as np
@@ -8,3 +9,36 @@
def test_domain_sphere():
ds = fake_random_ds(16, fields = ("density"))
sp = ds.sphere(ds.domain_center, ds.domain_width[0])
+
+ # Now we test that we can get different radial velocities based on field
+ # parameters.
+
+ # Get the first sphere
+ ds = fake_random_ds(16, fields = ("density",
+ "velocity_x", "velocity_y", "velocity_z"))
+ sp0 = ds.sphere(ds.domain_center, 0.25)
+
+ # Compute the bulk velocity from the cells in this sphere
+ bulk_vel = sp0.quantities.bulk_velocity()
+
+ # Get the second sphere
+ sp1 = ds.sphere(ds.domain_center, (0.25, "kpc"))
+
+ # Set the bulk velocity field parameter
+ sp1.set_field_parameter("bulk_velocity", bulk_vel)
+
+ # Radial profile without correction
+
+ rp0 = create_profile(sp0, 'radius', 'radial_velocity',
+ units = {'radius': 'kpc'},
+ logs = {'radius': False})
+
+ # Radial profile with correction for bulk velocity
+
+ rp1 = create_profile(sp1, 'radius', 'radial_velocity',
+ units = {'radius': 'kpc'},
+ logs = {'radius': False})
+
+ yield assert_equal, rp0.x_bins, rp1.x_bins
+ yield assert_equal, np.any(rp0["radial_velocity"] ==
+ rp1["radial_velocity"]), False
https://bitbucket.org/yt_analysis/yt/commits/fec8936f3957/
Changeset: fec8936f3957
Branch: yt-3.0
User: MatthewTurk
Date: 2014-07-30 00:22:30
Summary: Fixing issue with spheres
Affected #: 1 file
diff -r c7f6286fe135ebab08350a3b4f1248f3d0427fd6 -r fec8936f39573ab94df20a29fa2a4123dd1050b9 yt/data_objects/tests/test_spheres.py
--- a/yt/data_objects/tests/test_spheres.py
+++ b/yt/data_objects/tests/test_spheres.py
@@ -22,11 +22,14 @@
bulk_vel = sp0.quantities.bulk_velocity()
# Get the second sphere
- sp1 = ds.sphere(ds.domain_center, (0.25, "kpc"))
+ sp1 = ds.sphere(ds.domain_center, 0.25)
# Set the bulk velocity field parameter
sp1.set_field_parameter("bulk_velocity", bulk_vel)
+ yield assert_equal, np.any(sp0["radial_velocity"] ==
+ sp1["radial_velocity"]), False
+
# Radial profile without correction
rp0 = create_profile(sp0, 'radius', 'radial_velocity',
https://bitbucket.org/yt_analysis/yt/commits/da923137b371/
Changeset: da923137b371
Branch: yt-3.0
User: MatthewTurk
Date: 2014-07-30 00:36:02
Summary: Updating test
Affected #: 1 file
diff -r fec8936f39573ab94df20a29fa2a4123dd1050b9 -r da923137b371bb82337a079942da68c1c93d0ef5 yt/data_objects/tests/test_spheres.py
--- a/yt/data_objects/tests/test_spheres.py
+++ b/yt/data_objects/tests/test_spheres.py
@@ -31,17 +31,22 @@
sp1["radial_velocity"]), False
# Radial profile without correction
+ # Note we set n_bins = 8 here.
rp0 = create_profile(sp0, 'radius', 'radial_velocity',
units = {'radius': 'kpc'},
- logs = {'radius': False})
+ logs = {'radius': False},
+ n_bins = 8)
# Radial profile with correction for bulk velocity
rp1 = create_profile(sp1, 'radius', 'radial_velocity',
units = {'radius': 'kpc'},
- logs = {'radius': False})
+ logs = {'radius': False},
+ n_bins = 8)
yield assert_equal, rp0.x_bins, rp1.x_bins
- yield assert_equal, np.any(rp0["radial_velocity"] ==
- rp1["radial_velocity"]), False
+ yield assert_equal, rp0.used, rp1.used
+ yield assert_equal, np.any(rp0["radial_velocity"][rp0.used] ==
+ rp1["radial_velocity"][rp1.used]), \
+ False
https://bitbucket.org/yt_analysis/yt/commits/3ab0597d94e5/
Changeset: 3ab0597d94e5
Branch: yt-3.0
User: MatthewTurk
Date: 2014-07-30 01:16:51
Summary: Be much more careful about units in the rvec
Affected #: 1 file
diff -r da923137b371bb82337a079942da68c1c93d0ef5 -r 3ab0597d94e51cec6061acc5cf6515c1daaff10d yt/utilities/lib/misc_utilities.pyx
--- a/yt/utilities/lib/misc_utilities.pyx
+++ b/yt/utilities/lib/misc_utilities.pyx
@@ -697,15 +697,21 @@
cdef np.float64_t bv[3]
cdef int i, j, k
bulk_vector = data.get_field_parameter(bulk_vector)
- if bulk_vector == None:
- bulk_vector = np.zeros(3)
- bv[0] = bulk_vector[0]; bv[1] = bulk_vector[1]; bv[2] = bulk_vector[2]
if len(data[field_names[0]].shape) == 1:
# One dimensional data
vxf = data[field_names[0]].astype("float64")
vyf = data[field_names[1]].astype("float64")
vzf = data[field_names[2]].astype("float64")
+ vyf.convert_to_units(vxf.units)
+ vzf.convert_to_units(vxf.units)
rvf = YTArray(np.empty((3, vxf.shape[0]), 'float64'), vxf.units)
+ if bulk_vector is None:
+ bv[0] = bv[1] = bv[2] = 0.0
+ else:
+ bulk_vector = bulk_vector.in_units(vxf.units)
+ bv[0] = bulk_vector[0]
+ bv[1] = bulk_vector[1]
+ bv[2] = bulk_vector[2]
for i in range(vxf.shape[0]):
rvf[0, i] = vxf[i] - bv[0]
rvf[1, i] = vyf[i] - bv[1]
@@ -716,8 +722,17 @@
vxg = data[field_names[0]].astype("float64")
vyg = data[field_names[1]].astype("float64")
vzg = data[field_names[2]].astype("float64")
+ vyg.convert_to_units(vxg.units)
+ vzg.convert_to_units(vxg.units)
shape = (3, vxg.shape[0], vxg.shape[1], vxg.shape[2])
rvg = YTArray(np.empty(shape, 'float64'), vxg.units)
+ if bulk_vector is None:
+ bv[0] = bv[1] = bv[2] = 0.0
+ else:
+ bulk_vector = bulk_vector.in_units(vxg.units)
+ bv[0] = bulk_vector[0]
+ bv[1] = bulk_vector[1]
+ bv[2] = bulk_vector[2]
for i in range(vxg.shape[0]):
for j in range(vxg.shape[1]):
for k in range(vxg.shape[2]):
https://bitbucket.org/yt_analysis/yt/commits/7d727a0be5ef/
Changeset: 7d727a0be5ef
Branch: yt-3.0
User: MatthewTurk
Date: 2014-07-30 01:17:13
Summary: Simplify setting of field parameters and set normal to 0,0,1.
Affected #: 2 files
diff -r 3ab0597d94e51cec6061acc5cf6515c1daaff10d -r 7d727a0be5ef8e4f054337a924a773434e78b9ea yt/data_objects/data_containers.py
--- a/yt/data_objects/data_containers.py
+++ b/yt/data_objects/data_containers.py
@@ -110,16 +110,11 @@
self._default_field_parameters = {
'center': self.ds.arr(np.zeros(3, dtype='float64'), 'cm'),
'bulk_velocity': self.ds.arr(np.zeros(3, dtype='float64'), 'cm/s'),
- 'normal': self.ds.arr(np.zeros(3, dtype='float64'), ''),
+ 'normal': self.ds.arr([0.0, 0.0, 1.0], ''),
}
- if field_parameters is None:
- self.field_parameters = {}
- else:
- self.field_parameters = field_parameters
+ if field_parameters is None: field_parameters = {}
self._set_default_field_parameters()
- for key, val in self.field_parameters.items():
- if not self._is_default_field_parameter(key):
- mylog.debug("Setting %s to %s", key, val)
+ for key, val in field_parameters.items():
self.set_field_parameter(key, val)
@property
@@ -134,6 +129,7 @@
return self._index
def _set_default_field_parameters(self):
+ self.field_parameters = {}
for k,v in self._default_field_parameters.items():
self.set_field_parameter(k,v)
diff -r 3ab0597d94e51cec6061acc5cf6515c1daaff10d -r 7d727a0be5ef8e4f054337a924a773434e78b9ea yt/data_objects/tests/test_spheres.py
--- a/yt/data_objects/tests/test_spheres.py
+++ b/yt/data_objects/tests/test_spheres.py
@@ -47,6 +47,7 @@
yield assert_equal, rp0.x_bins, rp1.x_bins
yield assert_equal, rp0.used, rp1.used
+ yield assert_equal, rp0.used.sum() > rp0.used.size/2.0, True
yield assert_equal, np.any(rp0["radial_velocity"][rp0.used] ==
rp1["radial_velocity"][rp1.used]), \
False
https://bitbucket.org/yt_analysis/yt/commits/cf0ab6db87ae/
Changeset: cf0ab6db87ae
Branch: yt-3.0
User: ngoldbaum
Date: 2014-07-30 03:23:10
Summary: Merged in MatthewTurk/yt/yt-3.0 (pull request #1098)
Fix radial velocity recipe
Affected #: 5 files
diff -r 4e9c0b37712e26fd0befcd752ff0de76affa2573 -r cf0ab6db87aec986ff11bd5968c0e9203d90a5cf yt/data_objects/data_containers.py
--- a/yt/data_objects/data_containers.py
+++ b/yt/data_objects/data_containers.py
@@ -110,16 +110,11 @@
self._default_field_parameters = {
'center': self.ds.arr(np.zeros(3, dtype='float64'), 'cm'),
'bulk_velocity': self.ds.arr(np.zeros(3, dtype='float64'), 'cm/s'),
- 'normal': self.ds.arr(np.zeros(3, dtype='float64'), ''),
+ 'normal': self.ds.arr([0.0, 0.0, 1.0], ''),
}
- if field_parameters is None:
- self.field_parameters = {}
- else:
- self.field_parameters = field_parameters
+ if field_parameters is None: field_parameters = {}
self._set_default_field_parameters()
- for key, val in self.field_parameters.items():
- if not self._is_default_field_parameter(key):
- mylog.debug("Setting %s to %s", key, val)
+ for key, val in field_parameters.items():
self.set_field_parameter(key, val)
@property
@@ -134,6 +129,7 @@
return self._index
def _set_default_field_parameters(self):
+ self.field_parameters = {}
for k,v in self._default_field_parameters.items():
self.set_field_parameter(k,v)
diff -r 4e9c0b37712e26fd0befcd752ff0de76affa2573 -r cf0ab6db87aec986ff11bd5968c0e9203d90a5cf yt/data_objects/tests/test_spheres.py
--- a/yt/data_objects/tests/test_spheres.py
+++ b/yt/data_objects/tests/test_spheres.py
@@ -1,3 +1,4 @@
+from yt.data_objects.profiles import create_profile
from yt.testing import *
import numpy as np
@@ -8,3 +9,45 @@
def test_domain_sphere():
ds = fake_random_ds(16, fields = ("density"))
sp = ds.sphere(ds.domain_center, ds.domain_width[0])
+
+ # Now we test that we can get different radial velocities based on field
+ # parameters.
+
+ # Get the first sphere
+ ds = fake_random_ds(16, fields = ("density",
+ "velocity_x", "velocity_y", "velocity_z"))
+ sp0 = ds.sphere(ds.domain_center, 0.25)
+
+ # Compute the bulk velocity from the cells in this sphere
+ bulk_vel = sp0.quantities.bulk_velocity()
+
+ # Get the second sphere
+ sp1 = ds.sphere(ds.domain_center, 0.25)
+
+ # Set the bulk velocity field parameter
+ sp1.set_field_parameter("bulk_velocity", bulk_vel)
+
+ yield assert_equal, np.any(sp0["radial_velocity"] ==
+ sp1["radial_velocity"]), False
+
+ # Radial profile without correction
+ # Note we set n_bins = 8 here.
+
+ rp0 = create_profile(sp0, 'radius', 'radial_velocity',
+ units = {'radius': 'kpc'},
+ logs = {'radius': False},
+ n_bins = 8)
+
+ # Radial profile with correction for bulk velocity
+
+ rp1 = create_profile(sp1, 'radius', 'radial_velocity',
+ units = {'radius': 'kpc'},
+ logs = {'radius': False},
+ n_bins = 8)
+
+ yield assert_equal, rp0.x_bins, rp1.x_bins
+ yield assert_equal, rp0.used, rp1.used
+ yield assert_equal, rp0.used.sum() > rp0.used.size/2.0, True
+ yield assert_equal, np.any(rp0["radial_velocity"][rp0.used] ==
+ rp1["radial_velocity"][rp1.used]), \
+ False
diff -r 4e9c0b37712e26fd0befcd752ff0de76affa2573 -r cf0ab6db87aec986ff11bd5968c0e9203d90a5cf yt/utilities/lib/misc_utilities.pyx
--- a/yt/utilities/lib/misc_utilities.pyx
+++ b/yt/utilities/lib/misc_utilities.pyx
@@ -697,15 +697,21 @@
cdef np.float64_t bv[3]
cdef int i, j, k
bulk_vector = data.get_field_parameter(bulk_vector)
- if bulk_vector == None:
- bulk_vector = np.zeros(3)
- bv[0] = bulk_vector[0]; bv[1] = bulk_vector[1]; bv[2] = bulk_vector[2]
if len(data[field_names[0]].shape) == 1:
# One dimensional data
vxf = data[field_names[0]].astype("float64")
vyf = data[field_names[1]].astype("float64")
vzf = data[field_names[2]].astype("float64")
+ vyf.convert_to_units(vxf.units)
+ vzf.convert_to_units(vxf.units)
rvf = YTArray(np.empty((3, vxf.shape[0]), 'float64'), vxf.units)
+ if bulk_vector is None:
+ bv[0] = bv[1] = bv[2] = 0.0
+ else:
+ bulk_vector = bulk_vector.in_units(vxf.units)
+ bv[0] = bulk_vector[0]
+ bv[1] = bulk_vector[1]
+ bv[2] = bulk_vector[2]
for i in range(vxf.shape[0]):
rvf[0, i] = vxf[i] - bv[0]
rvf[1, i] = vyf[i] - bv[1]
@@ -716,8 +722,17 @@
vxg = data[field_names[0]].astype("float64")
vyg = data[field_names[1]].astype("float64")
vzg = data[field_names[2]].astype("float64")
+ vyg.convert_to_units(vxg.units)
+ vzg.convert_to_units(vxg.units)
shape = (3, vxg.shape[0], vxg.shape[1], vxg.shape[2])
rvg = YTArray(np.empty(shape, 'float64'), vxg.units)
+ if bulk_vector is None:
+ bv[0] = bv[1] = bv[2] = 0.0
+ else:
+ bulk_vector = bulk_vector.in_units(vxg.units)
+ bv[0] = bulk_vector[0]
+ bv[1] = bulk_vector[1]
+ bv[2] = bulk_vector[2]
for i in range(vxg.shape[0]):
for j in range(vxg.shape[1]):
for k in range(vxg.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