[yt-users] RFC: RAMSES field aliases in yt-3.0
Romain Teyssier
romain.teyssier at gmail.com
Tue Nov 26 10:52:48 PST 2013
I like Sam’s suggestion (option a).
Based on how many variables we have in the file, we propose a default variable name vector,
like the ones proposed by Sam, but the user should always have the possibility to overwrite the default
because he is the only one to really know which variables he used.
One cool option would be for the user to be able define a default variable name vector himself.
Cheers,
Romain
On 26 Nov 2013, at 16:44, Sam Geen <samgeen at astro.ox.ac.uk> 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 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/20131126/7613b748/attachment.html>
More information about the yt-users
mailing list