[cig-commits] r4582 - in mc/3D/CitcomS/trunk: CitcomS/Solver lib

tan2 at geodynamics.org tan2 at geodynamics.org
Thu Sep 21 12:57:59 PDT 2006


Author: tan2
Date: 2006-09-21 12:57:58 -0700 (Thu, 21 Sep 2006)
New Revision: 4582

Modified:
   mc/3D/CitcomS/trunk/CitcomS/Solver/Solver.py
   mc/3D/CitcomS/trunk/lib/Instructions.c
   mc/3D/CitcomS/trunk/lib/Output.c
   mc/3D/CitcomS/trunk/lib/Output_h5.c
   mc/3D/CitcomS/trunk/lib/global_defs.h
Log:
Added new option for "output_format". The current behavior is:
* If output_format=="ascii-local" (the default), CitcomS will write ascii 
  files to the directory and prefix specified by "datafile", ie., the same
  behavior as in v2.0
* If output_format=="ascii", CitcomS will write ascii files to the directory
  specified by "datadir" with the prefix specified by "datafile". In the
  case, "datafile" cannot contains the '/' (path seperator) character.
* If output_format=="hdf5", CitcomS will write singe HDf5 file to the
  directory and prefix specified by "datafile".


Modified: mc/3D/CitcomS/trunk/CitcomS/Solver/Solver.py
===================================================================
--- mc/3D/CitcomS/trunk/CitcomS/Solver/Solver.py	2006-09-21 19:42:41 UTC (rev 4581)
+++ mc/3D/CitcomS/trunk/CitcomS/Solver/Solver.py	2006-09-21 19:57:58 UTC (rev 4582)
@@ -238,7 +238,7 @@
 
     class Inventory(Component.Inventory):
 
-        import pyre.inventory
+        import pyre.inventory as inv
 
         # component modules
         import CitcomS.Components.Advection_diffusion as Advection_diffusion
@@ -254,30 +254,34 @@
         from CitcomS.Components.Visc import Visc
 
 
-        tsolver = pyre.inventory.facility("tsolver", factory=Advection_diffusion.temperature_diffadv)
-        vsolver = pyre.inventory.facility("vsolver", factory=Stokes_solver.incompressibleNewtonian)
+        tsolver = inv.facility("tsolver",
+                               factory=Advection_diffusion.temperature_diffadv)
+        vsolver = inv.facility("vsolver",
+                               factory=Stokes_solver.incompressibleNewtonian)
 
-        bc = pyre.inventory.facility("bc", factory=BC)
-        const = pyre.inventory.facility("const", factory=Const)
-        ic = pyre.inventory.facility("ic", factory=IC)
-        param = pyre.inventory.facility("param", factory=Param)
-        phase = pyre.inventory.facility("phase", factory=Phase)
-        tracer = pyre.inventory.facility("tracer", factory=Tracer)
-        visc = pyre.inventory.facility("visc", factory=Visc)
+        bc = inv.facility("bc", factory=BC)
+        const = inv.facility("const", factory=Const)
+        ic = inv.facility("ic", factory=IC)
+        param = inv.facility("param", factory=Param)
+        phase = inv.facility("phase", factory=Phase)
+        tracer = inv.facility("tracer", factory=Tracer)
+        visc = inv.facility("visc", factory=Visc)
 
-        datadir = pyre.inventory.str("datadir", default=".")
+        datadir = inv.str("datadir", default=".")
 
-        rayleigh = pyre.inventory.float("rayleigh", default=1e+05)
-        Q0 = pyre.inventory.float("Q0", default=0.0)
+        rayleigh = inv.float("rayleigh", default=1e+05)
+        Q0 = inv.float("Q0", default=0.0)
 
-        stokes_flow_only = pyre.inventory.bool("stokes_flow_only", default=False)
+        stokes_flow_only = inv.bool("stokes_flow_only", default=False)
 
-        output_format = pyre.inventory.str("output_format", default="ascii",
-                            validator=pyre.inventory.choice(["ascii", "hdf5"]))
-        output_optional = pyre.inventory.str("output_optional", default="")
+        output_format = inv.str("output_format", default="ascii-local",
+                                validator=inv.choice(["ascii-local",
+                                                      "ascii",
+                                                      "hdf5"]))
+        output_optional = inv.str("output_optional", default="")
 
