[yt-dev] "faking" away variable-by-level refinement

Casey W. Stark caseywstark at gmail.com
Thu May 23 10:48:54 PDT 2013


Hi Chris.

I have also used the by-level refinement ratio option in Castro and Nyx,
but I doubt we will need it in the future. I think if we ever use a
refinement factor of 4, all levels will be that way (and likely just one
level). Your idea of interpolating the in between level sounds reasonable
and easiest.


On Thu, May 23, 2013 at 10:37 AM, Chris Malone <chris.m.malone at gmail.com>wrote:

> Hi all,
>
> I've been out of the yt-loop for awhile, but am now getting back into the
> game.  In particular I work with the BoxLib-based codes, Maestro and
> Castro.  I'm glad Matt has taken the time to consolidate the BoxLib
> frontends - this is something I've wanted to do for some time!
>
> One issue that has come up is that (at least) Castro supports jumps in
> refinement that can vary between levels.  In other words, Level 1 might be
> twice as refined as Level 0, but Level 2 might be four times as refined as
> Level 1.
>
> This causes problems in yt as there is only a single global refine_by
> parameter, which assumes all levels are refined by the same ratio.  This
> probably isn't a major concern as I think I'm the only one so far who has
> used this variable-by-level  refinement with Castro, and it may not be
> something useful in the future.
>
> So, for the time being, I want to move forward with testing out the
> consolidated BoxLib frontend on a real dataset.  I could, of course, write
> a script offline that would take my old datafile, create intermediate-level
> grids and populate the data by averaging or interpolating the real data so
> that all levels have the same refinement ratio, but I've just "faked" the
> data for the levels that I have added.
>
> Another option would be to do this within yt when it loads a plotfile, if
> it notices the refinement ratio isn't the same at all levels.  I'm not sure
> exactly if/how this could/should be done.  One thing that pops to mind is
> use the child_mask that is set to all zeros.
>
> For instance, the data file contains
>
> Level 0
> Level 1 (refined by 2 w.r.t. Level 0)
> Level 2 (refined by 4 w.r.t. Level 1)
>
> then when the data is actually needed to make a plot or slice or
> whathaveyou, yt could do something like this
>
> Level 0
> Level 1 (refined by 2 w.r.t. Level 0)
> Level 2 (refined by 2 w.r.t. Level 1; same bounding grid as Level 2 from
> data file; child_mask = 0)
> Level 3 (refined by 2 w.r.t Level 2; same data/grid as Level 2 from data
> file)
>
> I'm scouring the code for "child_mask" to get a feel for when it is
> actually used in generating plots/data containers, but I thought I'd ask
> some basic questions first:
>
> When the mask is set, do all operations ignore coarse data?  Would having
> an entire level that is masked be problematic?
>
> Chris
>
> _______________________________________________
> 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/20130523/c73d4433/attachment.htm>


More information about the yt-dev mailing list