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.
#1481 (Ineffective update by adjoint of energy- and enstrophy-conserving vorticity trend computation during most time steps (when the variable-volume scheme is not enabled)) – NEMO

Opened 9 years ago

Closed 9 years ago

Last modified 2 years ago

#1481 closed Bug (fixed)

Ineffective update by adjoint of energy- and enstrophy-conserving vorticity trend computation during most time steps (when the variable-volume scheme is not enabled)

Reported by: sam Owned by: nemo
Priority: normal Milestone:
Component: TAM Version: v3.4
Severity: Keywords: TAM v3.4
Cc:

Description

When the energy- and enstrophy-conserving vorticity scheme (EEN) is selected (EEN scheme is not a default option in the template configuration 'ORCA2_TAM' - it is, however, selected in the template configuration 'ORCA2_LIM'), NEMOTAM crashes during the testing of the tangent-linear and adjoint time steps (test of 10 time steps, the crash occurs during the second test (SSH)). For the same configuration the tests of the adjoint subroutines do not identify any problem.

Further analysis reveals that the crash occurs in the adjoint subroutine 'vor_een_adj' of module 'dynvor_tam'. When the variable-volume scheme ('lk_vvl') is not enabled, the variable 'ze3f_ad' appears to be properly defined only during time steps 'it000' and 'nitend', while it is set to zero during the other time steps. When 'ze3f_ad' is zero, the adjoint subroutine seems to have no effect.

If 'lk_vvl' is set to '.false.', variable 'ze3f_ad' is incorrectly set to zero every time subroutine 'dynvor_een_adj' is called. In the first instance (at time step 'nitend') this occurs before the variable has been allocated (irrespective of the value of 'lk_vvl'), which can cause the model to crash. It seems that both of these problems can be avoided by moving the variable allocation on line 1073 of subroutine 'vor_een_adj' of module 'dynvor_tam' into the subsequent section that is conditional on 'key_vvl', to directly follow the variable allocation in this section.

Commit History (1)

ChangesetAuthorTimeChangeLog
5191pabouttier2015-04-02T06:04:53+02:00

Remove wrong initialisation of ze3d_ad in DYN/dynvor_tam.F90 ; See Ticket #1481

Change History (8)

comment:1 Changed 9 years ago by bouttier

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

comment:2 Changed 9 years ago by sam

  • Resolution fixed deleted
  • Status changed from closed to reopened

While Changeset 5153 moves the problematic assignment of 'ze3f_ad' to an appropriate location, the original line 1073 seems to have inadvertently survived this update and remains to be removed.

Last edited 9 years ago by sam (previous) (diff)

comment:3 Changed 9 years ago by bouttier

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

comment:4 Changed 8 years ago by nicolasmartin

  • Keywords TAM added

comment:5 Changed 8 years ago by nicolasmartin

  • Keywords nemo_v3_4* added

comment:6 Changed 7 years ago by nemo

  • Keywords release-3.4* added; nemo_v3_4* removed

comment:7 Changed 7 years ago by nemo

  • Keywords release-3.4* removed

comment:8 Changed 2 years ago by nemo

  • Keywords v3.4 added
Note: See TracTickets for help on using tickets.