[Yt-svn] yt-commit r603 - branches/yt-generalization/yt/lagos
joishi at wrangler.dreamhost.com
joishi at wrangler.dreamhost.com
Sun Jun 22 12:48:49 PDT 2008
Author: joishi
Date: Sun Jun 22 12:48:48 2008
New Revision: 603
URL: http://yt.spacepope.org/changeset/603
Log:
* DataReadingFuncs.py -- trivial change to fix filename
* HierarchyType.py -- added filename and offset to grid while reading hierarchy info. minor cleanup.
* BaseGridType.py -- added filename and offset to OrionBaseGrid; require them at construction time.
Modified:
branches/yt-generalization/yt/lagos/BaseGridType.py
branches/yt-generalization/yt/lagos/DataReadingFuncs.py
branches/yt-generalization/yt/lagos/HierarchyType.py
Modified: branches/yt-generalization/yt/lagos/BaseGridType.py
==============================================================================
--- branches/yt-generalization/yt/lagos/BaseGridType.py (original)
+++ branches/yt-generalization/yt/lagos/BaseGridType.py Sun Jun 22 12:48:48 2008
@@ -412,9 +412,11 @@
return
class OrionGridBase(AMRGridPatch):
- def __init__(self,LeftEdge,RightEdge,index, level):
+ def __init__(self, LeftEdge, RightEdge, index, level, filename, offset):
AMRGridPatch.__init__(self, index)
self._file_access_pooling = False
+ self.filename = filename
+ self._offset = offset
# should error check this
self.LeftEdge = LeftEdge
self.RightEdge = RightEdge
Modified: branches/yt-generalization/yt/lagos/DataReadingFuncs.py
==============================================================================
--- branches/yt-generalization/yt/lagos/DataReadingFuncs.py (original)
+++ branches/yt-generalization/yt/lagos/DataReadingFuncs.py Sun Jun 22 12:48:48 2008
@@ -148,7 +148,7 @@
reads packed multiFABs output by BoxLib in "NATIVE" format.
"""
- inFile = open(os.path.expanduser(filename),'rb')
+ inFile = open(os.path.expanduser(self.filename),'rb')
header = inFile.readline()
header.strip()
Modified: branches/yt-generalization/yt/lagos/HierarchyType.py
==============================================================================
--- branches/yt-generalization/yt/lagos/HierarchyType.py (original)
+++ branches/yt-generalization/yt/lagos/HierarchyType.py Sun Jun 22 12:48:48 2008
@@ -815,14 +815,9 @@
"""
-
- # domain_pattern = r"\(\((\d+,\d+,\d+)\) \((\d+,\d+,\d+)\) \((\d+,\d+,\d+)\)\) \(\((\d+,\d+,\d+)\) \((\d+,\d+,\d+)\) \((\d+,\d+,\d+)\)\)"
- # domain_re = re.compile(domain_pattern)
-
counter = 0
- # CHANGE FOLLOWING: __header_file SHOULD NOT BE A CLASS MEMBER
- self.__header_file = open(filename,'r')
- self.__global_header_lines = self.__header_file.readlines()
+ header_file = open(filename,'r')
+ self.__global_header_lines = header_file.readlines()
# parse the file
self.orion_version = self.__global_header_lines[0].rstrip()
@@ -865,12 +860,14 @@
# this is just to debug. eventually it should go away.
linebreak = int(self.__global_header_lines[counter])
if linebreak != 0:
- raise RunTimeError("INTERNAL ERROR! This should be a zero. the reader function be broke, J.S.")
+ raise RunTimeError("INTERNAL ERROR! This should be a zero.")
counter += 1
# each level is one group with ngrids on it. each grid has 3 lines of 2 reals
self.levels = []
grid_counter = 0
+ file_finder_pattern = r"FabOnDisk: (Cell_D_[0-9]{4}) (\d+)\n"
+ re_file_finder = re.compile(file_finder_pattern)
for level in range(0,self.n_levels):
tmp = self.__global_header_lines[counter].split()
# should this be grid_time or level_time??
@@ -879,7 +876,14 @@
nsteps = int(self.__global_header_lines[counter])
counter += 1
self.levels.append(OrionLevel(lev,ngrids))
+ # open level header, extract file names and offsets for
+ # each grid
+ fn = os.path.join(self.parameter_file.directory,'Level_%i'%level)
+ level_header_file = open(os.path.join(fn,'Cell_H'),'r').read()
+ grid_file_offset = re_file_finder.findall(level_header_file)
+
for grid in range(0,ngrids):
+ gfn = os.path.join(fn,grid_file_offset[grid][0])
xlo,xhi = map(float,self.__global_header_lines[counter].split())
counter+=1
ylo,yhi = map(float,self.__global_header_lines[counter].split())
@@ -898,7 +902,7 @@
self.maxLevel = self.n_levels
self.max_level = self.n_levels
- self.__header_file.close()
+ header_file.close()
def _initialize_grids(self):
mylog.debug("Allocating memory for %s grids", self.num_grids)
More information about the yt-svn
mailing list