-        verbose = pyre.inventory.bool("verbose", default=False)
-        see_convergence = pyre.inventory.bool("see_convergence", default=True)
+        verbose = inv.bool("verbose", default=False)
+        see_convergence = inv.bool("see_convergence", default=True)
 
 
 # version

Modified: mc/3D/CitcomS/trunk/lib/Instructions.c
===================================================================
--- mc/3D/CitcomS/trunk/lib/Instructions.c	2006-09-21 19:42:41 UTC (rev 4581)
+++ mc/3D/CitcomS/trunk/lib/Instructions.c	2006-09-21 19:57:58 UTC (rev 4582)
@@ -144,7 +144,7 @@
 
     check_bc_consistency(E);
 
-    construct_masks(E);		/* order is important here */
+    construct_masks(E);         /* order is important here */
     construct_id(E);
     construct_lm(E);
 
@@ -160,7 +160,7 @@
     general_stokes_solver_setup(E);
 
     if (E->parallel.me==0) fprintf(stderr,"time=%f\n",
-				   CPU_time0()-E->monitor.cpu_time_at_start);
+                                   CPU_time0()-E->monitor.cpu_time_at_start);
 
     construct_surf_det (E);
     construct_bdry_det (E);
@@ -422,7 +422,7 @@
   elx  = E->lmesh.elx;
   ely  = E->lmesh.ely;
 
-  E->P[j]	 = (double *) malloc((npno+1)*sizeof(double));
+  E->P[j]        = (double *) malloc((npno+1)*sizeof(double));
   E->T[j]        = (double *) malloc((nno+1)*sizeof(double));
   E->NP[j]       = (float *) malloc((nno+1)*sizeof(float));
   E->edot[j]     = (float *) malloc((nno+1)*sizeof(float));
@@ -616,14 +616,14 @@
 
     if(E->control.tracer==1)  {
       for(i=1;i<=E->mesh.nsd;i++)     {
-	E->GV[j][i]=(float*) malloc(((E->lmesh.nno+1)*E->parallel.nproc+1)*sizeof(float));
-	E->GV1[j][i]=(float*) malloc(((E->lmesh.nno+1)*E->parallel.nproc+1)*sizeof(float));
-	E->V[j][i]=(float*) malloc((E->lmesh.nno+1)*sizeof(float));
+        E->GV[j][i]=(float*) malloc(((E->lmesh.nno+1)*E->parallel.nproc+1)*sizeof(float));
+        E->GV1[j][i]=(float*) malloc(((E->lmesh.nno+1)*E->parallel.nproc+1)*sizeof(float));
+        E->V[j][i]=(float*) malloc((E->lmesh.nno+1)*sizeof(float));
 
-	for(k=0;k<(E->lmesh.nno+1)*E->parallel.nproc;k++)   {
-	  E->GV[j][i][k]=0.0;
-	  E->GV1[j][i][k]=0.0;
-	}
+        for(k=0;k<(E->lmesh.nno+1)*E->parallel.nproc;k++)   {
+          E->GV[j][i][k]=0.0;
+          E->GV1[j][i][k]=0.0;
+        }
       }
     }
 
@@ -639,7 +639,7 @@
 
       E->BI[l][j] = (double *) malloc((E->lmesh.NEQ[l]+2)*sizeof(double));
       k = (E->lmesh.NOX[l]*E->lmesh.NOZ[l]+E->lmesh.NOX[l]*E->lmesh.NOY[l]+
-	  E->lmesh.NOY[l]*E->lmesh.NOZ[l])*6;
+          E->lmesh.NOY[l]*E->lmesh.NOZ[l])*6;
       E->zero_resid[l][j] = (int *) malloc((k+2)*sizeof(int));
       E->parallel.Skip_id[l][j] = (int *) malloc((k+2)*sizeof(int));
 
@@ -715,7 +715,7 @@
   E->sphere.ro = 1.0;
   E->sphere.ri = 0.5;
 
-  E->control.precondition = 0;	/* for larger visc contrasts turn this back on  */
+  E->control.precondition = 0;  /* for larger visc contrasts turn this back on  */
   E->control.vprecondition = 1;
 
   E->mesh.toptbc = 1; /* fixed t */
@@ -749,7 +749,7 @@
   E->data.surf_temp = 0.0;
   E->data.youngs_mod = 1.0e11;
   E->data.Te = 0.0;
