[Yt-dev] filters for DerivedQuantities
John Wise
jwise at astro.princeton.edu
Thu Aug 26 07:30:11 PDT 2010
Hi Sam,
That's clever :) Thanks for the tip. I'll try this method out.
John
On 26 Aug 2010, at 10:27, Sam Skillman wrote:
> Hi John,
>
> I think you could also do something similar with a 1D profile, though it isn't quite as easy to dial in an exact limit:
>
> http://yt.enzotools.org/doc/api/generated/plot_types/yt.raven.PlotCollection.add_profile_object.html?highlight=add_profile#yt-raven-plotcollection-add-profile-object
>
> where you define the whole box as the region you care about and then do:
> # Get the whole box
> reg = pf.h.all_data()
>
> # Make the profile
> metal_mass = pc.add_profile_object(reg, ["Metallicity", "CellMass"])
>
> # Get some easy pointers to the profile data
> bins = metal_mass.data._bins
> mass = metal_mass.data["CellMass"]
>
> # Now get total mass with Metallicity above a 1.0e-4 by getting the number of
> mass_frac = mass[bins>1.0e-4].sum()/mass.sum()
>
> That should give you something close to what you'd want. You may want to increase the number of xbins if you want higher accuracy answer. Finally, I'll just make a quick note that the profile creation can be done in parallel as long as lazy_reader=True, which it is by default.
>
> There may be other ways to do this as well, but this is what I'd probably do.
>
> Best,
> Sam
>
> On Thu, Aug 26, 2010 at 7:00 AM, John Wise <jwise at astro.princeton.edu> wrote:
> Hi,
>
> I wanted to calculate volume filling fractions and mass fractions of gas that met some criteria. Specifically, the fractions that have a certain metallicity. The _Action routine looked promising, but I couldn't figure out how to use it. I remember there was some talk about filters on the list, but I searched and found that it concerned the halo finder.
>
> I might have reinvented the wheel, but this is how I did it.
>
> http://paste.enzotools.org/show/1125/
>
> It's basically _TotalQuantity with a filter. Also I wanted it to accept multiple limits to avoid re-reading the data for every filter.
>
> Was there an easier way to do this?
>
> Thanks,
> John
> _______________________________________________
> Yt-dev mailing list
> Yt-dev at lists.spacepope.org
> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
>
>
>
> --
> Samuel W. Skillman
> DOE Computational Science Graduate Fellow
> Center for Astrophysics and Space Astronomy
> University of Colorado at Boulder
> samuel.skillman[at]colorado.edu
> _______________________________________________
> Yt-dev mailing list
> Yt-dev at lists.spacepope.org
> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.spacepope.org/pipermail/yt-dev-spacepope.org/attachments/20100826/6627249f/attachment.html>
More information about the yt-dev
mailing list