[yt-users] Problem with covering grid

Matthew Turk matthewturk at gmail.com
Fri Apr 25 02:03:12 PDT 2014


On Fri, Apr 25, 2014 at 5:01 AM, Elizabeth Tasker
<tasker at astro1.sci.hokudai.ac.jp> wrote:
> 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?
>
>
> Not intentionally: I normally opt for the install script. But I may have
> done it under careful direction at some point. Is the best thing to do a
> refresh install from the repo?
>
> Elizabeth

Nah.  If you're using the install script now, just make sure that
"which hg" points to your yt-x86_64/bin/hg , rather than the
systemwide one.  If that *still* doesn't work, then send me an email
offlist and we can figure it out.

-Matt

>
>
>
> 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
>
> _______________________________________________
> 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