New URL for NEMO forge!

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.
#2501 (Bug in PISCES when using the leapfrog temporal scheme) – NEMO

Opened 4 years ago

Closed 3 years ago

#2501 closed Bug (fixed)

Bug in PISCES when using the leapfrog temporal scheme

Reported by: aumont Owned by: systeam
Priority: high Milestone:
Component: PISCES Version:
Severity: major Keywords:



2 temporal schemes can be used when enabling ocean biogeochemistry in NEMO : an Euler forward scheme and a leapfrog scheme. This problem is only active when using the leapfrog scheme. It may potentially affect all biogeochemical models that update the tracer concentrations before entering in the transport part handled by TOP. This bug has been spotted and analyzed by Elise Olson.


In PISCES, the tracer concentrations are updated at the end of the biogeochemical modules before entering the tracer transport modules of TOP. This does not cause any problem when using the euler forward temporal scheme. However, this is incorrect when using the leapfrog scheme as a result of the asselin filter. The asselin filter propagates the SMS of PISCES to the tracer concentrations at the now timestep multiplied by the value of the asselin coefficient. With a typical value of 0.1, this means that SMS are overestimated by about 11% (0.1/0.9)


SMS computed by PISCES should not be added to the tracer concentrations in the PISCES modules. Instead, they should be added to the trends (tra array). However, the substepping capability has to be preserved, in particular when using a large time step which occurs with coarse resolution versions of NEMO. Thus, the updated code should store the tracer concentrations before computing the SMS. trb concentrations are then updated by PISCES. When exiting PISCES, trends are computed by making the difference between the updated concentrations and the stored concentrations. Then, the updated concentrations are reset to the initial values obtained from the stored concentrations.
This fix will also modify the algorithm of the Euler forward temporal scheme to be consistent with the corrected leapfrog scheme.
p4zsms.F90 should be the only module that will have to be modified.

Commit History (1)


r4.0-HEAD : bugfix on PISCES temporal scheme, see ticket #2501

Change History (2)

comment:1 Changed 4 years ago by cetlod

In 13342:

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

comment:2 Changed 3 years ago by mathiot

  • Resolution set to fixed
  • Status changed from new to closed
  • Version v4.0.* deleted

Included in v4 at 13342 and already in the trunk (confirmed by Christian).

Note: See TracTickets for help on using tickets.