Opened 2 years ago

Closed 2 years ago

#2116 closed Bug (fixed)

Wraparound rows not passed in coupling fields

Reported by: timgraham Owned by: francesca
Priority: low Milestone: 2018 release-4.0
Component: OCE Version: trunk
Severity: minor Keywords: SBC, coupling,
Cc:

Description (last modified by nicolasmartin)

Context

In NEMO 4.0 beta the wraparound rows are no longer passed to OASIS in cpl_send resulting in columns of uninitialised data within the arrays being interpolated by OASIS and potentially feeding into the interpolation.

Analysis

This is due to the change in the behaviour of the nldi and nlei variables (nlei is no longer equal to jpi on the mpi domains at the edge of the grid).

Fix

The same fix used for XIOS can be applied here:

At the start of cpl_define, cpl_send and cpl_rcv the following should be added:

         nldi_save = nldi   ;   nlei_save = nlei
         nldj_save = nldj   ;   nlej_save = nlej
         IF( nimpp           ==      1 ) nldi = 1
         IF( nimpp + jpi - 1 == jpiglo ) nlei = jpi
         IF( njmpp           ==      1 ) nldj = 1
         IF( njmpp + jpj - 1 == jpjglo ) nlej = jpj

and at the end of the routines:

         nldi = nldi_save   ;   nlei = nlei_save
         nldj = nldj_save   ;   nlej = nlej_save

Note that in cpl_rcv there is a call to lbc_lnk inside a loop. In this case nldi, nlei, nldj and nlej must be reset to their original values before the call to lbc_lnk and then set to the altered values again for the next cycle through the loop.

Commit History (1)

ChangesetAuthorTimeChangeLog
10112francesca2018-09-11T12:12:57+02:00

fix ticket #2116

Change History (4)

comment:1 Changed 2 years ago by nicolasmartin

  • Description modified (diff)

comment:2 Changed 2 years ago by clevy

  • Owner set to francesca
  • Status changed from new to assigned

comment:3 Changed 2 years ago by francesca

In 10112:

fix ticket #2116

comment:4 Changed 2 years ago by francesca

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

The proposed fix has been applied in cpl_define, cpl_send and cpl_rcv routines of the cpl_oasis3 module.

Note: See TracTickets for help on using tickets.