Skip to content
Snippets Groups Projects
Commit c2c0fc24 authored by Matthieu Schaller's avatar Matthieu Schaller
Browse files

Only output the FOF fields when running with FOF.

parent d98d299b
Branches
Tags
1 merge request!824Add a description and a scale-factor exponent to each individual array written to the snapshots.
...@@ -1215,7 +1215,9 @@ void prepare_file(struct engine* e, const char* baseName, long long N_total[6], ...@@ -1215,7 +1215,9 @@ void prepare_file(struct engine* e, const char* baseName, long long N_total[6],
with_cosmology); with_cosmology);
num_fields += num_fields +=
star_formation_write_particles(parts, xparts, list + num_fields); star_formation_write_particles(parts, xparts, list + num_fields);
num_fields += fof_write_parts(parts, xparts, list + num_fields); if (with_fof) {
num_fields += fof_write_parts(parts, xparts, list + num_fields);
}
if (with_stf) { if (with_stf) {
num_fields += num_fields +=
velociraptor_write_parts(parts, xparts, list + num_fields); velociraptor_write_parts(parts, xparts, list + num_fields);
...@@ -1224,7 +1226,9 @@ void prepare_file(struct engine* e, const char* baseName, long long N_total[6], ...@@ -1224,7 +1226,9 @@ void prepare_file(struct engine* e, const char* baseName, long long N_total[6],
case swift_type_dark_matter: case swift_type_dark_matter:
darkmatter_write_particles(gparts, list, &num_fields); darkmatter_write_particles(gparts, list, &num_fields);
num_fields += fof_write_gparts(gparts, list + num_fields); if (with_fof) {
num_fields += fof_write_gparts(gparts, list + num_fields);
}
if (with_stf) { if (with_stf) {
num_fields += velociraptor_write_gparts(e->s->gpart_group_data, num_fields += velociraptor_write_gparts(e->s->gpart_group_data,
list + num_fields); list + num_fields);
...@@ -1236,7 +1240,9 @@ void prepare_file(struct engine* e, const char* baseName, long long N_total[6], ...@@ -1236,7 +1240,9 @@ void prepare_file(struct engine* e, const char* baseName, long long N_total[6],
num_fields += chemistry_write_sparticles(sparts, list + num_fields); num_fields += chemistry_write_sparticles(sparts, list + num_fields);
num_fields += num_fields +=
tracers_write_sparticles(sparts, list + num_fields, with_cosmology); tracers_write_sparticles(sparts, list + num_fields, with_cosmology);
num_fields += fof_write_sparts(sparts, list + num_fields); if (with_fof) {
num_fields += fof_write_sparts(sparts, list + num_fields);
}
if (with_stf) { if (with_stf) {
num_fields += velociraptor_write_sparts(sparts, list + num_fields); num_fields += velociraptor_write_sparts(sparts, list + num_fields);
} }
...@@ -1245,7 +1251,9 @@ void prepare_file(struct engine* e, const char* baseName, long long N_total[6], ...@@ -1245,7 +1251,9 @@ void prepare_file(struct engine* e, const char* baseName, long long N_total[6],
case swift_type_black_hole: case swift_type_black_hole:
black_holes_write_particles(bparts, list, &num_fields, with_cosmology); black_holes_write_particles(bparts, list, &num_fields, with_cosmology);
num_fields += chemistry_write_bparticles(bparts, list + num_fields); num_fields += chemistry_write_bparticles(bparts, list + num_fields);
num_fields += fof_write_bparts(bparts, list + num_fields); if (with_fof) {
num_fields += fof_write_bparts(bparts, list + num_fields);
}
if (with_stf) { if (with_stf) {
num_fields += velociraptor_write_bparts(bparts, list + num_fields); num_fields += velociraptor_write_bparts(bparts, list + num_fields);
} }
...@@ -1548,7 +1556,9 @@ void write_output_parallel(struct engine* e, const char* baseName, ...@@ -1548,7 +1556,9 @@ void write_output_parallel(struct engine* e, const char* baseName,
num_fields += cooling_write_particles( num_fields += cooling_write_particles(
parts, xparts, list + num_fields, e->cooling_func); parts, xparts, list + num_fields, e->cooling_func);
} }
num_fields += fof_write_parts(parts, xparts, list + num_fields); if (with_fof) {
num_fields += fof_write_parts(parts, xparts, list + num_fields);
}
if (with_stf) { if (with_stf) {
num_fields += num_fields +=
velociraptor_write_parts(parts, xparts, list + num_fields); velociraptor_write_parts(parts, xparts, list + num_fields);
...@@ -1587,8 +1597,10 @@ void write_output_parallel(struct engine* e, const char* baseName, ...@@ -1587,8 +1597,10 @@ void write_output_parallel(struct engine* e, const char* baseName,
cooling_write_particles(parts_written, xparts_written, cooling_write_particles(parts_written, xparts_written,
list + num_fields, e->cooling_func); list + num_fields, e->cooling_func);
} }
num_fields += if (with_fof) {
fof_write_parts(parts_written, xparts_written, list + num_fields); num_fields += fof_write_parts(parts_written, xparts_written,
list + num_fields);
}
if (with_stf) { if (with_stf) {
num_fields += velociraptor_write_parts( num_fields += velociraptor_write_parts(
parts_written, xparts_written, list + num_fields); parts_written, xparts_written, list + num_fields);
...@@ -1606,7 +1618,9 @@ void write_output_parallel(struct engine* e, const char* baseName, ...@@ -1606,7 +1618,9 @@ void write_output_parallel(struct engine* e, const char* baseName,
/* This is a DM-only run without inhibited particles */ /* This is a DM-only run without inhibited particles */
Nparticles = Ntot; Nparticles = Ntot;
darkmatter_write_particles(gparts, list, &num_fields); darkmatter_write_particles(gparts, list, &num_fields);
num_fields += fof_write_gparts(gparts, list + num_fields); if (with_fof) {
num_fields += fof_write_gparts(gparts, list + num_fields);
}
if (with_stf) { if (with_stf) {
num_fields += velociraptor_write_gparts(e->s->gpart_group_data, num_fields += velociraptor_write_gparts(e->s->gpart_group_data,
list + num_fields); list + num_fields);
...@@ -1639,7 +1653,9 @@ void write_output_parallel(struct engine* e, const char* baseName, ...@@ -1639,7 +1653,9 @@ void write_output_parallel(struct engine* e, const char* baseName,
/* Select the fields to write */ /* Select the fields to write */
darkmatter_write_particles(gparts_written, list, &num_fields); darkmatter_write_particles(gparts_written, list, &num_fields);
num_fields += fof_write_gparts(gparts_written, list + num_fields); if (with_fof) {
num_fields += fof_write_gparts(gparts_written, list + num_fields);
}
if (with_stf) { if (with_stf) {
num_fields += velociraptor_write_gparts(gpart_group_data_written, num_fields += velociraptor_write_gparts(gpart_group_data_written,
list + num_fields); list + num_fields);
...@@ -1656,7 +1672,9 @@ void write_output_parallel(struct engine* e, const char* baseName, ...@@ -1656,7 +1672,9 @@ void write_output_parallel(struct engine* e, const char* baseName,
num_fields += chemistry_write_sparticles(sparts, list + num_fields); num_fields += chemistry_write_sparticles(sparts, list + num_fields);
num_fields += tracers_write_sparticles(sparts, list + num_fields, num_fields += tracers_write_sparticles(sparts, list + num_fields,
with_cosmology); with_cosmology);
num_fields += fof_write_sparts(sparts, list + num_fields); if (with_fof) {
num_fields += fof_write_sparts(sparts, list + num_fields);
}
if (with_stf) { if (with_stf) {
num_fields += velociraptor_write_sparts(sparts, list + num_fields); num_fields += velociraptor_write_sparts(sparts, list + num_fields);
} }
...@@ -1681,7 +1699,9 @@ void write_output_parallel(struct engine* e, const char* baseName, ...@@ -1681,7 +1699,9 @@ void write_output_parallel(struct engine* e, const char* baseName,
num_fields += chemistry_write_sparticles(sparts, list + num_fields); num_fields += chemistry_write_sparticles(sparts, list + num_fields);
num_fields += tracers_write_sparticles(sparts, list + num_fields, num_fields += tracers_write_sparticles(sparts, list + num_fields,
with_cosmology); with_cosmology);
num_fields += fof_write_sparts(sparts_written, list + num_fields); if (with_fof) {
num_fields += fof_write_sparts(sparts_written, list + num_fields);
}
if (with_stf) { if (with_stf) {
num_fields += num_fields +=
velociraptor_write_sparts(sparts_written, list + num_fields); velociraptor_write_sparts(sparts_written, list + num_fields);
...@@ -1697,7 +1717,9 @@ void write_output_parallel(struct engine* e, const char* baseName, ...@@ -1697,7 +1717,9 @@ void write_output_parallel(struct engine* e, const char* baseName,
black_holes_write_particles(bparts, list, &num_fields, black_holes_write_particles(bparts, list, &num_fields,
with_cosmology); with_cosmology);
num_fields += chemistry_write_bparticles(bparts, list + num_fields); num_fields += chemistry_write_bparticles(bparts, list + num_fields);
num_fields += fof_write_bparts(bparts, list + num_fields); if (with_fof) {
num_fields += fof_write_bparts(bparts, list + num_fields);
}
if (with_stf) { if (with_stf) {
num_fields += velociraptor_write_bparts(bparts, list + num_fields); num_fields += velociraptor_write_bparts(bparts, list + num_fields);
} }
...@@ -1720,7 +1742,9 @@ void write_output_parallel(struct engine* e, const char* baseName, ...@@ -1720,7 +1742,9 @@ void write_output_parallel(struct engine* e, const char* baseName,
black_holes_write_particles(bparts_written, list, &num_fields, black_holes_write_particles(bparts_written, list, &num_fields,
with_cosmology); with_cosmology);
num_fields += chemistry_write_bparticles(bparts, list + num_fields); num_fields += chemistry_write_bparticles(bparts, list + num_fields);
num_fields += fof_write_bparts(bparts_written, list + num_fields); if (with_fof) {
num_fields += fof_write_bparts(bparts_written, list + num_fields);
}
if (with_stf) { if (with_stf) {
num_fields += num_fields +=
velociraptor_write_bparts(bparts_written, list + num_fields); velociraptor_write_bparts(bparts_written, list + num_fields);
......
...@@ -846,6 +846,7 @@ void write_output_serial(struct engine* e, const char* baseName, ...@@ -846,6 +846,7 @@ void write_output_serial(struct engine* e, const char* baseName,
const int with_cosmology = e->policy & engine_policy_cosmology; const int with_cosmology = e->policy & engine_policy_cosmology;
const int with_cooling = e->policy & engine_policy_cooling; const int with_cooling = e->policy & engine_policy_cooling;
const int with_temperature = e->policy & engine_policy_temperature; const int with_temperature = e->policy & engine_policy_temperature;
const int with_fof = e->policy & engine_policy_fof;
#ifdef HAVE_VELOCIRAPTOR #ifdef HAVE_VELOCIRAPTOR
const int with_stf = (e->policy & engine_policy_structure_finding) && const int with_stf = (e->policy & engine_policy_structure_finding) &&
(e->s->gpart_group_data != NULL); (e->s->gpart_group_data != NULL);
...@@ -1181,7 +1182,9 @@ void write_output_serial(struct engine* e, const char* baseName, ...@@ -1181,7 +1182,9 @@ void write_output_serial(struct engine* e, const char* baseName,
num_fields += cooling_write_particles( num_fields += cooling_write_particles(
parts, xparts, list + num_fields, e->cooling_func); parts, xparts, list + num_fields, e->cooling_func);
} }
num_fields += fof_write_parts(parts, xparts, list + num_fields); if (with_fof) {
num_fields += fof_write_parts(parts, xparts, list + num_fields);
}
if (with_stf) { if (with_stf) {
num_fields += num_fields +=
velociraptor_write_parts(parts, xparts, list + num_fields); velociraptor_write_parts(parts, xparts, list + num_fields);
...@@ -1220,8 +1223,10 @@ void write_output_serial(struct engine* e, const char* baseName, ...@@ -1220,8 +1223,10 @@ void write_output_serial(struct engine* e, const char* baseName,
cooling_write_particles(parts_written, xparts_written, cooling_write_particles(parts_written, xparts_written,
list + num_fields, e->cooling_func); list + num_fields, e->cooling_func);
} }
num_fields += fof_write_parts(parts_written, xparts_written, if (with_fof) {
list + num_fields); num_fields += fof_write_parts(parts_written, xparts_written,
list + num_fields);
}
if (with_stf) { if (with_stf) {
num_fields += velociraptor_write_parts( num_fields += velociraptor_write_parts(
parts_written, xparts_written, list + num_fields); parts_written, xparts_written, list + num_fields);
...@@ -1240,7 +1245,10 @@ void write_output_serial(struct engine* e, const char* baseName, ...@@ -1240,7 +1245,10 @@ void write_output_serial(struct engine* e, const char* baseName,
/* This is a DM-only run without inhibited particles */ /* This is a DM-only run without inhibited particles */
Nparticles = Ntot; Nparticles = Ntot;
darkmatter_write_particles(gparts, list, &num_fields); darkmatter_write_particles(gparts, list, &num_fields);
num_fields += fof_write_gparts(gparts_written, list + num_fields); if (with_fof) {
num_fields +=
fof_write_gparts(gparts_written, list + num_fields);
}
if (with_stf) { if (with_stf) {
num_fields += velociraptor_write_gparts(e->s->gpart_group_data, num_fields += velociraptor_write_gparts(e->s->gpart_group_data,
list + num_fields); list + num_fields);
...@@ -1274,7 +1282,10 @@ void write_output_serial(struct engine* e, const char* baseName, ...@@ -1274,7 +1282,10 @@ void write_output_serial(struct engine* e, const char* baseName,
/* Select the fields to write */ /* Select the fields to write */
darkmatter_write_particles(gparts_written, list, &num_fields); darkmatter_write_particles(gparts_written, list, &num_fields);
num_fields += fof_write_gparts(gparts_written, list + num_fields); if (with_fof) {
num_fields +=
fof_write_gparts(gparts_written, list + num_fields);
}
if (with_stf) { if (with_stf) {
num_fields += velociraptor_write_gparts( num_fields += velociraptor_write_gparts(
gpart_group_data_written, list + num_fields); gpart_group_data_written, list + num_fields);
...@@ -1292,7 +1303,9 @@ void write_output_serial(struct engine* e, const char* baseName, ...@@ -1292,7 +1303,9 @@ void write_output_serial(struct engine* e, const char* baseName,
chemistry_write_sparticles(sparts, list + num_fields); chemistry_write_sparticles(sparts, list + num_fields);
num_fields += tracers_write_sparticles(sparts, list + num_fields, num_fields += tracers_write_sparticles(sparts, list + num_fields,
with_cosmology); with_cosmology);
num_fields += fof_write_sparts(sparts, list + num_fields); if (with_fof) {
num_fields += fof_write_sparts(sparts, list + num_fields);
}
if (with_stf) { if (with_stf) {
num_fields += num_fields +=
velociraptor_write_sparts(sparts, list + num_fields); velociraptor_write_sparts(sparts, list + num_fields);
...@@ -1319,7 +1332,10 @@ void write_output_serial(struct engine* e, const char* baseName, ...@@ -1319,7 +1332,10 @@ void write_output_serial(struct engine* e, const char* baseName,
chemistry_write_sparticles(sparts_written, list + num_fields); chemistry_write_sparticles(sparts_written, list + num_fields);
num_fields += tracers_write_sparticles( num_fields += tracers_write_sparticles(
sparts_written, list + num_fields, with_cosmology); sparts_written, list + num_fields, with_cosmology);
num_fields += fof_write_sparts(sparts_written, list + num_fields); if (with_fof) {
num_fields +=
fof_write_sparts(sparts_written, list + num_fields);
}
if (with_stf) { if (with_stf) {
num_fields += velociraptor_write_sparts(sparts_written, num_fields += velociraptor_write_sparts(sparts_written,
list + num_fields); list + num_fields);
...@@ -1336,7 +1352,9 @@ void write_output_serial(struct engine* e, const char* baseName, ...@@ -1336,7 +1352,9 @@ void write_output_serial(struct engine* e, const char* baseName,
with_cosmology); with_cosmology);
num_fields += num_fields +=
chemistry_write_bparticles(bparts, list + num_fields); chemistry_write_bparticles(bparts, list + num_fields);
num_fields += fof_write_bparts(bparts, list + num_fields); if (with_fof) {
num_fields += fof_write_bparts(bparts, list + num_fields);
}
if (with_stf) { if (with_stf) {
num_fields += num_fields +=
velociraptor_write_bparts(bparts, list + num_fields); velociraptor_write_bparts(bparts, list + num_fields);
...@@ -1361,7 +1379,10 @@ void write_output_serial(struct engine* e, const char* baseName, ...@@ -1361,7 +1379,10 @@ void write_output_serial(struct engine* e, const char* baseName,
with_cosmology); with_cosmology);
num_fields += num_fields +=
chemistry_write_bparticles(bparts, list + num_fields); chemistry_write_bparticles(bparts, list + num_fields);
num_fields += fof_write_bparts(bparts_written, list + num_fields); if (with_fof) {
num_fields +=
fof_write_bparts(bparts_written, list + num_fields);
}
if (with_stf) { if (with_stf) {
num_fields += velociraptor_write_bparts(bparts_written, num_fields += velociraptor_write_bparts(bparts_written,
list + num_fields); list + num_fields);
......
...@@ -708,6 +708,7 @@ void write_output_single(struct engine* e, const char* baseName, ...@@ -708,6 +708,7 @@ void write_output_single(struct engine* e, const char* baseName,
const int with_cosmology = e->policy & engine_policy_cosmology; const int with_cosmology = e->policy & engine_policy_cosmology;
const int with_cooling = e->policy & engine_policy_cooling; const int with_cooling = e->policy & engine_policy_cooling;
const int with_temperature = e->policy & engine_policy_temperature; const int with_temperature = e->policy & engine_policy_temperature;
const int with_fof = e->policy & engine_policy_fof;
#ifdef HAVE_VELOCIRAPTOR #ifdef HAVE_VELOCIRAPTOR
const int with_stf = (e->policy & engine_policy_structure_finding) && const int with_stf = (e->policy & engine_policy_structure_finding) &&
(e->s->gpart_group_data != NULL); (e->s->gpart_group_data != NULL);
...@@ -980,7 +981,9 @@ void write_output_single(struct engine* e, const char* baseName, ...@@ -980,7 +981,9 @@ void write_output_single(struct engine* e, const char* baseName,
num_fields += cooling_write_particles( num_fields += cooling_write_particles(
parts, xparts, list + num_fields, e->cooling_func); parts, xparts, list + num_fields, e->cooling_func);
} }
num_fields += fof_write_parts(parts, xparts, list + num_fields); if (with_fof) {
num_fields += fof_write_parts(parts, xparts, list + num_fields);
}
if (with_stf) { if (with_stf) {
num_fields += num_fields +=
velociraptor_write_parts(parts, xparts, list + num_fields); velociraptor_write_parts(parts, xparts, list + num_fields);
...@@ -1019,8 +1022,10 @@ void write_output_single(struct engine* e, const char* baseName, ...@@ -1019,8 +1022,10 @@ void write_output_single(struct engine* e, const char* baseName,
cooling_write_particles(parts_written, xparts_written, cooling_write_particles(parts_written, xparts_written,
list + num_fields, e->cooling_func); list + num_fields, e->cooling_func);
} }
num_fields += if (with_fof) {
fof_write_parts(parts_written, xparts_written, list + num_fields); num_fields += fof_write_parts(parts_written, xparts_written,
list + num_fields);
}
if (with_stf) { if (with_stf) {
num_fields += velociraptor_write_parts( num_fields += velociraptor_write_parts(
parts_written, xparts_written, list + num_fields); parts_written, xparts_written, list + num_fields);
...@@ -1038,7 +1043,9 @@ void write_output_single(struct engine* e, const char* baseName, ...@@ -1038,7 +1043,9 @@ void write_output_single(struct engine* e, const char* baseName,
/* This is a DM-only run without inhibited particles */ /* This is a DM-only run without inhibited particles */
N = Ntot; N = Ntot;
darkmatter_write_particles(gparts, list, &num_fields); darkmatter_write_particles(gparts, list, &num_fields);
num_fields += fof_write_gparts(gparts, list + num_fields); if (with_fof) {
num_fields += fof_write_gparts(gparts, list + num_fields);
}
if (with_stf) { if (with_stf) {
num_fields += velociraptor_write_gparts(e->s->gpart_group_data, num_fields += velociraptor_write_gparts(e->s->gpart_group_data,
list + num_fields); list + num_fields);
...@@ -1071,7 +1078,9 @@ void write_output_single(struct engine* e, const char* baseName, ...@@ -1071,7 +1078,9 @@ void write_output_single(struct engine* e, const char* baseName,
/* Select the fields to write */ /* Select the fields to write */
darkmatter_write_particles(gparts_written, list, &num_fields); darkmatter_write_particles(gparts_written, list, &num_fields);
num_fields += fof_write_gparts(gparts_written, list + num_fields); if (with_fof) {
num_fields += fof_write_gparts(gparts_written, list + num_fields);
}
if (with_stf) { if (with_stf) {
num_fields += velociraptor_write_gparts(gpart_group_data_written, num_fields += velociraptor_write_gparts(gpart_group_data_written,
list + num_fields); list + num_fields);
...@@ -1088,7 +1097,9 @@ void write_output_single(struct engine* e, const char* baseName, ...@@ -1088,7 +1097,9 @@ void write_output_single(struct engine* e, const char* baseName,
num_fields += chemistry_write_sparticles(sparts, list + num_fields); num_fields += chemistry_write_sparticles(sparts, list + num_fields);
num_fields += tracers_write_sparticles(sparts, list + num_fields, num_fields += tracers_write_sparticles(sparts, list + num_fields,
with_cosmology); with_cosmology);
num_fields += fof_write_sparts(sparts, list + num_fields); if (with_fof) {
num_fields += fof_write_sparts(sparts, list + num_fields);
}
if (with_stf) { if (with_stf) {
num_fields += velociraptor_write_sparts(sparts, list + num_fields); num_fields += velociraptor_write_sparts(sparts, list + num_fields);
} }
...@@ -1114,7 +1125,9 @@ void write_output_single(struct engine* e, const char* baseName, ...@@ -1114,7 +1125,9 @@ void write_output_single(struct engine* e, const char* baseName,
chemistry_write_sparticles(sparts_written, list + num_fields); chemistry_write_sparticles(sparts_written, list + num_fields);
num_fields += tracers_write_sparticles( num_fields += tracers_write_sparticles(
sparts_written, list + num_fields, with_cosmology); sparts_written, list + num_fields, with_cosmology);
num_fields += fof_write_sparts(sparts_written, list + num_fields); if (with_fof) {
num_fields += fof_write_sparts(sparts_written, list + num_fields);
}
if (with_stf) { if (with_stf) {
num_fields += num_fields +=
velociraptor_write_sparts(sparts_written, list + num_fields); velociraptor_write_sparts(sparts_written, list + num_fields);
...@@ -1130,7 +1143,9 @@ void write_output_single(struct engine* e, const char* baseName, ...@@ -1130,7 +1143,9 @@ void write_output_single(struct engine* e, const char* baseName,
black_holes_write_particles(bparts, list, &num_fields, black_holes_write_particles(bparts, list, &num_fields,
with_cosmology); with_cosmology);
num_fields += chemistry_write_bparticles(bparts, list + num_fields); num_fields += chemistry_write_bparticles(bparts, list + num_fields);
num_fields += fof_write_bparts(bparts, list + num_fields); if (with_fof) {
num_fields += fof_write_bparts(bparts, list + num_fields);
}
if (with_stf) { if (with_stf) {
num_fields += velociraptor_write_bparts(bparts, list + num_fields); num_fields += velociraptor_write_bparts(bparts, list + num_fields);
} }
...@@ -1154,7 +1169,9 @@ void write_output_single(struct engine* e, const char* baseName, ...@@ -1154,7 +1169,9 @@ void write_output_single(struct engine* e, const char* baseName,
with_cosmology); with_cosmology);
num_fields += num_fields +=
chemistry_write_bparticles(bparts_written, list + num_fields); chemistry_write_bparticles(bparts_written, list + num_fields);
num_fields += fof_write_bparts(bparts_written, list + num_fields); if (with_fof) {
num_fields += fof_write_bparts(bparts_written, list + num_fields);
}
if (with_stf) { if (with_stf) {
num_fields += num_fields +=
velociraptor_write_bparts(bparts_written, list + num_fields); velociraptor_write_bparts(bparts_written, list + num_fields);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment