[yt-svn] commit/yt: xarthisius: [gdf] do not modify cell width for non-existant dimension in 2D data
Bitbucket
commits-noreply at bitbucket.org
Thu Aug 16 06:58:07 PDT 2012
1 new commit in yt:
https://bitbucket.org/yt_analysis/yt/changeset/7c5ad85490e8/
changeset: 7c5ad85490e8
branch: yt
user: xarthisius
date: 2012-08-16 13:14:26
summary: [gdf] do not modify cell width for non-existant dimension in 2D data
affected #: 1 file
diff -r 53fbc2fa2d1b7cf40dd1f01985833e7822ee04c1 -r 7c5ad85490e8ade384a165f1af51e1ef7cd9f692 yt/frontends/gdf/data_structures.py
--- a/yt/frontends/gdf/data_structures.py
+++ b/yt/frontends/gdf/data_structures.py
@@ -8,7 +8,7 @@
Affiliation: KIPAC/SLAC/Stanford
Homepage: http://yt-project.org/
License:
- Copyright (C) 2008-2011 Samuel W. Skillman, Matthew Turk, J. S. Oishi.
+ Copyright (C) 2008-2011 Samuel W. Skillman, Matthew Turk, J. S. Oishi.
All Rights Reserved.
This file is part of yt.
@@ -79,7 +79,7 @@
class GDFHierarchy(AMRHierarchy):
grid = GDFGrid
-
+
def __init__(self, pf, data_style='grid_data_format'):
self.parameter_file = weakref.proxy(pf)
self.data_style = data_style
@@ -96,7 +96,7 @@
def _detect_fields(self):
self.field_list = self._fhandle['field_types'].keys()
-
+
def _setup_classes(self):
dd = self._get_data_reader_dict()
AMRHierarchy._setup_classes(self, dd)
@@ -104,14 +104,17 @@
def _count_grids(self):
self.num_grids = self._fhandle['/grid_parent_id'].shape[0]
-
+
def _parse_hierarchy(self):
- f = self._fhandle
- dxs=[]
+ f = self._fhandle
+ dxs = []
self.grids = na.empty(self.num_grids, dtype='object')
levels = (f['grid_level'][:]).copy()
glis = (f['grid_left_index'][:]).copy()
gdims = (f['grid_dimensions'][:]).copy()
+ active_dims = ~((na.max(gdims, axis=0) == 1) &
+ (self.parameter_file.domain_dimensions == 1))
+
for i in range(levels.shape[0]):
self.grids[i] = self.grid(i, self, levels[i],
glis[i],
@@ -120,7 +123,7 @@
dx = (self.parameter_file.domain_right_edge-
self.parameter_file.domain_left_edge)/self.parameter_file.domain_dimensions
- dx = dx/self.parameter_file.refine_by**(levels[i])
+ dx[active_dims] = dx[active_dims]/self.parameter_file.refine_by**(levels[i])
dxs.append(dx)
dx = na.array(dxs)
self.grid_left_edge = self.parameter_file.domain_left_edge + dx*glis
@@ -128,7 +131,7 @@
self.grid_right_edge = self.grid_left_edge + dx*self.grid_dimensions
self.grid_particle_count = f['grid_particle_count'][:]
del levels, glis, gdims
-
+
def _populate_grid_objects(self):
for g in self.grids:
g._prepare_grid()
@@ -153,13 +156,13 @@
_hierarchy_class = GDFHierarchy
_fieldinfo_fallback = GDFFieldInfo
_fieldinfo_known = KnownGDFFields
-
+
def __init__(self, filename, data_style='grid_data_format',
storage_filename = None):
StaticOutput.__init__(self, filename, data_style)
self.storage_filename = storage_filename
self.filename = filename
-
+
def _set_units(self):
"""
Generates the conversion to various physical _units based on the parameter file
@@ -190,12 +193,12 @@
except:
current_fields_unit = ""
self._fieldinfo_known.add_field(field_name, function=NullFunc, take_log=False,
- units=current_fields_unit, projected_units="",
+ units=current_fields_unit, projected_units="",
convert_function=_get_convert(field_name))
self._handle.close()
del self._handle
-
+
def _parse_parameter_file(self):
self._handle = h5py.File(self.parameter_filename, "r")
sp = self._handle["/simulation_parameters"].attrs
@@ -204,7 +207,7 @@
self.domain_dimensions = sp["domain_dimensions"][:]
refine_by = sp["refine_by"]
if refine_by is None: refine_by = 2
- self.refine_by = refine_by
+ self.refine_by = refine_by
self.dimensionality = sp["dimensionality"]
self.current_time = sp["current_time"]
self.unique_identifier = sp["unique_identifier"]
@@ -225,7 +228,7 @@
self.parameters["HydroMethod"] = 0 # Hardcode for now until field staggering is supported.
self._handle.close()
del self._handle
-
+
@classmethod
def _is_valid(self, *args, **kwargs):
try:
@@ -238,4 +241,4 @@
def __repr__(self):
return self.basename.rsplit(".", 1)[0]
-
+
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