Changeset 911 for trunk/NEMO/OPA_SRC/DYN/dynnxt.F90
- Timestamp:
- 2008-04-28T11:31:32+02:00 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OPA_SRC/DYN/dynnxt.F90
r782 r911 16 16 USE obcdyn_bt ! 2D open boundary condition for momentum (obc_dyn_bt routine) 17 17 USE obcvol ! ocean open boundary condition (obc_vol routines) 18 USE bdy_oce ! unstructured open boundary conditions 19 USE bdydta ! unstructured open boundary conditions 20 USE bdydyn ! unstructured open boundary conditions 18 21 USE dynspg_oce ! type of surface pressure gradient 19 22 USE lbclnk ! lateral boundary condition (or mpp link) … … 66 69 !! ! 02-10 (C. Talandier, A-M. Treguier) Open boundary cond. 67 70 !! 9.0 ! 05-11 (V. Garnier) Surface pressure gradient organization 71 !! " ! 07-07 (D. Storkey) Calls to BDY routines. 68 72 !!---------------------------------------------------------------------- 69 73 !! * Arguments … … 186 190 END DO 187 191 END DO 192 193 IF( lk_vvl ) THEN 194 ! Unweight velocities prior to updating open boundaries. 195 196 DO jj = 1, jpj ! caution: don't use (:,:) for this loop 197 DO ji = 1, jpi ! it causes optimization problems on NEC in auto-tasking 198 ua(ji,jj,jk) = ua(ji,jj,jk) / fse3u(ji,jj,jk) 199 va(ji,jj,jk) = va(ji,jj,jk) / fse3v(ji,jj,jk) 200 201 un(ji,jj,jk) = un(ji,jj,jk) / fse3u(ji,jj,jk) 202 vn(ji,jj,jk) = vn(ji,jj,jk) / fse3v(ji,jj,jk) 203 204 ub(ji,jj,jk) = ub(ji,jj,jk) / zfse3ub(ji,jj,jk) 205 vb(ji,jj,jk) = vb(ji,jj,jk) / zfse3vb(ji,jj,jk) 206 END DO 207 END DO 208 209 ENDIF 210 188 211 # if defined key_obc 189 212 ! ! =============== … … 209 232 210 233 IF ( ln_vol_cst ) CALL obc_vol( kt ) 234 235 ENDIF 236 237 ! ! =============== 238 DO jk = 1, jpkm1 ! Horizontal slab 239 ! ! =============== 240 # elif defined key_bdy || key_bdy_tides 241 ! ! =============== 242 END DO ! End of slab 243 ! ! =============== 244 ! Update (ua,va) along open boundaries (for exp or ts options). 245 IF ( lk_dynspg_exp .or. lk_dynspg_ts ) THEN 246 247 CALL bdy_dyn_frs( kt ) 248 249 IF ( ln_bdy_fla ) THEN 250 251 ua_e(:,:)=0.0 252 va_e(:,:)=0.0 253 254 ! Set these variables for use in bdy_dyn_fla 255 hu_e(:,:) = hu(:,:) 256 hv_e(:,:) = hv(:,:) 257 258 DO jk = 1, jpkm1 259 !! Vertically integrated momentum trends 260 ua_e(:,:) = ua_e(:,:) + fse3u(:,:,jk) * umask(:,:,jk) * ua(:,:,jk) 261 va_e(:,:) = va_e(:,:) + fse3v(:,:,jk) * vmask(:,:,jk) * va(:,:,jk) 262 END DO 263 264 DO jk = 1 , jpkm1 265 ua(:,:,jk) = ua(:,:,jk) - ua_e(:,:) * hur(:,:) 266 va(:,:,jk) = va(:,:,jk) - va_e(:,:) * hvr(:,:) 267 END DO 268 269 CALL bdy_dta_bt( kt+1, 0) 270 CALL bdy_dyn_fla 271 272 ENDIF 273 274 DO jk = 1 , jpkm1 275 ua(:,:,jk) = ua(:,:,jk) + ua_e(:,:) * hur(:,:) 276 va(:,:,jk) = va(:,:,jk) + va_e(:,:) * hvr(:,:) 277 END DO 211 278 212 279 ENDIF
Note: See TracChangeset
for help on using the changeset viewer.