[MITgcm-support] Bug in the domain decomposition periodicity

Gianmaria Sannino gianmaria.sannino at casaccia.enea.it
Wed May 31 03:48:56 EDT 2006


Hi there,

 

It seems there is a bug in  INI_PROCS.F when the MPI Periodicity is set to
.FALSE.

 

For decomposition in X on the west side there is: mpiGridSpec(1) = mpiPx-1,
but in this case you are specifying an MPI RANK that is out of the MPI
domain.

An analogous problem is for decomposition in X on the east side.

 

To solve this problem I modified two pieces of code in INI_PROCS.F 

 

For decomposition in X on the west side:

FROM:

 

C--    Get MPI id for neighboring procs.

       mpiGridSpec(1) = mpiPx-1

       IF ( mpiPeriodicity(1) .EQ. _mpiTRUE_

     &   .AND. mpiGridSpec(1) .LT. 0 )

     &  mpiGridSpec(1) = nPx-1

       mpiGridSpec(2) = mpiPy

 

TO:

 

C--    Get MPI id for neighboring procs.

       mpiGridSpec(1) = mpiPx-1

       IF ( mpiPeriodicity(1) .EQ. _mpiTRUE_

     &   .AND. mpiGridSpec(1) .LT. 0 )

     &  mpiGridSpec(1) = nPx-1

       mpiGridSpec(2) = mpiPy

 

       IF ( mpiPeriodicity(1) .EQ. _mpiFALSE_

     &      .AND. mpiGridSpec(1) .LT. 0 )

     &      mpiGridSpec(1) =  0

 

And for decomposition in X on the east side:

 

FROM:

       mpiGridSpec(1) = mpiPx+1

       IF ( mpiPeriodicity(1) .EQ. _mpiTRUE_

     &   .AND. mpiGridSpec(1) .GT. nPx-1 )

     &  mpiGridSpec(1) = 0

       mpiGridSpec(2) = mpiPy

 

 

TO:

 

       mpiGridSpec(1) = mpiPx+1

       IF ( mpiPeriodicity(1) .EQ. _mpiTRUE_

     &   .AND. mpiGridSpec(1) .GT. nPx-1 )

     &  mpiGridSpec(1) = 0

       mpiGridSpec(2) = mpiPy

 

       IF ( mpiPeriodicity(1) .EQ. _mpiFALSE_

     &   .AND. mpiGridSpec(1) .GT. nPx-1 )

     &    mpiGridSpec(1) = nPx-1

 

 

 

Could you check these errors?

Thanks in advance

 

gianmaria

 

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mitgcm.org/pipermail/mitgcm-support/attachments/20060531/d639ef3f/attachment.htm>


More information about the MITgcm-support mailing list