-  E->data.T_sol0 = 1373.0;	/* Dave's values 1991 (for the earth) */
+  E->data.T_sol0 = 1373.0;      /* Dave's values 1991 (for the earth) */
   E->data.Tsurf = 273.0;
   E->data.dTsol_dz = 3.4e-3 ;
   E->data.dTsol_dF = 440.0;
@@ -781,17 +781,17 @@
   for (j=1;j<=E->sphere.caps_per_proc;j++)  {
     for(i=1;i<=E->lmesh.nno;i++)    {
       if ((E->node[j][i] & VBX) && (E->node[j][i] & SBX))
-	printf("Inconsistent x velocity bc at %d\n",i);
+        printf("Inconsistent x velocity bc at %d\n",i);
       if ((E->node[j][i] & VBZ) && (E->node[j][i] & SBZ))
-	printf("Inconsistent z velocity bc at %d\n",i);
+        printf("Inconsistent z velocity bc at %d\n",i);
       if ((E->node[j][i] & VBY) && (E->node[j][i] & SBY))
-	printf("Inconsistent y velocity bc at %d\n",i);
+        printf("Inconsistent y velocity bc at %d\n",i);
       if ((E->node[j][i] & TBX) && (E->node[j][i] & FBX))
-	printf("Inconsistent x temperature bc at %d\n",i);
+        printf("Inconsistent x temperature bc at %d\n",i);
       if ((E->node[j][i] & TBZ) && (E->node[j][i] & FBZ))
-	printf("Inconsistent z temperature bc at %d\n",i);
+        printf("Inconsistent z temperature bc at %d\n",i);
       if ((E->node[j][i] & TBY) && (E->node[j][i] & FBY))
-	printf("Inconsistent y temperature bc at %d\n",i);
+        printf("Inconsistent y temperature bc at %d\n",i);
       }
     }          /* end for j */
 
@@ -799,12 +799,12 @@
     for (j=1;j<=E->sphere.caps_per_proc;j++)  {
       for(i=1;i<=E->lmesh.NNO[lev];i++)        {
         if ((E->NODE[lev][j][i] & VBX) && (E->NODE[lev][j][i]  & SBX))
-	  printf("Inconsistent x velocity bc at %d,%d\n",lev,i);
-	if ((E->NODE[lev][j][i] & VBZ) && (E->NODE[lev][j][i]  & SBZ))
-	  printf("Inconsistent z velocity bc at %d,%d\n",lev,i);
-	if ((E->NODE[lev][j][i] & VBY) && (E->NODE[lev][j][i]  & SBY))
-	  printf("Inconsistent y velocity bc at %d,%d\n",lev,i);
-	/* Tbc's not applicable below top level */
+          printf("Inconsistent x velocity bc at %d,%d\n",lev,i);
+        if ((E->NODE[lev][j][i] & VBZ) && (E->NODE[lev][j][i]  & SBZ))
+          printf("Inconsistent z velocity bc at %d,%d\n",lev,i);
+        if ((E->NODE[lev][j][i] & VBY) && (E->NODE[lev][j][i]  & SBY))
+          printf("Inconsistent y velocity bc at %d,%d\n",lev,i);
+        /* Tbc's not applicable below top level */
         }
 
     }   /* end for  j and lev */
@@ -910,13 +910,13 @@
 
   for (m=1;m<=E->sphere.caps_per_proc;m++)
     for(i=1;i<=E->lmesh.nnov;i++)   {
-	E->sphere.cap[m].V[1][i]=0.0;
-	E->sphere.cap[m].V[2][i]=0.0;
+        E->sphere.cap[m].V[1][i]=0.0;
+        E->sphere.cap[m].V[2][i]=0.0;
         E->sphere.cap[m].V[3][i]=0.0;
-	E->sphere.cap[m].Vprev[1][i]=0.0;
-	E->sphere.cap[m].Vprev[2][i]=0.0;
+        E->sphere.cap[m].Vprev[1][i]=0.0;
+        E->sphere.cap[m].Vprev[2][i]=0.0;
         E->sphere.cap[m].Vprev[3][i]=0.0;
-	}
+        }
 
     return;
 }
@@ -928,7 +928,7 @@
   char logfile[255];
 
   E->fp = NULL;
-  sprintf(logfile,"%s/%s.log",E->control.data_dir, E->control.data_file);
+  sprintf(logfile,"%s.log", E->control.data_file);
   E->fp = output_open(logfile);
 
   return;
