[MITgcm-support] package checkpointing issue

Martin Losch mlosch at awi-bremerhaven.de
Mon Sep 18 10:38:45 EDT 2006


Hi Matt,
have a look at do_write_pickup, which calls write_pickup and also  
PACKAGES_WRITE_PICKUP from within the same if block (with the same  
condition as below). In older versions this was done in a similar so  
that pickup files are NOT written at every timesteps (others would  
have noticed that, too, wouldn't they). The slowdown of 4.5 is bound  
to have a different cause. Maybe you can send me your data.seaice and  
your SEAICE_OPTIONS.h and I'll have  a look at them.

Martin


On Sep 18, 2006, at 4:29 PM, Matthew Mazloff wrote:

> Hello all,
>
> When checkpointing the model state,       SUBROUTINE  
> WRITE_CHECKPOINT, first checks to see
>        IF (
>      &     ( .NOT.modelEnd .AND. (permCheckPoint.OR.tempCheckPoint) )
>      &     .OR.
>      &     ( modelEnd .AND. .NOT.(permCheckPoint.OR.tempCheckPoint) )
>      &    ) THEN
>         CALL WRITE_CHECKPOINT_NOW(
>      &       permCheckPoint, myTime, myIter, myThid )
>        ENDIF
>
>
> For package checkpointing it appears this is not done; there is no  
> equivalent IF statement in packages_write_pickup.  So package  
> pickups are being written at every timestep...as more packages are  
> added this is significantly hurting performance.  Adding the seaice  
> package has slowed my model down by a factor of 4.5, and though I  
> haven't done any profiling, my first guess is that it is a result  
> of this significant increase in I/O.
>
> Two possible remedies...take the call to  PACKAGE_WRITE_PICKUP out  
> of THE_MAIN_LOOP and call it with WRITE_CHECKPOINT_NOW,  or add an  
> equivalent if statement in PACKAGE_WRITE_PICKUP.
>
> Thank you,
> Matt
>
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-support




More information about the MITgcm-support mailing list