<div dir="ltr">Hi Chris.<div><br></div><div style>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.</div>

</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, May 23, 2013 at 10:37 AM, Chris Malone <span dir="ltr"><<a href="mailto:chris.m.malone@gmail.com" target="_blank">chris.m.malone@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi all,<div><br></div><div>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!</div>


<div><br></div><div>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.</div>


<div><br></div><div>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.</div>


<div><br></div><div>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.</div>


<div><br></div><div>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.</div>


<div><br></div><div>For instance, the data file contains</div><div><br></div><div>Level 0</div><div>Level 1 (refined by 2 w.r.t. Level 0)</div><div>Level 2 (refined by 4 w.r.t. Level 1)</div>
<div><br></div><div>then when the data is actually needed to make a plot or slice or whathaveyou, yt could do something like this</div><div><br></div><div>Level 0</div><div>Level 1 (refined by 2 w.r.t. Level 0)</div>
<div>Level 2 (refined by 2 w.r.t. Level 1; same bounding grid as Level 2 from data file; child_mask = 0)</div><div>Level 3 (refined by 2 w.r.t Level 2; same data/grid as Level 2 from data file)</div><div>
<br></div><div>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:  </div><div>
<br></div><div>When the mask is set, do all operations ignore coarse data?  Would having an entire level that is masked be problematic?</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>Chris</div></font></span></div>


<br>_______________________________________________<br>
yt-dev mailing list<br>
<a href="mailto:yt-dev@lists.spacepope.org">yt-dev@lists.spacepope.org</a><br>
<a href="http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org" target="_blank">http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org</a><br>
<br></blockquote></div><br></div>