[MITgcm-support] Bug in the domain decomposition periodicity
chris hill
cnh at mit.edu
Wed May 31 08:48:33 EDT 2006
Hi G.,
Thanks.
The code is set to always be periodic. Even when a domain is not
periodic the code acts as if it is periodic in the MPI bits. Masks
and/or obcs overrides are used to get the numerics to be non-periodic.
So it shouldn't go through those lines, except if you hack code in
eeset_parms.F (not recommended).
Chris
P.S. Any news on the PRISM interface bits you were hoping to check in?
Gianmaria Sannino wrote:
> 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
>
>
>
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-support
More information about the MITgcm-support
mailing list