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

source: branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/OPA_SRC/DOM/domzgr_substitute.h90 @ 7795

Last change on this file since 7795 was 6772, checked in by cbricaud, 8 years ago

clean in coarsening branch

  • Property svn:keywords set to Id
File size: 7.1 KB
RevLine 
[3]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   !!----------------------------------------------------------------------
[1438]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
[247]9   !!----------------------------------------------------------------------
[4292]10
[6772]11
[592]12#if defined key_vvl
[4292]13! s* or z*-coordinate (3D + time dependency) + use of additional now arrays (..._n)
[592]14
[2528]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)
[4292]18#   define  fse3uw_b(i,j,k)  e3uw_b(i,j,k)
19#   define  fse3vw_b(i,j,k)  e3vw_b(i,j,k)
[592]20
[4292]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)
[592]31
[4488]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
[4292]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)
[1438]39
[4292]40#   define  fse3t_m(i,j)     e3t_m(i,j)
[1565]41
[4370]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
[4292]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
[592]65#else
[1438]66! z- or s-coordinate (1D or 3D + no time dependency) use reference in all cases
[592]67
[4292]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)
[592]73
[4292]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)
[592]84
[4488]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
[4292]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)
[1565]92
[4292]93#   define  fse3t_m(i,j)     e3t_0(i,j,1)
94
[4370]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
[4292]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
[592]118#endif
[6772]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
[1438]183   !!----------------------------------------------------------------------
[2528]184   !! NEMO/OPA 3.3 , NEMO Consortium (2010)
[1438]185   !! $Id$
[2528]186   !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt)
[1438]187   !!----------------------------------------------------------------------
Note: See TracBrowser for help on using the repository browser.