[yt-dev] unitrefactor: enzo metal fields
Britton Smith
brittonsmith at gmail.com
Fri Dec 6 06:55:08 PST 2013
Hi Matt,
So I jumped ahead of this and created a metallicity unit and defined Zsun
relative to that and it seems to work. Maybe you're right that this will
cause more trouble, but maybe I'll issue a PR to your fork with the open PR
and you can check it out.
I put the metallicity field in yt/fields/fluid_fields.py. Does that not
seem like the correct place?
Britton
On Fri, Dec 6, 2013 at 2:43 PM, Matthew Turk <matthewturk at gmail.com> wrote:
> Hi Bitton,
>
> On Fri, Dec 6, 2013 at 9:10 AM, Britton Smith <brittonsmith at gmail.com>
> wrote:
> > Hi all,
> >
> > I trying to add the metallicity field back to the enzo frontend and am
> > wondering what field registry it would be appropriate to put it in.
> Anyone
> > have any thoughts on this?
>
> So -- the way it's currently set up is that each frontend has a set of
> fields defined like so:
>
> known_other_fields = (
> ("Cooling_Time", ("code_time", ["cooling_time"], None)),
> ("HI_kph", ("1/code_time", [], None)),
> ("HeI_kph", ("1/code_time", [], None)),
> ...
>
> (Note that in breaking with tradition, this includes a mutable in the
> class definition. I think it's okay.)
>
> The format of these tuples is:
>
> ("FieldNameOnDisk", ("units_on_disk", ["alias_to_this_yt_field",
> "and_this_one"], "display_name_or_none")
>
> So what I think you would want is a generic metallicity field, and an
> alias to that. For now, I've been putting "generic yt field" names in
> yt/frontends/stream/fields.py but I would eventually like to move them
> elsewhere, so that there can be a collection of fields that yt knows
> about and that people can utilize. Right now this is a poor
> reference. RAMSES has a "Metallicity" field aliased as "metallicity"
> presently, but no units.
>
> I'm glad this came up, since this is a design decision that hasn't
> been reviewed or commented on. Feedback?
>
> >
> > Additionally, I noticed that the particle field metallicity_fraction
> > currently has units of Zsun. As far as I know, this is not correct. I
> > believe the field is actually unitless and would have to be divided by
> ~0.02
> > to be in units of Zsun. How can I set this up correctly to make it
> aware of
> > these units?
>
> My understanding is that you can set the units to be "Zsun / 0.02" in that
> case.
>
> >
> > Should I make a "code_metallicity" unit? This might actually be usable
> for
> > the gas metallicity field as well.
>
> Potentially, but I'm not certain, as we may then step into the mess of
> defining interoperability with other units.
>
> -Matt
>
> >
> > _______________________________________________
> > yt-dev mailing list
> > yt-dev at lists.spacepope.org
> > http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
> >
> _______________________________________________
> 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/20131206/74876655/attachment.html>
More information about the yt-dev
mailing list