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

source: branches/UKMO/r5936_hadgem3_cplseq/NEMOGCM/NEMO/OPA_SRC/DOM/domzgr_substitute.h90 @ 7131

Last change on this file since 7131 was 7131, checked in by jcastill, 8 years ago

Remove svn keywords

File size: 4.7 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
[592]11#if defined key_vvl
[4292]12! s* or z*-coordinate (3D + time dependency) + use of additional now arrays (..._n)
[592]13
[2528]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)
[4292]17#   define  fse3uw_b(i,j,k)  e3uw_b(i,j,k)
18#   define  fse3vw_b(i,j,k)  e3vw_b(i,j,k)
[592]19
[4292]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)
[592]30
[4488]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
[4292]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)
[1438]38
[4292]39#   define  fse3t_m(i,j)     e3t_m(i,j)
[1565]40
[4370]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
[4292]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
[592]64#else
[1438]65! z- or s-coordinate (1D or 3D + no time dependency) use reference in all cases
[592]66
[4292]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)
[592]72
[4292]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)
[592]83
[4488]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
[4292]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)
[1565]91
[4292]92#   define  fse3t_m(i,j)     e3t_0(i,j,1)
93
[4370]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
[4292]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
[592]117#endif
[1438]118   !!----------------------------------------------------------------------
[2528]119   !! NEMO/OPA 3.3 , NEMO Consortium (2010)
[1438]120   !! $Id$
[2528]121   !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt)
[1438]122   !!----------------------------------------------------------------------
Note: See TracBrowser for help on using the repository browser.