[Developers] Recover SaveAndRestore variables with PUGH
Luca Baiotti
baiotti at aei.mpg.de
Wed Oct 18 03:02:02 CDT 2006
Hi,
there is a problem recovering with PUGH a simulation in which some
variables ended up to be registered to MoL as SaveAndRestore. (This
happens for example using whisky and admbase::evolution_method = none)
I had email exchange with Ian Hawke about this and he replied:
> I believe that the past timelevels of the metric are not set
> correctly. This is because they are not checkpointed by PUGH. If you
> hacked MoL to run the InitialCopy routine at PostRecover, I expect you
> would see the answer you expected.
>
> I am not sure how to get around this, other than by asking PUGH to
> checkpoint more timelevels...
I tried what Ian first suggested, that is I modified the MoL
schedule.ccl as follows:
if (initial_data_is_crap)
{
if (copy_ID_after_MoL_PostStep)
{
schedule MoL_FillAllLevels AT CCTK_POST_RECOVER_VARIABLES AFTER
MoL_PostStep
{
LANG:C
} "A bad routine. Fills all previous timelevels with data copied
from the current."
schedule MoL_FillAllLevels AT PostInitial AFTER MoL_PostStep
{
LANG:C
} "A bad routine. Fills all previous timelevels with data copied
from the current."
}
else
{
schedule MoL_FillAllLevels AT CCTK_POST_RECOVER_VARIABLES BEFORE
MoL_PostStep
{
LANG:C
} "A bad routine. Fills all previous timelevels with data copied
from the current."
schedule MoL_FillAllLevels AT PostInitial BEFORE MoL_PostStep
{
LANG:C
} "A bad routine. Fills all previous timelevels with data copied
from the current."
}
}
and indeed it worked.
Should we introduce a parameter to have this InitialCopy scheduled at
post_recover_variables for PUGH?
And Ian replied:
> I think some variant of this is needed, yes. (In fact the correct
> thing to do for MoL should be only to copy the SaveAndRestore
> variables - there should not be a problem for evolved variables with
> PUGH. Of coures, running the whole routine shouldn't give problems, I
> think...).
More ideas?
Ciao,
Luca.
More information about the Developers
mailing list