[yt-users] Generic UniGrid Data

Junhwan Choi (최준환) choi.junhwan at gmail.com
Wed May 28 11:06:42 PDT 2014


Thank you John,
I will try to perform more analysis with the generic unigrid data
method and I will report/ask when I find questions/bugs.
Junhwan

On Tue, May 27, 2014 at 11:00 PM, John ZuHone <jzuhone at gmail.com> wrote:
> Hi Junhwan,
>
> I'm happy to hear you got it working!
>
> As far as the rest of your question, there's no reason why any of this shouldn't work--you should be able to add other fields when you specify your data dictionary, and the analyses that you mention should work on the uniform grid dataset in the same way as any other dataset.
>
> I feel pretty confident of this fact for profile generation and adding new fields, but I'm not sure if anyone has tried halo finding on a uniform grid dataset. That said, I see no reason it shouldn't work.
>
> If you encounter any bugs in this process, please send them our way!
>
> Best,
>
> John
>
> Sent from John ZuHone's iPad
>
>> On May 27, 2014, at 9:47 PM, Junhwan Choi (최준환) <choi.junhwan at gmail.com> wrote:
>>
>> Hi John,
>>
>> I found that my yt was a bit old version, although it was still 3.0.
>> Hence, I install bleeding edge version of yt from the scratch, and it
>> is working.
>> Thank you.
>>
>> Now, I would like to know that is it possible to perform advanced
>> analysis from generic unigrid data such as making and/or adding
>> additional fields (temp, velocity etc), galaxy group finding (hop and
>> fof), and generating profiles.
>> All of these analysis are provided in yt, but I can not find document
>> that explains how to do with generic unigrid data.
>> Is it simply possible through adding required information (such as
>> thermal energy field) when I define data dictionary?
>>
>> Thank you,
>> Junhwan
>>
>>
>>
>>
>>
>>
>>> On Fri, May 23, 2014 at 4:19 PM, John ZuHone <jzuhone at gmail.com> wrote:
>>> Hi Junhwan,
>>>
>>> I'm having trouble finding anything wrong with your script, actually.
>>>
>>> I would recommend changing this:
>>>
>>> ds = load_uniform_grid(data, data['density'][0].shape, 3.086e24, bbox=bbox,
>>> nprocs=4)
>>>
>>>
>>> to this:
>>>
>>> ds = load_uniform_grid(data, data['density'][0].shape,
>>> length_unit=(1.0,"Mpc"), bbox=bbox, nprocs=4)
>>>
>>>
>>> but I doubt that would make much of a difference.
>>>
>>> Have you inspected what data["density"][0] is in your script, and what npart
>>> is? I set up an example on my own with random particle data, and I set the
>>> number_of_particles dictionary key to a variable npart that was set
>>> previously, and saw no issues there.
>>>
>>> If it's possible to post the file that this script works with somewhere,
>>> that would enable me to reproduce the buggy behavior.
>>>
>>> Best,
>>>
>>> John Z
>>>
>>> On May 22, 2014, at 6:19 PM, John ZuHone <jzuhone at gmail.com> wrote:
>>>
>>> Hi Junhwan,
>>>
>>> Sorry, I kind of got lost in some other things--I'll have a look at your
>>> script tonight and get back to you.
>>>
>>> Best,
>>>
>>>
>>> On May 22, 2014, at 6:17 PM, Junhwan Choi (최준환) <choi.junhwan at gmail.com>
>>> wrote:
>>>
>>> Hi,
>>>
>>> I have read more about the "generic array data" from the document in yt
>>> webpage.
>>> I found that the the how to set data dict and call "load_uniform_grid"
>>> by yt-2.6 and yt-3.0 are quite different, and it looks that yt-3.0
>>> supports better unit treatment.
>>>
>>> However, my yt-3.0 looks use old formate for load_uniform_grid as follow:
>>> .....
>>> def load_uniform_grid(data, domain_dimensions, sim_unit_to_cm, bbox=None,
>>>                     nprocs=1, sim_time=0.0, periodicity=(True, True,
>>> True)):
>>> ....
>>>
>>> This load_uniform_grid arguments are different with those presented in
>>> yt-3.0 document.
>>> I think this is part of the reason that I have a difficulty.
>>>
>>> How can I use that load_uniform_grid for the version shown in yt-3.0
>>> document?
>>>
>>> Thank you,
>>> Junhwan
>>>
>>> On Fri, May 16, 2014 at 11:28 AM, Junhwan Choi (최준환)
>>> <choi.junhwan at gmail.com> wrote:
>>>
>>> Here, I post my script in http://paste.yt-project.org/show/4641
>>>
>>> Thank you,
>>> Junhwan
>>>
>>> On Thu, May 15, 2014 at 11:56 PM, John ZuHone <jzuhone at gmail.com> wrote:
>>>
>>> Junhwan,
>>>
>>> Can you post your script somewhere? It might be easier to debug it that way.
>>>
>>> Best,
>>>
>>> John Z
>>>
>>> On May 16, 2014, at 12:46 AM, Junhwan Choi <choi.junhwan at gmail.com> wrote:
>>>
>>> Hi Nathan,
>>>
>>> I think that I am using the yt 3.0 unless there is stabke yt 3.0 version.
>>>
>>> Junhwan
>>>
>>>
>>>
>>> On May 15, 2014, at 11:29 PM, Nathan Goldbaum <nathan12343 at gmail.com> wrote:
>>>
>>> Hi Junhwan,
>>>
>>> Just to clarify (since the answers you receive will be different depending
>>> on your response) is this for the in-development yt 3.0 release or the
>>> current stable release?
>>>
>>> Nathan
>>>
>>> On Friday, May 16, 2014, Junhwan Choi (최준환) <choi.junhwan at gmail.com> wrote:
>>>
>>>
>>> Dear yt user,
>>>
>>> I try to use Generic UnicGrid Data (256^3 gas density cube + position
>>> of particle that is subset of a huge simulation).
>>> It is preliminary work, but I still have some questions.
>>>
>>> 1. In order to set density unit as cgs, I made following script:
>>> ......
>>> data = dict(density = (map, "g/cm**3"))  #map is 256^3 density data array
>>> bbox = np.array([[0., boxsize], [0., boxsize], [0.,boxsize]])
>>> ds = load_uniform_grid(data, data['density'][0].shape, 3.086e24,
>>> bbox=bbox, nprocs=4)
>>> .....
>>>
>>> Then, I got the following error message:
>>> Traceback (most recent call last):
>>> File "cutout2.py", line 62, in <module>
>>>   ds = load_uniform_grid(data, data['density'][0].shape, 3.086e24,
>>> bbox=bbox, nprocs=4)
>>> File
>>> "/Users/jhchoi/common/lib/python2.7/site-packages/yt-3.0dev-py2.7-macosx-10.4-x86_64.egg/yt/frontends/stream/data_structures.py",
>>> line 461, in load_uniform_grid
>>>   psize = get_psize(np.array(data[key].shape), nprocs)
>>> AttributeError: 'tuple' object has no attribute 'shape'
>>>
>>> Hence, I modify "data = dict(density = (map, "g/cm**3"))" --> "data =
>>> dict(density = map)" and it work.
>>> If this is the case, how can I define the density unit and show it
>>> when I make Slice/Projection?
>>> In addition, I would like to know how I can set the unit in Generic
>>> UnicGrid Data in general?
>>> The length unit can be provide to script in load_uniform_grid(...
>>> 3.086e24 ....) but I do not know how to set other units.
>>>
>>> 2. When I add particle information as follow:
>>> .....
>>> npart = 100000  # number of particles
>>> data = dict(density = map,
>>>           number_of_particles = npart,
>>>           particle_position_x = posx,
>>>           particle_position_y = posy,
>>>           particle_position_z = posz)
>>> bbox = np.array([[0., boxsize], [0., boxsize], [0.,boxsize]])
>>> ds = load_uniform_grid(data, data['density'][0].shape, 3.086e24,
>>> bbox=bbox, nprocs=4)
>>> ...
>>>
>>> I got the following error message:
>>> Traceback (most recent call last):
>>> File "cutout.py", line 107, in <module>
>>>   ds = load_uniform_grid(data, data['density'][0].shape, 3.086e24,
>>> bbox=bbox, nprocs=4)
>>> File
>>> "/Users/jhchoi/common/lib/python2.7/site-packages/yt-3.0dev-py2.7-macosx-10.4-x86_64.egg/yt/frontends/stream/data_structures.py",
>>> line 519, in load_uniform_grid
>>>   assign_particle_data(spf, pdata)
>>> File
>>> "/Users/jhchoi/common/lib/python2.7/site-packages/yt-3.0dev-py2.7-macosx-10.4-x86_64.egg/yt/frontends/stream/data_structures.py",
>>> line 371, in assign_particle_data
>>>   pdata.pop("number_of_particles")
>>> KeyError: 'number_of_particles'
>>>
>>> So, I change "number_of_particles = npart," --> "number_of_particles =
>>> 100000," and it works.
>>> How could it happen?
>>>
>>> 3. Can I do halo finder (hop/fof) using the above particle data?
>>> Or, what information do I need to provide to do grouping?
>>> In this case, how can I set the units and linking length?
>>>
>>> 4. Can I make particle distribution to particle data like
>>> data['Dark_Matter_position_x']?
>>> This process will allow me additional analysis such as profile and
>>> obtaining total value.
>>>
>>> I may ask too many for new tool, but it will help a lot to use yt for
>>> general data set.
>>>
>>> Thank you,
>>> Junhwan
>>> _______________________________________________
>>> 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
> _______________________________________________
> 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