diff options
author | cott <> | 2004-01-07 15:30:00 +0000 |
---|---|---|
committer | cott <> | 2004-01-07 15:30:00 +0000 |
commit | c6e7dedec9e6ea4bfad9b2a22b75b5f6ba7e78bc (patch) | |
tree | 1eb72ecd3c3fe60c5498a4824673907caa441599 /CarpetAttic/CarpetIOFlexIOCheckpoint/src/checkpointrestart.cc | |
parent | cad6c597fd298c92028ff7395aeab382978cd538 (diff) |
Saving a day's work... don't try recovery yet.
darcs-hash:20040107153049-19929-d817dfcb9fcaae5f794d4648530bc781a2fa0982.gz
Diffstat (limited to 'CarpetAttic/CarpetIOFlexIOCheckpoint/src/checkpointrestart.cc')
-rw-r--r-- | CarpetAttic/CarpetIOFlexIOCheckpoint/src/checkpointrestart.cc | 45 |
1 files changed, 28 insertions, 17 deletions
diff --git a/CarpetAttic/CarpetIOFlexIOCheckpoint/src/checkpointrestart.cc b/CarpetAttic/CarpetIOFlexIOCheckpoint/src/checkpointrestart.cc index c01c1d99b..e503d0bfc 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.18 2004/01/07 13:14:04 cott Exp $"; + static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/CarpetAttic/CarpetIOFlexIOCheckpoint/src/checkpointrestart.cc,v 1.19 2004/01/07 16:30:49 cott Exp $"; CCTK_FILEVERSION(Carpet_CarpetIOFlexIO_checkpointrestart_cc); } @@ -63,7 +63,7 @@ namespace CarpetCheckpointRestart { int Checkpoint (const cGH* const cgh, int called_from); int RecoverParameters (IObase* reader); - int RecoverGHextensions (cGH* cgh, IObase* reader); + static int RecoverGHextensions (cGH* cgh, IObase* reader); int RecoverVariables (cGH* cgh, IObase* reader, AmrGridReader* amrreader); void CarpetIOFlexIO_EvolutionCheckpoint( const cGH* const cgh){ @@ -224,7 +224,6 @@ int CarpetIOFlexIO_Recover (cGH* cgh, const char *basefilename, int called_from) if (called_from == CP_RECOVER_PARAMETERS) { - CCTK_VInfo(CCTK_THORNSTRING,"called from recover parameters"); return (RecoverParameters (reader)); } @@ -236,21 +235,24 @@ int CarpetIOFlexIO_Recover (cGH* cgh, const char *basefilename, int called_from) BEGIN_REFLEVEL_LOOP(cgh) { BEGIN_MGLEVEL_LOOP(cgh) { + + /* make sure we are looking at the first dataset where + all the good stuff ist stored! */ + reader->seek(0); - /* Recover GH extentions */ + /* Recover GH extentions */ CCTK_INFO ("Recovering GH extensions"); - result = RecoverGHextensions (cgh, reader); - - if (! result) - { - /* Recover variables */ - CCTK_VInfo (CCTK_THORNSTRING, "Recovering data! "); - result = RecoverVariables (cgh, reader,amrreader); - } - + result += RecoverGHextensions (cgh, reader); } END_MGLEVEL_LOOP; - } END_REFLEVEL_LOOP; + } END_REFLEVEL_LOOP; + if (! result) + { + /* Recover variables */ + CCTK_VInfo (CCTK_THORNSTRING, "Recovering data! "); + result = RecoverVariables (cgh, reader,amrreader); + } + delete reader; delete amrreader; } @@ -772,14 +774,23 @@ int CarpetIOFlexIO_Recover (cGH* cgh, const char *basefilename, int called_from) int RecoverVariables (cGH* cgh, IObase* reader, AmrGridReader* amrreader){ - CCTK_VInfo(CCTK_THORNSTRING,"Starting to recover data for refinement level %d",reflevel); - + int retval = 0; + CCTK_VInfo(CCTK_THORNSTRING,"Starting to recover data!!!"); + int ndatasets = reader->nDatasets(); + //CCTK_VInfo (CCTK_THORNSTRING, "ndatasets=%d", ndatasets); + assert (ndatasets>=0); - return 0; + for (int currdataset=1;currdataset < ndatasets;currdataset++) { + //CCTK_VInfo(CCTK_THORNSTRING,"dataset: %d",currdataset); + reader->seek(currdataset); + ReadGF(cgh,reader,amrreader); } + return retval; + } + } // namespace CarpetCheckpointRestart |