Changeset 13899 for NEMO/branches/2020/tickets_icb_1900/src/SWE/stpRK3.F90
- Timestamp:
- 2020-11-27T17:26:33+01:00 (4 years ago)
- Location:
- NEMO/branches/2020/tickets_icb_1900
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/tickets_icb_1900
- Property svn:externals
-
NEMO/branches/2020/tickets_icb_1900/src/SWE/stpRK3.F90
r12983 r13899 145 145 ! 146 146 !!an - calcul du gradient de pression horizontal (explicit) 147 DO_3D _00_00(1, jpkm1 )147 DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 148 148 uu(ji,jj,jk,Nrhs) = uu(ji,jj,jk,Nrhs) - grav * ( ssh(ji+1,jj,Nbb) - ssh(ji,jj,Nbb) ) * r1_e1u(ji,jj) 149 149 vv(ji,jj,jk,Nrhs) = vv(ji,jj,jk,Nrhs) - grav * ( ssh(ji,jj+1,Nbb) - ssh(ji,jj,Nbb) ) * r1_e2v(ji,jj) … … 153 153 ! add wind stress forcing and layer linear friction to the RHS 154 154 z5_6 = 5._wp/6._wp 155 DO_3D _00_00(1,jpkm1)155 DO_3D( 0, 0, 0, 0,1,jpkm1) 156 156 uu(ji,jj,jk,Nrhs) = uu(ji,jj,jk,Nrhs) + r1_rho0 * ( z5_6*utau_b(ji,jj) + (1._wp - z5_6)*utau(ji,jj) ) / e3u(ji,jj,jk,Nbb) & 157 157 & - rn_rfr * uu(ji,jj,jk,Nbb) … … 163 163 CALL dom_qco_r3c ( ssh(:,:,Naa), r3t(:,:,Naa), r3u(:,:,Naa), r3v(:,:,Naa), r3f(:,:) ) ! "after" ssh./h._0 ratio explicit 164 164 IF( ln_dynadv_vec ) THEN ! vector invariant form : applied on velocity 165 DO_3D _00_00(1,jpkm1)165 DO_3D( 0, 0, 0, 0,1,jpkm1) 166 166 uu(ji,jj,jk,Naa) = uu(ji,jj,jk,Nbb) + rDt * uu(ji,jj,jk,Nrhs) * umask(ji,jj,jk) 167 167 vv(ji,jj,jk,Naa) = vv(ji,jj,jk,Nbb) + rDt * vv(ji,jj,jk,Nrhs) * vmask(ji,jj,jk) 168 168 END_3D 169 169 ELSE 170 DO_3D _00_00(1,jpkm1) ! flux form : applied on thickness weighted velocity170 DO_3D( 0, 0, 0, 0,1,jpkm1) ! flux form : applied on thickness weighted velocity 171 171 uu(ji,jj,jk,Naa) = ( uu(ji,jj,jk,Nbb )*e3u(ji,jj,jk,Nbb) & 172 172 & + rDt * uu(ji,jj,jk,Nrhs)*e3t(ji,jj,jk,Nbb) * umask(ji,jj,jk) ) & … … 203 203 ! 204 204 !!an - calcul du gradient de pression horizontal (explicit) 205 DO_3D _00_00(1, jpkm1 )205 DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 206 206 uu(ji,jj,jk,Nrhs) = uu(ji,jj,jk,Nrhs) - grav * ( ssh(ji+1,jj,Nnn) - ssh(ji,jj,Nnn) ) * r1_e1u(ji,jj) 207 207 vv(ji,jj,jk,Nrhs) = vv(ji,jj,jk,Nrhs) - grav * ( ssh(ji,jj+1,Nnn) - ssh(ji,jj,Nnn) ) * r1_e2v(ji,jj) … … 211 211 #if defined key_RK3all 212 212 z3_4 = 3._wp/4._wp 213 DO_3D _00_00(1,jpkm1)213 DO_3D( 0, 0, 0, 0,1,jpkm1) 214 214 uu(ji,jj,jk,Nrhs) = uu(ji,jj,jk,Nrhs) + r1_rho0 * ( z3_4*utau_b(ji,jj) + (1._wp - z3_4)*utau(ji,jj) ) / e3u(ji,jj,jk,Nbb) & 215 215 & - rn_rfr * uu(ji,jj,jk,Nbb) … … 221 221 CALL dom_qco_r3c ( ssh(:,:,Naa), r3t(:,:,Naa), r3u(:,:,Naa), r3v(:,:,Naa), r3f(:,:) ) ! "after" ssh./h._0 ratio explicit 222 222 IF( ln_dynadv_vec ) THEN ! vector invariant form : applied on velocity 223 DO_3D _00_00(1,jpkm1)223 DO_3D( 0, 0, 0, 0,1,jpkm1) 224 224 uu(ji,jj,jk,Naa) = uu(ji,jj,jk,Nbb) + rDt * uu(ji,jj,jk,Nrhs) * umask(ji,jj,jk) 225 225 vv(ji,jj,jk,Naa) = vv(ji,jj,jk,Nbb) + rDt * vv(ji,jj,jk,Nrhs) * vmask(ji,jj,jk) 226 226 END_3D 227 227 ELSE 228 DO_3D _00_00(1,jpkm1) ! flux form : applied on thickness weighted velocity228 DO_3D( 0, 0, 0, 0,1,jpkm1) ! flux form : applied on thickness weighted velocity 229 229 uu(ji,jj,jk,Naa) = ( uu(ji,jj,jk,Nbb )*e3u(ji,jj,jk,Nbb) & 230 230 & + rDt * uu(ji,jj,jk,Nrhs)*e3t(ji,jj,jk,Nnn) * umask(ji,jj,jk) ) & … … 264 264 265 265 !!an - calcul du gradient de pression horizontal (explicit) 266 DO_3D _00_00(1, jpkm1 )266 DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 267 267 uu(ji,jj,jk,Nrhs) = uu(ji,jj,jk,Nrhs) - grav * ( ssh(ji+1,jj,Nnn) - ssh(ji,jj,Nnn) ) * r1_e1u(ji,jj) 268 268 vv(ji,jj,jk,Nrhs) = vv(ji,jj,jk,Nrhs) - grav * ( ssh(ji,jj+1,Nnn) - ssh(ji,jj,Nnn) ) * r1_e2v(ji,jj) … … 271 271 ! add wind stress forcing and layer linear friction to the RHS 272 272 z1_2rho0 = 0.5_wp * r1_rho0 273 DO_3D _00_00(1,jpkm1)273 DO_3D( 0, 0, 0, 0,1,jpkm1) 274 274 uu(ji,jj,jk,Nrhs) = uu(ji,jj,jk,Nrhs) + z1_2rho0 * ( utau_b(ji,jj) + utau(ji,jj) ) / e3u(ji,jj,jk,Nnn) & 275 275 & - rn_rfr * uu(ji,jj,jk,Nbb) … … 280 280 CALL dom_qco_r3c ( ssh(:,:,Naa), r3t(:,:,Naa), r3u(:,:,Naa), r3v(:,:,Naa), r3f(:,:) ) ! "after" ssh./h._0 ratio explicit 281 281 IF( ln_dynadv_vec ) THEN ! vector invariant form : applied on velocity 282 DO_3D _11_11(1,jpkm1)282 DO_3D( 1, 1, 1, 1,1,jpkm1) 283 283 zua = uu(ji,jj,jk,Nbb) + rDt * uu(ji,jj,jk,Nrhs) * umask(ji,jj,jk) 284 284 zva = vv(ji,jj,jk,Nbb) + rDt * vv(ji,jj,jk,Nrhs) * vmask(ji,jj,jk) … … 292 292 ! 293 293 ELSE ! flux form : applied on thickness weighted velocity 294 DO_3D _11_11(1,jpkm1)294 DO_3D( 1, 1, 1, 1,1,jpkm1) 295 295 zue3n = e3u(ji,jj,jk,Nnn) * uu(ji,jj,jk,Nnn) 296 296 zve3n = e3v(ji,jj,jk,Nnn) * vv(ji,jj,jk,Nnn)
Note: See TracChangeset
for help on using the changeset viewer.