Opened 2 months ago

Last modified 7 weeks ago

#2310 new Bug

bug in timestepping in OFF?

Reported by: davestorkey Owned by: davestorkey
Priority: normal Milestone: Unscheduled
Component: OFF Version: release-4.0
Severity: minor Keywords:
Cc: acc

Description

BE CAREFUL !!! Due to dynamic behaviour of this ticket creation page, it is highly recommend to set first all other fields before writing the ticket description below.
If you have lost your draft after an unwanted reload, you can click on the link 'Restore Form' in the contextual menu upper right to recover it.
Remove these lines after reading.

Context

The OFF module allows you to evolve passive tracers using previously-calculated ocean dynamics fields read in from a file. At each timestep the "now" fields are read in from the file (and possibly time-interpolated) using fld_read. But with the nonlinear free surface, the SSH and cell thicknesses (e3*) are timestepped forward using the "now" horizontal divergence field read in from the file.

The order in which things are done in nemo_gcm (OFF version) is:

  1. Call dta_dyn to read in "now" fields.
  2. Call dta_dyn_ssh to calculate the "after" SSH and e3* fields based on the "now" divergence field.
  3. Call dta_dyn_swp to time-filter and time-swap the SSH field.
  4. Call trc_stp to advance the passive tracers by one timestep.

But I think the order of 3 and 4 is wrong. It means that when trc_stp is called then the "now" SSH field is actually one timestep ahead of the "now" velocity fields. Dta_dyn_swp should be called after trc_stp. This would then be consistent with the order that things are done in stp where the time filtering and time swapping is done *after* the call to trc_stp.

Analysis


Fix


Commit History (1)

ChangesetAuthorTimeChangeLog
11480davestorkey2019-08-29T11:23:25+02:00

2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps : Merge in changes from branch of branch. Main changes:

  1. "nxt" modules renamed as "atf" and now just do Asselin time filtering. The time level swapping is achieved by swapping indices.
  2. Some additional prognostic grid variables changed to use a time dimension.

Notes:

  1. This merged branch passes SETTE tests but does not identical results to the SETTE tests with the trunk@10721 unless minor bugs to do with Euler timestepping and the OFF timestepping are fixed in the trunk (NEMO tickets #2310 and #2311).
  2. The nn_dttrc > 1 option for TOP (TOP has a different timestep to OCE) doesn't work. But it doesn't work in the trunk or NEMO 4.0 release either.

Change History (1)

comment:1 Changed 7 weeks ago by davestorkey

In 11480:

2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps : Merge in changes from branch of branch.
Main changes:

  1. "nxt" modules renamed as "atf" and now just do Asselin time filtering. The time level swapping is achieved by swapping indices.
  2. Some additional prognostic grid variables changed to use a time dimension.

Notes:

  1. This merged branch passes SETTE tests but does not identical results to the SETTE tests with the trunk@10721 unless minor bugs to do with Euler timestepping and the OFF timestepping are fixed in the trunk (NEMO tickets #2310 and #2311).
  2. The nn_dttrc > 1 option for TOP (TOP has a different timestep to OCE) doesn't work. But it doesn't work in the trunk or NEMO 4.0 release either.
Note: See TracTickets for help on using tickets.