Opened 12 months ago

Closed 8 months ago

#2310 closed Bug (fixed)

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 (2)

ChangesetAuthorTimeChangeLog
12026davestorkey2019-12-02T15:54:57+01:00

Small bug fixes to to initial Euler timestep and OFF timestepping to ensure bit comparison the IMMERSE_first_steps branch with the trunk. Tickets #2310, #2311, #2343 apply.

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 (3)

comment:1 Changed 11 months 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.

comment:2 Changed 8 months ago by davestorkey

In 12026:

Small bug fixes to to initial Euler timestep and OFF timestepping to ensure
bit comparison the IMMERSE_first_steps branch with the trunk.
Tickets #2310, #2311, #2343 apply.

comment:3 Changed 8 months ago by davestorkey

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

Fixed in trunk @ 12026

Note: See TracTickets for help on using tickets.