[yt-users] Covering Grid Dimensions: multiple refinement levels

Carla Bernhardt carla.j.bernhardt at gmail.com
Thu Nov 19 09:45:44 PST 2015


Nathan,

Dims*2**3 is 256*2^3 or 2048. With the data I am working with, I think this
should be on the order of 1 GB. I don't think that should overload the
memory... Is it possible there is something incorrectly defined?

Thanks,
Carla

Am Donnerstag, 19. November 2015 schrieb Nathan Goldbaum :

> What is dims*2**3? Depending on your data this might be a very large array
> that won't fit in memory on your machine.
>
> You will need to find a machine that has more RAM to do this or create a
> covering grid that only covers a subset of the domain.
>
> On Thursday, November 19, 2015, Carla Bernhardt <
> carla.j.bernhardt at gmail.com
> <javascript:_e(%7B%7D,'cvml','carla.j.bernhardt at gmail.com');>> wrote:
>
>> Thanks again for the help. Once I implemented that, I have a follow-up
>> problem: Once I have this much larger grid covering, it seems possibly too
>> large for yt/python to handle. When I run:
>>
>> cg=ds.smoothed_covering_grid(3,[0,0,0], dims*2**3)
>> data=cg['density']
>>
>> (where before I had dims*2**1), the variable data does not load and
>> gives a few errors <http://pastebin.com/JVhenc4z> which lead me to
>> believe that python or yt will not let me use that much space. Can I force
>> yt to let me use more space?
>>
>> Thanks,
>> Carla
>>
>> 2015-11-19 16:11 GMT+01:00 Nathan Goldbaum <nathan12343 at gmail.com>:
>>
>>> Hi Carla,
>>>
>>> So it looks like ref_factors is only defined in the boxlib frontend,
>>> which is why it doesn't work for your Enzo data. Boxlib needs a concept of
>>> ref_factors because it allows AMR refinement jumps larger than a factor of
>>> two on a single level (i.e. level 2 might be four times higher resolution
>>> as level 1). Enzo and many other AMR codes do not allow this, instead only
>>> allowing a factor of two increase in linear resolution per AMR level.
>>>
>>> The dimensions you want to use depend on what fraction of the full
>>> domain you want to interpolate to uniform resolution. It looks like you
>>> want to create a covering grid covering your full domain, so to create a
>>> covering grid at the same resolution as AMR level 3 you would do:
>>>
>>> all_data_level_3 = ds.covering_grid(level=2, left_edge=[0,0.0,0.0],
>>>                                     dims=ds.domain_dimensions * 2**3)
>>>
>>> This is because each refinement level jump in an Enzo simulation
>>> corresponds to a factor of two increase in spatial resolution.
>>>
>>> Hope that makes sense,
>>>
>>> Nathan
>>>
>>> On Thu, Nov 19, 2015 at 8:58 AM, Carla Bernhardt <
>>> carla.j.bernhardt at gmail.com> wrote:
>>>
>>>> Thank you for your quick response. However, when I used:
>>>>
>>>> ref = int(np.product(ds.ref_factors[0:3])),
>>>>
>>>> I got this error:
>>>>
>>>> AttributeError: 'EnzoDataset' object has no attribute 'ref_factors'
>>>>
>>>> Did I misunderstand your suggestion? Or do I need to import something?
>>>>
>>>> Thanks,
>>>>
>>>> Carla
>>>>
>>>> 2015-11-19 15:39 GMT+01:00 Michael Zingale <
>>>> michael.zingale at stonybrook.edu>:
>>>>
>>>>> I've done this in the past:
>>>>>
>>>>> ref = int(np.product(ds.ref_factors[0:max_level]))
>>>>>
>>>>>
>>>>>
>>>>> # allocate for our uniformly-gridded result
>>>>>
>>>>> dims = ds.domain_dimensions*ref
>>>>>
>>>>> this will work for a more general case when the jump between levels
>>>>> can change as a function of level.
>>>>>
>>>>> On Thu, Nov 19, 2015 at 9:10 AM, Carla Bernhardt <
>>>>> carla.j.bernhardt at gmail.com> wrote:
>>>>>
>>>>>> Dear YT Users,
>>>>>>
>>>>>> To better understand covering_grid (or smoothed_covering_grid), can
>>>>>> someone explain what dimensions I should use when I have multiple levels of
>>>>>> refinement? If I have 1 level of refinement from AMR data, the dimensions
>>>>>> should be the same, I believe, but what if I have 2 or 3 levels of
>>>>>> refinement? Should the fixed resolution region then have dimensions of
>>>>>> dims*2^2 and dims*3^2 respectively?
>>>>>>
>>>>>> Here is one example from a tutorial
>>>>>> <http://yt-project.org/doc/examining/low_level_inspection.html#examining-grid-data-in-a-fixed-resolution-array>
>>>>>> if that helps isolate my question:
>>>>>> all_data_level_2 = ds.covering_grid(level=2, left_edge=[0,0.0,0.0],
>>>>>>                                       dims=ds.domain_dimensions *
>>>>>> 2**2)
>>>>>>
>>>>>> Thanks in advance,
>>>>>> Carla
>>>>>>
>>>>>> _______________________________________________
>>>>>> yt-users mailing list
>>>>>> yt-users at lists.spacepope.org
>>>>>> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Michael Zingale
>>>>> Associate Professor
>>>>>
>>>>> Dept. of Physics & Astronomy • Stony Brook University • Stony Brook,
>>>>> NY 11794-3800
>>>>> *phone*:  631-632-8225
>>>>> *e-mail*: Michael.Zingale at stonybrook.edu
>>>>> *web*: http://www.astro.sunysb.edu/mzingale
>>>>> github: http://github.com/zingale
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> 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
>>>
>>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.spacepope.org/pipermail/yt-users-spacepope.org/attachments/20151119/73f7e40d/attachment.htm>


More information about the yt-users mailing list