[Developers] patch for fallback in CactusBase/IOUtils

Thomas Radke tradke at aei.mpg.de
Wed Apr 27 04:56:37 CDT 2005

Frank Loeffler wrote:
> Hi,
> I wrote a small patch which changes the default behaviour of IOUtils (1D 
> and 2D output) in the case that the specified slices (default to the 
> axes/axes planes) are not within the computational domain.
> The current behaiviour is to take index 0 in that direction.
> This patch changes this to the index of the center of the box in this 
> direction. This can be changed back to the old behaviour using 
> parameters for 1D and 2D output. (out_[12d]_fallback_method)
> Before I ask to include this patch in Cactus I want to know your 
> opinions about it:
> 1) Do you care about this at all? (It is only changing the fallback.)
> 2) What do you prefer for default:
>   a. the old behaviour (zero)
>   b. the new behaviour (center)
> 3) Are there any things that I missed? (coding style, bugs ect.)

Hi Frank,

it seems that there are no objections against changing the default
fallback for choosing the slice center for 1D/2D output from 0 to the
center of the box if the physical coordinate specified in the parfile
lies outside the grid.

Introducing a new parameter IO::out_[12]d_fallback_method to choose
between which fallback to use, and make the "center" method the default,
would break backwards compatibility though.
So how about extending the range of the existing index slice center
parameters instead by a new value which decodes this new behaviour ? It
would look like this:

   INT out_xline_yi "y-index (from 0) for 1D lines in x-direction,
overrides IO::out_xline_y" STEERABLE = RECOVER
      0:* :: "An index between [0, ny)"
     -1:  :: "Default to physical coordinate IO::out_xline_y if it is
within grid bounds, otherwise revert to using 0"
     -2:  :: "Default to physical coordinate IO::out_xline_y if it is
within grid bounds, otherwise revert to using the y-center of the box"
   } -2

Runs recovered from old checkpoints would then still use 0 as slice
center fallback. And you can even choose the falback method on a
per-direction basis.

Cheers, Thomas.

More information about the Developers mailing list