[MITgcm-devel] problems with pickup and CD code

Martin Losch Martin.Losch at awi.de
Mon Aug 17 02:32:33 EDT 2009


Hi Samar,

for cd_code it should be very easy to fix, this is what did it for the  
case of the pkg/seaice:
<http://dev.mitgcm.org/cgi-bin/viewcvs.cgi/MITgcm/pkg/seaice/seaice_init_varia.F.diff?r1=1.25&r2=1.26&only_with_tag=MAIN 
 >

you might need to include a not.useOffline, but I don't know exactly  
what coe is actually excluded with this flag (probably pkg/seaice  
needs this, too).

Martin


On Aug 16, 2009, at 10:45 PM, Samar Khatiwala wrote:

> 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
>
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-devel




More information about the MITgcm-devel mailing list