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 branches/UKMO/dev_r5518_sst_landsea_cpl/NEMOGCM/NEMO/OPA_SRC/DOM – NEMO

source: branches/UKMO/dev_r5518_sst_landsea_cpl/NEMOGCM/NEMO/OPA_SRC/DOM/domzgr_substitute.h90 @ 6709

Last change on this file since 6709 was 6709, checked in by huwlewis, 8 years ago

Update UKMO keywords within branch for local build

File size: 4.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 :  1.0  !  2005-10  (A. Beckmann, G. Madec) generalisation to all coord.
8   !!            3.1  !  2009-02  (G. Madec, M. Leclair)  pure z* coordinate
9   !!----------------------------------------------------------------------
10
11#if defined key_vvl
12! s* or z*-coordinate (3D + time dependency) + use of additional now arrays (..._n)
13
14#   define  fse3t_b(i,j,k)   e3t_b(i,j,k)
15#   define  fse3u_b(i,j,k)   e3u_b(i,j,k)
16#   define  fse3v_b(i,j,k)   e3v_b(i,j,k)
17#   define  fse3uw_b(i,j,k)  e3uw_b(i,j,k)
18#   define  fse3vw_b(i,j,k)  e3vw_b(i,j,k)
19
20#   define  fsdept_n(i,j,k)  gdept_n(i,j,k)
21#   define  fsdepw_n(i,j,k)  gdepw_n(i,j,k)
22#   define  fsde3w_n(i,j,k)  gdep3w_n(i,j,k)
23#   define  fse3t_n(i,j,k)   e3t_n(i,j,k)
24#   define  fse3u_n(i,j,k)   e3u_n(i,j,k)
25#   define  fse3v_n(i,j,k)   e3v_n(i,j,k)
26#   define  fse3f_n(i,j,k)   e3f_n(i,j,k)
27#   define  fse3w_n(i,j,k)   e3w_n(i,j,k)
28#   define  fse3uw_n(i,j,k)  e3uw_n(i,j,k)
29#   define  fse3vw_n(i,j,k)  e3vw_n(i,j,k)
30
31#   define  fsdept_b(i,j,k)  gdept_b(i,j,k)
32#   define  fsdepw_b(i,j,k)  gdepw_b(i,j,k)
33#   define  fse3w_b(i,j,k)   e3w_b(i,j,k)
34
35#   define  fse3t_a(i,j,k)   e3t_a(i,j,k)
36#   define  fse3u_a(i,j,k)   e3u_a(i,j,k)
37#   define  fse3v_a(i,j,k)   e3v_a(i,j,k)
38
39#   define  fse3t_m(i,j)     e3t_m(i,j)
40
41#   define  hu_a(i,j)        ehu_a(i,j)
42#   define  hur_a(i,j)       ehur_a(i,j)
43#   define  hv_a(i,j)        ehv_a(i,j)
44#   define  hvr_a(i,j)       ehvr_a(i,j)
45#   define  hu_b(i,j)        ehu_b(i,j)
46#   define  hur_b(i,j)       ehur_b(i,j)
47#   define  hv_b(i,j)        ehv_b(i,j)
48#   define  hvr_b(i,j)       ehvr_b(i,j)
49
50! This part should be removed one day ...
51! ... In that case all occurence of the above statement functions
52!     have to be replaced in the code by xxx_n
53#   define  fsdept(i,j,k)    gdept_n(i,j,k)
54#   define  fsdepw(i,j,k)    gdepw_n(i,j,k)
55#   define  fsde3w(i,j,k)    gdep3w_n(i,j,k)
56#   define  fse3t(i,j,k)     e3t_n(i,j,k)
57#   define  fse3u(i,j,k)     e3u_n(i,j,k)
58#   define  fse3v(i,j,k)     e3v_n(i,j,k)
59#   define  fse3f(i,j,k)     e3f_n(i,j,k)
60#   define  fse3w(i,j,k)     e3w_n(i,j,k)
61#   define  fse3uw(i,j,k)    e3uw_n(i,j,k)
62#   define  fse3vw(i,j,k)    e3vw_n(i,j,k)
63
64#else
65! z- or s-coordinate (1D or 3D + no time dependency) use reference in all cases
66
67#   define  fse3t_b(i,j,k)   e3t_0(i,j,k)
68#   define  fse3u_b(i,j,k)   e3u_0(i,j,k)
69#   define  fse3v_b(i,j,k)   e3v_0(i,j,k)
70#   define  fse3uw_b(i,j,k)  e3uw_0(i,j,k)
71#   define  fse3vw_b(i,j,k)  e3vw_0(i,j,k)
72
73#   define  fsdept_n(i,j,k)  gdept_0(i,j,k)
74#   define  fsdepw_n(i,j,k)  gdepw_0(i,j,k)
75#   define  fsde3w_n(i,j,k)  gdep3w_0(i,j,k)
76#   define  fse3t_n(i,j,k)   e3t_0(i,j,k)
77#   define  fse3u_n(i,j,k)   e3u_0(i,j,k)
78#   define  fse3v_n(i,j,k)   e3v_0(i,j,k)
79#   define  fse3f_n(i,j,k)   e3f_0(i,j,k)
80#   define  fse3w_n(i,j,k)   e3w_0(i,j,k)
81#   define  fse3uw_n(i,j,k)  e3uw_0(i,j,k)
82#   define  fse3vw_n(i,j,k)  e3vw_0(i,j,k)
83
84#   define  fsdept_b(i,j,k)  gdept_0(i,j,k)
85#   define  fsdepw_b(i,j,k)  gdepw_0(i,j,k)
86#   define  fse3w_b(i,j,k)   e3w_0(i,j,k)
87
88#   define  fse3t_a(i,j,k)   e3t_0(i,j,k)
89#   define  fse3u_a(i,j,k)   e3u_0(i,j,k)
90#   define  fse3v_a(i,j,k)   e3v_0(i,j,k)
91
92#   define  fse3t_m(i,j)     e3t_0(i,j,1)
93
94#   define  hu_a(i,j)        hu(i,j)
95#   define  hur_a(i,j)       hur(i,j)
96#   define  hv_a(i,j)        hv(i,j)
97#   define  hvr_a(i,j)       hvr(i,j)
98#   define  hu_b(i,j)        hu(i,j)
99#   define  hur_b(i,j)       hur(i,j)
100#   define  hv_b(i,j)        hv(i,j)
101#   define  hvr_b(i,j)       hvr(i,j)
102
103! This part should be removed one day ...
104! ... In that case all occurence of the above statement functions
105!     have to be replaced in the code by xxx_n
106#   define  fsdept(i,j,k)    gdept_0(i,j,k)
107#   define  fsdepw(i,j,k)    gdepw_0(i,j,k)
108#   define  fsde3w(i,j,k)    gdep3w_0(i,j,k)
109#   define  fse3t(i,j,k)     e3t_0(i,j,k)
110#   define  fse3u(i,j,k)     e3u_0(i,j,k)
111#   define  fse3v(i,j,k)     e3v_0(i,j,k)
112#   define  fse3f(i,j,k)     e3f_0(i,j,k)
113#   define  fse3w(i,j,k)     e3w_0(i,j,k)
114#   define  fse3uw(i,j,k)    e3uw_0(i,j,k)
115#   define  fse3vw(i,j,k)    e3vw_0(i,j,k)
116
117#endif
118   !!----------------------------------------------------------------------
119   !! NEMO/OPA 3.3 , NEMO Consortium (2010)
120   !! $Id$
121   !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt)
122   !!----------------------------------------------------------------------
Note: See TracBrowser for help on using the repository browser.