Hello Bernard,
Something new (I think) and trivial, but is annoying me.
For diagnostic purposes, I was running a Cactus/Carpet executable (ETK Maxwell) with CarpetIOBasic::output_1Devery = 1. To my surprise, the output happens every *two* timesteps. When I switch the parameter to 2, the same thing happens. So I get the following behaviour:
parameter value => actual output frequency
1 => 2 2 => 2 4 => 4 8 => 8
The grid has multiple refinement levels. I tried a smaller testsuite (perhaps one of the ML_BSSN tests, which are unigrid), and there "output_1Devery = 1" really did produce output every timestep.
I know a proper report needs a sample parameter file for reproducibility, but before I get that (not logged into the right machine right now), perhaps someone could tell me why this -might- happen? The logic in the IOBasic thorn seems simple enough ...
The behaviour you describe occurs if you have carpet::max_refinement_levels larger than the largest existing refinement level (eg. in CarpetRegrid2?). cctk_iteration counts iterations on the finest possible grid so if not all grid exists you get the behaviour your describe since Carpet skips non-existing refinement levels almost completely.
Yours, Roland