Skip to content
Snippets Groups Projects
Commit 1c00c6ce authored by Andreas Gattringer's avatar Andreas Gattringer
Browse files

flush summary file after writing

parent 74f3cc10
No related branches found
No related tags found
No related merge requests found
...@@ -218,6 +218,7 @@ void cleanup_configuration(struct cats_configuration **conf_orig) ...@@ -218,6 +218,7 @@ void cleanup_configuration(struct cats_configuration **conf_orig)
// THIS HAS TO BE THE FIRST ENTRY // THIS HAS TO BE THE FIRST ENTRY
cleanup_module_registry(&conf->modules); cleanup_module_registry(&conf->modules);
if (conf->summary_file) { if (conf->summary_file) {
fflush(conf->summary_file);
fclose(conf->summary_file); fclose(conf->summary_file);
free(conf->summary_file_name); free(conf->summary_file_name);
} }
......
...@@ -73,8 +73,9 @@ load_configuration_from_file(const char *filename, const struct program_options ...@@ -73,8 +73,9 @@ load_configuration_from_file(const char *filename, const struct program_options
if (conf->summary_file_name) { if (conf->summary_file_name) {
conf->summary_file = fopen(conf->summary_file_name, "w"); conf->summary_file = fopen(conf->summary_file_name, "w");
ENSURE_FILE_OPENED(conf->summary_file, conf->summary_file_name) ENSURE_FILE_OPENED(conf->summary_file, conf->summary_file_name)
fprintf(conf->summary_file, "type,path,year\n"); fprintf(conf->summary_file, "run.name,replicate,file.type,file.name,year\n");
if (conf->log_file_name) fprintf(conf->summary_file, "log,%s,\n",conf->log_file_name); if (conf->log_file_name) fprintf(conf->summary_file, "%s,%d,log,%s,NA\n", conf->run_name, conf->simulation.replicate, conf->log_file_name);
fflush(conf->summary_file);
} }
#ifdef USEMPI #ifdef USEMPI
mpi_setup(conf); mpi_setup(conf);
......
...@@ -343,7 +343,10 @@ void initialize_grid_stats(struct cats_grid *grid, struct cats_configuration *co ...@@ -343,7 +343,10 @@ void initialize_grid_stats(struct cats_grid *grid, struct cats_configuration *co
remove(filename); remove(filename);
grid->stats.file = fopen(filename, "a+"); grid->stats.file = fopen(filename, "a+");
ENSURE_FILE_OPENED(grid->stats.file, filename) ENSURE_FILE_OPENED(grid->stats.file, filename)
if (conf->summary_file) fprintf(conf->summary_file, "grid-stats,%s,\n",filename); if (conf->summary_file) {
fprintf(conf->summary_file, "%s,%d,grid-stats,%s,NA\n", conf->run_name, conf->simulation.replicate, filename);
fflush(conf->summary_file);
}
free(filename); free(filename);
write_grid_stats(conf, grid, true); write_grid_stats(conf, grid, true);
fflush(grid->stats.file); fflush(grid->stats.file);
......
...@@ -70,7 +70,10 @@ void *save_population_to_gdal(struct cats_grid *grid, struct cats_configuration ...@@ -70,7 +70,10 @@ void *save_population_to_gdal(struct cats_grid *grid, struct cats_configuration
(cats_dt_population) get_vital_rate_maximum(&grid->param.carrying_capacity)); (cats_dt_population) get_vital_rate_maximum(&grid->param.carrying_capacity));
fflush(stderr); fflush(stderr);
} }
if (conf->summary_file) fprintf(conf->summary_file, "population,%s,%d\n",filename, conf->time.year_current); if (conf->summary_file){
fprintf(conf->summary_file, "%s,%d,population,%s,%d\n",conf->run_name, conf->simulation.replicate, filename, conf->time.year_current);
fflush(conf->summary_file);
}
free(filename); free(filename);
return 0; return 0;
......
...@@ -49,7 +49,10 @@ void initialize_global_stats(struct cats_configuration *conf) ...@@ -49,7 +49,10 @@ void initialize_global_stats(struct cats_configuration *conf)
conf->statsfile_global = fopen(filename, "a+"); conf->statsfile_global = fopen(filename, "a+");
ENSURE_FILE_OPENED(conf->statsfile_global, filename) ENSURE_FILE_OPENED(conf->statsfile_global, filename)
if (conf->summary_file) fprintf(conf->summary_file, "global-stats,%s,\n",filename); if (conf->summary_file) {
fprintf(conf->summary_file, "%s,%d,global-stats,%s,NA\n",conf->run_name, conf->simulation.replicate,filename);
fflush(conf->summary_file);
}
write_global_stats(conf, NULL, true); write_global_stats(conf, NULL, true);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment