[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