[yt-svn] commit/yt: 3 new changesets
commits-noreply at bitbucket.org
commits-noreply at bitbucket.org
Mon Sep 23 17:50:29 PDT 2013
3 new commits in yt:
https://bitbucket.org/yt_analysis/yt/commits/3a5b71a11af5/
Changeset: 3a5b71a11af5
Branch: yt
User: jsoishi
Date: 2013-09-23 23:06:28
Summary: The GhostZone IO handler for enzo now handles arbitrary numbers of ghost zones.
Affected #: 2 files
diff -r 493804c7cebbed7c214bcfe25bb6103abc3d7194 -r 3a5b71a11af542c4c7105523bdc05f6f74e9ab4f yt/frontends/enzo/data_structures.py
--- a/yt/frontends/enzo/data_structures.py
+++ b/yt/frontends/enzo/data_structures.py
@@ -40,6 +40,7 @@
from yt.utilities.definitions import \
mpc_conversion, sec_conversion
from yt.utilities import hdf5_light_reader
+from yt.utilities.io_handler import io_registry
from yt.utilities.logger import ytLogger as mylog
from .definitions import parameterDict
@@ -543,6 +544,9 @@
result[p] = result[p][0:max_num]
return result
+ def _setup_data_io(self):
+ self.io = io_registry[self.data_style](self.parameter_file)
+
class EnzoHierarchyInMemory(EnzoHierarchy):
diff -r 493804c7cebbed7c214bcfe25bb6103abc3d7194 -r 3a5b71a11af542c4c7105523bdc05f6f74e9ab4f yt/frontends/enzo/io.py
--- a/yt/frontends/enzo/io.py
+++ b/yt/frontends/enzo/io.py
@@ -32,6 +32,10 @@
_data_style = "enzo_hdf4"
+ def __init__(self, pf, *args, **kwargs):
+ BaseIOHandler.__init__(self, *args, **kwargs)
+ self.pf = pf
+
def modify(self, field):
return field.swapaxes(0,2)
@@ -61,6 +65,10 @@
_data_style = "enzo_hdf5"
_particle_reader = True
+ def __init__(self, pf, *args, **kwargs):
+ BaseIOHandler.__init__(self, *args, **kwargs)
+ self.pf = pf
+
def _read_field_names(self, grid):
"""
Returns a list of fields associated with the filename
@@ -90,6 +98,10 @@
_data_style = "enzo_packed_3d"
_particle_reader = True
+ def __init__(self, pf, *args, **kwargs):
+ BaseIOHandler.__init__(self, *args, **kwargs)
+ self.pf = pf
+
def _read_particles(self, fields, rtype, args, grid_list, enclosed,
conv_factors):
filenames = [g.filename for g in grid_list]
@@ -144,10 +156,18 @@
class IOHandlerPackedHDF5GhostZones(IOHandlerPackedHDF5):
_data_style = "enzo_packed_3d_gz"
+ def __init__(self, pf, *args, **kwargs):
+ BaseIOHandler.__init__(self, *args, **kwargs)
+ self.pf = pf
+
def modify(self, field):
+ NGZ = self.pf.parameters.get("NumberOfGhostZones", 3)
+ sl = (slice(NGZ,-NGZ),
+ slice(NGZ,-NGZ),
+ slice(NGZ,-NGZ))
if len(field.shape) < 3:
return field
- tr = field[3:-3,3:-3,3:-3].swapaxes(0,2)
+ tr = field[sl].swapaxes(0,2)
return tr.copy() # To ensure contiguous
def _read_raw_data_set(self, grid, field):
@@ -158,7 +178,7 @@
_data_style = "enzo_inline"
- def __init__(self, ghost_zones=3):
+ def __init__(self, pf, ghost_zones=3):
import enzo
self.enzo = enzo
self.grids_in_memory = enzo.grid_data
@@ -166,6 +186,7 @@
self.my_slice = (slice(ghost_zones,-ghost_zones),
slice(ghost_zones,-ghost_zones),
slice(ghost_zones,-ghost_zones))
+ self.pf = pf
BaseIOHandler.__init__(self)
def _read_data(self, grid, field):
@@ -210,6 +231,10 @@
_data_style = "enzo_packed_2d"
_particle_reader = False
+ def __init__(self, pf, *args, **kwargs):
+ BaseIOHandler.__init__(self, *args, **kwargs)
+ self.pf = pf
+
def _read_data(self, grid, field):
return hdf5_light_reader.ReadData(grid.filename,
"/Grid%08i/%s" % (grid.id, field)).transpose()[:,:,None]
@@ -228,6 +253,10 @@
_data_style = "enzo_packed_1d"
_particle_reader = False
+ def __init__(self, pf, *args, **kwargs):
+ BaseIOHandler.__init__(self, *args, **kwargs)
+ self.pf = pf
+
def _read_data(self, grid, field):
return hdf5_light_reader.ReadData(grid.filename,
"/Grid%08i/%s" % (grid.id, field)).transpose()[:,None,None]
https://bitbucket.org/yt_analysis/yt/commits/4e4e453f1156/
Changeset: 4e4e453f1156
Branch: yt
User: jsoishi
Date: 2013-09-24 00:05:04
Summary: added the ability to get ghost zones for n_zones > 3. incidentally,
fixed a bug in EnzoGridGZ where if n_zones == number of ghost zones,
the grid would return an object of length zero.
Affected #: 1 file
diff -r 3a5b71a11af542c4c7105523bdc05f6f74e9ab4f -r 4e4e453f115689c5f6c898a963ed8207bc91212e yt/frontends/enzo/data_structures.py
--- a/yt/frontends/enzo/data_structures.py
+++ b/yt/frontends/enzo/data_structures.py
@@ -132,10 +132,11 @@
def retrieve_ghost_zones(self, n_zones, fields, all_levels=False,
smoothed=False):
- # We ignore smoothed in this case.
- if n_zones > 3:
+ NGZ = self.pf.parameters.get("NumberOfGhostZones", 3)
+ if n_zones > NGZ:
return EnzoGrid.retrieve_ghost_zones(
self, n_zones, fields, all_levels, smoothed)
+
# ----- Below is mostly the original code, except we remove the field
# ----- access section
# We will attempt this by creating a datacube that is exactly bigger
@@ -163,7 +164,12 @@
level, new_left_edge, **kwargs)
# ----- This is EnzoGrid.get_data, duplicated here mostly for
# ---- efficiency's sake.
- sl = [slice(3 - n_zones, -(3 - n_zones)) for i in range(3)]
+ start_zone = NGZ - n_zones
+ if start_zone == 0:
+ end_zone = None
+ else:
+ end_zone = -(NGZ - n_zones)
+ sl = [slice(start_zone, end_zone) for i in range(3)]
if fields is None: return cube
for field in ensure_list(fields):
if field in self.hierarchy.field_list:
https://bitbucket.org/yt_analysis/yt/commits/fb0275961059/
Changeset: fb0275961059
Branch: yt
User: MatthewTurk
Date: 2013-09-24 02:50:25
Summary: Merged in jsoishi/yt (pull request #605)
Adding support for arbitrary numbers of ghost zones in the enzo frontend
Affected #: 2 files
diff -r 3ba017a2fc1b2f8790d5ebc18703a87a87959aa8 -r fb0275961059ae14c3ac809686f03edd8dbd6cca yt/frontends/enzo/data_structures.py
--- a/yt/frontends/enzo/data_structures.py
+++ b/yt/frontends/enzo/data_structures.py
@@ -40,6 +40,7 @@
from yt.utilities.definitions import \
mpc_conversion, sec_conversion
from yt.utilities import hdf5_light_reader
+from yt.utilities.io_handler import io_registry
from yt.utilities.logger import ytLogger as mylog
from .definitions import parameterDict
@@ -131,10 +132,11 @@
def retrieve_ghost_zones(self, n_zones, fields, all_levels=False,
smoothed=False):
- # We ignore smoothed in this case.
- if n_zones > 3:
+ NGZ = self.pf.parameters.get("NumberOfGhostZones", 3)
+ if n_zones > NGZ:
return EnzoGrid.retrieve_ghost_zones(
self, n_zones, fields, all_levels, smoothed)
+
# ----- Below is mostly the original code, except we remove the field
# ----- access section
# We will attempt this by creating a datacube that is exactly bigger
@@ -162,7 +164,12 @@
level, new_left_edge, **kwargs)
# ----- This is EnzoGrid.get_data, duplicated here mostly for
# ---- efficiency's sake.
- sl = [slice(3 - n_zones, -(3 - n_zones)) for i in range(3)]
+ start_zone = NGZ - n_zones
+ if start_zone == 0:
+ end_zone = None
+ else:
+ end_zone = -(NGZ - n_zones)
+ sl = [slice(start_zone, end_zone) for i in range(3)]
if fields is None: return cube
for field in ensure_list(fields):
if field in self.hierarchy.field_list:
@@ -543,6 +550,9 @@
result[p] = result[p][0:max_num]
return result
+ def _setup_data_io(self):
+ self.io = io_registry[self.data_style](self.parameter_file)
+
class EnzoHierarchyInMemory(EnzoHierarchy):
diff -r 3ba017a2fc1b2f8790d5ebc18703a87a87959aa8 -r fb0275961059ae14c3ac809686f03edd8dbd6cca yt/frontends/enzo/io.py
--- a/yt/frontends/enzo/io.py
+++ b/yt/frontends/enzo/io.py
@@ -32,6 +32,10 @@
_data_style = "enzo_hdf4"
+ def __init__(self, pf, *args, **kwargs):
+ BaseIOHandler.__init__(self, *args, **kwargs)
+ self.pf = pf
+
def modify(self, field):
return field.swapaxes(0,2)
@@ -61,6 +65,10 @@
_data_style = "enzo_hdf5"
_particle_reader = True
+ def __init__(self, pf, *args, **kwargs):
+ BaseIOHandler.__init__(self, *args, **kwargs)
+ self.pf = pf
+
def _read_field_names(self, grid):
"""
Returns a list of fields associated with the filename
@@ -90,6 +98,10 @@
_data_style = "enzo_packed_3d"
_particle_reader = True
+ def __init__(self, pf, *args, **kwargs):
+ BaseIOHandler.__init__(self, *args, **kwargs)
+ self.pf = pf
+
def _read_particles(self, fields, rtype, args, grid_list, enclosed,
conv_factors):
filenames = [g.filename for g in grid_list]
@@ -144,10 +156,18 @@
class IOHandlerPackedHDF5GhostZones(IOHandlerPackedHDF5):
_data_style = "enzo_packed_3d_gz"
+ def __init__(self, pf, *args, **kwargs):
+ BaseIOHandler.__init__(self, *args, **kwargs)
+ self.pf = pf
+
def modify(self, field):
+ NGZ = self.pf.parameters.get("NumberOfGhostZones", 3)
+ sl = (slice(NGZ,-NGZ),
+ slice(NGZ,-NGZ),
+ slice(NGZ,-NGZ))
if len(field.shape) < 3:
return field
- tr = field[3:-3,3:-3,3:-3].swapaxes(0,2)
+ tr = field[sl].swapaxes(0,2)
return tr.copy() # To ensure contiguous
def _read_raw_data_set(self, grid, field):
@@ -158,7 +178,7 @@
_data_style = "enzo_inline"
- def __init__(self, ghost_zones=3):
+ def __init__(self, pf, ghost_zones=3):
import enzo
self.enzo = enzo
self.grids_in_memory = enzo.grid_data
@@ -166,6 +186,7 @@
self.my_slice = (slice(ghost_zones,-ghost_zones),
slice(ghost_zones,-ghost_zones),
slice(ghost_zones,-ghost_zones))
+ self.pf = pf
BaseIOHandler.__init__(self)
def _read_data(self, grid, field):
@@ -210,6 +231,10 @@
_data_style = "enzo_packed_2d"
_particle_reader = False
+ def __init__(self, pf, *args, **kwargs):
+ BaseIOHandler.__init__(self, *args, **kwargs)
+ self.pf = pf
+
def _read_data(self, grid, field):
return hdf5_light_reader.ReadData(grid.filename,
"/Grid%08i/%s" % (grid.id, field)).transpose()[:,:,None]
@@ -228,6 +253,10 @@
_data_style = "enzo_packed_1d"
_particle_reader = False
+ def __init__(self, pf, *args, **kwargs):
+ BaseIOHandler.__init__(self, *args, **kwargs)
+ self.pf = pf
+
def _read_data(self, grid, field):
return hdf5_light_reader.ReadData(grid.filename,
"/Grid%08i/%s" % (grid.id, field)).transpose()[:,None,None]
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