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.
#1305 (Wrong maximum level for light penetration in some mpp cases) – NEMO

Opened 9 years ago

Closed 9 years ago

#1305 closed Bug (fixed)

Wrong maximum level for light penetration in some mpp cases

Reported by: acc Owned by: acc
Priority: low Milestone:
Component: OCE Version: v3.6
Severity: Keywords:
Cc:

Description

The trc_oce_ext_lev function (trc_oce.F90) often computes the wrong maximum level for light penetration in mpp runs. This is because in cases with land-only regions or regions where every wet-point is above the maximum penetration depth, the zem>= zhext test is never true. In these cases the penetration level is returned as jpkm1. This leads to, at best, unnecessary calculations and may be responsible for NaNs? arising from uninitialised values in some cases. Rewriting the test from:

      ! Level of light extinction
      pjl = jpkm1
      DO jk = jpkm1, 1, -1
         zem = MAXVAL( fsdepw(:,:,jk+1) * tmask(:,:,jk) )
         IF( zem >= zhext )   pjl = jk                       ! last T-level reached by Qsr
      END DO

to

      ! Level of light extinction
      pjl = jpkm1
      DO jk = jpkm1, 1, -1
         IF(SUM(tmask(:,:,jk)) > 0 ) THEN
            zem = MAXVAL( fsdepw(:,:,jk+1) * tmask(:,:,jk) )
            IF( zem >= zhext )   pjl = jk                       ! last T-level reached by Qsr
         ELSE
            pjl = jk                                            ! or regional sea-bed depth 
         ENDIF
      END DO

fixes the problem

Commit History (2)

ChangesetAuthorTimeChangeLog
4624acc2014-04-28T14:09:03+02:00

#1305. Fix slow start-up problems on some systems by introducing and using lwm logical to restrict output of merged namelists to the first (or only) processor. lwm is true only on the first processor regardless of ln_ctl. Small changes to all flavours of nemogcm.F90 are also required to write namctl and namcfg after the call to mynode which now opens output.namelist.dyn and writes nammpp.

4623acc2014-04-22T17:21:41+02:00

#1305. Fix trc_oce_ext_lev function in trc_oce.F90 so that the correct maximum light penetration level is determined even if all a processing elements wet points are above the maximum penetration depth

Change History (1)

comment:1 Changed 9 years ago by acc

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

Change submitted at Revision: 4623

Note: See TracTickets for help on using tickets.