[yt-users] Problem with covering grid

Matthew Turk matthewturk at gmail.com
Fri Apr 25 01:56:49 PDT 2014


Hi Elizabeth,

On Fri, Apr 25, 2014 at 4:53 AM, Elizabeth Tasker
<tasker at astro1.sci.hokudai.ac.jp> wrote:
> Hi Matt,
>
> I updated yt via 'yt update' and the change set is the one I specified
> before. To do a direct pull from the tip, I tried:
>
> cd src/yt-hg
> hg pull -r 1a67d558b51c
>
> but just got:
>
> "abort: requirement 'dotencode' not supported!"
>
> What should I have done? (It might be handy to add this 'how to' to the
> docs, since surely many people use the handy install script and then don't
> know how to pull from the tip?)

Ahh, I think I see the issue.  hg has very strong backward
compatibility; however, if a higher versioned hg operates on a repo,
it can up-convert it.  So what I think is happening is that you're
using an old hg on a repo that's been updated by a newer hg.  Any
chance you've switched to, say, the system mercurial after using a
personally-installed one?

Also, I think this is what's preventing "yt update" from working!

-Matt

>
> E.
>
>
> On 25 April 2014 17:44, Matthew Turk <matthewturk at gmail.com> wrote:
>>
>> Hi Elizabeth,
>>
>> On Fri, Apr 25, 2014 at 4:38 AM, Elizabeth Tasker
>> <tasker at astro1.sci.hokudai.ac.jp> wrote:
>> > Hi Matt,
>> >
>> > Thanks! This is:
>> >
>> > yt module located at:
>> >     /home/tasker/yt-new2/src/yt-hg
>> >
>> > The current version of the code is:
>> >
>> > ---
>> > 81c2f6f5f983
>> > ---
>> >
>> >
>> > Elizabeth
>>
>> I've just checked, and I am able to replicate the error with this
>> changeset using this script:
>>
>> from yt.mods import *
>> pf = load("IsolatedGalaxy/galaxy0030/galaxy0030")
>> level = 0
>> left = [0.0, 0.0, 0.0]
>> dims = [16, 16, 16]
>> cgrid = pf.h.covering_grid(level, left_edge = left, dims=dims,
>> num_ghost_zones=2)
>>
>> However, when I update to the current tip of the yt branch,
>> 1a67d558b51c, it works.  :)
>>
>> -Matt
>>
>> >
>> >
>> > On 25 April 2014 17:34, Matthew Turk <matthewturk at gmail.com> wrote:
>> >>
>> >> Hi Elizabeth,
>> >>
>> >> On Fri, Apr 25, 2014 at 3:40 AM, Elizabeth Tasker
>> >> <tasker at astro1.sci.hokudai.ac.jp> wrote:
>> >> > Hi,
>> >> >
>> >> > I've hit a problem with the latest version of yt and covering grid
>> >> > that
>> >> > is
>> >> > linked with the number of ghostzones. My code looked like:
>> >> >
>> >> > for dim in range(3):
>> >> >
>> >> >       left.append(cloud_position[c][dim] - 0.5*width[dim])
>> >> >       right.append(cloud_position[c][dim] + 0.5*width[dim])
>> >> >       dims.append(int(round((right[dim]-left[dim])/cellsize)))
>> >> >
>> >> >     cgrid = pf.h.covering_grid(level,
>> >> >                                left_edge = left,
>> >> >                                dims=dims,
>> >> >                                num_ghost_zones=2)
>> >> >
>> >> >
>> >> > but gives me:
>> >> >
>> >> > TypeError                                 Traceback (most recent call
>> >> > last)
>> >> > /home/tasker/yt-new2/src/yt-hg/scripts/iyt in <module>()
>> >> > ----> 1 execfile("export_hdf5_cube.py")
>> >> >
>> >> > /home/tasker/yt-new2/src/yt-hg/scripts/iyt in <module>()
>> >> >      51                                left_edge = left,
>> >> >      52                                dims=dims,
>> >> > ---> 53                                num_ghost_zones=2)
>> >> >      54
>> >> >      55
>> >> >
>> >> > /home/tasker/yt-new2/src/yt-hg/yt/data_objects/data_containers.pyc in
>> >> > __init__(self, level, left_edge, dims, fields, pf, num_ghost_zones,
>> >> > use_pbar, **kwargs)
>> >> >    3689         self.level = level
>> >> >    3690         rdx =
>> >> > self.pf.domain_dimensions*self.pf.refine_by**level
>> >> > -> 3691         rdx[np.where(dims - 2 * num_ghost_zones <= 1)] = 1
>> >> > #
>> >> > issue
>> >> > 602
>> >> >    3692         self.dds = self.pf.domain_width /
>> >> > rdx.astype("float64")
>> >> >    3693         self.ActiveDimensions = np.array(dims, dtype='int32')
>> >> >
>> >> > TypeError: unsupported operand type(s) for -: 'list' and 'int'
>> >> >
>> >> >
>> >> >
>> >> >
>> >> > This happens regardless of whether I use num_ghost_zones or not. If I
>> >> > don't
>> >> > have ghost_zones set, the error occurs at line 52, but still points
>> >> > to
>> >> > line
>> >> > 3691. Dims and left look fine:
>> >> >
>> >> > In [9]: dims
>> >> > Out[9]: [64, 64, 64]
>> >> >
>> >> > In [10]: left
>> >> > Out[10]: [20.424700000000001, 11.512700000000001, 15.7158]
>> >> >
>> >> > In [11]: level
>> >> > Out[11]: 5
>> >> >
>> >> > In [14]: rdx = pf.domain_dimensions*pf.refine_by**level
>> >> > In [15]: rdx
>> >> > Out[15]: array([4096, 4096, 4096])
>> >> >
>> >> >
>> >> > If I set num_ghost_zones = na.array([0,0,0]) then it runs. However,
>> >> > if I
>> >> > then try
>> >> >
>> >> >  cgrid["x"]
>> >> >
>> >> > I hit more problems circulating around the same area:
>> >> >
>> >> > ValueError                                Traceback (most recent call
>> >> > last)
>> >> > /home/tasker/yt-new2/src/yt-hg/scripts/iyt in <module>()
>> >> > ----> 1 cgrid["y"]
>> >> >
>> >> > /home/tasker/yt-new2/src/yt-hg/yt/data_objects/data_containers.pyc in
>> >> > __getitem__(self, key)
>> >> >     316             if key not in self.fields:
>> >> >     317                 self.fields.append(key)
>> >> > --> 318             self.get_data(key)
>> >> >     319         return self.field_data[key]
>> >> >     320
>> >> >
>> >> > /home/tasker/yt-new2/src/yt-hg/yt/data_objects/data_containers.pyc in
>> >> > get_data(self, fields)
>> >> >    3733                 try:
>> >> >    3734                     #print "Generating", field
>> >> > -> 3735                     self._generate_field(field)
>> >> >    3736                     continue
>> >> >    3737                 except NeedsOriginalGrid, ngt_exception:
>> >> >
>> >> > /home/tasker/yt-new2/src/yt-hg/yt/data_objects/data_containers.pyc in
>> >> > _generate_field(self, field)
>> >> >    3764         if self.pf.field_info.has_key(field):
>> >> >    3765             # First we check the validator; this might even
>> >> > raise!
>> >> > -> 3766             self.pf.field_info[field].check_available(self)
>> >> >    3767             self[field] = self.pf.field_info[field](self)
>> >> >    3768         else: # Can't find the field, try as it might
>> >> >
>> >> >
>> >> > /home/tasker/yt-new2/src/yt-hg/yt/data_objects/field_info_container.pyc
>> >> > in
>> >> > check_available(self, data)
>> >> >     354         """
>> >> >     355         for validator in self.validators:
>> >> > --> 356             validator(data)
>> >> >     357         # If we don't get an exception, we're good to go
>> >> >     358         return True
>> >> >
>> >> >
>> >> > /home/tasker/yt-new2/src/yt-hg/yt/data_objects/field_info_container.pyc
>> >> > in
>> >> > __call__(self, data)
>> >> >     482         if not data._spatial:
>> >> >     483             raise NeedsGridType(self.ghost_zones,self.fields)
>> >> > --> 484         if self.ghost_zones <= data._num_ghost_zones:
>> >> >     485             return True
>> >> >     486         raise NeedsGridType(self.ghost_zones,self.fields)
>> >> >
>> >> > ValueError: The truth value of an array with more than one element is
>> >> > ambiguous. Use a.any() or a.all()
>> >> >
>> >> >
>> >> > cgrid["Density"] and the velocities are fine.
>> >> >
>> >> > I'm suspecting this is because the position calculation in the code
>> >> > is
>> >> > not
>> >> > expecting an array for the ghost zone number?
>> >> >
>> >> > Oddly, I see from the mailing list is this reminiscent of a problem
>> >> > nyx
>> >> > was
>> >> > having.
>> >>
>> >> Yes, and it feels like this exact issue -- where dims are lists, not
>> >> arrays -- gets fixed over and over and over again.  :(  Can you report
>> >> which changeset you're on, and I'll push a fix?
>> >>
>> >> -Matt
>> >>
>> >> >
>> >> > Elizabeth
>> >> >
>> >> > _______________________________________________
>> >> > yt-users mailing list
>> >> > 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
>> >
>> >
>> >
>> > _______________________________________________
>> > yt-users mailing list
>> > 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
>
>
>
> _______________________________________________
> 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