[yt-users] cut_region bafflement

Stephanie Tonnesen stonnes at gmail.com
Wed Oct 7 17:24:14 PDT 2015


Hi Nathan and all,

I have pasted a code that shows my problem using the isolated galaxy
output.  You will have to change the line of code that reads in the
isolated galaxy output, but otherwise it should run for anyone.  See the
madness yourself!!!

http://paste.yt-project.org/show/5943/

Thanks again,
Stephanie

--
Dr. Stephanie Tonnesen
Alvin E. Nashman Postdoctoral Fellow
Carnegie Observatories, Pasadena, CA
stonnes at gmail.com

On Wed, Oct 7, 2015 at 4:33 PM, Stephanie Tonnesen <stonnes at gmail.com>
wrote:

> Hi Nathan,
>
> Thanks for the quick response!  I will see if I can reproduce this on a
> test dataset.
>
> Different is the confusing part to me.  These all should be selecting
> exactly the same region.  If P3 and P4 are trying to select a region from
> ds.all_data() instead of ds.disk() then all three should be different.
> Another strange thing, if I select x > 65 kpc (only the top half of the
> cylinder, then the volume is 3.7384e-4, half of the values that don't seem
> right to me!
>
> If I do
> r4c = ds.cut_region(["obj['Metal_Density']/obj['density'] > 0.33"])
> then the volume doesnt change, is 7.4768e-4
>
> If I do:
> r4 = ds.all_data()
> r4c = r4.cut_region(["obj['Metal_Density']/obj['density'] > 0.33"])
> then the volume is, as it should be, 0.3
>
> *I think that something going wrong when I have more than one cut_region
> command.*  If I do:
>
> r3 = ds.disk([0.5,0.5,0.5],[-1,0,0],(4,"kpc"),(2,"kpc"))
> r3c = r3.cut_region(["(obj['x'].in_units('kpc') > 60.0)"])
>  or
> r2 = ds.disk([0.5,0.5,0.5],[-1,0,0],(4,"kpc"),(2,"kpc"))
> r2c = r2.cut_region(["obj['Metal_Density']/obj['density'] > 0.33"])
>
> then the volume is 9.346e-5, as it should be.
>
> But when I put those together:
>
> r3 = ds.disk([0.5,0.5,0.5],[-1,0,0],(4,"kpc"),(2,"kpc"))
> r3r = r3.cut_region(["(obj['x'].in_units('kpc') > 60.0)"])
> r3c = r3r.cut_region(["obj['Metal_Density']/obj['density'] > 0.33"])
>
> the volume is 7.4768e-4 again!
>
> And when I do this:
> r4 = ds.all_data()
> r4r = r4.cut_region(["obj['Metal_Density']/obj['density'] > 0.33"])
> r4c = r4r.cut_region(["(obj['z'].in_units('kpc') > 0.0)"])
>
> I get 2.4467, which is more than my box size.
>
> --
> Dr. Stephanie Tonnesen
> Alvin E. Nashman Postdoctoral Fellow
> Carnegie Observatories, Pasadena, CA
> stonnes at gmail.com
>
> On Wed, Oct 7, 2015 at 3:30 PM, Nathan Goldbaum <nathan12343 at gmail.com>
> wrote:
>
>> Hi Stephanie,
>>
>> I'm not sure off-hand why this is happening.
>>
>> It may help one of us to be able to reproduce and understand what you're
>> seeing if you can phrase your question in the form of an example that one
>> of can run locally. This would make use of one of the test datasets on
>> yt-project.org/data, and a full script that we can run locally pasted to
>> paste.yt-project.org/data
>>
>> Finally, just to clarify, the confusion is that the volumes of P3 and P4
>> are *bigger* than P2 and identical?
>>
>> It might be the case that the derived quantity infrastructure is somehow
>> selecting the data as if it were selecting from ds.all_data() instead of
>> your disk selector.  Can you try computing what the total volume of cells
>> in a data object constructed by applying cut_regions on ds.all_data()
>> instead of ds.disk()?
>>
>> -Nathan
>>
>> On Wed, Oct 7, 2015 at 5:21 PM, Stephanie Tonnesen <stonnes at gmail.com>
>> wrote:
>>
>>> Dear yt-users,
>>>
>>> I am running
>>>
>>> Version = 3.2-dev
>>> Changeset = dc2467c4eae7 (yt) tip
>>>
>>> I have been fiddling around with cut_region in a disk region and have
>>> gotten really confused.  I was initially trying to see whether defining a
>>> disk region such that the cylinder height was on the x-axis changed how I
>>> need to make a cut in the cylinder height.  Anyway, as I was fiddling with
>>> these cuts I found that if I made a "spatial" cut (rather than a different
>>> variable cut) I was getting different volumes.  Let me show you:
>>>
>>> small bit of background:  the whole box is 130 kpc across, so 0.5 0.5
>>> 0.5 is 65 65 65 kpc.  Also, I am cutting and pasting bits here so the
>>> indentation is off.
>>>
>>> ds =
>>> yt.load("/data/stonnes/dwarf_nowind_lowmassgal_bigtracer/DD"+loop[i]+"/DD44sMBhn25now"+loop[i])
>>>
>>> r2 = ds.disk([0.5,0.5,0.5],[-1,0,0],(4,"kpc"),(2,"kpc"))
>>>     r2c = r2.cut_region(["obj['Metal_Density']/obj['density'] > 0.33"])
>>>
>>>     r3 = ds.disk([0.5,0.5,0.5],[-1,0,0],(4,"kpc"),(2,"kpc"))
>>>     r3r = r3.cut_region(["(obj['x'].in_units('kpc') > 63.0)"])
>>>     r3r = r3r.cut_region(["(obj['x'].in_units('kpc') < 67.0)"])
>>>     r3c = r3r.cut_region(["obj['Metal_Density']/obj['density'] > 0.33"])
>>>
>>>     r4 = ds.disk([0.5,0.5,0.5],[-1,0,0],(4,"kpc"),(2,"kpc"))
>>>     r4r = r4.cut_region(["(obj['x'].in_units('kpc') > 61.)"])
>>>     r4c = r4r.cut_region(["obj['Metal_Density']/obj['density'] > 0.33"])
>>>
>>>  P2 =
>>> np.append(P2,r2c.quantities.total_quantity([("index","cell_volume")]))
>>>  P3 =
>>> np.append(P3,r3c.quantities.total_quantity([("index","cell_volume")]))
>>>  P4 =
>>> np.append(P4,r4c.quantities.total_quantity([("index","cell_volume")]))
>>>
>>> P2 volume is 9.346e-5 : within 2% of my calculation for the volume I
>>> should be getting
>>> P3 volume is 7.4768e-4
>>> P4 volume is 7.4768e-4
>>>
>>> When I print out the x- y- and z- maxes and mins, they are the same for
>>> each of the selected regions.
>>> (By doing this:
>>> m2 = np.append(m2,r2c.quantities.extrema([("index","z")])[0])
>>> rho2 = np.append(rho2,r2c.quantities.extrema([("index","z")])[1])
>>>
>>> )
>>>
>>> Can anyone help me figure out/tell me what is going on here?
>>>
>>> Thanks!
>>> Stephanie
>>>
>>> --
>>> Dr. Stephanie Tonnesen
>>> Alvin E. Nashman Postdoctoral Fellow
>>> Carnegie Observatories, Pasadena, CA
>>> stonnes at gmail.com
>>>
>>> _______________________________________________
>>> 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/20151007/51bbf52e/attachment.htm>


More information about the yt-users mailing list