New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
#709 (LIM3 (LIM2-EVP -Drakkar) : Lead area computation in limrhg.F90 (limrhg_evpc_2.F90)) – NEMO

Opened 14 years ago

Closed 14 years ago

Last modified 2 years ago

#709 closed Bug (invalid)

LIM3 (LIM2-EVP -Drakkar) : Lead area computation in limrhg.F90 (limrhg_evpc_2.F90)

Reported by: royf Owned by: nemo
Priority: low Milestone:
Component: LIM3 Version: v3.2
Severity: Keywords: LIM* v3.2
Cc: Jean-Marc.Molines@…

Description

At line 256 and 262 where zt11,zt12, zt21, and zt22 are used. Should zt11 and zt12 be reversed as the mask multiplies frld at the masked point?

For LIM2-EVP See line 218 in limrhg_evpc_2.F90 (Code provided by Jean-Marc Molines to Greg Smith)

Cheers
François
Contact: francois.roy@… (or gregory.smith@…)

Commit History (0)

(No commits)

Change History (3)

comment:1 Changed 14 years ago by gm

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

I have not written this piece of code. Nevertheless I can given you a explanation of what has been done.

The multiplication of z12 by ( 1.0 - at_i(ji,jj) ) is intentional. I the mind of M.A. Morales Maqueda and S. Bouillon, the U-point are right at the middle of T-points. Therefore calculating at linear interpolation in one direction of a value at T-point (let say ct(i) ) to a U-point (let say cu(i) ) leads to:

cu(i) = ct(i) + [ ci(i+1) - ct(i) ] / [ 0.5*( e1t(i) + e1t(i+1) ) ] * 0.5 * e1t(i)

which leads to :

cu(i) = [ e1t(i+1) * ct(i) + e1t(i) * ct(i+1) ] / [ e1t(i) + e1t(i+1) ]

which is what is coded.

Having said that, I am not happy at all with this type of interpolation. This is not in agreement with how the mesh is defined in NEMO. We do not assume that U-point are right at the middle of T-point (as well as we do not assume that T-point are right at the middle of U-point). The grid point position of T- and U-points depends on the way the grid spacing is varying. In other words, we have an analytical function that give the latitude and longitude of the grid point (let say F(x)) and the T-point position is given by F(x=i) and the U-point position is given by F(x=i+1/2), see Marti, Madec and Delecluse JGR 1992).

In this framework, the value at U-point of a quantity defined at a T-point is simply: cu(i) = 0.5 * [ ct(i) + ct(i+1) ].

Note that the whole EVP algorithm has been written considering U- and V-points right at the middle of T-point. Therefore, it is the entire module that should be carefully checked and updated... In the work plan 2011, the EVP rheology will be revised (LOCEAN work) in order to respect the way the mesh is defined in NEMO.

Gurvan (mailto:gm@…)

comment:2 Changed 7 years ago by nemo

  • Keywords LIM* added

comment:3 Changed 2 years ago by nemo

  • Keywords v3.2 added
Note: See TracTickets for help on using tickets.