Opened 6 weeks ago

Closed 6 weeks ago

#2549 closed Bug (fixed)

wrong diagnotic of error handling in stp_ctl

Reported by: cbricaud Owned by: systeam
Priority: low Milestone:
Component: DYN Version: trunk
Severity: major Keywords:
Cc:

Description

Context

Some mpi splitting can lead to have land over all the inner local domain of a processor and ocean only on the halo bands.

stp_ctl compute MAXVAL of different fields to chec model values:

IF sn_cfctl%l_runstat= .True. the MAXVAL values are computed first on each local domain and then over all the processor , in stp_ctl.

IF sn_cfctl%l_runstat= .False. the MAXVAL values are only computed on each local domain.

When sn_cfctl%l_runstat= .False., the model stops on processors where the inner local domain have only land with values such as: -1.797693134862316E+308 e+308

Analysis

In stp_ctl, MAXVAL are computed with a mask: zmax(3) = MAXVAL( -ts(:,:,:,jp_sal,Kmm), mask = llmsk )

llmsk is false over the halo band

When inner local domain have only land, all llmsk is set to false

MAXVAL documentation (https://gcc.gnu.org/onlinedocs/gfortran/MAXVAL.html) says that, if all of the elements of MASK are .FALSE., then the result is -HUGE(ARRAY)

Fix

check tmask values in the inner domain and set zmax to zero if the inner local domain have only land?

Commit History (1)

ChangesetAuthorTimeChangeLog
13616smasson2020-10-15T17:58:33+02:00

trunk: bugfix in stpctl for land inner-domains, see #2549

Change History (3)

comment:1 Changed 6 weeks ago by smasson

check of land only domains was introduced in [13136] and was accidentally removed in [13216]

comment:2 Changed 6 weeks ago by smasson

In 13616:

trunk: bugfix in stpctl for land inner-domains, see #2549

comment:3 Changed 6 weeks ago by smasson

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

done in [13616]

Note: See TracTickets for help on using tickets.