From cb38bd4927a3ac34ec6fa67dda451426e10bddb4 Mon Sep 17 00:00:00 2001
From: Matthieu Schaller <matthieu.schaller@durham.ac.uk>
Date: Fri, 26 Aug 2016 12:15:37 +0100
Subject: [PATCH] Print the dimension information to the HDF5 header group.
 Allows restart from a snapshot.

---
 src/parallel_io.c | 2 ++
 src/serial_io.c   | 2 ++
 src/single_io.c   | 2 ++
 3 files changed, 6 insertions(+)

diff --git a/src/parallel_io.c b/src/parallel_io.c
index 5d10cf0313..0da34d4dad 100644
--- a/src/parallel_io.c
+++ b/src/parallel_io.c
@@ -677,6 +677,8 @@ void write_output_parallel(struct engine* e, const char* baseName,
   writeAttribute(h_grp, "BoxSize", DOUBLE, e->s->dim, 3);
   double dblTime = e->time;
   writeAttribute(h_grp, "Time", DOUBLE, &dblTime, 1);
+  int dimension = (int)hydro_dimension;
+  writeAttribute(h_grp, "Dimension", INT, &dimension, 1);
 
   /* GADGET-2 legacy values */
   /* Number of particles of each type */
diff --git a/src/serial_io.c b/src/serial_io.c
index a9213819d4..6e26be1a33 100644
--- a/src/serial_io.c
+++ b/src/serial_io.c
@@ -739,6 +739,8 @@ void write_output_serial(struct engine* e, const char* baseName,
     writeAttribute(h_grp, "BoxSize", DOUBLE, e->s->dim, 3);
     double dblTime = e->time;
     writeAttribute(h_grp, "Time", DOUBLE, &dblTime, 1);
+    int dimension = (int)hydro_dimension;
+    writeAttribute(h_grp, "Dimension", INT, &dimension, 1);
 
     /* GADGET-2 legacy values */
     /* Number of particles of each type */
diff --git a/src/single_io.c b/src/single_io.c
index df741ac223..6cb7e83020 100644
--- a/src/single_io.c
+++ b/src/single_io.c
@@ -592,6 +592,8 @@ void write_output_single(struct engine* e, const char* baseName,
   writeAttribute(h_grp, "BoxSize", DOUBLE, e->s->dim, 3);
   double dblTime = e->time;
   writeAttribute(h_grp, "Time", DOUBLE, &dblTime, 1);
+  int dimension = (int)hydro_dimension;
+  writeAttribute(h_grp, "Dimension", INT, &dimension, 1);
 
   /* GADGET-2 legacy values */
   /* Number of particles of each type */
-- 
GitLab