From ff8cb4a0e88a5bca42dfe04e09885a6683733e74 Mon Sep 17 00:00:00 2001 From: Matthieu Schaller <matthieu.schaller@durham.ac.uk> Date: Wed, 9 May 2018 10:12:58 +0200 Subject: [PATCH] Always write the cosmological meta-data block in snapshots. Set a flag to 1 if the run was indeed cosmological. --- src/parallel_io.c | 16 +++++++++------- src/serial_io.c | 16 +++++++++------- src/single_io.c | 16 +++++++++------- 3 files changed, 27 insertions(+), 21 deletions(-) diff --git a/src/parallel_io.c b/src/parallel_io.c index 81c70ab43d..8d5a97a2ad 100644 --- a/src/parallel_io.c +++ b/src/parallel_io.c @@ -947,13 +947,15 @@ void prepare_file(struct engine* e, const char* baseName, long long N_total[6], } /* Print the gravity parameters */ - if (e->policy & engine_policy_cosmology) { - h_grp = - H5Gcreate(h_file, "/Cosmology", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - if (h_grp < 0) error("Error while creating cosmology group"); - cosmology_write_model(h_grp, e->cosmology); - H5Gclose(h_grp); - } + h_grp = + H5Gcreate(h_file, "/Cosmology", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + if (h_grp < 0) error("Error while creating cosmology group"); + if (e->policy & engine_policy_cosmology) + io_write_attribute_i(h_grp, "Cosmological run", 1); + else + io_write_attribute_i(h_grp, "Cosmological run", 0); + cosmology_write_model(h_grp, e->cosmology); + H5Gclose(h_grp); /* Print the runtime parameters */ h_grp = diff --git a/src/serial_io.c b/src/serial_io.c index a0a773534c..ab08537948 100644 --- a/src/serial_io.c +++ b/src/serial_io.c @@ -854,13 +854,15 @@ void write_output_serial(struct engine* e, const char* baseName, } /* Print the cosmological model */ - if (e->policy & engine_policy_cosmology) { - h_grp = H5Gcreate(h_file, "/Cosmology", H5P_DEFAULT, H5P_DEFAULT, - H5P_DEFAULT); - if (h_grp < 0) error("Error while creating cosmology group"); - cosmology_write_model(h_grp, e->cosmology); - H5Gclose(h_grp); - } + h_grp = + H5Gcreate(h_file, "/Cosmology", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + if (h_grp < 0) error("Error while creating cosmology group"); + if (e->policy & engine_policy_cosmology) + io_write_attribute_i(h_grp, "Cosmological run", 1); + else + io_write_attribute_i(h_grp, "Cosmological run", 0); + cosmology_write_model(h_grp, e->cosmology); + H5Gclose(h_grp); /* Print the runtime parameters */ h_grp = diff --git a/src/single_io.c b/src/single_io.c index f6619d7c7f..f5b7d33187 100644 --- a/src/single_io.c +++ b/src/single_io.c @@ -706,13 +706,15 @@ void write_output_single(struct engine* e, const char* baseName, } /* Print the cosmological model */ - if (e->policy & engine_policy_cosmology) { - h_grp = - H5Gcreate(h_file, "/Cosmology", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - if (h_grp < 0) error("Error while creating cosmology group"); - cosmology_write_model(h_grp, e->cosmology); - H5Gclose(h_grp); - } + h_grp = + H5Gcreate(h_file, "/Cosmology", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + if (h_grp < 0) error("Error while creating cosmology group"); + if (e->policy & engine_policy_cosmology) + io_write_attribute_i(h_grp, "Cosmological run", 1); + else + io_write_attribute_i(h_grp, "Cosmological run", 0); + cosmology_write_model(h_grp, e->cosmology); + H5Gclose(h_grp); /* Print the runtime parameters */ h_grp = -- GitLab