[ET Trac] [Einstein Toolkit] #716: Adding steerable checkpoint directories
Einstein Toolkit
trac-noreply at einsteintoolkit.org
Wed Jan 4 13:48:14 CST 2012
#716: Adding steerable checkpoint directories
--------------------+-------------------------------------------------------
Reporter: ashley | Type: enhancement
Status: new | Priority: minor
Milestone: | Component: Other
Version: | Keywords:
--------------------+-------------------------------------------------------
Hello!
With help from Frank and Erik I wrote a quick patch to enable steerable
checkpoint directories in IOUtil. Here is what it looks like:
Index: param.ccl
===================================================================
--- param.ccl (revision 285)
+++ param.ccl (working copy)
@@ -167,7 +167,7 @@
{
".+" :: "A valid filename"
} "checkpoint.chkpt"
-STRING checkpoint_dir "Output directory for checkpoint files" STEERABLE =
RECOVER
+STRING checkpoint_dir "Output directory for checkpoint files" STEERABLE =
ALWAYS
{
".+" :: "A valid directory name"
} "."
Index: CheckpointRecovery.c
===================================================================
--- CheckpointRecovery.c (revision 285)
+++ CheckpointRecovery.c (working copy)
@@ -200,8 +200,8 @@
char *filename;
const char *dir, *basename;
char iteration_postfix[32], filenumber_postfix[32];
+ int ierr;
-
/* get the right parameters */
dir = basename = NULL;
switch (called_from)
@@ -209,11 +209,17 @@
case CP_INITIAL_DATA:
dir = checkpoint_dir;
basename = checkpoint_ID_file;
+ ierr = CCTK_CreateDirectory(0755, checkpoint_dir);
+ if(ierr<0)
+ CCTK_VWarn(0, __LINE__, __FILE__, "Checkpoint directory %s could
not be created", checkpoint_dir);
break;
case CP_EVOLUTION_DATA:
dir = checkpoint_dir;
basename = checkpoint_file;
+ ierr = CCTK_CreateDirectory(0755, checkpoint_dir);
+ if(ierr<0)
+ CCTK_VWarn(0, __LINE__, __FILE__, "Checkpoint directory %s could
not be created", checkpoint_dir);
break;
case CP_RECOVER_DATA:
I'm not 100% sure that this will work out in all cases, but I thought I'd
put this here in case it was useful :)
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/716>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
More information about the Trac
mailing list