@@ -941,7 +941,7 @@
 
   E->fptime = NULL;
   if (E->parallel.me == 0) {
-    sprintf(timeoutput,"%s/%s.time",E->control.data_dir, E->control.data_file);
+    sprintf(timeoutput,"%s.time", E->control.data_file);
     E->fptime = output_open(timeoutput);
   }
 
@@ -955,8 +955,7 @@
 
   E->fp_out = NULL;
   if (E->control.verbose) {
-      sprintf(output_file,"%s/%d/%s.info.%d",E->control.data_dir,
-	      E->parallel.me, E->control.data_file, E->parallel.me);
+      sprintf(output_file,"%s.info.%d", E->control.data_file, E->parallel.me);
     E->fp_out = output_open(output_file);
   }
 
@@ -984,34 +983,34 @@
     E->output.average = 0;
 
     while(1) {
-	/* get next field */
-	prev = strsep(&next, ",");
+        /* get next field */
+        prev = strsep(&next, ",");
 
-	/* break if no more field */
-	if(prev == NULL) break;
+        /* break if no more field */
+        if(prev == NULL) break;
 
-	/* strip off leading and trailing whitespaces */
-	prev = strip(prev);
+        /* strip off leading and trailing whitespaces */
+        prev = strip(prev);
 
-	/* skip empty field */
-	if (strlen(prev) == 0) continue;
+        /* skip empty field */
+        if (strlen(prev) == 0) continue;
 
-	/* fprintf(stderr, "### %s: %s\n", prev, next); */
-    if(strcmp(prev, "connectivity")==0)
-        E->output.connectivity = 1;
-	else if(strcmp(prev, "stress")==0)
-	    E->output.stress = 1;
-	else if(strcmp(prev, "pressure")==0)
-	    E->output.pressure = 1;
-	else if(strcmp(prev, "surf")==0)
-	    E->output.surf = 1;
-	else if(strcmp(prev, "botm")==0)
-	    E->output.botm = 1;
-	else if(strcmp(prev, "average")==0)
-	    E->output.average = 1;
-	else
-	    if(E->parallel.me == 0)
-		fprintf(stderr, "Warning: unknown field for output_optional: %s\n", prev);
+        /* fprintf(stderr, "### %s: %s\n", prev, next); */
+        if(strcmp(prev, "connectivity")==0)
+            E->output.connectivity = 1;
+        else if(strcmp(prev, "stress")==0)
+            E->output.stress = 1;
+        else if(strcmp(prev, "pressure")==0)
+            E->output.pressure = 1;
+        else if(strcmp(prev, "surf")==0)
+            E->output.surf = 1;
+        else if(strcmp(prev, "botm")==0)
+            E->output.botm = 1;
+        else if(strcmp(prev, "average")==0)
+            E->output.average = 1;
+        else
+            if(E->parallel.me == 0)
+                fprintf(stderr, "Warning: unknown field for output_optional: %s\n", prev);
 
     }
 
@@ -1024,12 +1023,21 @@
   void parallel_process_termination();
 
   char *found;
+  char newdatafile[100];
 
+  fprintf(stderr, "datafile is %s\n", E->control.data_file);
   found = strchr(E->control.data_file, '/');
   if (found) {
       fprintf(stderr, "error in input parameter: datafile='%s' contains '/'\n", E->control.data_file);
       parallel_process_termination();
   }
+
+  /* prepend the path to data_file */
+  sprintf(newdatafile, "%s/%d/%s", E->control.data_dir, E->parallel.me,
+           E->control.data_file);
+  strcpy(E->control.data_file, newdatafile);
+  fprintf(stderr, "datafile is %s\n", E->control.data_file);
+
 }
 
 
