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.
#2668 (SI3 + nn_hls>1 crashes with "-init=arrays,snan,huge" compil options) – NEMO

Opened 3 years ago

Last modified 3 years ago

#2668 new Bug

SI3 + nn_hls>1 crashes with "-init=arrays,snan,huge" compil options

Reported by: gsamson Owned by: clem
Priority: normal Milestone:
Component: SI3 Version: trunk
Severity: minor Keywords:
Cc: smasson, gsamson

Description

Context

run SETTE ORCA2_ICE_PISCES config with "-init=arrays,snan,huge" as compilation option on recent trunk revision

Analysis

SI3 uses some array operations instead of do-loops (at least in "icedyn_adv_pra" and "icedyn_rhg_*" routines), which causes floating errors due to unitialized halos values operations

Fix

replace array operations by do-loops dealing properly with variable halos sizes

Commit History (1)

ChangesetAuthorTimeChangeLog
14997smasson2021-06-16T08:43:57+02:00

trunk, ICE: replace DO_?D( 1, 1, 1, 1 ) by DO_?D( nn_hls, nn_hls, nn_hls, nn_hls ) except for icedyn_adv_* and icedyn_rhg_*, #2668

Change History (2)

comment:1 Changed 3 years ago by smasson

Yes quick and dirty fix would be to use a full 2D loop for the diags:

DO_2D( nn_hls, nn_hls, nn_hls, nn_hls )

The real fix should be to do the diag only on the inner domain, making sure we never compute things outside of the inner domain (even implicitly, for example, when doing ztaux_oi * zmsk00), declare local variables only over the inner domain (with A2D(0)), remove useless calls to lbc_lnk, do some cleaning (why zmsk00, zmsk15 are not local and are allocatable?)...

A related development would be that iomput accept as input arrays with shapes corresponding either to A2D(0) or to A2D(nn_hls)...

comment:2 Changed 3 years ago by smasson

In 14997:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found
Note: See TracTickets for help on using tickets.