Changeset 15331 for utils/tools/DOMAINcfg/src/dombat.F90
- Timestamp:
- 2021-10-05T14:51:14+02:00 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
utils/tools/DOMAINcfg/src/dombat.F90
r15162 r15331 12 12 #endif 13 13 USE bilinear_interp 14 USE dom_oce 14 15 15 16 IMPLICIT NONE … … 25 26 INTEGER :: iimin,iimax,jjmin,jjmax 26 27 INTEGER :: tabdim1, tabdim2, nxhr, nyhr, nxyhr 28 INTEGER :: nbadd, istart, iend, jstart, jend 27 29 INTEGER, DIMENSION(2) :: ddims 28 30 INTEGER, DIMENSION(3) :: status … … 410 412 CALL lbc_lnk( 'dom_bat', bathy, 'T', 1.,kfillmode = jpfillcopy) 411 413 414 #if defined key_agrif 415 IF (ln_remove_closedseas.AND.(.NOT.Agrif_Root())) THEN 416 ALLOCATE(bathy_test(jpi,jpj)) 417 bathy_test(:,:) = 0._wp 418 ! 419 ! --- West --- ! 420 IF(lk_west) THEN 421 istart = nn_hls + 2 422 iend = nn_hls + nbghostcells 423 DO ji = mi0(istart), mi1(iend) 424 DO jj = 1, jpj 425 IF ( bathy (ji,jj)/=0._wp ) bathy_test(ji,jj) = 1._wp 426 END DO 427 END DO 428 ENDIF 429 ! 430 ! --- East --- ! 431 IF(lk_east) THEN 432 istart = jpiglo - ( nn_hls + nbghostcells -1 ) 433 iend = jpiglo - ( nn_hls + 1 ) 434 DO ji = mi0(istart), mi1(iend) 435 DO jj = 1, jpj 436 IF ( bathy (ji,jj)/=0._wp ) bathy_test(ji,jj) = 1._wp 437 END DO 438 END DO 439 ENDIF 440 ! 441 ! --- South --- ! 442 IF(lk_south) THEN 443 jstart = nn_hls + 2 444 jend = nn_hls + nbghostcells 445 DO jj = mj0(jstart), mj1(jend) 446 DO ji = 1, jpi 447 IF ( bathy (ji,jj)/=0._wp ) bathy_test(ji,jj) = 1._wp 448 END DO 449 END DO 450 ENDIF 451 ! 452 ! --- North --- ! 453 IF(lk_north) THEN 454 jstart = jpjglo - ( nn_hls + nbghostcells -1 ) 455 jend = jpjglo - ( nn_hls + 1 ) 456 DO jj = mj0(jstart), mj1(jend) 457 DO ji = 1, jpi 458 IF ( bathy (ji,jj)/=0._wp ) bathy_test(ji,jj) = 1._wp 459 END DO 460 END DO 461 ENDIF 462 463 nbadd = 1 464 DO WHILE ( nbadd/=0 ) 465 nbadd = 0 466 DO ji = 1+nn_hls, jpi-nn_hls 467 DO jj = 1+nn_hls, jpj-nn_hls 468 IF (bathy(ji,jj) > 0._wp) THEN 469 IF (MAX(bathy_test(ji,jj+1),bathy_test(ji,jj-1), & 470 & bathy_test(ji-1,jj),bathy_test(ji+1,jj))==1._wp) THEN 471 IF (bathy_test(ji,jj)/=1._wp) nbadd = nbadd + 1 472 bathy_test(ji,jj)=1._wp 473 ENDIF 474 ENDIF 475 END DO 476 END DO 477 IF( lk_mpp ) CALL mpp_sum('dom_bat', nbadd ) 478 CALL lbc_lnk( 'dom_bat', bathy_test, 'T', 1.,kfillmode = jpfillcopy) 479 480 END DO 481 482 WHERE(bathy_test==0._wp) bathy = 0._wp 483 DEALLOCATE(bathy_test) 484 ENDIF 485 #endif 486 487 412 488 ! Correct South and North 413 489 ! #if defined key_agrif
Note: See TracChangeset
for help on using the changeset viewer.