@@ -1058,30 +1066,33 @@
 
 void output_init(struct  All_variables *E)
 {
-  chkdatafile(E);
-  mkdatadir(E);
+    //DEBUG
+    //strcpy(E->output.format, "hdf5");
+    //fprintf(stderr, "output format is %s\n", E->output.format);
+    if (strcmp(E->output.format, "ascii-local") == 0)
+        E->problem_output = output;
+    else if (strcmp(E->output.format, "ascii") == 0) {
+        chkdatafile(E);
+        mkdatadir(E);
+        E->problem_output = output;
+    }
+    else if (strcmp(E->output.format, "hdf5") == 0)
+        E->problem_output = h5output;
+    else {
+        // indicate error here
+        if (E->parallel.me == 0) {
+            fprintf(stderr, "wrong output_format, must be either 'ascii-local', 'ascii' or 'hdf5'\n");
+            fprintf(E->fp, "wrong output_format, must be either 'ascii-local', 'ascii' or 'hdf5'\n");
+        }
+        parallel_process_termination(E);
+    }
 
-  open_log(E);
-  open_time(E);
-  open_info(E);
+    open_log(E);
+    open_time(E);
+    open_info(E);
 
-  output_parse_optional(E);
+    output_parse_optional(E);
 
-  //DEBUG
-  //strcpy(E->output.format, "hdf5");
-  //fprintf(stderr, "output format is %s\n", E->output.format);
-  if (strcmp(E->output.format, "ascii") == 0)
-    E->problem_output = output;
-  else if (strcmp(E->output.format, "hdf5") == 0)
-    E->problem_output = h5output;
-  else {
-    // indicate error here
-    if (E->parallel.me == 0) {
-        fprintf(stderr, "wrong output_format, must be either 'ascii' or 'hdf5'\n");
-        fprintf(E->fp, "wrong output_format, must be either 'ascii' or 'hdf5'\n");
-    }
-    parallel_process_termination(E);
-  }
 }
 
 

Modified: mc/3D/CitcomS/trunk/lib/Output.c
===================================================================
--- mc/3D/CitcomS/trunk/lib/Output.c	2006-09-21 19:42:41 UTC (rev 4581)
+++ mc/3D/CitcomS/trunk/lib/Output.c	2006-09-21 19:57:58 UTC (rev 4582)
@@ -110,8 +110,7 @@
   char output_file[255];
   FILE *fp1;
 
