Perfect restart problem

Report or discuss software problems and other woes

Moderators: arango, robertson

Post Reply
Message
Author
mathieu

Perfect restart problem

#1 Unread post by mathieu »

I understand that in order to have perfect restart we should select PERFECT_RESTART in the cppdefs.h file.
I do obtain the restart file with the additional variables rzeta, AKt, AKs and others.

But how can we read those variables? The crux of the matter appears to be in the get_state subroutine. The following code section

Code: Select all

      Perfect2D=.FALSE.
      Perfect3D=.FALSE.
#ifdef PERFECT_RESTART
      IF ((model.eq.0).and.(nrrec(ng).ne.0)) THEN
        Perfect2D=.TRUE.
        Perfect3D=.TRUE.
      END IF
#endif
      PerfectRST(ng)=Perfect2d.or.Perfect3d
shows the problem. In order to read the additional variables, we need to have the variable model equal to 0 but get_state is called with model=iNLM that is 1 from the initial subroutine.

mathieu

Re: Perfect restart problem

#2 Unread post by mathieu »

I got it. In order to read the perfect restart file, it is necessary to use the option ANA_INITIAL.
Maybe this should be said in the cppddefs.h, i.e. replace

Code: Select all

** ANA_INITIAL         use if analytical initial conditions                  **
by

Code: Select all

** ANA_INITIAL         use if analytical initial conditions or from perfect restart file   **

Post Reply