[MITgcm-devel] problems with pickup and CD code

Samar Khatiwala spk at ldeo.columbia.edu
Sun Aug 16 16:45:15 EDT 2009


Hi Jean-Michel,

Thanks for looking into it. This is such a useful feature that I hope  
it gets extended to all pickups (and at least this
particular bug with pkg cd_code gets fixed in the near future).

Thanks,

Samar

On Aug 16, 2009, at 4:33 PM, Jean-Michel Campin wrote:

> Hi Samar,
>
> I did take a look at this "pickupSuff" recently, and it seems
> to me that this special case (using pickupSuff with nIter0 = 0 or
> startTime=0) that Alistair added is only implemented for the main
> pickup files (which is not very logical).
> I aggree that this should be either extended to all pickups or
> removed, and you just provide a good argument to use it.
>
> Cheers,
> Jean-Michel
>
> On Sun, Aug 16, 2009 at 12:26:23PM -0400, Samar Khatiwala wrote:
>> 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
>>
>>
>> _______________________________________________
>> MITgcm-devel mailing list
>> MITgcm-devel at mitgcm.org
>> http://mitgcm.org/mailman/listinfo/mitgcm-devel
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-devel




More information about the MITgcm-devel mailing list