Changeset 30 for trunk/NEMO/OPA_SRC/DOM/domzgr.F90
- Timestamp:
- 2004-02-17T10:13:40+01:00 (20 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OPA_SRC/DOM/domzgr.F90
r3 r30 338 338 DO jj = 1, jpjdta 339 339 DO ji = 1, jpidta 340 IF( gdep w(jk) < zdta(ji,jj) .AND. zdta(ji,jj) <= gdepw(jk+1) ) idta(ji,jj) = jk340 IF( gdept(jk) < zdta(ji,jj) .AND. zdta(ji,jj) <= gdept(jk+1) ) idta(ji,jj) = jk 341 341 END DO 342 342 END DO … … 346 346 ! set boundary conditions (caution, idta on the global domain: use of jperio, not nperio) 347 347 IF( jperio == 1 .OR. jperio == 4 .OR. jperio == 6 ) THEN 348 idta( : , 1 ) = -1 ; zdta( : , 1) = -1.e0349 idta( : ,jpj) = 0 ; zdta( : ,jpj) = 0.e0348 idta( : , 1 ) = -1 ; zdta( : , 1 ) = -1.e0 349 idta( : ,jpjdta) = 0 ; zdta( : ,jpjdta) = 0.e0 350 350 ELSEIF( jperio == 2 ) THEN 351 idta( : , 1 ) = idta( : , 3 ) ; zdta( : , 1) = zdta( : , 3 )352 idta( : ,jpj) = 0 ; zdta( : ,jpj) = 0.e0353 idta( 1 , : ) = 0 ; zdta( 1 , :) = 0.e0354 idta(jpi , : ) = 0 ; zdta(jpi, :) = 0.e0351 idta( : , 1 ) = idta( : , 3 ) ; zdta( : , 1 ) = zdta( : , 3 ) 352 idta( : ,jpjdta) = 0 ; zdta( : ,jpjdta) = 0.e0 353 idta( 1 , : ) = 0 ; zdta( 1 , : ) = 0.e0 354 idta(jpidta, : ) = 0 ; zdta(jpidta, : ) = 0.e0 355 355 ELSE 356 idta( : , 1 ) = 0 ; zdta( : , 1 ) = 0.e0 357 idta( : ,jpj) = 0 ; zdta( : ,jpj) = 0.e0 358 idta( 1 , : ) = 0 ; zdta( 1 , : ) = 0.e0 359 idta(jpi, : ) = 0 ; zdta(jpi, : ) = 0.e0 356 idta( : , 1 ) = 0 ; zdta( : , 1 ) = 0.e0 357 idta( : ,jpjdta) = 0 ; zdta( : ,jpjdta) = 0.e0 358 idta( 1 , : ) = 0 ; zdta( 1 , : ) = 0.e0 359 idta(jpidta, : ) = 0 ; zdta(jpidta, : ) = 0.e0 360 ENDIF 361 362 ! EEL R5 configuration with east and west open boundaries. 363 ! Two rows of zeroes are needed at the south and north for OBCs 364 365 IF( cp_cfg == "eel" .AND. jp_cfg == 5 ) THEN 366 idta( : , 2 ) = 0 ; zdta( : , 2 ) = 0.e0 367 !!CT idta( : ,jpjdta-1) = 0 ; zdta( : ,jpjdta-1) = 0.e0 360 368 ENDIF 361 369 … … 611 619 IF(lwp) WRITE(numout,*)' ',icompt,' ocean grid points suppressed' 612 620 ENDIF 613 #if defined key_mpp 614 zbathy(:,:) = FLOAT( mbathy(:,:) )615 CALL lbc_lnk( zbathy, 'T', 1. )616 mbathy(:,:) = INT( zbathy(:,:) )617 #endif 621 IF( lk_mpp ) THEN 622 zbathy(:,:) = FLOAT( mbathy(:,:) ) 623 CALL lbc_lnk( zbathy, 'T', 1. ) 624 mbathy(:,:) = INT( zbathy(:,:) ) 625 ENDIF 618 626 619 627 ! 3.2 East-west cyclic boundary conditions … … 622 630 IF(lwp) WRITE(numout,*) ' mbathy set to 0 along east and west', & 623 631 ' boundary: nperio = ', nperio 624 #if defined key_mpp 625 IF( nbondi == -1 .OR. nbondi == 2 ) THEN626 IF( jperio /= 1 ) mbathy(1,:) = 0627 ENDIF628 IF( nbondi == 1 .OR. nbondi == 2 ) THEN629 IF( jperio /= 1 ) mbathy(nlci,:) = 0630 ENDIF631 #else 632 mbathy( 1 ,:) = 0633 mbathy(jpi,:) = 0634 #endif 632 IF( lk_mpp ) THEN 633 IF( nbondi == -1 .OR. nbondi == 2 ) THEN 634 IF( jperio /= 1 ) mbathy(1,:) = 0 635 ENDIF 636 IF( nbondi == 1 .OR. nbondi == 2 ) THEN 637 IF( jperio /= 1 ) mbathy(nlci,:) = 0 638 ENDIF 639 ELSE 640 mbathy( 1 ,:) = 0 641 mbathy(jpi,:) = 0 642 ENDIF 635 643 ELSEIF( nperio == 1 .OR. nperio == 4 .OR. nperio == 6 ) THEN 636 644 IF(lwp) WRITE(numout,*)' east-west cyclic boundary conditions', & … … 656 664 657 665 ! Boundary condition on mbathy 658 # if ! defined key_mpp 659 !!bug ??? y reflechir!660 ! ... mono- or macro-tasking: T-point, >0, 2D array, no slab661 zbathy(:,:) = FLOAT( mbathy(:,:) )662 CALL lbc_lnk( zbathy, 'T', 1. )663 mbathy(:,:) = INT( zbathy(:,:) )664 # endif 666 IF( .NOT.lk_mpp ) THEN 667 !!bug ??? y reflechir! 668 ! ... mono- or macro-tasking: T-point, >0, 2D array, no slab 669 zbathy(:,:) = FLOAT( mbathy(:,:) ) 670 CALL lbc_lnk( zbathy, 'T', 1. ) 671 mbathy(:,:) = INT( zbathy(:,:) ) 672 ENDIF 665 673 666 674 ENDIF
Note: See TracChangeset
for help on using the changeset viewer.