[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