[cig-commits] r6685 - mc/3D/CitcomS/branches/compressible/lib

tan2 at geodynamics.org tan2 at geodynamics.org
Wed Apr 25 13:17:20 PDT 2007


Author: tan2
Date: 2007-04-25 13:17:19 -0700 (Wed, 25 Apr 2007)
New Revision: 6685

Modified:
   mc/3D/CitcomS/branches/compressible/lib/Checkpoints.c
Log:
Append timestep to the checkpoint filename. Write/read timing information correctly.

Modified: mc/3D/CitcomS/branches/compressible/lib/Checkpoints.c
===================================================================
--- mc/3D/CitcomS/branches/compressible/lib/Checkpoints.c	2007-04-25 19:38:23 UTC (rev 6684)
+++ mc/3D/CitcomS/branches/compressible/lib/Checkpoints.c	2007-04-25 20:17:19 UTC (rev 6685)
@@ -54,9 +54,11 @@
     char output_file[255];
     FILE *fp1;
 
-    sprintf(output_file, "%s.chkpt.%d", E->control.data_file, E->parallel.me);
+    sprintf(output_file, "%s.chkpt.%d.%d", E->control.data_file,
+            E->parallel.me, E->monitor.solution_cycles);
 
-    backup_file(output_file);
+    /* Disable the backup since the filename is unique. */
+    /* backup_file(output_file); */
 
     fp1 = fopen(output_file, "wb");
 
@@ -89,8 +91,8 @@
     FILE *fp;
 
     /* open the checkpoint file */
-    snprintf(output_file, 254, "%s.chkpt.%d",
-             E->control.old_P_file, E->parallel.me);
+    snprintf(output_file, 254, "%s.chkpt.%d.%d", E->control.old_P_file,
+             E->parallel.me, E->monitor.solution_cycles_init);
     fp = fopen(output_file, "rb");
     if(fp == NULL) {
         fprintf(stderr, "Cannot open file: %s\n", output_file);
@@ -179,7 +181,8 @@
     fwrite(&(E->sphere.caps_per_proc), sizeof(int), 1, fp);
 
     /* write timing information */
-    fwrite(&(E->advection.timesteps), sizeof(int), 1, fp);
+    fwrite(&(E->monitor.solution_cycles), sizeof(int), 1, fp);
+    fwrite(&(E->monitor.elapsed_time), sizeof(float), 1, fp);
     fwrite(&(E->advection.timestep), sizeof(float), 1, fp);
 
     return;
@@ -211,10 +214,12 @@
     }
 
     /* read timing information */
-    fread(&(E->advection.timesteps), sizeof(int), 1, fp);
+    fread(&(E->monitor.solution_cycles), sizeof(int), 1, fp);
+    fread(&(E->monitor.elapsed_time), sizeof(float), 1, fp);
     fread(&(E->advection.timestep), sizeof(float), 1, fp);
 
-    E->monitor.solution_cycles = E->advection.timesteps;
+    E->advection.timesteps = E->monitor.solution_cycles;
+
     return;
 }
 



More information about the cig-commits mailing list