[yt-users] RFC: RAMSES field aliases in yt-3.0

nick moeckel nickolas1 at gmail.com
Tue Nov 26 09:58:39 PST 2013


I think option 'a' is good as well.


On Tue, Nov 26, 2013 at 5:19 PM, Butler,Michael J <butler85 at astro.ufl.edu>wrote:

>  I'd personally prefer option "a" as the default, with the option to
> manually specify fields if you aren't using one of the common setups like
> you mention.
>
> On Tue, 26 Nov 2013 16:44:33 +0100, Sam Geen wrote:
>
> Quick question for RAMSES users - do you prefer:
> a) YT figures out what variables are in the file from NVAR, e.g. NVAR=5
> gives density,vx,vy,vz,pressure, NVAR=6 adds metallicity, NVAR=10/11
> assumes MHD
> b) YT assumes density,vx,vy,vz,pressure only *unless* you do:
> load("mydata/info_blahblah.txt",metals=True)
> (with similar flags for mhd, etc?)
>
> In all cases if you set "fields" as a parameter (as normal), YT will use
> that, of course.
>
> For RT YT just has to find a info_rt_blahblah.txt file, so no user input
> is needed. If anyone can give info on how RAMSES-ATON outputs work, it
> would be appreciated.
>
> On 25/11/13 20:56, Nathan Goldbaum wrote:
>
> Just for completeness, the yt developer guide is here:
> http://yt-project.org/doc/developing/developing.html
>
>
> On Mon, Nov 25, 2013 at 11:38 AM, Matthew Turk <matthewturk at gmail.com>wrote:
>
>> Yup, there is, but stop by IRC if you run into trouble.  It should be
>> as easy as making sure your ~/.hgrc has your name/email in [ui], for
>> instance:
>>
>> [ui]
>> username = Matthew Turk <matthewturk at gmail.com>
>>
>> then:
>>
>> cd /path/to/yt/hg/repo
>>
>> -edit edit edit-
>> hg commit
>>
>> On the BitBucket site you can fork our repository (do not make a
>> branch though!) here: https://bitbucket.org/yt_analysis/yt-3.0/fork
>>
>> and you can then just push to your repo:
>>
>> hg push -f http://bitbucket.org/SamsUserName/yt-3.0
>>
>> Then pull request away!
>>
>> -Matt
>>
>> On Mon, Nov 25, 2013 at 2:35 PM, Sam Geen <samgeen at astro.ox.ac.uk> wrote:
>> > OK, will try to figure out all that tomorrow. I guess there's a guide to
>> > issuing pull requests on the yt site?
>> >
>> >
>> > On 25/11/13 20:30, Matthew Turk wrote:
>> >>
>> >> Hi Sam,
>> >>
>> >> This looks great.  Any chance you could add this to the
>> >> yt/frontends/ramses/definitions.py file as a function, issue a pull
>> >> request, and we'll get your name in the commit log?  I'll then modify
>> >> it to fit in and we'll use it as fallback when fields are specified.
>> >>
>> >> -Matt
>> >>
>> >> On Mon, Nov 25, 2013 at 1:39 PM, Sam Geen <samgeen at astro.ox.ac.uk>
>> wrote:
>> >>>
>> >>> I've hacked up a simple example of what I mean (attached).
>> >>>
>> >>>
>> >>> On 25/11/13 17:50, Nathan Goldbaum wrote:
>> >>>
>> >>> Matt's opened a PR for this here:
>> >>>
>> >>>
>> >>>
>> https://bitbucket.org/yt_analysis/yt-3.0/pull-request/140/adding-field_aliases-to-ramses-datasets/diff
>> >>>
>> >>> Sam, if you could enumerate how to map from the boolean flags you're
>> >>> suggesting to a final field list, I think that would help immensely.
>> >>>
>> >>>
>> >>> On Mon, Nov 25, 2013 at 8:42 AM, Sam Geen <samgeen at astro.ox.ac.uk>
>> wrote:
>> >>>>
>> >>>> Yes and no. NVAR must be big enough, but it can be bigger than
>> necessary
>> >>>> (I think); it's a Makefile setting when compiling Ramses. You can
>> >>>> guarantee
>> >>>> that the first 4 variables are the same, but after that I suspect the
>> >>>> best
>> >>>> approach is to use boolean flags to specify whether the run contains
>> >>>> MHD,
>> >>>> RHD, metals, etc. Normally it's a good guess that 5 is pressure and 6
>> >>>> (if it
>> >>>> exists) is metals, but as I said it seems like MHD puts the B-field
>> >>>> before
>> >>>> pressure and metallicity.
>> >>>>
>> >>>>
>> >>>> On 25/11/13 17:36, Nathan Goldbaum wrote:
>> >>>>
>> >>>> Does that mean that it should be possible to infer the field list
>> from
>> >>>> NVAR alone?
>> >>>>
>> >>>>
>> >>>> On Mon, Nov 25, 2013 at 8:29 AM, Sam Geen <samgeen at astro.ox.ac.uk>
>> >>>> wrote:
>> >>>>>
>> >>>>> For MHD, the variables stored are the B-field strengths on the
>> faces of
>> >>>>> each cell - the fields in order are: (1) density, (2-4) [x,y,z]
>> >>>>> velocity,
>> >>>>> (5-7) [x,y,z] B-field left, (8-10) [x,y,z] B-field right, (11)
>> pressure
>> >>>>> (thermal + MHD), then (12+) any passive scalars (metals, etc) - see
>> >>>>> mhd/output_hydro.f90. Note that the MHD module adds 3 variables, so
>> the
>> >>>>> number of variables will be nvar+3.
>> >>>>>
>> >>>>> For RHD (Joki Rosdahl's M1 method implementation, at least - someone
>> >>>>> else
>> >>>>> will have to help with the ATON version), there is a separate "rt_"
>> >>>>> output
>> >>>>> file for each CPU (like the hydro/amr/particles), as well as a
>> separate
>> >>>>> info
>> >>>>> file (there is a bitbucket link on the Ramses homepage if you want
>> to
>> >>>>> see
>> >>>>> what the latest version of the code does in detail). The RHD module
>> >>>>> divides
>> >>>>> photons into "nGroups" different flux bins; for each bin, it writes
>> a
>> >>>>> photon
>> >>>>> density and then a flux vector. nGroups is stored in the rt info
>> file;
>> >>>>> nrtvar is written to the rt_ binary file, but this is (I think) a
>> >>>>> Makefile
>> >>>>> setting and not guaranteed to be nGroups/(1+ndim) (the user is, I
>> >>>>> believe,
>> >>>>> normally free to waste memory by allocating more variables than they
>> >>>>> need).
>> >>>>> For details it might be easiest to download the latest code and
>> look at
>> >>>>> the
>> >>>>> code in the folder rt/, or ask Romain or Joki Rosdahl directly.
>> >>>>>
>> >>>>> (Feel free to correct me if any of this is wrong!)
>> >>>>>
>> >>>>> I agree that setting the default to the standard five (perhaps some
>> >>>>> boolean variables for common configurations such as metals, RHD,
>> MHD,
>> >>>>> etc)
>> >>>>> and then letting users set or add their own fields by hand if they
>> need
>> >>>>> to
>> >>>>> is a good approach.
>> >>>>>
>> >>>>>
>> >>>>> On 25/11/13 16:23, Matthew Turk wrote:
>> >>>>>>
>> >>>>>> Hi all, especially RAMSES users,
>> >>>>>>
>> >>>>>> I'm setting up aliases to make it easier to load RAMSES datasets
>> that
>> >>>>>> have different field configurations.
>> >>>>>>
>> >>>>>> Right now, to specify a different set of fields, you have to do:
>> >>>>>>
>> >>>>>> pf = load( ... , fields = [ "Density", "x-velocity", ...])
>> >>>>>>
>> >>>>>> I am going to change this to add on different field configurations
>> >>>>>> that can be specified with just a string.  For instance:
>> >>>>>>
>> >>>>>> pf = load(..., fields = "standard_five")
>> >>>>>>
>> >>>>>> I'm wondering what the different configurations are.  I have these
>> >>>>>> two:
>> >>>>>>
>> >>>>>> standard_five: Density, x-velocity, y-velocity, z-velocity,
>> Pressure
>> >>>>>> standard_six: Density, x-velocity, y-velocity, z-velocity,
>> Pressure,
>> >>>>>> Metallicity
>> >>>>>>
>> >>>>>> But for MHD and RHD, what are the additional fields that should be
>> >>>>>> added, and in what order?  And are there other common
>> configurations
>> >>>>>> that should be aliased?
>> >>>>>>
>> >>>>>> If we can come up with a set of aliases that match most use cases,
>> >>>>>> that'd work quite well.  I'm going to issue a PR for this shortly,
>> and
>> >>>>>> hopefully it will make everybody's life a bit easier.
>> >>>>>>
>> >>>>>> -Matt
>> >>>>>> _______________________________________________
>> >>>>>> 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
>> _______________________________________________
>> yt-users mailing list
>> yt-users at lists.spacepope.org
>> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
>>
>
>
> _______________________________________________
> yt-users mailing listyt-users at lists.spacepope.orghttp://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/20131126/a9e205d9/attachment.htm>


More information about the yt-users mailing list