aboutsummaryrefslogtreecommitdiff
path: root/Carpet/CarpetIOHDF5/src
diff options
context:
space:
mode:
authorRoland Haas <roland.haas@physics.gatech.edu>2012-05-05 15:12:59 -0700
committerBarry Wardell <barry.wardell@gmail.com>2012-09-11 18:23:31 +0100
commit3af3dfa78c78075b962b639fcd93cb2714a0f825 (patch)
tree101b6af505c9875f99677fd89bc399d86fd21130 /Carpet/CarpetIOHDF5/src
parentb59d64eb33a00920432e881a5b896e18ccc6a0b6 (diff)
CarpetIOHDF5: add option checkpoint_every_divisor
to checkpoint when cctk_iteration % checkpoint_every_divisor == 0 rather than at whenever checkpoint_every iterations have passed since the last checkpoint
Diffstat (limited to 'Carpet/CarpetIOHDF5/src')
-rw-r--r--Carpet/CarpetIOHDF5/src/CarpetIOHDF5.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/Carpet/CarpetIOHDF5/src/CarpetIOHDF5.cc b/Carpet/CarpetIOHDF5/src/CarpetIOHDF5.cc
index c3053c332..909764b46 100644
--- a/Carpet/CarpetIOHDF5/src/CarpetIOHDF5.cc
+++ b/Carpet/CarpetIOHDF5/src/CarpetIOHDF5.cc
@@ -168,13 +168,17 @@ void CarpetIOHDF5_EvolutionCheckpoint (CCTK_ARGUMENTS)
bool const checkpoint_by_iteration =
checkpoint_every > 0 and
iteration >= last_checkpoint_iteration + checkpoint_every;
+ bool const checkpoint_by_iteration_divisor =
+ checkpoint_every_divisor > 0 and
+ iteration % checkpoint_every_divisor == 0;
bool const checkpoint_by_walltime =
checkpoint_every_walltime_hours > 0 and
walltime >= last_checkpoint_walltime + checkpoint_every_walltime_hours;
int do_checkpoint =
checkpoint and
- (checkpoint_by_iteration or checkpoint_by_walltime or checkpoint_next);
+ (checkpoint_by_iteration or checkpoint_by_iteration_divisor or
+ checkpoint_by_walltime or checkpoint_next);
if (checkpoint_every_walltime_hours > 0) {
// broadcast the decision since comparing wall times may differ on
// different processors