aboutsummaryrefslogtreecommitdiff
path: root/CarpetAttic
diff options
context:
space:
mode:
authorcott <>2004-01-05 21:54:00 +0000
committercott <>2004-01-05 21:54:00 +0000
commit65df233e3c829a85a59e8efa5559d1c12fa09b8f (patch)
tree05b10d5bea6a32de34a4ea600a84f6d25b801a6b /CarpetAttic
parentdb7a7a428380dd83059880cb23fd7ccedad8a325 (diff)
just a quick commit to save the current state before I start messing with parameter distribution
darcs-hash:20040105215416-19929-b5fa95175f2996b0b9effd25433de64c4cb914af.gz
Diffstat (limited to 'CarpetAttic')
-rw-r--r--CarpetAttic/CarpetIOFlexIOCheckpoint/src/checkpointrestart.cc36
1 files changed, 26 insertions, 10 deletions
diff --git a/CarpetAttic/CarpetIOFlexIOCheckpoint/src/checkpointrestart.cc b/CarpetAttic/CarpetIOFlexIOCheckpoint/src/checkpointrestart.cc
index f832b399a..89d7816bc 100644
--- a/CarpetAttic/CarpetIOFlexIOCheckpoint/src/checkpointrestart.cc
+++ b/CarpetAttic/CarpetIOFlexIOCheckpoint/src/checkpointrestart.cc
@@ -48,7 +48,7 @@
#include "ioflexio.hh"
extern "C" {
- static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/CarpetAttic/CarpetIOFlexIOCheckpoint/src/checkpointrestart.cc,v 1.14 2003/12/10 14:49:30 cott Exp $";
+ static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/CarpetAttic/CarpetIOFlexIOCheckpoint/src/checkpointrestart.cc,v 1.15 2004/01/05 22:54:16 cott Exp $";
CCTK_FILEVERSION(Carpet_CarpetIOFlexIO_checkpointrestart_cc);
}
@@ -241,7 +241,10 @@ int CarpetIOFlexIO_Recover (cGH* cgh, const char *basefilename, int called_from)
int RecoverParameters(IObase* reader){
int myproc, retval;
-
+ int i, asize;
+ char *parameters;
+ CCTK_INT4 parameterSize;
+
IObase::DataType datatype;
CCTK_REAL bogusdata;
@@ -249,6 +252,8 @@ int CarpetIOFlexIO_Recover (cGH* cgh, const char *basefilename, int called_from)
int rank=0;
int maxdims=3;
+ DECLARE_CCTK_PARAMETERS
+
myproc = CCTK_MyProc (NULL);
if (myproc == 0){
@@ -258,16 +263,27 @@ int CarpetIOFlexIO_Recover (cGH* cgh, const char *basefilename, int called_from)
are attached */
reader->readInfo(datatype,rank,dims,maxdims);
-
- if(datatype != FLEXIO_REAL || rank !=0 )
+ CCTK_VInfo (CCTK_THORNSTRING, "blahbalh: datatype %d FLEXIO_REAL: %d",datatype,FLEXIO_REAL);
+
+ if(datatype != FLEXIO_REAL || rank !=1 )
CCTK_WARN (-1,"Wrong recover file format! First dataset type mismatch!");
reader->read(&bogusdata);
- // reader->readAttributeInfo(
-
-
-
+ /* get the parameters attribute. */
+ i = reader->readAttributeInfo ("global_parameters", datatype, asize);
+ if (i >= 0 && datatype == FLEXIO_CHAR && asize > 0)
+ {
+ parameterSize = (CCTK_INT4) asize;
+ parameters = (char*) malloc (parameterSize + 1);
+ reader->readAttribute (i, parameters);
+ }
+ else
+ {
+ CCTK_WARN (1, "Can't read global parameters. "
+ "Is this really a Cactus IEEEIO checkpoint file ?");
+ }
+ CCTK_VInfo (CCTK_THORNSTRING, "\n%s\n",parameters);
delete reader;
}
@@ -428,12 +444,12 @@ int CarpetIOFlexIO_Recover (cGH* cgh, const char *basefilename, int called_from)
we will attach all parameters and GHextensions as Attributes
*/
- CCTK_REAL startdata = 666.66;
+
+ CCTK_REAL startdata = 666.66;
int rank=1;
int dim[1]={1};
writer->write(FLEXIO_REAL,rank,dim,&startdata);
-
/* now dump parameters */
if (verbose)
{