- Timestamp:
- 2013-04-09T18:34:38+02:00 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2013/dev_r3858_NOC_ZTC/NEMOGCM/NEMO/OPA_SRC/DOM/domzgr_substitute.h90
r2528 r3865 8 8 !! 3.1 ! 2009-02 (G. Madec, M. Leclair) pure z* coordinate 9 9 !!---------------------------------------------------------------------- 10 ! reference for s- or zps-coordinate (3D no time dependency) 11 # define fsdept_0(i,j,k) gdept(i,j,k) 12 # define fsdepw_0(i,j,k) gdepw(i,j,k) 13 # define fsde3w_0(i,j,k) gdep3w(i,j,k) 14 # define fse3t_0(i,j,k) e3t(i,j,k) 15 # define fse3u_0(i,j,k) e3u(i,j,k) 16 # define fse3v_0(i,j,k) e3v(i,j,k) 17 # define fse3f_0(i,j,k) e3f(i,j,k) 18 # define fse3w_0(i,j,k) e3w(i,j,k) 19 # define fse3uw_0(i,j,k) e3uw(i,j,k) 20 # define fse3vw_0(i,j,k) e3vw(i,j,k) 10 21 11 #if defined key_vvl 22 ! s* or z*-coordinate (3D + time dependency) + use of additional now arrays (..._1) 23 # define fsdept(i,j,k) gdept_1(i,j,k) 24 # define fsdepw(i,j,k) gdepw_1(i,j,k) 25 # define fsde3w(i,j,k) gdep3w_1(i,j,k) 26 # define fse3t(i,j,k) e3t_1(i,j,k) 27 # define fse3u(i,j,k) e3u_1(i,j,k) 28 # define fse3v(i,j,k) e3v_1(i,j,k) 29 # define fse3f(i,j,k) e3f_1(i,j,k) 30 # define fse3w(i,j,k) e3w_1(i,j,k) 31 # define fse3uw(i,j,k) e3uw_1(i,j,k) 32 # define fse3vw(i,j,k) e3vw_1(i,j,k) 12 ! s* or z*-coordinate (3D + time dependency) + use of additional now arrays (..._n) 33 13 34 14 # define fse3t_b(i,j,k) e3t_b(i,j,k) 35 15 # define fse3u_b(i,j,k) e3u_b(i,j,k) 36 16 # define fse3v_b(i,j,k) e3v_b(i,j,k) 37 # define fse3uw_b(i,j,k) (fse3uw_0(i,j,k)*(1.+sshu_b(i,j)*muu(i,j,k)))38 # define fse3vw_b(i,j,k) (fse3vw_0(i,j,k)*(1.+sshv_b(i,j)*muv(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) 39 19 40 # define fsdept_n(i,j,k) (fsdept_0(i,j,k)*(1.+sshn(i,j)*mut(i,j,k)))41 # define fsdepw_n(i,j,k) (fsdepw_0(i,j,k)*(1.+sshn(i,j)*mut(i,j,k)))42 # define fsde3w_n(i,j,k) (fsde3w_0(i,j,k)*(1.+sshn(i,j)*mut(i,j,k))-sshn(i,j))43 # define fse3t_n(i,j,k) (fse3t_0(i,j,k)*(1.+sshn(i,j)*mut(i,j,k)))44 # define fse3u_n(i,j,k) (fse3u_0(i,j,k)*(1.+sshu_n(i,j)*muu(i,j,k)))45 # define fse3v_n(i,j,k) (fse3v_0(i,j,k)*(1.+sshv_n(i,j)*muv(i,j,k)))46 # define fse3f_n(i,j,k) (fse3f_0(i,j,k)*(1.+sshf_n(i,j)*muf(i,j,k)))47 # define fse3w_n(i,j,k) (fse3w_0(i,j,k)*(1.+sshn(i,j)*mut(i,j,k)))48 # define fse3uw_n(i,j,k) (fse3uw_0(i,j,k)*(1.+sshu_n(i,j)*muu(i,j,k)))49 # define fse3vw_n(i,j,k) (fse3vw_0(i,j,k)*(1.+sshv_n(i,j)*muv(i,j,k)))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) 50 30 51 # define fse3t_m(i,j,k) (fse3t_0(i,j,k)*(1.+ssh_m(i,j)*mut(i,j,k))) 31 # define fse3t_a(i,j,k) e3t_a(i,j,k) 32 # define fse3u_a(i,j,k) e3u_a(i,j,k) 33 # define fse3v_a(i,j,k) e3v_a(i,j,k) 52 34 53 # define fse3t_a(i,j,k) (fse3t_0(i,j,k)*(1.+ssha(i,j)*mut(i,j,k))) 54 # define fse3u_a(i,j,k) (fse3u_0(i,j,k)*(1.+sshu_a(i,j)*muu(i,j,k))) 55 # define fse3v_a(i,j,k) (fse3v_0(i,j,k)*(1.+sshv_a(i,j)*muv(i,j,k))) 35 # define fse3t_m(i,j) e3t_m(i,j) 36 37 ! This part should be removed one day ... 38 ! ... In that case all occurence of the above statement functions 39 ! have to be replaced in the code by xxx_n 40 # define fsdept(i,j,k) gdept_n(i,j,k) 41 # define fsdepw(i,j,k) gdepw_n(i,j,k) 42 # define fsde3w(i,j,k) gdep3w_n(i,j,k) 43 # define fse3t(i,j,k) e3t_n(i,j,k) 44 # define fse3u(i,j,k) e3u_n(i,j,k) 45 # define fse3v(i,j,k) e3v_n(i,j,k) 46 # define fse3f(i,j,k) e3f_n(i,j,k) 47 # define fse3w(i,j,k) e3w_n(i,j,k) 48 # define fse3uw(i,j,k) e3uw_n(i,j,k) 49 # define fse3vw(i,j,k) e3vw_n(i,j,k) 56 50 57 51 #else 58 52 ! z- or s-coordinate (1D or 3D + no time dependency) use reference in all cases 59 # define fsdept(i,j,k) fsdept_0(i,j,k)60 # define fsdepw(i,j,k) fsdepw_0(i,j,k)61 # define fsde3w(i,j,k) fsde3w_0(i,j,k)62 # define fse3t(i,j,k) fse3t_0(i,j,k)63 # define fse3u(i,j,k) fse3u_0(i,j,k)64 # define fse3v(i,j,k) fse3v_0(i,j,k)65 # define fse3f(i,j,k) fse3f_0(i,j,k)66 # define fse3w(i,j,k) fse3w_0(i,j,k)67 # define fse3uw(i,j,k) fse3uw_0(i,j,k)68 # define fse3vw(i,j,k) fse3vw_0(i,j,k)69 53 70 # define fse3t_b(i,j,k) fse3t_0(i,j,k)71 # define fse3u_b(i,j,k) fse3u_0(i,j,k)72 # define fse3v_b(i,j,k) fse3v_0(i,j,k)73 # define fse3uw_b(i,j,k) fse3uw_0(i,j,k)74 # define fse3vw_b(i,j,k) fse3vw_0(i,j,k)54 # define fse3t_b(i,j,k) e3t_0(i,j,k) 55 # define fse3u_b(i,j,k) e3u_0(i,j,k) 56 # define fse3v_b(i,j,k) e3v_0(i,j,k) 57 # define fse3uw_b(i,j,k) e3uw_0(i,j,k) 58 # define fse3vw_b(i,j,k) e3vw_0(i,j,k) 75 59 76 # define fsdept_n(i,j,k) fsdept_0(i,j,k)77 # define fsdepw_n(i,j,k) fsdepw_0(i,j,k)78 # define fsde3w_n(i,j,k) fsde3w_0(i,j,k)79 # define fse3t_n(i,j,k) fse3t_0(i,j,k)80 # define fse3u_n(i,j,k) fse3u_0(i,j,k)81 # define fse3v_n(i,j,k) fse3v_0(i,j,k)82 # define fse3f_n(i,j,k) fse3f_0(i,j,k)83 # define fse3w_n(i,j,k) fse3w_0(i,j,k)84 # define fse3uw_n(i,j,k) fse3uw_0(i,j,k)85 # define fse3vw_n(i,j,k) fse3vw_0(i,j,k)60 # define fsdept_n(i,j,k) gdept_0(i,j,k) 61 # define fsdepw_n(i,j,k) gdepw_0(i,j,k) 62 # define fsde3w_n(i,j,k) gdep3w_0(i,j,k) 63 # define fse3t_n(i,j,k) e3t_0(i,j,k) 64 # define fse3u_n(i,j,k) e3u_0(i,j,k) 65 # define fse3v_n(i,j,k) e3v_0(i,j,k) 66 # define fse3f_n(i,j,k) e3f_0(i,j,k) 67 # define fse3w_n(i,j,k) e3w_0(i,j,k) 68 # define fse3uw_n(i,j,k) e3uw_0(i,j,k) 69 # define fse3vw_n(i,j,k) e3vw_0(i,j,k) 86 70 87 # define fse3t_m(i,j,k) fse3t_0(i,j,k) 71 # define fse3t_a(i,j,k) e3t_0(i,j,k) 72 # define fse3u_a(i,j,k) e3u_0(i,j,k) 73 # define fse3v_a(i,j,k) e3v_0(i,j,k) 88 74 89 # define fse3t_a(i,j,k) fse3t_0(i,j,k) 90 # define fse3u_a(i,j,k) fse3u_0(i,j,k) 91 # define fse3v_a(i,j,k) fse3v_0(i,j,k) 75 # define fse3t_m(i,j) e3t_0(i,j,1) 76 77 ! This part should be removed one day ... 78 ! ... In that case all occurence of the above statement functions 79 ! have to be replaced in the code by xxx_n 80 # define fsdept(i,j,k) gdept_0(i,j,k) 81 # define fsdepw(i,j,k) gdepw_0(i,j,k) 82 # define fsde3w(i,j,k) gdep3w_0(i,j,k) 83 # define fse3t(i,j,k) e3t_0(i,j,k) 84 # define fse3u(i,j,k) e3u_0(i,j,k) 85 # define fse3v(i,j,k) e3v_0(i,j,k) 86 # define fse3f(i,j,k) e3f_0(i,j,k) 87 # define fse3w(i,j,k) e3w_0(i,j,k) 88 # define fse3uw(i,j,k) e3uw_0(i,j,k) 89 # define fse3vw(i,j,k) e3vw_0(i,j,k) 90 92 91 #endif 93 92 !!----------------------------------------------------------------------
Note: See TracChangeset
for help on using the changeset viewer.