triggers statement does not include reductions output

Issue #1805 new
Wolfgang Kastaun created an issue

We were adding a grid function that is computed by a function scheduled only by the "triggers" mechanism. When adding the grid function to the reductions output (CarpetIOScalar::outScalar_vars), but not the regular output, we found the function computing the variable is not called. When adding the variable to regular 1d output, but with a lower output frequency than for the reductions, the function is only called before 1d output, but not reduction. This occured using the Wheeler release .

Keyword:

Comments (2)

  1. Roland Haas

    I note that computing variables whose reductions are being computed (for output or otherwise) only every once in a while and not at every timestep is very firmly in the “give you rope to hang yourself with, and then some more” territory. Technically should be supported though (and I thought there are the required CCTJ_TriggerFoo calls in CarpetIOScalar).

    The only way to get away with it somewhat safely is to compute (and output) only every coarse step (if not computing every single step of course). Everything else stands a danger of using stale / invalid data on past timelevels if and when interpolation in time happens. This also implies (well mostly) that the computed quantity must be computable in a pointwise manner, not involving any stencil operations (to avoid having to restrict and prolongate) to avoid different results obtained when computing every step and output every coarse or computing and outputting every coarse.

  2. Log in to comment