From cb989052e90480ee3a75e5c80227d72840f015b4 Mon Sep 17 00:00:00 2001
From: Folkert Nobels <nobels@strw.leidenuniv.nl>
Date: Thu, 9 Apr 2020 15:26:20 +0100
Subject: [PATCH] Bug fix to star formation spart writting

---
 src/common_io.c   | 2 ++
 src/parallel_io.c | 4 ++--
 src/serial_io.c   | 4 ++--
 src/single_io.c   | 4 ++--
 4 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/src/common_io.c b/src/common_io.c
index 458fe82293..b9d8d03bd5 100644
--- a/src/common_io.c
+++ b/src/common_io.c
@@ -2319,6 +2319,7 @@ void io_check_output_fields(const struct swift_params* params,
         num_fields += chemistry_write_sparticles(NULL, list + num_fields);
         num_fields += tracers_write_sparticles(NULL, list + num_fields,
                                                /*with_cosmology=*/1);
+        num_fields += star_formation_write_sparticles(NULL, list + num_fields);
         num_fields += fof_write_sparts(NULL, list + num_fields);
         num_fields += velociraptor_write_sparts(NULL, list + num_fields);
         break;
@@ -2438,6 +2439,7 @@ void io_write_output_field_parameter(const char* filename) {
         num_fields += chemistry_write_sparticles(NULL, list + num_fields);
         num_fields += tracers_write_sparticles(NULL, list + num_fields,
                                                /*with_cosmology=*/1);
+        num_fields += star_formation_write_sparticles(NULL, list + num_fields);
         num_fields += fof_write_sparts(NULL, list + num_fields);
         num_fields += velociraptor_write_sparts(NULL, list + num_fields);
         break;
diff --git a/src/parallel_io.c b/src/parallel_io.c
index e5567f3521..c682714a1a 100644
--- a/src/parallel_io.c
+++ b/src/parallel_io.c
@@ -1831,8 +1831,8 @@ void write_output_parallel(struct engine* e, const char* baseName,
               chemistry_write_sparticles(sparts_written, list + num_fields);
           num_fields += tracers_write_sparticles(
               sparts_written, list + num_fields, with_cosmology);
-          num_fields +=
-              star_formation_write_sparticles(sparts, list + num_fields);
+          num_fields += star_formation_write_sparticles(sparts_written,
+                                                        list + num_fields);
           if (with_fof) {
             num_fields += fof_write_sparts(sparts_written, list + num_fields);
           }
diff --git a/src/serial_io.c b/src/serial_io.c
index 0e66d22e55..6fb4260111 100644
--- a/src/serial_io.c
+++ b/src/serial_io.c
@@ -1438,8 +1438,8 @@ void write_output_serial(struct engine* e, const char* baseName,
                   chemistry_write_sparticles(sparts_written, list + num_fields);
               num_fields += tracers_write_sparticles(
                   sparts_written, list + num_fields, with_cosmology);
-              num_fields +=
-                  star_formation_write_sparticles(sparts, list + num_fields);
+              num_fields += star_formation_write_sparticles(sparts_written,
+                                                            list + num_fields);
               if (with_fof) {
                 num_fields +=
                     fof_write_sparts(sparts_written, list + num_fields);
diff --git a/src/single_io.c b/src/single_io.c
index ce123fd8ae..cf8873b62c 100644
--- a/src/single_io.c
+++ b/src/single_io.c
@@ -1226,8 +1226,8 @@ void write_output_single(struct engine* e, const char* baseName,
               chemistry_write_sparticles(sparts_written, list + num_fields);
           num_fields += tracers_write_sparticles(
               sparts_written, list + num_fields, with_cosmology);
-          num_fields +=
-              star_formation_write_sparticles(sparts, list + num_fields);
+          num_fields += star_formation_write_sparticles(sparts_written,
+                                                        list + num_fields);
           if (with_fof) {
             num_fields += fof_write_sparts(sparts_written, list + num_fields);
           }
-- 
GitLab