From 1e5b4b1379a945c97bc1d6ba23123478acd8ae87 Mon Sep 17 00:00:00 2001
From: Cristian C Lalescu <Cristian.Lalescu@ds.mpg.de>
Date: Wed, 22 Jan 2020 15:45:40 +0100
Subject: [PATCH] use particle information for checkpointing
---
cpp/full_code/kraichnan_field.cpp | 19 ++++++++++++++-----
1 file changed, 14 insertions(+), 5 deletions(-)
diff --git a/cpp/full_code/kraichnan_field.cpp b/cpp/full_code/kraichnan_field.cpp
index 67123545..3ec76efc 100644
--- a/cpp/full_code/kraichnan_field.cpp
+++ b/cpp/full_code/kraichnan_field.cpp
@@ -327,14 +327,23 @@ void kraichnan_field<rnumber>::update_checkpoint()
hsize_t fields_stored;
hid_t fid, group_id;
fid = H5Fopen(fname.c_str(), H5F_ACC_RDONLY, H5P_DEFAULT);
- group_id = H5Gopen(fid, "velocity/real", H5P_DEFAULT);
- H5Gget_num_objs(
+ group_id = H5Gopen(fid, "tracers0/state", H5P_DEFAULT);
+ bool dset_exists;
+ if (group_id > 0)
+ {
+ H5Gget_num_objs(
group_id,
&fields_stored);
- bool dset_exists = H5Lexists(
+ dset_exists = H5Lexists(
group_id,
std::to_string(this->iteration).c_str(),
H5P_DEFAULT);
+ }
+ else
+ {
+ fields_stored = 0;
+ dset_exists = false;
+ }
H5Gclose(group_id);
H5Fclose(fid);
if ((int(fields_stored) >= this->checkpoints_per_file) &&
@@ -351,13 +360,13 @@ void kraichnan_field<rnumber>::update_checkpoint()
H5P_DEFAULT);
hid_t gg = H5Gcreate(
fid,
- "velocity",
+ "tracers0",
H5P_DEFAULT,
H5P_DEFAULT,
H5P_DEFAULT);
hid_t ggg = H5Gcreate(
gg,
- "real",
+ "state",
H5P_DEFAULT,
H5P_DEFAULT,
H5P_DEFAULT);
--
GitLab