-  sprintf(output_file,"%s/%d/%s.coord.%d",E->control.data_dir,E->parallel.me,
-	  E->control.data_file,E->parallel.me);
+  sprintf(output_file,"%s.coord.%d",E->control.data_file,E->parallel.me);
   fp1 = output_open(output_file);
 
   for(j=1;j<=E->sphere.caps_per_proc;j++)     {
@@ -133,8 +132,8 @@
   FILE *fp1;
   int lev = E->mesh.levmax;
 
-  sprintf(output_file,"%s/%d/%s.visc.%d.%d",E->control.data_dir,
-	  E->parallel.me, E->control.data_file, E->parallel.me, cycles);
+  sprintf(output_file,"%s.visc.%d.%d", E->control.data_file,
+	  E->parallel.me, cycles);
   fp1 = output_open(output_file);
 
 
@@ -156,8 +155,8 @@
   char output_file[255];
   FILE *fp1;
 
-  sprintf(output_file,"%s/%d/%s.velo.%d.%d",E->control.data_dir,
-	  E->parallel.me, E->control.data_file, E->parallel.me, cycles);
+  sprintf(output_file,"%s.velo.%d.%d", E->control.data_file,
+	  E->parallel.me, cycles);
   fp1 = output_open(output_file);
 
   fprintf(fp1,"%d %d %.5e\n",cycles,E->lmesh.nno,E->monitor.elapsed_time);
@@ -186,8 +185,8 @@
   get_STD_topo(E,E->slice.tpg,E->slice.tpgb,E->slice.divg,E->slice.vort,cycles);
 
   if (E->output.surf && (E->parallel.me_loc[3]==E->parallel.nprocz-1)) {
-    sprintf(output_file,"%s/%d/%s.surf.%d.%d",E->control.data_dir,
-	    E->parallel.me, E->control.data_file, E->parallel.me, cycles);
+    sprintf(output_file,"%s.surf.%d.%d", E->control.data_file,
+	    E->parallel.me, cycles);
     fp2 = output_open(output_file);
 
     for(j=1;j<=E->sphere.caps_per_proc;j++)  {
@@ -208,8 +207,8 @@
 
 
   if (E->output.botm && (E->parallel.me_loc[3]==0)) {
-    sprintf(output_file,"%s/%d/%s.botm.%d.%d",E->control.data_dir,
-	  E->parallel.me, E->control.data_file, E->parallel.me, cycles);
+    sprintf(output_file,"%s.botm.%d.%d", E->control.data_file,
+	    E->parallel.me, cycles);
     fp2 = output_open(output_file);
 
     for(j=1;j<=E->sphere.caps_per_proc;j++)  {
@@ -232,8 +231,8 @@
   char output_file[255];
   FILE *fp1;
 
-  sprintf(output_file,"%s/%d/%s.stress.%d.%d",E->control.data_dir,
-	  E->parallel.me, E->control.data_file, E->parallel.me, cycles);
+  sprintf(output_file,"%s.stress.%d.%d", E->control.data_file,
+	  E->parallel.me, cycles);
   fp1 = output_open(output_file);
 
   fprintf(fp1,"%d %d %.5e\n",cycles,E->lmesh.nno,E->monitor.elapsed_time);
@@ -298,8 +297,8 @@
   // only the first nprocz processors need to output
 
   if (E->parallel.me<E->parallel.nprocz)  {
-    sprintf(output_file,"%s/%d/%s.average.%d.%d",E->control.data_dir,
-	    E->parallel.me, E->control.data_file, E->parallel.me, cycles);
+    sprintf(output_file,"%s.average.%d.%d", E->control.data_file,
+	    E->parallel.me, cycles);
     fp1=fopen(output_file,"w");
     for(j=1;j<=E->lmesh.noz;j++)  {
         fprintf(fp1,"%.4e %.4e %.4e %.4e\n",E->sx[1][3][j],E->Have.T[j],E->Have.V[1][j],E->Have.V[2][j]);
@@ -318,8 +317,7 @@
   char output_file[255];
   FILE* fp;
 
-  sprintf(output_file,"%s/%d/%s.mat.%d",E->control.data_dir,
-	  E->parallel.me, E->control.data_file, E->parallel.me);
+  sprintf(output_file,"%s.mat.%d", E->control.data_file,E->parallel.me);
   fp = output_open(output_file);
 
   for (m=1;m<=E->sphere.caps_per_proc;m++)
@@ -339,8 +337,8 @@
   char output_file[255];
   FILE *fp1;
 
-  sprintf(output_file,"%s/%d/%s.pressure.%d.%d",E->control.data_dir,
-	  E->parallel.me, E->control.data_file, E->parallel.me, cycles);
+  sprintf(output_file,"%s.pressure.%d.%d", E->control.data_file,
+	  E->parallel.me, cycles);
   fp1 = output_open(output_file);
 
   fprintf(fp1,"%d %d %.5e\n",cycles,E->lmesh.nno,E->monitor.elapsed_time);
@@ -364,8 +362,8 @@
   char output_file[255];
   FILE *fp1;
 
-  sprintf(output_file,"%s/%d/%s.tracer.%d.%d",E->control.data_dir,
-	  E->parallel.me, E->control.data_file, E->parallel.me, cycles);
+  sprintf(output_file,"%s.tracer.%d.%d", E->control.data_file,
+	  E->parallel.me, cycles);
   fp1 = output_open(output_file);
 
   fprintf(fp1,"%.5e\n",E->monitor.elapsed_time);

Modified: mc/3D/CitcomS/trunk/lib/Output_h5.c
===================================================================
--- mc/3D/CitcomS/trunk/lib/Output_h5.c	2006-09-21 19:42:41 UTC (rev 4581)
+++ mc/3D/CitcomS/trunk/lib/Output_h5.c	2006-09-21 19:57:58 UTC (rev 4582)
@@ -217,8 +217,7 @@
      */
 
     /* determine filename */
-    snprintf(E->hdf5.filename, (size_t)100, "%s/%s.h5", E->control.data_dir,
-	     E->control.data_file);
+    snprintf(E->hdf5.filename, (size_t)100, "%s.h5", E->control.data_file);
 
     /* set up file creation property list with defaults */
     fcpl_id = H5P_DEFAULT;

Modified: mc/3D/CitcomS/trunk/lib/global_defs.h
===================================================================
--- mc/3D/CitcomS/trunk/lib/global_defs.h	2006-09-21 19:42:41 UTC (rev 4581)
+++ mc/3D/CitcomS/trunk/lib/global_defs.h	2006-09-21 19:57:58 UTC (rev 4582)
@@ -789,7 +789,7 @@
 };
 
 struct Output {
-    char format[10];  /* ascii or hdf5 */
+    char format[20];  /* ascii-local, ascii or hdf5 */
     char optional[1000]; /* comma-delimited list of objects to output */
     int connectivity; /* whether to output connectivity */
     int stress;       /* whether to output stress */



More information about the cig-commits mailing list