[yt-users] yt.extensions.EnzoSimulation gorne
Elizabeth Tasker
taskere at mcmaster.ca
Wed Nov 3 10:31:54 PDT 2010
Hi Britton,
It just fails in the same way. The entire output in all it's glory is:
[taskere at saw377 sedov]$ /work/taskere/yt-2/yt/bin/iyt total_energy.py
yt INFO 2010-11-03 13:29:08,135 Loaded 11 total data outputs.
yt INFO 2010-11-03 13:29:08,414 Getting the binary hierarchy
yt INFO 2010-11-03 13:29:08,418 Finished with binary
hierarchy reading
Warning: divide by zero encountered in divide
Warning: divide by zero encountered in divide
Warning: invalid value encountered in sqrt
Warning: invalid value encountered in divide
Warning: invalid value encountered in divide
Warning: invalid value encountered in sqrt
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
/saw_sfs/work/taskere/yt-2/scripts/iyt in <module>()
15 # calculate total energy for the simulation volume
16 data = pf.h.all_data()
---> 17 print data.quantities["TotalQuantity"]("TotalEnergy")[0]
18 # ETot.append(data.quantities["TotalQuantity"]("TotalEnergy")[0])
19
/saw_sfs/work/taskere/yt-2/yt/data_objects/derived_quantities.pyc in
__call__(self, *args, **kwargs)
88 self._data_source.pf.h.io)
89 if lazy_reader and not self.force_unlazy:
---> 90 return self._call_func_lazy(args, kwargs)
91 else:
92 return self._call_func_unlazy(args, kwargs)
/saw_sfs/work/taskere/yt-2/yt/data_objects/derived_quantities.pyc in
_call_func_lazy(self, args, kwargs)
95 self.retvals = [ [] for i in range(self.n_ret)]
96 for gi,g in enumerate(self._get_grids()):
---> 97 rv = self.func(GridChildMaskWrapper(g,
self._data_source), *args, **kwargs)
98 for i in range(self.n_ret):
self.retvals[i].append(rv[i])
99 g.clear_data()
/saw_sfs/work/taskere/yt-2/yt/data_objects/derived_quantities.pyc in
_TotalQuantity(data, fields)
493 totals = []
494 for field in fields:
--> 495 if data[field].size < 1:
496 totals.append(0)
497 continue
/saw_sfs/work/taskere/yt-2/yt/data_objects/derived_quantities.pyc in
__getitem__(self, item)
57 def __getitem__(self, item):
58 if item not in self.local_cache:
---> 59 data =
self.data_source._get_data_from_grid(self.grid, item)
60 self.local_cache[item] = data
61 return self.local_cache[item]
/saw_sfs/work/taskere/yt-2/yt/data_objects/data_containers.pyc in
save_state(self, grid, field)
68 old_keys = grid.data.keys()
69 grid.field_parameters = self.field_parameters
---> 70 tr = func(self, grid, field)
71 grid.field_parameters = old_params
72 grid.data = dict( [(k, grid.data[k]) for k in old_keys] )
/saw_sfs/work/taskere/yt-2/yt/data_objects/data_containers.pyc in
_get_data_from_grid(self, grid, field)
1939 t = grid[field] * na.ones(grid.ActiveDimensions,
dtype='float64')
1940 return t[pointI].ravel()
-> 1941 return grid[field][pointI].ravel()
1942
1943 def _flush_data_to_grids(self, field, default_val,
dtype='float32'):
IndexError: index (100) out of range (0<=index<99) in dimension 0
WARNING: Failure executing file: <total_energy.py>
Welcome to yt!
(I find that last line amusing in such circumstances :) )
Also, my total script is:
from yt.mods import *
from yt.analysis_modules.api import EnzoSimulation
ETot = []
time = []
i=0
es = EnzoSimulation("SedovBlastAMR.enzo", initial_time=0.0, final_time=0.1)
for output in es.allOutputs:
# load up a dataset
pf = load(output['filename'])
# calculate total energy for the simulation volume
data = pf.h.all_data()
print data.quantities["TotalQuantity"]("TotalEnergy")[0]
# ETot.append(data.quantities["TotalQuantity"]("TotalEnergy")[0])
# calculate the time of output
time.append(0.01*i)
i = i + 1
pylab.xlabel("Time")
pylab.ylabel("Total Energy")
pylab.plot(time, ETot, 'b')
pylab.savefig('TotEnergy.png')
pylab.show()
Thank you~
Britton Smith wrote:
> Hi Elizabeth,
>
> It's not totally clear to me what's failing. Can you change that line
> to just
> print data.quantities["TotalQuantity"]("TotalEnergy")[0]
> just to see what's coming out of that.
>
> Britton
>
> On Wed, Nov 3, 2010 at 1:10 PM, Elizabeth Tasker <taskere at mcmaster.ca
> <mailto:taskere at mcmaster.ca>> wrote:
>
> Actually, it turns out this is still giving me problems. I'm now
> using yt 2.0 and have:
>
>
> from yt.analysis_modules.api import EnzoSimulation
> es = EnzoSimulation("SedovBlastAMR.enzo", initial_time=0.0,
> final_time=0.1)
>
> ETot = []
>
> for output in es.allOutputs:
> pf = load(output['filename'])
> data = pf.h.all_data()
> ETot.append(data.quantities["TotalQuantity"]("TotalEnergy")[0])
> .
> .
> .
>
> But I get:
>
> IndexError Traceback (most recent
> call last)
>
> /saw_sfs/work/taskere/yt-2/scripts/iyt in <module>()
> 15 # calculate total energy for the simulation volume
> 16 data = pf.h.all_data()
> ---> 17
> ETot.append(data.quantities["TotalQuantity"]("TotalEnergy")[0])
> 18
> 19 # calculate the time of output
> .
> .
> .
> IndexError: index (100) out of range (0<=index<99) in dimension 0
> WARNING: Failure executing file: <total_energy.py>
>
>
>
> What did I do wrong?
>
> Elizabeth
>
>
>
>
>
>
> Elizabeth Tasker wrote:
>
> Hi Jeff,
>
> I think it might be enzo 1.7, but inspired by your comment I
> controversially checked the code and found
>
> import yt.extensions.enzo_simulation as ES
>
> works.
>
> Thanks, Elizabeth
>
>
> j s oishi wrote:
>
> Hi Elizabeth,
>
> Are you on yt-2.0? If so, then it should be
>
> from yt.analysis_modules.api import EnzoSimulation as ES
>
> j
>
>
> _______________________________________________
> yt-users mailing list
> yt-users at lists.spacepope.org <mailto:yt-users at lists.spacepope.org>
> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> yt-users mailing list
> yt-users at lists.spacepope.org
> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
>
More information about the yt-users
mailing list