Opened 8 months ago

Last modified 10 days ago

#1877 new Task

Issues with NEMO tracer trends diagnostics to be used for CMIP6

Reported by: Dave Storkey Owned by: Dave Storkey
Priority: normal Milestone: Miscellaneous
Component: OPA Version: trunk
Keywords: tracer trends CMIP6 Cc: George Nurser
Severity: Workplan status:



Before Christmas I did some work on the NEMO tracer trend diagnostics to
ensure that they worked with VVL and that we could use them to recover the
tracer content trend as required by CMIP6. George Nurser has recently
reviewed the code and pointed out a couple of mistakes. In particular the
total trend (ttrd_tot) and (impure) vertical diffusion trend (ttrd_zdf) are currently
formulated to give the trend in the tracer concentration rather than the
tracer content. There is also a problem with the Asselin time-filter trend if
VVL is switched on.

We intend to update the code in 3.6_stable and the trunk to correct this.
However we still have outstanding questions about how the Asselin filter
trend contributes to the sum of trends. George is going to discuss with
Gurvan at Barcelona next week and we will hopefully put in some code updates
shortly after that.





Commit History (3)


Bug fixes for tracer trends diagnostics in trunk. See ticket #1877. These fixes correspond to the changes to the 3.6 branch at revisions 8102 and 8305.


3.6_stable: fix for bug in Asselin filter trend diagnostic. See comment on ticket #1877.


NEMO 3.6_stable: tracer trends diagnostics. See ticket #1877 for more details.

  1. Correct bugs in calculation of total trends and trends due to vertical diffusion.
  2. Output component trends every second timestep so that sum of component trends plus Asselin filter trend equals total trend.
  3. Layer-integrated versions of trends (as per CMIP6 definition) available in field_def.xml.

Change History (6)

comment:1 Changed 7 months ago by Claire Levy

  • Type changed from Bug to Task

comment:2 Changed 6 months ago by Dave Storkey

Update for nemo_v3_6_STABLE branch at rev 8102. This includes corrections for the bugs to the total trend and the vertical diffusion trend mentioned above. Also the component trends and the Asselin filter trend have been modified so that they are only passed from NEMO to XIOS every second timestep. For the Asselin filter trend there is a lag of one timestep. This ensures that the sum of the component trends plus the Asselin filter trend equals the total trend. The total trend is calculated using the difference (ta - tn), which ensures that the time-mean total trend multiplied by the total integration period equals the model end state minus start state. With this update NEMO passes these two checks to a good degree of accuracy.

Thanks to George and Gurvan for figuring out how to code the trends with the leapfrog timestepping.

comment:3 Changed 5 months ago by Dave Storkey

There is a bug in the implementation of the Asselin filter trend if VVL is switched on. The trend is calculated in tra_nxt_vvl which is called from NEMO and TOP and the current implementation doesn't take account of this. This can cause the model to pass garbage to XIOS if TOP is switched on. A fix to be implemented shortly.

comment:4 Changed 5 months ago by Dave Storkey

Asselin filter trend bug fixed in nemo_v3_6_STABLE at revision 8305.

NB. All of these updates to the tracer trends diagnostics are not yet implemented in the trunk. To be done before this ticket is closed.

comment:5 Changed 2 months ago by Tim Graham

  • Version changed from nemo_v3_6_STABLE to trunk

As this has been fixed in 3.6 STABLE but not yet fixed in the trunk I've changed the version of the ticket to remind us to fix it.

comment:6 Changed 10 days ago by Dave Storkey

Bug fixes corresponding to fixes 8102 and 8305 in 3.6_stable branch now committed to the trunk at revision 8698.

Remaining issues (noticed in tests in eORCA1):

  1. The salinity advection and salinity lateral diffusion trends have odd values at the northern and eastern boundaries in both the 3.6 and trunk versions of the code. Possibly missing lbc_lnk calls?
  1. The ttrd_evd_li diagnostic has strange north-south stripes in the 3.6 version of the code, not present in the output from the trunk.
Note: See TracTickets for help on using tickets.