[MITgcm-devel] problems with pickup and CD code
Samar Khatiwala
spk at ldeo.columbia.edu
Sun Aug 16 12:26:23 EDT 2009
Hi,
I encountered a problem while attempting to restart a run from a
pickup file with nIter0=0 and pickupSuff='0000000000'.
The problem is that in S/R CD_CODE_INI_VARS the following lines:
IF ( nIter0.NE.0 ) THEN
CALL CD_CODE_READ_PICKUP( nIter0, myThid )
ENDIF
prevent the pickup_cd file from being read. Is this the intended
behavior?
I thought the point of pickupSuff was that one could rename the
iteration numbers of pickup files (e.g., when going from
asynchronous to synchronous time stepping which requires changing the
time step) so as to be able to do a clean restart.
However, because of the above, I get different results when starting
from the exact same pickup files, but with one of them
renamed. (I could of course set nIter0 to something other than 0, but
that would partially defeat the purpose of the flexibility
that pickupSuff provides.)
S/R INI_FIELDS correctly treats this situation by having the following:
C Set model variables to initial/restart conditions
IF ( startTime .EQ. baseTime .AND. nIter0 .EQ. 0
& .AND. pickupSuff .EQ. ' ' ) THEN
CALL INI_VEL( myThid )
etc
ELSEIF ( .NOT.useOffLine ) THEN
CALL READ_PICKUP( nIter0, myThid )
ENDIF
Is there a reason why S/R CD_CODE_INI_VARS does not have a similar IF
(... pickupSuff .NE. ' ' ...)
Thanks,
Samar
More information about the MITgcm-devel
mailing list