Opened 9 years ago

Closed 8 years ago

Last modified 3 years ago

#812 closed Bug (fixed)

dynspg_ts again

Reported by: rblod Owned by: nemo
Priority: normal Milestone:
Component: OCE Version: release-3.3
Severity: Keywords: DYN VVL


In nemo_v3_3, definition of fse3u_b/fse3v_b was changed, inducing a change in ub_b definition in dynspg_ts. To compute barotropic trend, ub_b was then set to the filtred barotropic velocity. This change induced oscillations in some configurations. So we come back to 3.2 solution in recomputing an equivalent to the "old" fse3u_b/fse3v_b

Commit History (3)


Branch: dev_r2802_NOCS_vvlfix. Bugfix corrections to the calculation of fse3u_b and fse3v_b to address problems with vvl and partial steps. See comments added to ticket #812


Temporary development branch to implement and test bugfixes relating to the vvl with partial steps. See comments added to ticket #812


Correct dynspg_ts, see ticket #812

Change History (12)

comment:1 Changed 9 years ago by acc

A bug has been found in the calculation of fse3u_b/fse3v_b (#832) and corrected in changeset 2779. The #812 changes may be unnecessary now and the (formally) correct forms of fse3u_b and fse3v_b should be re-tested in dynspg_ts.F90.

comment:2 Changed 9 years ago by nemo_user

The bug in dynspg_ts in the original version coded in 3.3 was thought to come from the filtered barotropic velocity. However, there was another bigger bug….

it is written at the end of the routine :

ub_b = un_b

which is wrong, because un_b is a barotropic velocity at this stage. Which means that ub_b in the first stage of dynspg_ts will be a velocity as well whereas it should be a transport. It is only in the second stage of dynspg_ts that it becomes a velocity again.

comment:3 Changed 9 years ago by nemo_user

After discussion, it appears that :

  • the initial 3.3 dynspg_ts coded by Rachid was coded this way because otherwise it crashed (which I also tested), obviously because of the brackets bug discover by Andrew. Therefore the right way to code the computation of ub_b is definetely by computing the transport based on the 3D velocity ub.
  • However, this does not work even once the bugfix implemented by Andrew done (at least on my configuration) : the model crashes after approx 200 time steps with velocities getting larger all the time. The reason seems to me that the place where fse3t_n/fse3t_b is computed is wrong: it is computed based on sshn (check domzgr_substitute), which has not yet been computed as it is only in ssh_nxt which comes afterwards. The filtering and the swap should be done after ssh_nxt and not before I guess.

comment:4 Changed 9 years ago by acc

A bug fix branch (dev_r2802_NOCS_vvlfix) has been created with what is hopefully the definitive set of corrections to address the problems with vvl in 3.3.1. The major bug appears to be a failure to maintain the e3u(i,j) = MIN(e3t(i,j),e3t(i+1,j)) type relationship in the bottom partial cells when calculating fse3u_b (and, similarly, fse3v_b). This has been corrected. Additionally, restartability problems would have been encountered due to the initial setting of vertical metrics before reading the ssh_b field. The opportunity has also been taken to streamline the code by placing repeated operations in a new subroutine (dom_vvl_2). The changes thus associated with this bugfix are more than can be safely applied directly to the trunk without additional review and testing. The 2011/dev_r2802_NOCS_vvlfix branch has been created to enable testing. The changes therein are destined for the trunk as soon as successful testing is complete

comment:5 Changed 8 years ago by rblod

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

Successfully included thanks to Andrew in 3.4

comment:6 Changed 4 years ago by nicolasmartin

  • Keywords VVL added; vvl removed

comment:7 Changed 4 years ago by nicolasmartin

  • Keywords nemo_v3_3* added

comment:8 Changed 4 years ago by nicolasmartin

  • Milestone 2011 Stream 0: Coastal Ocean Ready deleted

Milestone 2011 Stream 0: Coastal Ocean Ready deleted

comment:9 Changed 4 years ago by nicolasmartin

  • Keywords dynspg_* added; dynspg_ts removed

comment:10 Changed 4 years ago by nicolasmartin

  • Keywords dynspg added; dynspg_* removed

comment:11 Changed 4 years ago by nicolasmartin

  • Keywords DYN added; dynspg removed

comment:12 Changed 3 years ago by nemo

  • Keywords nemo_v3_3* removed
Note: See TracTickets for help on using tickets.