New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
#2382 (Faulty option 1 of the freshwater budget adjustment mechanism (`nn_fwb = 1`, module `sbcfwb`) when both `key_mpp_mpi` and `key_mpi2` are defined) – NEMO

Opened 4 years ago

Closed 4 years ago

Last modified 2 years ago

#2382 closed Bug (fixed)

Faulty option 1 of the freshwater budget adjustment mechanism (`nn_fwb = 1`, module `sbcfwb`) when both `key_mpp_mpi` and `key_mpi2` are defined

Reported by: smueller Owned by: systeam
Priority: low Milestone:
Component: SBC Version: v4.0
Severity: minor Keywords: fwb lib_mpp v4.0
Cc:

Description

Context

The bug described in ticket #2381 is also present in the release-4.0-HEAD version of NEMO.

Analysis

See ticket #2381.

Fix

See ticket #2381; for the release-4.0-HEAD version of NEMO the proposed patch is

  • src/OCE/LBC/lib_mpp.F90

     
    397397      ! send y_in into todelay(idvar)%y1d with a non-blocking communication 
    398398# if defined key_mpi2 
    399399      IF( ln_timing ) CALL tic_tac( .TRUE., ld_global = .TRUE.) 
    400       CALL  mpi_allreduce( y_in(:), todelay(idvar)%y1d(:), isz, MPI_DOUBLE_COMPLEX, mpi_sumdd, ilocalcomm, ndelayid(idvar), ierr ) 
     400      CALL  mpi_allreduce( y_in(:), todelay(idvar)%y1d(:), isz, MPI_DOUBLE_COMPLEX, mpi_sumdd, ilocalcomm, ierr ) 
     401      ndelayid(idvar) = 1 
    401402      IF( ln_timing ) CALL tic_tac(.FALSE., ld_global = .TRUE.) 
    402403# else 
    403404      CALL mpi_iallreduce( y_in(:), todelay(idvar)%y1d(:), isz, MPI_DOUBLE_COMPLEX, mpi_sumdd, ilocalcomm, ndelayid(idvar), ierr ) 
     
    464465      ! send p_in into todelay(idvar)%z1d with a non-blocking communication 
    465466# if defined key_mpi2 
    466467      IF( ln_timing ) CALL tic_tac( .TRUE., ld_global = .TRUE.) 
    467       CALL  mpi_allreduce( p_in(:), todelay(idvar)%z1d(:), isz, MPI_DOUBLE_PRECISION, mpi_max, ilocalcomm, ndelayid(idvar), ierr ) 
     468      CALL  mpi_allreduce( p_in(:), todelay(idvar)%z1d(:), isz, MPI_DOUBLE_PRECISION, mpi_max, ilocalcomm, ierr ) 
     469      ndelayid(idvar) = 1 
    468470      IF( ln_timing ) CALL tic_tac(.FALSE., ld_global = .TRUE.) 
    469471# else 
    470472      CALL mpi_iallreduce( p_in(:), todelay(idvar)%z1d(:), isz, MPI_DOUBLE_PRECISION, mpi_max, ilocalcomm, ndelayid(idvar), ierr ) 

Commit History (1)

ChangesetAuthorTimeChangeLog
12518smueller2020-03-05T17:01:00+01:00

Correction of the fallback option for MPI-2 compatibility in delayed global MPP operations (ticket #2382)

This changeset is the merging of changeset [12512] (see ticket #2381) into the release-4.0-HEAD version of NEMO.

Change History (3)

comment:1 Changed 4 years ago by smueller

In 12518:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:2 Changed 4 years ago by smueller

  • Resolution set to fixed
  • Status changed from new to closed

Using NEMO release-4.0-HEAD, a variant of the ORCA2_ICE_PISCES restartability test with defined key_mpi2, nn_fwb = 1 in both LONG and SHORT, nn_stock = 496 in LONG, nn_stock = 248 in SHORT, and disabled PISCES component fails just before and succeeds after application of [12518].

Further, source:/NEMO/releases/release-4.0-HEAD@12518 passes SETTE.

comment:3 Changed 2 years ago by nemo

  • Keywords v4.0 added
Note: See TracTickets for help on using tickets.