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.
#2101 (non reproductible NP folding) – NEMO

Opened 6 years ago

Closed 6 years ago

Last modified 2 years ago

#2101 closed Bug (fixed)

non reproductible NP folding

Reported by: smasson Owned by: smasson
Priority: low Milestone: 2018 release-4.0
Component: OCE Version: trunk
Severity: minor Keywords: OPA v4.0
Cc:

Description (last modified by smasson)

Context

The model is not reproductible with jperio = 4 or 6 :-)

Analysis

I had the stupid idea to test jperio = 4 or 6 in a very simple configuration: square box, flat bottom, no continents, constant temperature and salinity, flat ssh, no currents.

  • with jpni = 1 and jperio = 4 or 6, we get the expected result: constant temperature everywhere except for the first line that is set to 0 because of the closed southern boundary.
  • if jpni > 1 and jperio = 4 or 6, there is some points with temperature set to 0 around the upper left/right corners of the domain! These points are visible in outputs and restart files. Their exact localisation is depending on the value of jperio and ln_nnogather. see attached image.

As points located near the NP are usaully (must be) masked, we never saw this problem...

It is a real bug?

Fix

...

Commit History (3)

ChangesetAuthorTimeChangeLog
9908smasson2018-07-10T11:30:16+02:00

trunk: bugfix following [9805], see #2101

9850smasson2018-06-27T17:12:25+02:00

dev_r9759_HPC09_ESIWACE: report bugfix from NEMOtrunk on not-masked NP, see #2101

9805smasson2018-06-15T17:03:42+02:00

trunk: set proper NP folding corners, see #2101

Attachments (1)

np_error.png (55.8 KB) - added by smasson 6 years ago.

Download all attachments as: .zip

Change History (12)

Changed 6 years ago by smasson

comment:1 Changed 6 years ago by smasson


comment:2 Changed 6 years ago by smasson

  • Description modified (diff)

comment:3 Changed 6 years ago by smasson

  • Description modified (diff)

comment:4 Changed 6 years ago by acc

I think this is a bug but a benign one since the poles should always be in land. Looking at the ln_nnogather= false option, It looks as if this sequence from mpp_nfd_generic.F90:

         ztab(:,:,:,:,:) = 0._wp
         DO jr = 1, ndim_rank_north         ! recover the global north array
            iproc = nrank_north(jr) + 1
            ildi  = nldit (iproc)
            ilei  = nleit (iproc)
            iilb  = nimppt(iproc)
            DO jf = 1, ipf
               DO jl = 1, ipl
                  DO jk = 1, ipk
                     DO jj = 1, ipj
                        DO ji = ildi, ilei
                           ztab(ji+iilb-1,jj,jk,jl,jf) = znorthgloio(ji,jj,jk,jl,jf,jr)
                        END DO
                     END DO
                  END DO
               END DO
            END DO
         END DO
         DO jf = 1, ipf
            CALL lbc_nfd( ztab(:,:,:,:,jf), cd_nat LBC_ARG, psgn LBC_ARG )   ! North fold boundary condition
         END DO
         !
         DO jf = 1, ipf
            DO jl = 1, ipl
               DO jk = 1, ipk
                  DO jj = nlcj-ipj+1, nlcj             ! Scatter back to ARRAY_IN
                     ij = jj - nlcj + ipj
                     DO ji= 1, nlci
                        ARRAY_IN(ji,jj,jk,jl,jf) = ztab(ji+nimpp-1,ij,jk,jl,jf)
                     END DO
                  END DO
               END DO
            END DO
         END DO

can leave the global edges set to zero (ztab is set from ildi to ilei for each processor, then folded and scattered back to 1 to nlci). Not sure why lbc_nfd doesn't fill them (too many options to work through on paper). That's probably where to monitor first (if it is necessary).

Last edited 6 years ago by nemo (previous) (diff)

comment:5 Changed 6 years ago by smasson

In 9805:

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

comment:6 Changed 6 years ago by smasson

I agree, see [9805]
jperio, 0, 4, 5, 6 and 7 are now ok with or without ln_nnogather. I still have an issue with jperio = 3. Strange...

Last edited 6 years ago by smasson (previous) (diff)

comment:7 Changed 6 years ago by smasson

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

because of the the characteristics of the NP folding at T point, jperio = 3 requires that the first and the last 2 columns are masked. So there is no issue with jperio = 3 as I originally though. The ticket can be closed.

comment:8 Changed 6 years ago by smasson

In 9850:

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

comment:9 Changed 6 years ago by smasson

In 9908:

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

comment:10 Changed 6 years ago by smasson

trunk [9908] : bugfix following [9805]

comment:11 Changed 2 years ago by nemo

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