[Yt-svn] yt-commit r575 - trunk/yt/lagos
mturk at wrangler.dreamhost.com
mturk at wrangler.dreamhost.com
Thu Jun 19 12:10:20 PDT 2008
Author: mturk
Date: Thu Jun 19 12:10:15 2008
New Revision: 575
URL: http://yt.spacepope.org/changeset/575
Log:
No one uses yt to interface with Amira. On numerous occasions I have attempted
to start a dialogue about this, but there was never any real interest. I'm
removing it now; Amira is extremely expensive, closed source, and I don't think
the exporter has a place in the current vision for this toolkit. Anyone who
would like to see my initial sketches of the exporter -- which were only once
successfully put into practice -- can look at this diff for reference.
Modified:
trunk/yt/lagos/BaseGridType.py
trunk/yt/lagos/EnzoRunType.py
trunk/yt/lagos/HierarchyType.py
Modified: trunk/yt/lagos/BaseGridType.py
==============================================================================
--- trunk/yt/lagos/BaseGridType.py (original)
+++ trunk/yt/lagos/BaseGridType.py Thu Jun 19 12:10:15 2008
@@ -316,44 +316,6 @@
os.chdir(cwd)
mylog.debug("Grid read with SWIG")
- def __export_amira(self, filename, fields, timestep = 1, a5Filename=None, gid=0):
- """
- **DO NOT USE**
- """
- fields = ensure_list(fields)
- deltas = na.array([self.dx,self.dy,self.dz],dtype='float64')
- tn = "time-%i" % (timestep)
- ln = "level-%i" % (self.Level)
- for field in fields:
- iorigin = (self.LeftEdge/deltas).astype('int64')
- new_h5 = tables.openFile(filename % {'field' : field}, "a")
- f = self[field].transpose().reshape(self.ActiveDimensions)
- new_h5.createArray("/","grid-%i" % (self.id), f)
- del f
- node = new_h5.getNode("/","grid-%i" % (self.id))
- node.setAttr("level",self.Level)
- node.setAttr("timestep",timestep)
- node.setAttr("time",self.Time)
- node.setAttr("cctk_bbox",na.array([0,0,0,0,0,0],dtype='int32'))
- node.setAttr("cctk_nghostzones",na.array([0,0,0],dtype='int32'))
- node.setAttr("delta",deltas)
- node.setAttr("origin",self.LeftEdge)
- node.setAttr("iorigin",iorigin*(2**(self.hierarchy.maxLevel - self.Level)))
- new_h5.close()
- if a5Filename != None:
- new_h5 = tables.openFile(a5Filename % {'field' : field}, "a")
- new_h5.createGroup("/%s/%s" % (tn, ln),"grid-%i" % (gid))
- node=new_h5.getNode("/%s/%s" % (tn, ln),"grid-%i" % (gid))
- node._f_setAttr("dims",self.ActiveDimensions)
- node._f_setAttr("ghostzoneFlags",na.array([0,0,0,0,0,0],dtype='int32'))
- node._f_setAttr("integerOrigin",(self.LeftEdge/deltas).astype('int64'))
- node._f_setAttr("numGhostzones",na.array([0,0,0],dtype='int32'))
- node._f_setAttr("origin",self.LeftEdge)
- node._f_setAttr("referenceDataPath","/"+"grid-%i" % (self.id))
- fn = os.path.basename(filename % {'field' : field})
- node._f_setAttr("referenceFileName", fn)
- new_h5.close()
-
def _set_child_mask(self, newCM):
if self.__child_mask != None:
mylog.warning("Overriding child_mask attribute! This is probably unwise!")
Modified: trunk/yt/lagos/EnzoRunType.py
==============================================================================
--- trunk/yt/lagos/EnzoRunType.py (original)
+++ trunk/yt/lagos/EnzoRunType.py Thu Jun 19 12:10:15 2008
@@ -386,40 +386,3 @@
for i in range(self.outputs.shape[0]):
keys.append(self.outputs[i].basename)
return keys
-
- def exportAmira(self, basename, fields):
- a5 = basename + "-%(field)s.a5"
- sorted_times = []
- sorted_timesteps = []
- for field in fields:
- a5b=tables.openFile(a5 % {'field':field},"w")
- a5b.close()
- if (not iterable(fields)) or (isinstance(fields, types.StringType)):
- fields = [fields]
- for i in range(len(self)):
- mylog.info("Exporting %s to Amira format", self[i])
- bn = basename + "-%06i" % (i) + "-%(field)s.h5"
- numDone = 0
- self.promoteType(i)
- self[i].exportAmira(bn, fields, a5, i)
- rootDelta = na.array([self[i].grids[0].dx, self[i].grids[0].dy, self[i].grids[0].dz], dtype=nT.Float64)
- sorted_timesteps.append(i)
- sorted_times.append(self[i]["InitialTime"])
- self.demoteType(i)
- numDone += 1
- for field in fields:
- a5b=tables.openFile(a5 % {'field':field},"a")
- a5b.createGroup("/","globalMetaData")
- node=a5b.getNode("/","globalMetaData")
- node._f_setAttr("datatype",0)
- node._f_setAttr("fieldtype",1)
- node._f_setAttr("staggering",1)
- node._f_setAttr("maxTime",self.timesteps[-1])
- node._f_setAttr("maxTimeStep",len(self)-1)
- node._f_setAttr("minTime",self.timesteps[0])
- node._f_setAttr("minTimeStep",0)
- node._f_setAttr("numTimeSteps",len(self))
- node._f_setAttr("rootDelta",rootDelta)
- a5b.createArray("/","sorted_timesteps", na.array(sorted_timesteps, dtype=nT.Int32))
- a5b.createArray("/","sorted_times", na.array(sorted_times, dtype=nT.Float64))
- a5b.close()
Modified: trunk/yt/lagos/HierarchyType.py
==============================================================================
--- trunk/yt/lagos/HierarchyType.py (original)
+++ trunk/yt/lagos/HierarchyType.py Thu Jun 19 12:10:15 2008
@@ -745,42 +745,6 @@
self.gridLeftEdge[i,1], self.gridRightEdge[i,1],
self.gridLeftEdge[i,2], self.gridRightEdge[i,2]))
- @time_execution
- def __export_amira(self, basename, fields, a5basename, timestep):
- """
- This is untested, and only remains for possible future usage.
- """
- if (not iterable(fields)) or (isinstance(fields, types.StringType)):
- fields = [fields]
- for field in fields:
- tt=tables.openFile(basename % {'field':field},"w")
- k=tt.createGroup("/","Parameters and Global Attributes")
- k._f_setAttr("staggering",1)
- tt.close()
- a5=tables.openFile(a5basename % {'field':field},"a")
- a5.createGroup("/", "time-%i" % timestep)
- node = a5.getNode("/","time-%i" % timestep)
- node._f_setAttr("numLevels",self.maxLevel+1)
- node._f_setAttr("time",self["InitialTime"])
- a5.close()
- for level in range(self.maxLevel+1):
- mylog.info("Exporting level %s", level)
- for field in fields:
- a5=tables.openFile(a5basename % {'field':field},"a")
- a5.createGroup("/time-%i" % (timestep),"level-%i" % (level))
- node=a5.getNode("/time-%i" % (timestep),"level-%i" % (level))
- delta = na.array([self.gridDxs[self.levelIndices[level][0]]]*3,dtype='float64')
- node._f_setAttr("delta",delta)
- node._f_setAttr("num_grids",self.levelNum[level])
- # This next one is not necessarily true. But, it is for
- # everyone I care about right now...
- node._f_setAttr("relativeRefinementFactor",na.array([2,2,2],dtype='int32'))
- a5.close()
- gid = 0
- for grid in self.grids[self.levelIndices[level]]:
- grid.export_amira(basename, fields, timestep, a5basename, gid)
- gid += 1
-
def __initialize_enzo_interface(self, idt_val = 0.0):
"""
This is old, old code that will some day be revived.
More information about the yt-svn
mailing list