Changeset 413 for trunk/NEMO/OPA_SRC/DYN/dynspg_flt.F90
- Timestamp:
- 2006-03-20T18:27:15+01:00 (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OPA_SRC/DYN/dynspg_flt.F90
r392 r413 33 33 USE prtctl ! Print control 34 34 USE in_out_manager ! I/O manager 35 USE solmat ! matrix construction for elliptic solvers 35 36 USE agrif_opa_interp 36 37 … … 132 133 z2dt = 2. * rdt ! time step: leap-frog 133 134 IF( neuler == 0 .AND. kt == nit000 ) z2dt = rdt ! time step: Euler if restart from rest 135 IF( neuler == 0 .AND. kt == nit000+1 ) CALL sol_mat(kt) 134 136 z2dtg = grav * z2dt 135 137 zraur = 1. / rauw … … 175 177 176 178 CALL Agrif_dyn( kt ) 177 178 179 #endif 179 180 #if defined key_orca_r2 … … 240 241 241 242 #if defined key_agrif 242 243 If (.NOT.AGRIF_ROOT()) THEN 244 243 IF( .NOT. AGRIF_ROOT() ) THEN 245 244 ! add contribution of gradient of after barotropic transport divergence 246 IF ((nbondi == -1).OR.(nbondi == 2)) gcb(3,:) = gcb(3,:) & 247 -znugdt * z2dt*laplacu(2,:)*gcdprc(3,:)*hu(2,:)*e2u(2,:) 248 IF ((nbondi == 1).OR.(nbondi == 2)) gcb(nlci-2,:) = gcb(nlci-2,:) & 249 +znugdt * z2dt*laplacu(nlci-2,:)*gcdprc(nlci-2,:)*hu(nlci-2,:)*e2u(nlci-2,:) 250 IF ((nbondj == -1).OR.(nbondj == 2)) gcb(:,3) = gcb(:,3) & 251 -znugdt * z2dt*laplacv(:,2)*gcdprc(:,3)*hv(:,2)*e1v(:,2) 252 IF ((nbondj == 1).OR.(nbondj == 2)) gcb(:,nlcj-2) = gcb(:,nlcj-2) & 253 +znugdt * z2dt*laplacv(:,nlcj-2)*gcdprc(:,nlcj-2)*hv(:,nlcj-2)*e1v(:,nlcj-2) 254 255 ENDIF 256 245 IF( (nbondi == -1) .OR. (nbondi == 2) ) gcb(3,:) = gcb(3,:) & 246 & -znugdt * z2dt*laplacu(2,:)*gcdprc(3,:)*hu(2,:)*e2u(2,:) 247 IF( (nbondi == 1) .OR. (nbondi == 2) ) gcb(nlci-2,:) = gcb(nlci-2,:) & 248 & +znugdt * z2dt*laplacu(nlci-2,:)*gcdprc(nlci-2,:)*hu(nlci-2,:)*e2u(nlci-2,:) 249 IF( (nbondj == -1) .OR. (nbondj == 2) ) gcb(:,3) = gcb(:,3) & 250 & -znugdt * z2dt*laplacv(:,2)*gcdprc(:,3)*hv(:,2)*e1v(:,2) 251 IF( (nbondj == 1) .OR. (nbondj == 2) ) gcb(:,nlcj-2) = gcb(:,nlcj-2) & 252 & +znugdt * z2dt*laplacv(:,nlcj-2)*gcdprc(:,nlcj-2)*hv(:,nlcj-2)*e1v(:,nlcj-2) 253 ENDIF 257 254 #endif 258 255 … … 316 313 317 314 #if defined key_agrif 318 IF (.NOT. Agrif_Root()) THEN319 ! caution : grad D (fine) = grad D (coarse) at coarse/fine interface320 IF ((nbondi == -1).OR.(nbondi == 2)) spgu(2,:) = znugdt * z2dt * laplacu(2,:) * umask(2,:,1)321 IF ((nbondi == 1).OR.(nbondi == 2)) spgu(nlci-2,:) = znugdt * z2dt * laplacu(nlci-2,:) * umask(nlci-2,:,1)322 IF ((nbondj == -1).OR.(nbondj == 2)) spgv(:,2) = znugdt * z2dt * laplacv(:,2) * vmask(:,2,1)323 IF ((nbondj == 1).OR.(nbondj == 2)) spgv(:,nlcj-2) = znugdt * z2dt * laplacv(:,nlcj-2) * vmask(:,nlcj-2,1)315 IF( .NOT. Agrif_Root() ) THEN 316 ! caution : grad D (fine) = grad D (coarse) at coarse/fine interface 317 IF( (nbondi == -1) .OR. (nbondi == 2) ) spgu(2,:) = znugdt * z2dt * laplacu(2,:) * umask(2,:,1) 318 IF( (nbondi == 1) .OR. (nbondi == 2) ) spgu(nlci-2,:) = znugdt * z2dt * laplacu(nlci-2,:) * umask(nlci-2,:,1) 319 IF( (nbondj == -1) .OR. (nbondj == 2) ) spgv(:,2) = znugdt * z2dt * laplacv(:,2) * vmask(:,2,1) 320 IF( (nbondj == 1) .OR. (nbondj == 2) ) spgv(:,nlcj-2) = znugdt * z2dt * laplacv(:,nlcj-2) * vmask(:,nlcj-2,1) 324 321 ENDIF 325 322 #endif
Note: See TracChangeset
for help on using the changeset viewer.