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