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_r10171_test_crs_AMM7/NEMOGCM/NEMO/OPA_SRC/DOM – NEMO

source: branches/UKMO/dev_r10171_test_crs_AMM7/NEMOGCM/NEMO/OPA_SRC/DOM/domzgr_substitute.h90 @ 10207

Last change on this file since 10207 was 10207, checked in by cmao, 6 years ago

remove svn keyword

File size: 7.1 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
12#if defined key_vvl
13! s* or z*-coordinate (3D + time dependency) + use of additional now arrays (..._n)
14
15#   define  fse3t_b(i,j,k)   e3t_b(i,j,k)
16#   define  fse3u_b(i,j,k)   e3u_b(i,j,k)
17#   define  fse3v_b(i,j,k)   e3v_b(i,j,k)
18#   define  fse3uw_b(i,j,k)  e3uw_b(i,j,k)
19#   define  fse3vw_b(i,j,k)  e3vw_b(i,j,k)
20
21#   define  fsdept_n(i,j,k)  gdept_n(i,j,k)
22#   define  fsdepw_n(i,j,k)  gdepw_n(i,j,k)
23#   define  fsde3w_n(i,j,k)  gdep3w_n(i,j,k)
24#   define  fse3t_n(i,j,k)   e3t_n(i,j,k)
25#   define  fse3u_n(i,j,k)   e3u_n(i,j,k)
26#   define  fse3v_n(i,j,k)   e3v_n(i,j,k)
27#   define  fse3f_n(i,j,k)   e3f_n(i,j,k)
28#   define  fse3w_n(i,j,k)   e3w_n(i,j,k)
29#   define  fse3uw_n(i,j,k)  e3uw_n(i,j,k)
30#   define  fse3vw_n(i,j,k)  e3vw_n(i,j,k)
31
32#   define  fsdept_b(i,j,k)  gdept_b(i,j,k)
33#   define  fsdepw_b(i,j,k)  gdepw_b(i,j,k)
34#   define  fse3w_b(i,j,k)   e3w_b(i,j,k)
35
36#   define  fse3t_a(i,j,k)   e3t_a(i,j,k)
37#   define  fse3u_a(i,j,k)   e3u_a(i,j,k)
38#   define  fse3v_a(i,j,k)   e3v_a(i,j,k)
39
40#   define  fse3t_m(i,j)     e3t_m(i,j)
41
42#   define  hu_a(i,j)        ehu_a(i,j)
43#   define  hur_a(i,j)       ehur_a(i,j)
44#   define  hv_a(i,j)        ehv_a(i,j)
45#   define  hvr_a(i,j)       ehvr_a(i,j)
46#   define  hu_b(i,j)        ehu_b(i,j)
47#   define  hur_b(i,j)       ehur_b(i,j)
48#   define  hv_b(i,j)        ehv_b(i,j)
49#   define  hvr_b(i,j)       ehvr_b(i,j)
50
51! This part should be removed one day ...
52! ... In that case all occurence of the above statement functions
53!     have to be replaced in the code by xxx_n
54#   define  fsdept(i,j,k)    gdept_n(i,j,k)
55#   define  fsdepw(i,j,k)    gdepw_n(i,j,k)
56#   define  fsde3w(i,j,k)    gdep3w_n(i,j,k)
57#   define  fse3t(i,j,k)     e3t_n(i,j,k)
58#   define  fse3u(i,j,k)     e3u_n(i,j,k)
59#   define  fse3v(i,j,k)     e3v_n(i,j,k)
60#   define  fse3f(i,j,k)     e3f_n(i,j,k)
61#   define  fse3w(i,j,k)     e3w_n(i,j,k)
62#   define  fse3uw(i,j,k)    e3uw_n(i,j,k)
63#   define  fse3vw(i,j,k)    e3vw_n(i,j,k)
64
65#else
66! z- or s-coordinate (1D or 3D + no time dependency) use reference in all cases
67
68#   define  fse3t_b(i,j,k)   e3t_0(i,j,k)
69#   define  fse3u_b(i,j,k)   e3u_0(i,j,k)
70#   define  fse3v_b(i,j,k)   e3v_0(i,j,k)
71#   define  fse3uw_b(i,j,k)  e3uw_0(i,j,k)
72#   define  fse3vw_b(i,j,k)  e3vw_0(i,j,k)
73
74#   define  fsdept_n(i,j,k)  gdept_0(i,j,k)
75#   define  fsdepw_n(i,j,k)  gdepw_0(i,j,k)
76#   define  fsde3w_n(i,j,k)  gdep3w_0(i,j,k)
77#   define  fse3t_n(i,j,k)   e3t_0(i,j,k)
78#   define  fse3u_n(i,j,k)   e3u_0(i,j,k)
79#   define  fse3v_n(i,j,k)   e3v_0(i,j,k)
80#   define  fse3f_n(i,j,k)   e3f_0(i,j,k)
81#   define  fse3w_n(i,j,k)   e3w_0(i,j,k)
82#   define  fse3uw_n(i,j,k)  e3uw_0(i,j,k)
83#   define  fse3vw_n(i,j,k)  e3vw_0(i,j,k)
84
85#   define  fsdept_b(i,j,k)  gdept_0(i,j,k)
86#   define  fsdepw_b(i,j,k)  gdepw_0(i,j,k)
87#   define  fse3w_b(i,j,k)   e3w_0(i,j,k)
88
89#   define  fse3t_a(i,j,k)   e3t_0(i,j,k)
90#   define  fse3u_a(i,j,k)   e3u_0(i,j,k)
91#   define  fse3v_a(i,j,k)   e3v_0(i,j,k)
92
93#   define  fse3t_m(i,j)     e3t_0(i,j,1)
94
95#   define  hu_a(i,j)        hu(i,j)
96#   define  hur_a(i,j)       hur(i,j)
97#   define  hv_a(i,j)        hv(i,j)
98#   define  hvr_a(i,j)       hvr(i,j)
99#   define  hu_b(i,j)        hu(i,j)
100#   define  hur_b(i,j)       hur(i,j)
101#   define  hv_b(i,j)        hv(i,j)
102#   define  hvr_b(i,j)       hvr(i,j)
103
104! This part should be removed one day ...
105! ... In that case all occurence of the above statement functions
106!     have to be replaced in the code by xxx_n
107#   define  fsdept(i,j,k)    gdept_0(i,j,k)
108#   define  fsdepw(i,j,k)    gdepw_0(i,j,k)
109#   define  fsde3w(i,j,k)    gdep3w_0(i,j,k)
110#   define  fse3t(i,j,k)     e3t_0(i,j,k)
111#   define  fse3u(i,j,k)     e3u_0(i,j,k)
112#   define  fse3v(i,j,k)     e3v_0(i,j,k)
113#   define  fse3f(i,j,k)     e3f_0(i,j,k)
114#   define  fse3w(i,j,k)     e3w_0(i,j,k)
115#   define  fse3uw(i,j,k)    e3uw_0(i,j,k)
116#   define  fse3vw(i,j,k)    e3vw_0(i,j,k)
117
118#endif
119
120
121#if defined key_vvl
122! s* or z*-coordinate (3D + time dependency) + use of additional now arrays (..._n)
123
124#   define  fse3t_crs(i,j,k)   e3t_n_crs(i,j,k)
125#   define  fse3u_crs(i,j,k)   e3u_n_crs(i,j,k)
126#   define  fse3v_crs(i,j,k)   e3v_n_crs(i,j,k)
127#   define  fse3w_crs(i,j,k)   e3w_n_crs(i,j,k)
128
129#   define  fse3t_b_crs(i,j,k)   e3t_b_crs(i,j,k)
130#   define  fse3u_b_crs(i,j,k)   e3u_b_crs(i,j,k)
131#   define  fse3v_b_crs(i,j,k)   e3v_b_crs(i,j,k)
132#   define  fse3w_b_crs(i,j,k)   e3w_b_crs(i,j,k)
133#   define  fse3t_n_crs(i,j,k)   e3t_n_crs(i,j,k)
134#   define  fse3u_n_crs(i,j,k)   e3u_n_crs(i,j,k)
135#   define  fse3v_n_crs(i,j,k)   e3v_n_crs(i,j,k)
136#   define  fse3w_n_crs(i,j,k)   e3w_n_crs(i,j,k)
137#   define  fse3t_a_crs(i,j,k)   e3t_a_crs(i,j,k)
138#   define  fse3u_a_crs(i,j,k)   e3u_a_crs(i,j,k)
139#   define  fse3v_a_crs(i,j,k)   e3v_a_crs(i,j,k)
140#   define  fse3w_a_crs(i,j,k)   e3w_a_crs(i,j,k)
141
142#   define  fse3t_max_crs(i,j,k)   e3t_max_n_crs(i,j,k)
143#   define  fse3u_max_crs(i,j,k)   e3u_max_n_crs(i,j,k)
144#   define  fse3v_max_crs(i,j,k)   e3v_max_n_crs(i,j,k)
145#   define  fse3w_max_crs(i,j,k)   e3w_max_n_crs(i,j,k)
146
147#   define  fsdept_crs(i,j,k)   gdept_n_crs(i,j,k)
148#   define  fsdepw_crs(i,j,k)   gdepw_n_crs(i,j,k)
149
150#else
151! z- or s-coordinate (1D or 3D + no time dependency) use reference in all cases
152
153#   define  fse3t_crs(i,j,k)   e3t_0_crs(i,j,k)
154#   define  fse3u_crs(i,j,k)   e3u_0_crs(i,j,k)
155#   define  fse3v_crs(i,j,k)   e3v_0_crs(i,j,k)
156#   define  fse3w_crs(i,j,k)   e3w_0_crs(i,j,k)
157
158#   define  fse3t_b_crs(i,j,k)   e3t_0_crs(i,j,k)
159#   define  fse3u_b_crs(i,j,k)   e3u_0_crs(i,j,k)
160#   define  fse3v_b_crs(i,j,k)   e3v_0_crs(i,j,k)
161#   define  fse3w_b_crs(i,j,k)   e3w_0_crs(i,j,k)
162#   define  fse3t_n_crs(i,j,k)   e3t_0_crs(i,j,k)
163#   define  fse3u_n_crs(i,j,k)   e3u_0_crs(i,j,k)
164#   define  fse3v_n_crs(i,j,k)   e3v_0_crs(i,j,k)
165#   define  fse3w_n_crs(i,j,k)   e3w_0_crs(i,j,k)
166#   define  fse3t_a_crs(i,j,k)   e3t_0_crs(i,j,k)
167#   define  fse3u_a_crs(i,j,k)   e3u_0_crs(i,j,k)
168#   define  fse3v_a_crs(i,j,k)   e3v_0_crs(i,j,k)
169#   define  fse3w_a_crs(i,j,k)   e3w_0_crs(i,j,k)
170
171#   define  fse3t_max_crs(i,j,k)   e3t_max_0_crs(i,j,k)
172#   define  fse3u_max_crs(i,j,k)   e3u_max_0_crs(i,j,k)
173#   define  fse3v_max_crs(i,j,k)   e3v_max_0_crs(i,j,k)
174#   define  fse3w_max_crs(i,j,k)   e3w_max_0_crs(i,j,k)
175
176#   define  fsdept_crs(i,j,k)   gdept_0_crs(i,j,k)
177#   define  fsdepw_crs(i,j,k)   gdepw_0_crs(i,j,k)
178
179#endif
180
181
182
183   !!----------------------------------------------------------------------
184   !! NEMO/OPA 3.3 , NEMO Consortium (2010)
185   !! $Id$
186   !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt)
187   !!----------------------------------------------------------------------
Note: See TracBrowser for help on using the repository browser.