Changeset 31 for trunk/NEMO/OPA_SRC/DYN/dynspg_rl.F90
- Timestamp:
- 2004-02-17T10:19:59+01:00 (20 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OPA_SRC/DYN/dynspg_rl.F90
r3 r31 36 36 37 37 !! * Shared module variables 38 LOGICAL, PUBLIC, PARAMETER :: lk_dynspg_rl = .TRUE. !rigid-lid flag38 LOGICAL, PUBLIC, PARAMETER :: lk_dynspg_rl = .TRUE. !: rigid-lid flag 39 39 40 40 !! * Substitutions 41 41 # include "domzgr_substitute.h90" 42 42 # include "vectopt_loop_substitute.h90" 43 # include "obc_vectopt_loop_substitute.h90" 43 44 !!---------------------------------------------------------------------- 44 45 !! OPA 9.0 , LODYC-IPSL (2003) … … 115 116 spgu(:,:) = 0.e0 ! surface pressure gradient (i-direction) 116 117 spgv(:,:) = 0.e0 ! surface pressure gradient (j-direction) 117 bsfb(:,:) = 0.e0 ! before barotropic stream-function118 bsfn(:,:) = 0.e0 ! now barotropic stream-function119 bsfd(:,:) = 0.e0 ! barotropic stream-function trend120 118 ENDIF 121 119 … … 209 207 END DO 210 208 END DO 211 # if defined key_mpp 212 CALL mpp_sum( rnorme ) 213 # endif 209 IF( lk_mpp ) CALL mpp_sum( rnorme ) ! sum over the global domain 210 214 211 epsr = eps*eps*rnorme 215 212 ncut = 0 … … 229 226 CALL sol_pcg( kindic ) 230 227 CASE( 2 ) ! successive-over-relaxation 231 CALL sol_sor( k t, kindic )228 CALL sol_sor( kindic ) 232 229 CASE( 3 ) ! FETI solver 233 230 CALL sol_fet( kindic ) … … 400 397 END DO 401 398 END DO 402 # if defined key_mpp 403 CALL mppobc( bebnd, jpjed, jpjef, jpieob, 3*3, 2, jpj ) 404 # endif 399 IF( lk_mpp ) CALL mppobc( bebnd, jpjed, jpjef, jpieob, 3*3, 2, jpj ) 405 400 ENDIF 406 401 … … 436 431 END DO 437 432 END DO 438 # if defined key_mpp 439 CALL mppobc( bwbnd, jpjwd, jpjwf, jpiwob, 3*3, 2, jpj ) 440 # endif 433 IF( lk_mpp ) CALL mppobc( bwbnd, jpjwd, jpjwf, jpiwob, 3*3, 2, jpj ) 441 434 ENDIF 442 435 … … 472 465 END DO 473 466 END DO 474 # if defined key_mpp 475 CALL mppobc( bnbnd, jpind, jpinf, jpjnob, 3*3, 1, jpi ) 476 # endif 467 IF( lk_mpp ) CALL mppobc( bnbnd, jpind, jpinf, jpjnob, 3*3, 1, jpi ) 477 468 ENDIF 478 469 479 470 IF( lpsouthobc ) THEN 480 ! njsob,(jpsd,jpsf) 481 IF( kt < nit000+3 .AND. .NOT.ln_rstart ) THEN 482 DO ji = nis0m1, nis1 483 ! fields itm2 <== itm 484 bsbnd(ji,ib ,itm2) = bsbnd(ji,ib ,itm) 485 bsbnd(ji,ibm ,itm2) = bsbnd(ji,ibm ,itm) 486 bsbnd(ji,ibm2,itm2) = bsbnd(ji,ibm2,itm) 487 bsbnd(ji,ib ,itm ) = bsbnd(ji,ib ,it ) 488 END DO 489 ELSE 490 DO jj = fs_njs0, fs_njs1 ! vector opt. 471 ! njsob,(jpsd,jpsf) 472 IF( kt < nit000+3 .AND. .NOT.ln_rstart ) THEN 491 473 DO ji = nis0m1, nis1 474 ! fields itm2 <== itm 492 475 bsbnd(ji,ib ,itm2) = bsbnd(ji,ib ,itm) 493 476 bsbnd(ji,ibm ,itm2) = bsbnd(ji,ibm ,itm) 494 477 bsbnd(ji,ibm2,itm2) = bsbnd(ji,ibm2,itm) 495 ! fields itm <== it plus time filter at the boundary 496 bsbnd(jj,ib ,itm ) = atfp * ( bsbnd(jj,ib,itm) + bsfn(ji,jj) ) + atfp1 * bsbnd(jj,ib,it) 497 bsbnd(ji,ibm ,itm ) = bsbnd(ji,ibm ,it ) 498 bsbnd(ji,ibm2,itm ) = bsbnd(ji,ibm2,it ) 499 END DO 500 END DO 501 ENDIF 502 DO jj = fs_njs0, fs_njs1 ! vector opt. 503 DO ji = nis0m1, nis1 504 ! fields it <== now (kt+1) 505 bsbnd(ji,ib ,it ) = bsfn (ji,jj ) 506 bsbnd(ji,ibm ,it ) = bsfn (ji,jj+1) 507 bsbnd(ji,ibm2,it ) = bsfn (ji,jj+2) 508 END DO 509 END DO 510 # if defined key_mpp 511 CALL mppobc( bsbnd, jpisd, jpisf, jpjsob, 3*3, 1, jpi ) 512 # endif 478 bsbnd(ji,ib ,itm ) = bsbnd(ji,ib ,it ) 479 END DO 480 ELSE 481 DO jj = fs_njs0, fs_njs1 ! vector opt. 482 DO ji = nis0m1, nis1 483 bsbnd(ji,ib ,itm2) = bsbnd(ji,ib ,itm) 484 bsbnd(ji,ibm ,itm2) = bsbnd(ji,ibm ,itm) 485 bsbnd(ji,ibm2,itm2) = bsbnd(ji,ibm2,itm) 486 ! fields itm <== it plus time filter at the boundary 487 bsbnd(jj,ib ,itm ) = atfp * ( bsbnd(jj,ib,itm) + bsfn(ji,jj) ) + atfp1 * bsbnd(jj,ib,it) 488 bsbnd(ji,ibm ,itm ) = bsbnd(ji,ibm ,it ) 489 bsbnd(ji,ibm2,itm ) = bsbnd(ji,ibm2,it ) 490 END DO 491 END DO 492 ENDIF 493 DO jj = fs_njs0, fs_njs1 ! vector opt. 494 DO ji = nis0m1, nis1 495 ! fields it <== now (kt+1) 496 bsbnd(ji,ib ,it ) = bsfn (ji,jj ) 497 bsbnd(ji,ibm ,it ) = bsfn (ji,jj+1) 498 bsbnd(ji,ibm2,it ) = bsfn (ji,jj+2) 499 END DO 500 END DO 501 IF( lk_mpp ) CALL mppobc( bsbnd, jpisd, jpisf, jpjsob, 3*3, 1, jpi ) 513 502 ENDIF 514 503 # endif … … 547 536 !! 'key_dynspg_rl' NO rigid lid 548 537 !!---------------------------------------------------------------------- 549 LOGICAL, PUBLIC, PARAMETER :: lk_dynspg_rl = .FALSE. ! rigid-lid flag538 LOGICAL, PUBLIC, PARAMETER :: lk_dynspg_rl = .FALSE. !: rigid-lid flag 550 539 CONTAINS 551 540 SUBROUTINE dyn_spg_rl( kt, kindic ) ! Empty routine 552 WRITE(*,*) kt, kindic541 WRITE(*,*) 'dyn_spg_rl: You should not have seen this print! error?', kt, kindic 553 542 END SUBROUTINE dyn_spg_rl 554 543 #endif
Note: See TracChangeset
for help on using the changeset viewer.