Changeset 1640
- Timestamp:
- 2009-10-07T15:37:08+02:00 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OFF_SRC/DOM/domzgr_substitute.h90
r1156 r1640 5 5 !! factors depending on the vertical coord. used, using CPP macro. 6 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 7 9 !!---------------------------------------------------------------------- 8 !! OPA 9.0 , LOCEAN-IPSL (2005) 10 #if defined key_zco 11 ! reference for pure z-coordinate (1D - no i,j and time dependency) 12 # define fsdept_0(i,j,k) gdept_0(k) 13 # define fsdepw_0(i,j,k) gdepw_0(k) 14 # define fsde3w_0(i,j,k) gdepw_0(k) 15 # define fse3t_0(i,j,k) e3t_0(k) 16 # define fse3u_0(i,j,k) e3t_0(k) 17 # define fse3v_0(i,j,k) e3t_0(k) 18 # define fse3f_0(i,j,k) e3t_0(k) 19 # define fse3w_0(i,j,k) e3w_0(k) 20 # define fse3uw_0(i,j,k) e3w_0(k) 21 # define fse3vw_0(i,j,k) e3w_0(k) 22 #else 23 ! reference for s- or zps-coordinate (3D no time dependency) 24 # define fsdept_0(i,j,k) gdept(i,j,k) 25 # define fsdepw_0(i,j,k) gdepw(i,j,k) 26 # define fsde3w_0(i,j,k) gdep3w(i,j,k) 27 # define fse3t_0(i,j,k) e3t(i,j,k) 28 # define fse3u_0(i,j,k) e3u(i,j,k) 29 # define fse3v_0(i,j,k) e3v(i,j,k) 30 # define fse3f_0(i,j,k) e3f(i,j,k) 31 # define fse3w_0(i,j,k) e3w(i,j,k) 32 # define fse3uw_0(i,j,k) e3uw(i,j,k) 33 # define fse3vw_0(i,j,k) e3vw(i,j,k) 34 #endif 35 #if defined key_vvl 36 ! s* or z*-coordinate (3D + time dependency) + use of additional now arrays (..._1) 37 # define fsdept(i,j,k) gdept_1(i,j,k) 38 # define fsdepw(i,j,k) gdepw_1(i,j,k) 39 # define fsde3w(i,j,k) gdep3w_1(i,j,k) 40 # define fse3t(i,j,k) e3t_1(i,j,k) 41 # define fse3u(i,j,k) e3u_1(i,j,k) 42 # define fse3v(i,j,k) e3v_1(i,j,k) 43 # define fse3f(i,j,k) e3f_1(i,j,k) 44 # define fse3w(i,j,k) e3w_1(i,j,k) 45 # define fse3uw(i,j,k) e3uw_1(i,j,k) 46 # define fse3vw(i,j,k) e3vw_1(i,j,k) 47 48 # define fsdept_b(i,j,k) (fsdept_0(i,j,k)*(1.+sshb(i,j)*mut(i,j,k))) 49 # define fsdepw_b(i,j,k) (fsdepw_0(i,j,k)*(1.+sshb(i,j)*mut(i,j,k))) 50 # define fsde3w_b(i,j,k) (fsde3w_0(i,j,k)*(1.+sshb(i,j)*mut(i,j,k))-sshb(i,j)) 51 # define fse3t_b(i,j,k) (fse3t_0(i,j,k)*(1.+sshb(i,j)*mut(i,j,k))) 52 # define fse3u_b(i,j,k) (fse3u_0(i,j,k)*(1.+sshu_b(i,j)*muu(i,j,k))) 53 # define fse3v_b(i,j,k) (fse3v_0(i,j,k)*(1.+sshv_b(i,j)*muv(i,j,k))) 54 # define fse3f_b(i,j,k) (fse3f_0(i,j,k)*(1.+sshf_b(i,j)*muf(i,j,k))) 55 # define fse3w_b(i,j,k) (fse3w_0(i,j,k)*(1.+sshb(i,j)*mut(i,j,k))) 56 # define fse3uw_b(i,j,k) (fse3uw_0(i,j,k)*(1.+sshu_b(i,j)*muu(i,j,k))) 57 # define fse3vw_b(i,j,k) (fse3vw_0(i,j,k)*(1.+sshv_b(i,j)*muv(i,j,k))) 58 59 # define fsdept_n(i,j,k) (fsdept_0(i,j,k)*(1.+sshn(i,j)*mut(i,j,k))) 60 # define fsdepw_n(i,j,k) (fsdepw_0(i,j,k)*(1.+sshn(i,j)*mut(i,j,k))) 61 # define fsde3w_n(i,j,k) (fsde3w_0(i,j,k)*(1.+sshn(i,j)*mut(i,j,k))-sshn(i,j)) 62 # define fse3t_n(i,j,k) (fse3t_0(i,j,k)*(1.+sshn(i,j)*mut(i,j,k))) 63 # define fse3u_n(i,j,k) (fse3u_0(i,j,k)*(1.+sshu_n(i,j)*muu(i,j,k))) 64 # define fse3v_n(i,j,k) (fse3v_0(i,j,k)*(1.+sshv_n(i,j)*muv(i,j,k))) 65 # define fse3f_n(i,j,k) (fse3f_0(i,j,k)*(1.+sshf_n(i,j)*muf(i,j,k))) 66 # define fse3w_n(i,j,k) (fse3w_0(i,j,k)*(1.+sshn(i,j)*mut(i,j,k))) 67 # define fse3uw_n(i,j,k) (fse3uw_0(i,j,k)*(1.+sshu_n(i,j)*muu(i,j,k))) 68 # define fse3vw_n(i,j,k) (fse3vw_0(i,j,k)*(1.+sshv_n(i,j)*muv(i,j,k))) 69 70 # define fse3t_m(i,j,k) (fse3t_0(i,j,k)*(1.+ssh_m(i,j)*mut(i,j,k))) 71 72 # define fsdept_a(i,j,k) (fsdept_0(i,j,k)*(1.+ssha(i,j)*mut(i,j,k))) 73 # define fsdepw_a(i,j,k) (fsdepw_0(i,j,k)*(1.+ssha(i,j)*mut(i,j,k))) 74 # define fsde3w_a(i,j,k) (fsde3w_0(i,j,k)*(1.+ssha(i,j)*mut(i,j,k))-ssha(i,j)) 75 # define fse3t_a(i,j,k) (fse3t_0(i,j,k)*(1.+ssha(i,j)*mut(i,j,k))) 76 # define fse3u_a(i,j,k) (fse3u_0(i,j,k)*(1.+sshu_a(i,j)*muu(i,j,k))) 77 # define fse3v_a(i,j,k) (fse3v_0(i,j,k)*(1.+sshv_a(i,j)*muv(i,j,k))) 78 # define fse3f_a(i,j,k) (fse3f_0(i,j,k)*(1.+sshf_a(i,j)*muf(i,j,k))) 79 # define fse3w_a(i,j,k) (fse3w_0(i,j,k)*(1.+ssha(i,j)*mut(i,j,k))) 80 # define fse3uw_a(i,j,k) (fse3uw_0(i,j,k)*(1.+sshu_a(i,j)*muu(i,j,k))) 81 # define fse3vw_a(i,j,k) (fse3vw_0(i,j,k)*(1.+sshv_a(i,j)*muv(i,j,k))) 82 83 #else 84 ! z- or s-coordinate (1D or 3D + no time dependency) use reference in all cases 85 # define fsdept(i,j,k) fsdept_0(i,j,k) 86 # define fsdepw(i,j,k) fsdepw_0(i,j,k) 87 # define fsde3w(i,j,k) fsde3w_0(i,j,k) 88 # define fse3t(i,j,k) fse3t_0(i,j,k) 89 # define fse3u(i,j,k) fse3u_0(i,j,k) 90 # define fse3v(i,j,k) fse3v_0(i,j,k) 91 # define fse3f(i,j,k) fse3f_0(i,j,k) 92 # define fse3w(i,j,k) fse3w_0(i,j,k) 93 # define fse3uw(i,j,k) fse3uw_0(i,j,k) 94 # define fse3vw(i,j,k) fse3vw_0(i,j,k) 95 96 # define fsdept_b(i,j,k) fsdept_0(i,j,k) 97 # define fsdepw_b(i,j,k) fsdepw_0(i,j,k) 98 # define fsde3w_b(i,j,k) fsde3w_0(i,j,k) 99 # define fse3t_b(i,j,k) fse3t_0(i,j,k) 100 # define fse3u_b(i,j,k) fse3u_0(i,j,k) 101 # define fse3v_b(i,j,k) fse3v_0(i,j,k) 102 # define fse3f_b(i,j,k) fse3f_0(i,j,k) 103 # define fse3w_b(i,j,k) fse3w_0(i,j,k) 104 # define fse3uw_b(i,j,k) fse3uw_0(i,j,k) 105 # define fse3vw_b(i,j,k) fse3vw_0(i,j,k) 106 107 # define fsdept_n(i,j,k) fsdept_0(i,j,k) 108 # define fsdepw_n(i,j,k) fsdepw_0(i,j,k) 109 # define fsde3w_n(i,j,k) fsde3w_0(i,j,k) 110 # define fse3t_n(i,j,k) fse3t_0(i,j,k) 111 # define fse3u_n(i,j,k) fse3u_0(i,j,k) 112 # define fse3v_n(i,j,k) fse3v_0(i,j,k) 113 # define fse3f_n(i,j,k) fse3f_0(i,j,k) 114 # define fse3w_n(i,j,k) fse3w_0(i,j,k) 115 # define fse3uw_n(i,j,k) fse3uw_0(i,j,k) 116 # define fse3vw_n(i,j,k) fse3vw_0(i,j,k) 117 118 # define fse3t_m(i,j,k) fse3t_0(i,j,k) 119 120 # define fsdept_a(i,j,k) fsdept_0(i,j,k) 121 # define fsdepw_a(i,j,k) fsdepw_0(i,j,k) 122 # define fsde3w_a(i,j,k) fsde3w_0(i,j,k) 123 # define fse3t_a(i,j,k) fse3t_0(i,j,k) 124 # define fse3u_a(i,j,k) fse3u_0(i,j,k) 125 # define fse3v_a(i,j,k) fse3v_0(i,j,k) 126 # define fse3f_a(i,j,k) fse3f_0(i,j,k) 127 # define fse3w_a(i,j,k) fse3w_0(i,j,k) 128 # define fse3uw_a(i,j,k) fse3uw_0(i,j,k) 129 # define fse3vw_a(i,j,k) fse3vw_0(i,j,k) 130 #endif 131 !!---------------------------------------------------------------------- 132 !! NEMO/OPA 3.2 , LOCEAN-IPSL (2009) 9 133 !! $Id$ 10 !! History :11 !! 9.0 ! 05-10 (A. Beckmann, G. Madec) generalisation to all coord.12 134 !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 13 135 !!---------------------------------------------------------------------- 14 #if defined key_zco15 # define fsdept(i,j,k) gdept_0(k)16 17 # define fsdepw(i,j,k) gdepw_0(k)18 # define fsde3w(i,j,k) gdepw_0(k)19 20 # define fse3t(i,j,k) e3t_0(k)21 # define fse3u(i,j,k) e3t_0(k)22 # define fse3v(i,j,k) e3t_0(k)23 # define fse3f(i,j,k) e3t_0(k)24 25 # define fse3w(i,j,k) e3w_0(k)26 # define fse3uw(i,j,k) e3w_0(k)27 # define fse3vw(i,j,k) e3w_0(k)28 #else29 # define fsdept(i,j,k) gdept(i,j,k)30 31 # define fsdepw(i,j,k) gdepw(i,j,k)32 # define fsde3w(i,j,k) gdep3w(i,j,k)33 34 # define fse3t(i,j,k) e3t(i,j,k)35 # define fse3u(i,j,k) e3u(i,j,k)36 # define fse3v(i,j,k) e3v(i,j,k)37 # define fse3f(i,j,k) e3f(i,j,k)38 39 # define fse3w(i,j,k) e3w(i,j,k)40 # define fse3uw(i,j,k) e3uw(i,j,k)41 # define fse3vw(i,j,k) e3vw(i,j,k)42 #endif
Note: See TracChangeset
for help on using the changeset viewer.