Changeset 455 for trunk/NEMO/OPA_SRC/DYN/divcur.F90
- Timestamp:
- 2006-05-10T18:53:54+02:00 (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OPA_SRC/DYN/divcur.F90
r392 r455 51 51 !! (note that the Asselin filter has not been applied on hdivb) 52 52 !! - compute the now divergence given by : 53 !! * s-coordinate ('key_s_coord' defined)54 53 !! hdivn = 1/(e1t*e2t*e3t) ( di[e2u*e3u un] + dj[e1v*e3v vn] ) 55 !! * z-coordinate (default key)56 !! hdivn = 1/(e1t*e2t) [ di(e2u un) + dj(e1v vn) ]54 !! Note: if lk_zco=T, e3u=e3v=e3t, they are simplified in the 55 !! above expression 57 56 !! - apply lateral boundary conditions on hdivn 58 57 !! II. vorticity : … … 109 108 DO jj = 2, jpjm1 110 109 DO ji = fs_2, fs_jpim1 ! vector opt. 111 #if defined key_s_coord || defined key_partial_steps 112 hdivn(ji,jj,jk) = & 113 ( e2u(ji,jj)*fse3u(ji,jj,jk) * un(ji,jj,jk) - e2u(ji-1,jj )*fse3u(ji-1,jj ,jk) * un(ji-1,jj ,jk) & 114 + e1v(ji,jj)*fse3v(ji,jj,jk) * vn(ji,jj,jk) - e1v(ji ,jj-1)*fse3v(ji ,jj-1,jk) * vn(ji ,jj-1,jk) ) & 115 / ( e1t(ji,jj) * e2t(ji,jj) * fse3t(ji,jj,jk) ) 116 #else 110 #if defined key_zco 117 111 hdivn(ji,jj,jk) = ( e2u(ji,jj) * un(ji,jj,jk) - e2u(ji-1,jj ) * un(ji-1,jj ,jk) & 118 112 & + e1v(ji,jj) * vn(ji,jj,jk) - e1v(ji ,jj-1) * vn(ji ,jj-1,jk) ) & 119 & / ( e1t(ji,jj) * e2t(ji,jj) ) 113 & / ( e1t(ji,jj) * e2t(ji,jj) ) 114 #else 115 hdivn(ji,jj,jk) = & 116 ( e2u(ji,jj)*fse3u(ji,jj,jk) * un(ji,jj,jk) - e2u(ji-1,jj )*fse3u(ji-1,jj ,jk) * un(ji-1,jj ,jk) & 117 + e1v(ji,jj)*fse3v(ji,jj,jk) * vn(ji,jj,jk) - e1v(ji ,jj-1)*fse3v(ji ,jj-1,jk) * vn(ji ,jj-1,jk) ) & 118 / ( e1t(ji,jj) * e2t(ji,jj) * fse3t(ji,jj,jk) ) 120 119 #endif 121 120 END DO … … 130 129 IF( lp_obc_south ) hdivn(nis0 :nis1 ,njs0 :njs1 ,jk) = 0.e0 ! south 131 130 #endif 132 #if defined key_agrif133 if ( .NOT. AGRIF_Root() ) then134 IF ((nbondi == 1).OR.(nbondi == 2)) hdivn(nlci-1 , : ,jk) = 0.e0 ! east135 IF ((nbondi == -1).OR.(nbondi == 2)) hdivn(2 , : ,jk) = 0.e0 ! west136 IF ((nbondj == 1).OR.(nbondj == 2)) hdivn(: ,nlcj-1 ,jk) = 0.e0 ! north137 IF ((nbondj == -1).OR.(nbondj == 2)) hdivn(: ,2 ,jk) = 0.e0 ! south138 endif139 #endif140 131 141 132 ! ! -------- … … 260 251 !! (note that the Asselin filter has not been applied on hdivb) 261 252 !! - compute the now divergence given by : 262 !! * s-coordinate ('key_s_coord' defined)263 253 !! hdivn = 1/(e1t*e2t*e3t) ( di[e2u*e3u un] + dj[e1v*e3v vn] ) 264 !! * z-coordinate (default key)265 !! hdivn = 1/(e1t*e2t) [ di(e2u un) + dj(e1v vn) ]254 !! Note: if lk_zco=T, e3u=e3v=e3t, they are simplified in the 255 !! above expression 266 256 !! - apply lateral boundary conditions on hdivn 267 257 !! - Relavtive Vorticity : … … 313 303 DO jj = 2, jpjm1 314 304 DO ji = fs_2, fs_jpim1 ! vector opt. 315 #if defined key_s_coord || defined key_partial_steps 316 hdivn(ji,jj,jk) = & 317 ( e2u(ji,jj)*fse3u(ji,jj,jk) * un(ji,jj,jk) - e2u(ji-1,jj )*fse3u(ji-1,jj ,jk) * un(ji-1,jj ,jk) & 318 + e1v(ji,jj)*fse3v(ji,jj,jk) * vn(ji,jj,jk) - e1v(ji ,jj-1)*fse3v(ji ,jj-1,jk) * vn(ji ,jj-1,jk) ) & 319 / ( e1t(ji,jj) * e2t(ji,jj) * fse3t(ji,jj,jk) ) 320 #else 305 #if defined key_zco 321 306 hdivn(ji,jj,jk) = ( e2u(ji,jj) * un(ji,jj,jk) - e2u(ji-1,jj ) * un(ji-1,jj ,jk) & 322 307 & + e1v(ji,jj) * vn(ji,jj,jk) - e1v(ji ,jj-1) * vn(ji ,jj-1,jk) ) & 323 308 / ( e1t(ji,jj) * e2t(ji,jj) ) 309 #else 310 hdivn(ji,jj,jk) = & 311 ( e2u(ji,jj)*fse3u(ji,jj,jk) * un(ji,jj,jk) - e2u(ji-1,jj )*fse3u(ji-1,jj ,jk) * un(ji-1,jj ,jk) & 312 + e1v(ji,jj)*fse3v(ji,jj,jk) * vn(ji,jj,jk) - e1v(ji ,jj-1)*fse3v(ji ,jj-1,jk) * vn(ji ,jj-1,jk) ) & 313 / ( e1t(ji,jj) * e2t(ji,jj) * fse3t(ji,jj,jk) ) 324 314 #endif 325 315 END DO … … 334 324 IF( lp_obc_south ) hdivn(nis0 :nis1 ,njs0 :njs1 ,jk) = 0.e0 ! south 335 325 #endif 336 #if defined key_agrif337 if ( .NOT. AGRIF_Root() ) then338 IF ((nbondi == 1).OR.(nbondi == 2)) hdivn(nlci-1 , : ,jk) = 0.e0 ! east339 IF ((nbondi == -1).OR.(nbondi == 2)) hdivn(2 , : ,jk) = 0.e0 ! west340 IF ((nbondj == 1).OR.(nbondj == 2)) hdivn(: ,nlcj-1 ,jk) = 0.e0 ! north341 IF ((nbondj == -1).OR.(nbondj == 2)) hdivn(: ,2 ,jk) = 0.e0 ! south342 endif343 #endif344 326 ! ! -------- 345 327 ! relative vorticity ! rot
Note: See TracChangeset
for help on using the changeset viewer.