#2224 closed Defect (fixed)

Failure of AMM12 SETTE tests

Reported by: smueller Owned by: systeam
Priority: high Milestone:
Component: BDY Version: release-4.0
Severity: major Keywords: BDY, AMM12
Cc:

Description (last modified by smueller)

Context

Both the AMM12 restartability and AMM12 reproducibility tests of the SETTE test suite fail.

Analysis

The SETTE runs of the AMM12 reference configuration fail shortly after they have been started. This failure appears in the trunk when changeset [10537], which addresses ticket #2213 by modifying file source:NEMO/trunk/src/OCE/BDY/bdyini.F90, is applied; the modification that results from changeset [10537] is also present in the release-4.0 branch.

Recommendation

Files source:/NEMO/releases/release-4.0/src/OCE/BDY/bdyini.F90 and source:/NEMO/trunk/src/OCE/BDY/bdyini.F90 could be reverted to source:/NEMO/trunk/src/OCE/BDY/bdyini.F90@10481 and the approach taken to address the defect described in ticket #2213 should be reviewed in the light of the newly discovered defect.

Commit History (2)

ChangesetAuthorTimeChangeLog
10630smasson2019-02-04T17:09:57+01:00

v4.0: bugfix in mpp for bdy, back to v3.6, see #2213, #2224, #2225

10629smasson2019-02-04T17:07:39+01:00

trunk: bugfix in mpp for bdy, back to v3.6, see #2213, #2224, #2225

Attachments (2)

bdyini.F90 (78.5 KB) - added by smasson 18 months ago.
mpp_bdy_generic.h90 (13.0 KB) - added by smasson 18 months ago.

Download all attachments as: .zip

Change History (11)

comment:1 Changed 18 months ago by smueller

  • Description modified (diff)
  • Priority changed from low to high

comment:2 Changed 18 months ago by smasson

Following, sette tests and emails exchange with Jean-Marc Molines and Julien Jouanno, I fully agree with the analysis: changeset [10537] is responsible for this error. However, it really fixed the bug reported by Jean-Marc Molines in #2213.
So we cannot simply revert commit [10537] to solve #2224 and let #2213 open…

Jean-Marc Molines is proposing to

1) As you said, revert bdyini.F90 to source:/NEMO/trunk/src/OCE/BDY/bdyini.F90@10481
2) modify mpp_lnk_bdy to get back to something following version 3.6 that was working.

There are re informations reported by Jean-Marc:

If we compare E-W exchanges in mpp_lnk_bdy_2d in the v3.6 and v4.0 we have:

  • v3.6
          !                           ! Migrations
          imigr = jpreci * jpj
          !
          SELECT CASE ( nbondi_bdy(ib_bdy) )
          CASE ( -1 )
             CALL mppsend( 2, zt2we(1,1,1), imigr, noea, ml_req1 )
          CASE ( 0 )
             CALL mppsend( 1, zt2ew(1,1,1), imigr, nowe, ml_req1 )
             CALL mppsend( 2, zt2we(1,1,1), imigr, noea, ml_req2 )
          CASE ( 1 )
             CALL mppsend( 1, zt2ew(1,1,1), imigr, nowe, ml_req1 )
          END SELECT
          !
          SELECT CASE ( nbondi_bdy_b(ib_bdy) )
          CASE ( -1 )
             CALL mpprecv( 1, zt2ew(1,1,2), imigr, noea )
          CASE ( 0 )
             CALL mpprecv( 1, zt2ew(1,1,2), imigr, noea )
             CALL mpprecv( 2, zt2we(1,1,2), imigr, nowe )
          CASE ( 1 )
             CALL mpprecv( 2, zt2we(1,1,2), imigr, nowe )
          END SELECT
          !
          SELECT CASE ( nbondi_bdy(ib_bdy) )
          CASE ( -1 )
             IF(l_isend) CALL mpi_wait(ml_req1, ml_stat, ml_err)
          CASE ( 0 )
             IF(l_isend) CALL mpi_wait(ml_req1, ml_stat, ml_err)
             IF(l_isend) CALL mpi_wait(ml_req2, ml_stat, ml_err)
          CASE ( 1 )
             IF(l_isend) CALL mpi_wait(ml_req1, ml_stat, ml_err)
          END SELECT
    
  • v4.0 (when looking at the f90)
             !                           ! Migrations
    !!gm      imigr = nn_hls * jpj * ipk * ipl * ipf
             imigr = nn_hls * jpj * ipk * ipl
             !
             IF( ln_timing ) CALL tic_tac(.TRUE.)
             !
             SELECT CASE ( nbondi_bdy(kb_bdy) )
             CASE ( -1 )
                CALL mppsend( 2, zt3we(1,1,1,1,1,1), imigr, noea, ml_req1 )
                CALL mpprecv( 1, zt3ew(1,1,1,1,1,2), imigr, noea )
                IF(l_isend) CALL mpi_wait(ml_req1, ml_stat, ml_err)
             CASE ( 0 )
                CALL mppsend( 1, zt3ew(1,1,1,1,1,1), imigr, nowe, ml_req1 )
                CALL mppsend( 2, zt3we(1,1,1,1,1,1), imigr, noea, ml_req2 )
                CALL mpprecv( 1, zt3ew(1,1,1,1,1,2), imigr, noea )
                CALL mpprecv( 2, zt3we(1,1,1,1,1,2), imigr, nowe )
                IF(l_isend) CALL mpi_wait(ml_req1, ml_stat, ml_err)
                IF(l_isend) CALL mpi_wait(ml_req2, ml_stat, ml_err)
             CASE ( 1 )
                CALL mppsend( 1, zt3ew(1,1,1,1,1,1), imigr, nowe, ml_req1 )
                CALL mpprecv( 2, zt3we(1,1,1,1,1,2), imigr, nowe )
                IF(l_isend) CALL mpi_wait(ml_req1, ml_stat, ml_err)
             END SELECT
             !
             IF( ln_timing ) CALL tic_tac(.FALSE.)
    

=⇒ in the v3.6: send are done by testing nbondi_bdy and rcv by testing nbondi_bdy_b
=⇒ in the v4.0: send and rcv are done by testing only nbondi_bdy

We have the same story with nbondj_bdy and nbondj_bdy_b for the N-S exchanges.

I will test this solution…

Last edited 18 months ago by nemo (previous) (diff)

comment:3 Changed 18 months ago by smasson

I confirm that with the above changes sette is working again.
Could you try the attached files before I commit?

Changed 18 months ago by smasson

Changed 18 months ago by smasson

comment:4 Changed 18 months ago by smueller

After replacing source:/NEMO/releases/release-4.0/src/OCE/BDY/bdyini.F90 and source:/NEMO/releases/release-4.0/src/OCE/LBC/mpp_bdy_generic.h90 by the two attached files, the AMM12 SETTE tests are successful again.

comment:5 Changed 18 months ago by smasson

changes validated by sette, Jean-Marc Molines and Julien Jouanno. I commit

comment:6 Changed 18 months ago by smasson

In 10629:

trunk: bugfix in mpp for bdy, back to v3.6, see #2213, #2224, #2225

comment:7 Changed 18 months ago by smasson

In 10630:

v4.0: bugfix in mpp for bdy, back to v3.6, see #2213, #2224, #2225

comment:8 Changed 18 months ago by smasson

see also discussion in #2213
I close the ticket

comment:9 Changed 18 months ago by smasson

  • Resolution set to fixed
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.