Opened 12 years ago

Closed 10 years ago

Last modified 4 years ago

#209 closed Bug (fixed)

Bug in domvvl : wrong e3u e3v and e3f scale factors + change name of mut to ee_t

Reported by: gm Owned by: nemo
Priority: high Milestone:
Component: OCE Version: trunk
Severity: Keywords: VVL
Cc:

Description

The mbathy array is used to sum up the vertical scale factors at U-, V- and F-point. This is a bug since mbathy is the number of ocean level for T-point ! It is only OK in pure sco and with flat bottom. With zco, zps or a mixture of zps and sco, it leads to completely erroneous solution as, for example the number of ocean U-point is the minimum of mbathy(i,j) and mbathy(i+1,j) not mbath(i,j).

The solution is to compute the sum of the masked vertical scale factors.Note that the ee_t, ee_u, and ee_v arrays (formerly named mut, muu muv) are masked by their respective mask (tmask, umask, vmask), except for ee_f. Indeed, in the system we use fmask value at the ocean-land interface to specified the type of lateral boundary condition on velocity. There, fmask can take value lager than 20 ! (set by nshlat namelist parameter). The computation of ee_f uses the production of neighbouring umask which corresponds to a fmask tacking a value of 0 or 1.

While correcting this bug 2 other improvements have been made:

-1- change the name of mut, muu, muv and muf variables :

there are not integer (DOCTOR norme) and they are difficult to find with a "grep", especially mut). The new names chosen are: ee_t, ee_u, ee_v and ee_f. The modules concerned by the change in names are:

domvvl.F90 =⇒ mut into ee_t …

wzvmod.F90 =⇒ mut into ee_t … and also a comment on a faster way to compute things (comment only as it will modifed the last digit of the results)

trazdf_imp.F90 =⇒ mut into ee_t

trazdf_exp.F90 =⇒ mut into ee_t (caution the change is made from the version of trazdf_exp updated see ticket #202)

-2- reduce the memory requirement of the code both with and without key_vvl option.

the ee_t, u,v,f fields are always defined even if key_vvl is not activated, and they are 3D fields… We choose to generalise the vertical distribution of ssh introduced as a key_sigma_vvl. In this caseit is possible to define ee_t, u, v, and f as 2D arrays. The modules involved in this change areexactly the same routine as the change in name.

As a consequences, the key_sigma_vvl is suppressed as it becomes the only solution used in the code. It is the best solution, as it is the one which set to zero high frequency vertical velocity asssociated withup and down displacement of the ssh

Commit History (0)

(No commits)

Attachments (4)

domvv.F90 (17.0 KB) - added by gm 12 years ago.
trazdf_exp.F90 (7.6 KB) - added by gm 12 years ago.
trazdf_imp.F90 (16.2 KB) - added by gm 12 years ago.
wzvmod.F90 (6.5 KB) - added by gm 12 years ago.

Download all attachments as: .zip

Change History (11)

Changed 12 years ago by gm

Changed 12 years ago by gm

Changed 12 years ago by gm

Changed 12 years ago by gm

comment:1 Changed 12 years ago by gm

CAUTION : the routines given here for correction have been compiled, but never tested in a real comfiguration, since there is non reference comfiguration with vvl to compare with. Some one at MERCATOR or Met Office should test this before its implementation in the code

comment:2 Changed 10 years ago by gm

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

solved in version 3.2

comment:3 Changed 4 years ago by nicolasmartin

  • Keywords Conservative Leap-Frog VVL and added

comment:4 Changed 4 years ago by nicolasmartin

  • Keywords and removed

comment:5 Changed 4 years ago by nicolasmartin

  • Milestone Conservative Leap-Frog and vvl deleted

Milestone Conservative Leap-Frog and vvl deleted

comment:6 Changed 4 years ago by nicolasmartin

  • Keywords Conservative removed

comment:7 Changed 4 years ago by nicolasmartin

  • Keywords Leap-Frog removed
Note: See TracTickets for help on using tickets.