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.
domzgr_substitute.h90 in NEMO/trunk/src/OCE/DOM – NEMO

source: NEMO/trunk/src/OCE/DOM/domzgr_substitute.h90 @ 15529

Last change on this file since 15529 was 15529, checked in by techene, 2 years ago

#2695 : isf+qco are now compatible

File size: 2.7 KB
Line 
1!!----------------------------------------------------------------------
2!!                    ***  domzgr_substitute.h90   ***
3!!----------------------------------------------------------------------
4!! ** purpose :   substitute fsdep. and fse.., the vert. depth and scale
5!!      factors depending on the vertical coord. used, using CPP macro.
6!!----------------------------------------------------------------------
7!! History :  4.2  !  2020-02  (S. Techene, G. Madec)  star coordinate
8!!----------------------------------------------------------------------
9!! NEMO/OCE 4.2 , NEMO Consortium (2020)
10!! $Id$
11!! Software governed by the CeCILL license (see ./LICENSE)
12!!----------------------------------------------------------------------
13#if defined key_qco
14#   define  e3t(i,j,k,t)   (e3t_0(i,j,k)*(1._wp+r3t(i,j,t)*tmask(i,j,k)))
15#   define  e3u(i,j,k,t)   (e3u_0(i,j,k)*(1._wp+r3u(i,j,t)*umask(i,j,k)))
16#   define  e3v(i,j,k,t)   (e3v_0(i,j,k)*(1._wp+r3v(i,j,t)*vmask(i,j,k)))
17#   define  e3f(i,j,k)     (e3f_0(i,j,k)*(1._wp+r3f(i,j)*fe3mask(i,j,k)))
18#   define  e3f_vor(i,j,k) (e3f_0vor(i,j,k)*(1._wp+r3f(i,j)*fe3mask(i,j,k)))
19#   define  e3w(i,j,k,t)   (e3w_0(i,j,k)*(1._wp+r3t(i,j,t)))
20#   define  e3uw(i,j,k,t)  (e3uw_0(i,j,k)*(1._wp+r3u(i,j,t)))
21#   define  e3vw(i,j,k,t)  (e3vw_0(i,j,k)*(1._wp+r3v(i,j,t)))
22#   define  ht(i,j)        (ht_0(i,j)*(1._wp+r3t(i,j,Kmm)))
23#   define  hu(i,j,t)      (hu_0(i,j)*(1._wp+r3u(i,j,t)))
24#   define  hv(i,j,t)      (hv_0(i,j)*(1._wp+r3v(i,j,t)))
25#   define  r1_hu(i,j,t)   (r1_hu_0(i,j)/(1._wp+r3u(i,j,t)))
26#   define  r1_hv(i,j,t)   (r1_hv_0(i,j)/(1._wp+r3v(i,j,t)))
27# if defined key_isf
28#   define  gdept(i,j,k,t) ((gdept_0(i,j,k)-risfdep(i,j))*(1._wp+r3t(i,j,t))+risfdep(i,j))
29#   define  gdepw(i,j,k,t) ((gdepw_0(i,j,k)-risfdep(i,j))*(1._wp+r3t(i,j,t))+risfdep(i,j))
30# else
31#   define  gdept(i,j,k,t) (gdept_0(i,j,k)*(1._wp+r3t(i,j,t)))
32#   define  gdepw(i,j,k,t) (gdepw_0(i,j,k)*(1._wp+r3t(i,j,t)))
33# endif
34#   define  gde3w(i,j,k)   (gdept(i,j,k,Kmm)-ssh(i,j,Kmm))
35#elif defined key_linssh
36#   define  e3t(i,j,k,t)   e3t_0(i,j,k)
37#   define  e3u(i,j,k,t)   e3u_0(i,j,k)
38#   define  e3v(i,j,k,t)   e3v_0(i,j,k)
39#   define  e3f(i,j,k)     e3f_0(i,j,k)
40#   define  e3f_vor(i,j,k) e3f_0vor(i,j,k)
41#   define  e3w(i,j,k,t)   e3w_0(i,j,k)
42#   define  e3uw(i,j,k,t)  e3uw_0(i,j,k)
43#   define  e3vw(i,j,k,t)  e3vw_0(i,j,k)
44#   define  ht(i,j)        ht_0(i,j)
45#   define  hu(i,j,t)      hu_0(i,j)
46#   define  hv(i,j,t)      hv_0(i,j)
47#   define  r1_hu(i,j,t)   r1_hu_0(i,j)
48#   define  r1_hv(i,j,t)   r1_hv_0(i,j)
49#   define  gdept(i,j,k,t) gdept_0(i,j,k)
50#   define  gdepw(i,j,k,t) gdepw_0(i,j,k)
51#   define  gde3w(i,j,k)   (gdept_0(i,j,k)-ssh(i,j,Kmm))
52#endif
53!!----------------------------------------------------------------------
54
Note: See TracBrowser for help on using the repository browser.