Changeset 1362 for branches/dev_004_VVL
- Timestamp:
- 2009-03-31T19:52:23+02:00 (15 years ago)
- Location:
- branches/dev_004_VVL/NEMO/OPA_SRC
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/dev_004_VVL/NEMO/OPA_SRC/DOM/dom_oce.F90
r1241 r1362 114 114 #if defined key_vvl 115 115 LOGICAL, PUBLIC, PARAMETER :: lk_vvl = .TRUE. !: variable grid flag 116 117 !! All coordinates118 !! ---------------119 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) :: & !:120 gdep3w_1 , & !: depth of T-points (sum of e3w) (m)121 gdept_1, gdepw_1, & !: analytical depth at T-W points (m)122 e3v_1 , e3f_1 , & !: analytical vertical scale factors at V--F123 e3t_1 , e3u_1 , & !: T--U points (m)124 e3vw_1 , & !: analytical vertical scale factors at VW--125 e3w_1 , e3uw_1 !: W--UW points (m)126 116 #else 127 117 LOGICAL, PUBLIC, PARAMETER :: lk_vvl = .FALSE. !: fixed grid flag -
branches/dev_004_VVL/NEMO/OPA_SRC/DOM/domvvl.F90
r1146 r1362 81 81 #endif 82 82 83 fs vdept(:,:,:) = gdept (:,:,:)84 fs vdepw(:,:,:) = gdepw (:,:,:)85 fs vde3w(:,:,:) = gdep3w(:,:,:)86 fs ve3t(:,:,:) = e3t (:,:,:)87 fs ve3u(:,:,:) = e3u (:,:,:)88 fs ve3v(:,:,:) = e3v (:,:,:)89 fs ve3f(:,:,:) = e3f (:,:,:)90 fs ve3w(:,:,:) = e3w (:,:,:)91 fs ve3uw(:,:,:) = e3uw (:,:,:)92 fs ve3vw(:,:,:) = e3vw (:,:,:)83 fsdept_0(:,:,:) = gdept (:,:,:) 84 fsdepw_0(:,:,:) = gdepw (:,:,:) 85 fsde3w_0(:,:,:) = gdep3w(:,:,:) 86 fse3t_0 (:,:,:) = e3t (:,:,:) 87 fse3u_0 (:,:,:) = e3u (:,:,:) 88 fse3v_0 (:,:,:) = e3v (:,:,:) 89 fse3f_0 (:,:,:) = e3f (:,:,:) 90 fse3w_0 (:,:,:) = e3w (:,:,:) 91 fse3uw_0(:,:,:) = e3uw (:,:,:) 92 fse3vw_0(:,:,:) = e3vw (:,:,:) 93 93 94 94 ! mu computation … … 106 106 zpk = mbathy(ji,jj) - 1 107 107 DO jk = 1, zpk 108 zmut(ji,jj) = zmut(ji,jj) + fs ve3t(ji,jj,jk) * SUM( fsve3t(ji,jj,jk:zpk) )109 zmuu(ji,jj) = zmuu(ji,jj) + fs ve3u(ji,jj,jk) * SUM( fsve3u(ji,jj,jk:zpk) )110 zmuv(ji,jj) = zmuv(ji,jj) + fs ve3v(ji,jj,jk) * SUM( fsve3v(ji,jj,jk:zpk) )111 zmuf(ji,jj) = zmuf(ji,jj) + fs ve3f(ji,jj,jk) * SUM( fsve3f(ji,jj,jk:zpk) )108 zmut(ji,jj) = zmut(ji,jj) + fse3t_0(ji,jj,jk) * SUM( fse3t_0(ji,jj,jk:zpk) ) 109 zmuu(ji,jj) = zmuu(ji,jj) + fse3u_0(ji,jj,jk) * SUM( fse3u_0(ji,jj,jk:zpk) ) 110 zmuv(ji,jj) = zmuv(ji,jj) + fse3v_0(ji,jj,jk) * SUM( fse3v_0(ji,jj,jk:zpk) ) 111 zmuf(ji,jj) = zmuf(ji,jj) + fse3f_0(ji,jj,jk) * SUM( fse3f_0(ji,jj,jk:zpk) ) 112 112 END DO 113 113 END DO … … 119 119 DO jk = 1, zpk 120 120 #if defined key_sigma_vvl 121 mut(ji,jj,jk) = 1./SUM( fs ve3t(ji,jj,1:zpk) )122 muu(ji,jj,jk) = 1./SUM( fs ve3u(ji,jj,1:zpk) )123 muv(ji,jj,jk) = 1./SUM( fs ve3v(ji,jj,1:zpk) )124 muf(ji,jj,jk) = 1./SUM( fs ve3f(ji,jj,1:zpk) )121 mut(ji,jj,jk) = 1./SUM( fse3t_0(ji,jj,1:zpk) ) 122 muu(ji,jj,jk) = 1./SUM( fse3u_0(ji,jj,1:zpk) ) 123 muv(ji,jj,jk) = 1./SUM( fse3v_0(ji,jj,1:zpk) ) 124 muf(ji,jj,jk) = 1./SUM( fse3f_0(ji,jj,1:zpk) ) 125 125 #else 126 mut(ji,jj,jk) = SUM( fs ve3t(ji,jj,jk:zpk) ) / zmut(ji,jj)127 muu(ji,jj,jk) = SUM( fs ve3u(ji,jj,jk:zpk) ) / zmuu(ji,jj)128 muv(ji,jj,jk) = SUM( fs ve3v(ji,jj,jk:zpk) ) / zmuv(ji,jj)129 muf(ji,jj,jk) = SUM( fs ve3f(ji,jj,jk:zpk) ) / zmuf(ji,jj)126 mut(ji,jj,jk) = SUM( fse3t_0(ji,jj,jk:zpk) ) / zmut(ji,jj) 127 muu(ji,jj,jk) = SUM( fse3u_0(ji,jj,jk:zpk) ) / zmuu(ji,jj) 128 muv(ji,jj,jk) = SUM( fse3v_0(ji,jj,jk:zpk) ) / zmuv(ji,jj) 129 muf(ji,jj,jk) = SUM( fse3f_0(ji,jj,jk:zpk) ) / zmuf(ji,jj) 130 130 #endif 131 131 END DO … … 174 174 ! Scale factors at T levels 175 175 DO jk = 1, jpkm1 176 fse3t(:,:,jk) = fs ve3t(:,:,jk) * ( 1 + sshn(:,:) * mut(:,:,jk) )177 fse3u(:,:,jk) = fs ve3u(:,:,jk) * ( 1 + sshu(:,:) * muu(:,:,jk) )178 fse3v(:,:,jk) = fs ve3v(:,:,jk) * ( 1 + sshv(:,:) * muv(:,:,jk) )179 fse3f(:,:,jk) = fs ve3f(:,:,jk) * ( 1 + zsshf(:,:) * muf(:,:,jk) )176 fse3t(:,:,jk) = fse3t_0(:,:,jk) * ( 1 + sshn(:,:) * mut(:,:,jk) ) 177 fse3u(:,:,jk) = fse3u_0(:,:,jk) * ( 1 + sshu(:,:) * muu(:,:,jk) ) 178 fse3v(:,:,jk) = fse3v_0(:,:,jk) * ( 1 + sshv(:,:) * muv(:,:,jk) ) 179 fse3f(:,:,jk) = fse3f_0(:,:,jk) * ( 1 + zsshf(:,:) * muf(:,:,jk) ) 180 180 END DO 181 181 … … 339 339 ! 340 340 DO jk = 1, jpk 341 sfe3(:,:,jk) = f sve3u(:,:,jk) * ( 1 + zssh(:,:) * muu(:,:,jk) )341 sfe3(:,:,jk) = fve3u_0(:,:,jk) * ( 1 + zssh(:,:) * muu(:,:,jk) ) 342 342 ENDDO 343 343 … … 345 345 ! 346 346 DO jk = 1, jpk 347 sfe3(:,:,jk) = fs ve3v(:,:,jk) * ( 1 + zssh(:,:) * muv(:,:,jk) )347 sfe3(:,:,jk) = fse3v_0(:,:,jk) * ( 1 + zssh(:,:) * muv(:,:,jk) ) 348 348 ENDDO 349 349 … … 351 351 ! 352 352 DO jk = 1, jpk 353 sfe3(:,:,jk) = fs ve3t(:,:,jk) * ( 1 + zssh(:,:) * mut(:,:,jk) )353 sfe3(:,:,jk) = fse3t_0(:,:,jk) * ( 1 + zssh(:,:) * mut(:,:,jk) ) 354 354 ENDDO 355 355 -
branches/dev_004_VVL/NEMO/OPA_SRC/DOM/domzgr_substitute.h90
r1156 r1362 5 5 !! factors depending on the vertical coord. used, using CPP macro. 6 6 !!---------------------------------------------------------------------- 7 !!---------------------------------------------------------------------- 8 !! OPA 9.0 , LOCEAN-IPSL (2005) 9 !! $Id$ 10 !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 11 !! 12 !! History : 13 !! 9.0 ! 05-10 (A. Beckmann, G. Madec) generalisation to all coord. 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 14 9 !!---------------------------------------------------------------------- 15 10 #if defined key_zco 16 11 # define fsdept(i,j,k) gdept_0(k) 17 18 12 # define fsdepw(i,j,k) gdepw_0(k) 19 13 # define fsde3w(i,j,k) gdepw_0(k) 20 21 14 # define fse3t(i,j,k) e3t_0(k) 22 15 # define fse3u(i,j,k) e3t_0(k) 23 16 # define fse3v(i,j,k) e3t_0(k) 24 17 # define fse3f(i,j,k) e3t_0(k) 25 26 18 # define fse3w(i,j,k) e3w_0(k) 27 19 # define fse3uw(i,j,k) e3w_0(k) … … 29 21 #else 30 22 # define fsdept(i,j,k) gdept(i,j,k) 31 32 23 # define fsdepw(i,j,k) gdepw(i,j,k) 33 24 # define fsde3w(i,j,k) gdep3w(i,j,k) 34 35 25 # define fse3t(i,j,k) e3t(i,j,k) 36 26 # define fse3u(i,j,k) e3u(i,j,k) 37 27 # define fse3v(i,j,k) e3v(i,j,k) 38 28 # define fse3f(i,j,k) e3f(i,j,k) 39 40 29 # define fse3w(i,j,k) e3w(i,j,k) 41 30 # define fse3uw(i,j,k) e3uw(i,j,k) 42 31 # define fse3vw(i,j,k) e3vw(i,j,k) 43 32 #endif 33 #if defined key_zco 34 ! reference for pure z-coordinate (1D - no i,j and time dependency) 35 # define fsdept_0(i,j,k) gdept_0(k) 36 # define fsdepw_0(i,j,k) gdepw_0(k) 37 # define fsde3w_0(i,j,k) gdepw_0(k) 38 # define fse3t_0(i,j,k) e3t_0(k) 39 # define fse3u_0(i,j,k) e3t_0(k) 40 # define fse3v_0(i,j,k) e3t_0(k) 41 # define fse3f_0(i,j,k) e3t_0(k) 42 # define fse3w_0(i,j,k) e3w_0(k) 43 # define fse3uw_0(i,j,k) e3w_0(k) 44 # define fse3vw_0(i,j,k) e3w_0(k) 45 #else 46 ! reference for s- or zps-coordinate (3D no time dependency) 47 # define fsdept_0(i,j,k) gdept(i,j,k) 48 # define fsdepw_0(i,j,k) gdepw(i,j,k) 49 # define fsde3w_0(i,j,k) gdep3w(i,j,k) 50 # define fse3t_0(i,j,k) e3t(i,j,k) 51 # define fse3u_0(i,j,k) e3u(i,j,k) 52 # define fse3v_0(i,j,k) e3v(i,j,k) 53 # define fse3f_0(i,j,k) e3f(i,j,k) 54 # define fse3w_0(i,j,k) e3w(i,j,k) 55 # define fse3uw_0(i,j,k) e3uw(i,j,k) 56 # define fse3vw_0(i,j,k) e3vw(i,j,k) 57 #endif 58 #if defined key_vvl 59 ! s* or z*-coordinate (3D + time dependency) 60 # define fsdept_b(i,j,k) (fsdept_0(i,j,k)*(1+sshb(i,j)*mut(i,j,k))) 61 # define fsdepw_b(i,j,k) (fsdepw_0(i,j,k)*(1+sshb(i,j)*mut(i,j,k))) 62 # define fsde3w_b(i,j,k) (fsde3w_0(i,j,k)*(1+sshb(i,j)*mut(i,j,k))-sshb(i,j)) 63 # define fse3t_b(i,j,k) (fse3t_0(i,j,k)*(1+sshb(i,j)*mut(i,j,k))) 64 # define fse3u_b(i,j,k) (fse3u_0(i,j,k)*(1+sshu_b(i,j)*muu(i,j,k))) 65 # define fse3v_b(i,j,k) (fse3v_0(i,j,k)*(1+sshv_b(i,j)*muv(i,j,k))) 66 # define fse3f_b(i,j,k) (fse3f_0(i,j,k)*(1+sshf_b(i,j)*muf(i,j,k))) 67 # define fse3w_b(i,j,k) (fse3w_0(i,j,k)*(1+sshb(i,j)*mut(i,j,k))) 68 # define fse3uw_b(i,j,k) (fse3uw_0(i,j,k)*(1+sshu_b(i,j)*muu(i,j,k))) 69 # define fse3vw_b(i,j,k) (fse3vw_0(i,j,k)*(1+sshv_b(i,j)*muv(i,j,k))) 44 70 45 #if defined key_vvl 46 # define fsvdept(i,j,k) gdept_1(i,j,k) 71 # define fsdept_n(i,j,k) (fsdept_0(i,j,k)*(1+sshn(i,j)*mut(i,j,k))) 72 # define fsdepw_n(i,j,k) (fsdepw_0(i,j,k)*(1+sshn(i,j)*mut(i,j,k))) 73 # define fsde3w_n(i,j,k) (fsde3w_0(i,j,k)*(1+sshn(i,j)*mut(i,j,k))-sshn(i,j)) 74 # define fse3t_n(i,j,k) (fse3t_0(i,j,k)*(1+sshn(i,j)*mut(i,j,k))) 75 # define fse3u_n(i,j,k) (fse3u_0(i,j,k)*(1+sshu_n(i,j)*muu(i,j,k))) 76 # define fse3v_n(i,j,k) (fse3v_0(i,j,k)*(1+sshv_n(i,j)*muv(i,j,k))) 77 # define fse3f_n(i,j,k) (fse3f_0(i,j,k)*(1+sshf_n(i,j)*muf(i,j,k))) 78 # define fse3w_n(i,j,k) (fse3w_0(i,j,k)*(1+sshn(i,j)*mut(i,j,k))) 79 # define fse3uw_n(i,j,k) (fse3uw_0(i,j,k)*(1+sshu_n(i,j)*muu(i,j,k))) 80 # define fse3vw_n(i,j,k) (fse3vw_0(i,j,k)*(1+sshv_n(i,j)*muv(i,j,k))) 47 81 48 # define fsvdepw(i,j,k) gdepw_1(i,j,k) 49 # define fsvde3w(i,j,k) gdep3w_1(i,j,k) 82 # define fsdept_a(i,j,k) (fsdept_0(i,j,k)*(1+ssha(i,j)*mut(i,j,k))) 83 # define fsdepw_a(i,j,k) (fsdepw_0(i,j,k)*(1+ssha(i,j)*mut(i,j,k))) 84 # define fsde3w_a(i,j,k) (fsde3w_0(i,j,k)*(1+ssha(i,j)*mut(i,j,k))-ssha(i,j)) 85 # define fse3t_a(i,j,k) (fse3t_0(i,j,k)*(1+ssha(i,j)*mut(i,j,k))) 86 # define fse3u_a(i,j,k) (fse3u_0(i,j,k)*(1+sshu_a(i,j)*muu(i,j,k))) 87 # define fse3v_a(i,j,k) (fse3v_0(i,j,k)*(1+sshv_a(i,j)*muv(i,j,k))) 88 # define fse3f_a(i,j,k) (fse3f_0(i,j,k)*(1+sshf_a(i,j)*muf(i,j,k))) 89 # define fse3w_a(i,j,k) (fse3w_0(i,j,k)*(1+ssha(i,j)*mut(i,j,k))) 90 # define fse3uw_a(i,j,k) (fse3uw_0(i,j,k)*(1+sshu_a(i,j)*muu(i,j,k))) 91 # define fse3vw_a(i,j,k) (fse3vw_0(i,j,k)*(1+sshv_a(i,j)*muv(i,j,k))) 92 #else 93 ! time dependent coordinate (1D or 3D) 94 ! s- or zps-coordinate (3D no time dependency) 95 # define fsdept_b(i,j,k) fsdept_0(i,j,k) 96 # define fsdepw_b(i,j,k) fsdepw_0(i,j,k) 97 # define fsde3w_b(i,j,k) fsde3w_0(i,j,k) 98 # define fse3t_b(i,j,k) fse3t_0(i,j,k) 99 # define fse3u_b(i,j,k) fse3u_0(i,j,k) 100 # define fse3v_b(i,j,k) fse3v_0(i,j,k) 101 # define fse3f_b(i,j,k) fse3f_0(i,j,k) 102 # define fse3w_b(i,j,k) fse3w_0(i,j,k) 103 # define fse3uw_b(i,j,k) fse3uw_0(i,j,k) 104 # define fse3vw_b(i,j,k) fse3vw_0(i,j,k) 50 105 51 # define fsve3t(i,j,k) e3t_1(i,j,k) 52 # define fsve3u(i,j,k) e3u_1(i,j,k) 53 # define fsve3v(i,j,k) e3v_1(i,j,k) 54 # define fsve3f(i,j,k) e3f_1(i,j,k) 106 # define fsdept_n(i,j,k) fsdept_0(i,j,k) 107 # define fsdepw_n(i,j,k) fsdepw_0(i,j,k) 108 # define fsde3w_n(i,j,k) fsde3w_0(i,j,k) 109 # define fse3t_n(i,j,k) fse3t_0(i,j,k) 110 # define fse3u_n(i,j,k) fse3u_0(i,j,k) 111 # define fse3v_n(i,j,k) fse3v_0(i,j,k) 112 # define fse3f_n(i,j,k) fse3f_0(i,j,k) 113 # define fse3w_n(i,j,k) fse3w_0(i,j,k) 114 # define fse3uw_n(i,j,k) fse3uw_0(i,j,k) 115 # define fse3vw_n(i,j,k) fse3vw_0(i,j,k) 55 116 56 # define fsve3w(i,j,k) e3w_1(i,j,k) 57 # define fsve3uw(i,j,k) e3uw_1(i,j,k) 58 # define fsve3vw(i,j,k) e3vw_1(i,j,k) 59 #else 60 # define fsvdept(i,j,k) fsdept(i,j,k) 61 62 # define fsvdepw(i,j,k) fsdepw(i,j,k) 63 # define fsvde3w(i,j,k) fsde3w(i,j,k) 64 65 # define fsve3t(i,j,k) fse3t(i,j,k) 66 # define fsve3u(i,j,k) fse3u(i,j,k) 67 # define fsve3v(i,j,k) fse3v(i,j,k) 68 # define fsve3f(i,j,k) fse3f(i,j,k) 69 70 # define fsve3w(i,j,k) fse3w(i,j,k) 71 # define fsve3uw(i,j,k) fse3uw(i,j,k) 72 # define fsve3vw(i,j,k) fse3vw(i,j,k) 117 # define fsdept_a(i,j,k) fsdept_0(i,j,k) 118 # define fsdepw_a(i,j,k) fsdepw_0(i,j,k) 119 # define fsde3w_a(i,j,k) fsde3w_0(i,j,k) 120 # define fse3t_a(i,j,k) fse3t_0(i,j,k) 121 # define fse3u_a(i,j,k) fse3u_0(i,j,k) 122 # define fse3v_a(i,j,k) fse3v_0(i,j,k) 123 # define fse3f_a(i,j,k) fse3f_0(i,j,k) 124 # define fse3w_a(i,j,k) fse3w_0(i,j,k) 125 # define fse3uw_a(i,j,k) fse3uw_0(i,j,k) 126 # define fse3vw_a(i,j,k) fse3vw_0(i,j,k) 73 127 #endif 74 128 !!---------------------------------------------------------------------- 129 !! NEMO/OPA 3.2 , LOCEAN-IPSL (2009) 130 !! $Id$ 131 !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 132 !!---------------------------------------------------------------------- -
branches/dev_004_VVL/NEMO/OPA_SRC/DYN/wzvmod.F90
r1241 r1362 134 134 DO jk = jpkm1, 1, -1 135 135 wn(:,:,jk) = wn(:,:,jk+1) - fse3t(:,:,jk) * hdivn(:,:,jk) & 136 & - ( zssha(:,:) - sshb(:,:) ) * fs ve3t(:,:,jk) * mut(:,:,jk) / z2dt136 & - ( zssha(:,:) - sshb(:,:) ) * fse3t_b(:,:,jk) * mut(:,:,jk) / z2dt 137 137 END DO 138 138 -
branches/dev_004_VVL/NEMO/OPA_SRC/TRA/trazdf_exp.F90
r1146 r1362 105 105 DO jj = 2, jpjm1 106 106 DO ji = fs_2, fs_jpim1 ! vector opt. 107 zave3r = 1.e0 / fse3w (ji,jj,jk)107 zave3r = 1.e0 / fse3w_n(ji,jj,jk) 108 108 zwy(ji,jj,jk) = avt(ji,jj,jk) * ( zwx(ji,jj,jk-1) - zwx(ji,jj,jk) ) * zave3r 109 109 zww(ji,jj,jk) = fsavs(ji,jj,jk) * ( zwz(ji,jj,jk-1) - zwz(ji,jj,jk) ) * zave3r … … 115 115 DO jj = 2, jpjm1 116 116 DO ji = fs_2, fs_jpim1 ! vector opt. 117 ze3tr = zlavmr / fse3t (ji,jj,jk)117 ze3tr = zlavmr / fse3t_n(ji,jj,jk) 118 118 zwx(ji,jj,jk) = zwx(ji,jj,jk) + p2dt(jk) * ( zwy(ji,jj,jk) - zwy(ji,jj,jk+1) ) * ze3tr 119 119 zwz(ji,jj,jk) = zwz(ji,jj,jk) + p2dt(jk) * ( zww(ji,jj,jk) - zww(ji,jj,jk+1) ) * ze3tr … … 130 130 DO jj = 2, jpjm1 131 131 DO ji = fs_2, fs_jpim1 ! vector opt. 132 ze3tb = fs ve3t(ji,jj,jk) * ( 1 + sshb(ji,jj) * mut(ji,jj,jk) )! before e3t132 ze3tb = fse3t_b(ji,jj,jk) ! before e3t 133 133 zta = zwx(ji,jj,jk) - tb(ji,jj,jk) + p2dt(jk) * ta(ji,jj,jk) ! total trends * 2*rdt 134 134 zsa = zwz(ji,jj,jk) - sb(ji,jj,jk) + p2dt(jk) * sa(ji,jj,jk) 135 zcoef = 1.e0 / fse3t(ji,jj,jk) * tmask(ji,jj,jk) 135 zcoef = 1.e0 / fse3t_n(ji,jj,jk) * tmask(ji,jj,jk) 136 !RBvvl : which e3t ? 136 137 ta(ji,jj,jk) = ( ze3tb * tb(ji,jj,jk) + fse3t(ji,jj,jk) * zta ) * zcoef 137 138 sa(ji,jj,jk) = ( ze3tb * sb(ji,jj,jk) + fse3t(ji,jj,jk) * zsa ) * zcoef -
branches/dev_004_VVL/NEMO/OPA_SRC/TRA/trazdf_imp.F90
r1156 r1362 101 101 INTEGER :: ji, jj, jk ! dummy loop indices 102 102 REAL(wp) :: zavi, zrhs, znvvl, & ! temporary scalars 103 ze3tb, ze3tn, ze3ta , zvsfvvl! variable vertical scale factors103 ze3tb, ze3tn, ze3ta ! variable vertical scale factors 104 104 REAL(wp), DIMENSION(jpi,jpj,jpk) :: & 105 105 zwi, zwt, zavsi ! workspace arrays … … 169 169 DO jj = 2, jpjm1 170 170 DO ji = fs_2, fs_jpim1 ! vector opt. 171 zvsfvvl = fsve3t(ji,jj,jk) * ( 1 + ssha(ji,jj) * mut(ji,jj,jk) ) 172 ze3ta = ( 1. - znvvl ) + znvvl*zvsfvvl ! after scale factor at T-point 173 ze3tn = ( 1. - znvvl )*fse3t(ji,jj,jk) + znvvl ! now scale factor at T-point 171 ze3ta = ( 1. - znvvl ) + znvvl*fse3t_a(ji,jj,jk) ! after scale factor at T-point 172 ze3tn = ( 1. - znvvl )*fse3t_n(ji,jj,jk) + znvvl ! now scale factor at T-point 174 173 zwi(ji,jj,jk) = - p2dt(jk) * zwt(ji,jj,jk ) / ( ze3tn * fse3w(ji,jj,jk ) ) 175 174 zws(ji,jj,jk) = - p2dt(jk) * zwt(ji,jj,jk+1) / ( ze3tn * fse3w(ji,jj,jk+1) ) … … 182 181 DO jj = 2, jpjm1 183 182 DO ji = fs_2, fs_jpim1 ! vector opt. 184 zvsfvvl = fsve3t(ji,jj,1) * ( 1 + ssha(ji,jj) * mut(ji,jj,1) ) 185 ze3ta = ( 1. - znvvl ) + znvvl*zvsfvvl ! after scale factor at T-point 183 ze3ta = ( 1. - znvvl ) + znvvl*fse3t_a(ji,jj,1) ! after scale factor at T-point 186 184 zwi(ji,jj,1) = 0.e0 187 185 zwd(ji,jj,1) = ze3ta - zws(ji,jj,1) … … 227 225 DO jj = 2, jpjm1 228 226 DO ji = fs_2, fs_jpim1 229 z vsfvvl = fsve3t(ji,jj,1) * ( 1 + sshb(ji,jj) * mut(ji,jj,1))230 ze3tb = ( 1. - znvvl ) + znvvl*zvsfvvl 231 ze3tn = ( 1. - znvvl ) + znvvl*fse3t 227 ze3tb = ( 1. - znvvl ) + znvvl*fse3t_b(ji,jj,1) 228 !RBvvl which 229 ze3tn = ( 1. - znvvl ) + znvvl*fse3t(ji,jj,1) 232 230 ta(ji,jj,1) = ze3tb * tb(ji,jj,1) + p2dt(1) * ze3tn * ta(ji,jj,1) 233 231 END DO … … 236 234 DO jj = 2, jpjm1 237 235 DO ji = fs_2, fs_jpim1 238 z vsfvvl = fsve3t(ji,jj,jk) * ( 1 + sshb(ji,jj) * mut(ji,jj,jk))239 ze3tb = ( 1. - znvvl ) + znvvl*zvsfvvl236 ze3tb = ( 1. - znvvl ) + znvvl*fse3t_b(ji,jj,jk) 237 !RB_vvl 240 238 ze3tn = ( 1. - znvvl ) + znvvl*fse3t (ji,jj,jk) 241 239 zrhs = ze3tb * tb(ji,jj,jk) + p2dt(jk) * ze3tn * ta(ji,jj,jk) ! zrhs=right hand side … … 271 269 DO jj = 2, jpjm1 272 270 DO ji = fs_2, fs_jpim1 ! vector opt. 273 zvsfvvl = fsve3t(ji,jj,jk) * ( 1 + ssha(ji,jj) * mut(ji,jj,jk) ) 274 ze3ta = ( 1. - znvvl ) + znvvl*zvsfvvl ! after scale factor at T-point 275 ze3tn = ( 1. - znvvl )*fse3t(ji,jj,jk) + znvvl ! now scale factor at T-point 271 ze3ta = ( 1. - znvvl ) + znvvl*fse3t_a(ji,jj,jk) ! after scale factor at T-point 272 ze3tn = ( 1. - znvvl )*fse3t_n(ji,jj,jk) + znvvl ! now scale factor at T-point 276 273 zwi(ji,jj,jk) = - p2dt(jk) * zavsi(ji,jj,jk ) / ( ze3tn * fse3w(ji,jj,jk ) ) 277 274 zws(ji,jj,jk) = - p2dt(jk) * zavsi(ji,jj,jk+1) / ( ze3tn * fse3w(ji,jj,jk+1) ) … … 284 281 DO jj = 2, jpjm1 285 282 DO ji = fs_2, fs_jpim1 ! vector opt. 286 zvsfvvl = fsve3t(ji,jj,1) * ( 1 + ssha(ji,jj) * mut(ji,jj,1) ) 287 ze3ta = ( 1. - znvvl ) + znvvl*zvsfvvl ! after scale factor at T-point 283 ze3ta = ( 1. - znvvl ) + znvvl*fse3t_a(ji,jj,1) 288 284 zwi(ji,jj,1) = 0.e0 289 285 zwd(ji,jj,1) = ze3ta - zws(ji,jj,1) … … 328 324 DO jj = 2, jpjm1 329 325 DO ji = fs_2, fs_jpim1 330 zvsfvvl = fsve3t(ji,jj,1) * ( 1 + sshb(ji,jj) * mut(ji,jj,1) ) 331 ze3tb = ( 1. - znvvl ) + znvvl*zvsfvvl ! before scale factor at T-point 326 ze3tb = ( 1. - znvvl ) + znvvl*fse3t_b(ji,jj,1) ! before scale factor at T-point 332 327 ze3tn = ( 1. - znvvl ) + znvvl*fse3t(ji,jj,1) ! now scale factor at T-point 333 328 sa(ji,jj,1) = ze3tb * sb(ji,jj,1) + p2dt(1) * ze3tn * sa(ji,jj,1) … … 337 332 DO jj = 2, jpjm1 338 333 DO ji = fs_2, fs_jpim1 339 zvsfvvl = fsve3t(ji,jj,jk) * ( 1 + sshb(ji,jj) * mut(ji,jj,jk) ) 340 ze3tb = ( 1. - znvvl ) + znvvl*zvsfvvl ! before scale factor at T-point 334 ze3tb = ( 1. - znvvl ) + znvvl*fse3t_b(ji,jj,jk) ! before scale factor at T-point 341 335 ze3tn = ( 1. - znvvl ) + znvvl*fse3t(ji,jj,jk) ! now scale factor at T-point 342 336 zrhs = ze3tb * sb(ji,jj,jk) + p2dt(jk) * ze3tn * sa(ji,jj,jk) ! zrhs=right hand side
Note: See TracChangeset
for help on using the changeset viewer.