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.
#2727 (mpp_nc_generic+BDY not yet implemented with suppressed land subdomain close to the open boundary) – NEMO

Opened 3 years ago

Closed 3 years ago

#2727 closed Bug (fixed)

mpp_nc_generic+BDY not yet implemented with suppressed land subdomain close to the open boundary

Reported by: amoulin Owned by: systeam
Priority: normal Milestone:
Component: MULTIPLE Version: trunk
Severity: minor Keywords:
Cc: tomas.lovato@…

Description (last modified by lovato)

Context

An error appears in the MEDITERRANEAN configuration using a domain decomposition with suppressed land subdomain close to the open boundary.

Analysis

The problem could be reproduced using AMM12 configuration with for example 216 proc (no definition of jpni jpnj in nammpp namelist):

Number of mpi processes: 216
Number of ocean subdomains = 216
Number of suppressed land subdomains = 64

A suppressed subdomain is defined as a neighbour of the south open boundary and lead to the message error defining in lbc_lnk_neicoll_generic.h90:

===>>> : E R R O R

STOP
mpp_nc_generic+BDY not yet implemented

huge E-R-R-O-R : immediate stop


Recommendation

...

Commit History (0)

(No commits)

Attachments (1)

AMM12_180proc_216proc.jpg (256.9 KB) - added by lovato 3 years ago.

Download all attachments as: .zip

Change History (4)

Changed 3 years ago by lovato

comment:1 Changed 3 years ago by lovato

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

comment:2 Changed 3 years ago by smasson

The problem is not related to the suppression of land domains. You have the same stop if you use 280 cores and you fix in the namelist: jpni = 20 and jpnj = 14.
The problem is coming from the geometry of the domain decomposition you use. You unfortunately pick-up a domain decomposition which requires an MPI communication in BDY (because you have somewhere an MPI boundary that is located just along the coast line).
Today, collective communication (nn_comm = 2) are incompatible with the communications used in BDY (which involves only a few processes). So we put this stop!
2 solutions:

  • hard one: add in mpp_ini_nc a specific communicator for BDY
  • easy one: once you enter BDY, you force nn_comm = 1, so you use point-to-point communication. You move back nn_comm to 2 onces you leave BDY.

comment:3 Changed 3 years ago by amoulin

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

No problem anymore as nn_comm=1 can be used with BDY now thanks to Sebastien's corrections in the ticket #2731 (trunk revision 15368).

Note: See TracTickets for help on using tickets.