Changeset 14688
- Timestamp:
- 2021-04-09T19:03:15+02:00 (3 years ago)
- Location:
- NEMO/branches/2021/dev_r14608_AGRIF_domcfg
- Files:
-
- 1 deleted
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2021/dev_r14608_AGRIF_domcfg/cfgs/AGRIF_DEMO/EXPREF/AGRIF_FixedGrids.in
r13286 r14688 1 1 2 2 4 1 81 49 911 1 13 12 1 152 110 1434 4 42 45 85 53 95 1 1 1 3 125 156 114 147 4 4 4 4 4 0 5 5 1 -
NEMO/branches/2021/dev_r14608_AGRIF_domcfg/src/NST/agrif_oce_interp.F90
r14641 r14688 216 216 IF( lk_west ) THEN 217 217 ibdy1 = nn_hls + 2 ! halo + land + 1 218 ibdy2 = nn_hls + 1 +nbghostcells + nn_shift_bar*Agrif_Rhox() ! halo + land + nbghostcells218 ibdy2 = nn_hls + nbghostcells + nn_shift_bar*Agrif_Rhox() ! halo + land + nbghostcells 219 219 ! 220 220 IF( .NOT.ln_dynspg_ts ) THEN ! Store transport … … 265 265 ! --- East --- ! 266 266 IF( lk_east) THEN 267 ibdy1 = jpiglo - ( nn_hls + nbghostcells + 1) - nn_shift_bar*Agrif_Rhox()267 ibdy1 = jpiglo - ( nn_hls + nbghostcells ) - nn_shift_bar*Agrif_Rhox() 268 268 ibdy2 = jpiglo - ( nn_hls + 2 ) 269 269 ! … … 293 293 END DO 294 294 ! 295 ibdy1 = jpiglo - ( nn_hls + nbghostcells ) - nn_shift_bar*Agrif_Rhox()295 ibdy1 = jpiglo - ( nn_hls + nbghostcells - 1 ) - nn_shift_bar*Agrif_Rhox() 296 296 ibdy2 = jpiglo - ( nn_hls + 1 ) 297 297 ! … … 326 326 IF( lk_south ) THEN 327 327 jbdy1 = nn_hls + 2 328 jbdy2 = nn_hls + 1 +nbghostcells + nn_shift_bar*Agrif_Rhoy()328 jbdy2 = nn_hls + nbghostcells + nn_shift_bar*Agrif_Rhoy() 329 329 ! 330 330 IF( .NOT.ln_dynspg_ts ) THEN … … 375 375 ! --- North --- ! 376 376 IF( lk_north ) THEN 377 jbdy1 = jpjglo - ( nn_hls + nbghostcells + 1) - nn_shift_bar*Agrif_Rhoy()377 jbdy1 = jpjglo - ( nn_hls + nbghostcells ) - nn_shift_bar*Agrif_Rhoy() 378 378 jbdy2 = jpjglo - ( nn_hls + 2 ) 379 379 ! … … 403 403 END DO 404 404 ! 405 jbdy1 = jpjglo - ( nn_hls + nbghostcells ) - nn_shift_bar*Agrif_Rhoy()405 jbdy1 = jpjglo - ( nn_hls + nbghostcells -1 ) - nn_shift_bar*Agrif_Rhoy() 406 406 jbdy2 = jpjglo - ( nn_hls + 1 ) 407 407 ! … … 451 451 IF( lk_west ) THEN 452 452 istart = nn_hls + 2 ! halo + land + 1 453 iend = nn_hls + 1 +nbghostcells + nn_shift_bar*Agrif_Rhox() ! halo + land + nbghostcells453 iend = nn_hls + nbghostcells + nn_shift_bar*Agrif_Rhox() ! halo + land + nbghostcells 454 454 DO ji = mi0(istart), mi1(iend) 455 455 DO jj=1,jpj … … 462 462 !--- East ---! 463 463 IF( lk_east ) THEN 464 istart = jpiglo - ( nn_hls + nbghostcells ) - nn_shift_bar*Agrif_Rhox()464 istart = jpiglo - ( nn_hls + nbghostcells -1 ) - nn_shift_bar*Agrif_Rhox() 465 465 iend = jpiglo - ( nn_hls + 1 ) 466 466 DO ji = mi0(istart), mi1(iend) … … 470 470 END DO 471 471 END DO 472 istart = jpiglo - ( nn_hls + nbghostcells + 1) - nn_shift_bar*Agrif_Rhox()472 istart = jpiglo - ( nn_hls + nbghostcells ) - nn_shift_bar*Agrif_Rhox() 473 473 iend = jpiglo - ( nn_hls + 2 ) 474 474 DO ji = mi0(istart), mi1(iend) … … 482 482 IF( lk_south ) THEN 483 483 jstart = nn_hls + 2 484 jend = nn_hls + 1 +nbghostcells + nn_shift_bar*Agrif_Rhoy()484 jend = nn_hls + nbghostcells + nn_shift_bar*Agrif_Rhoy() 485 485 DO jj = mj0(jstart), mj1(jend) 486 486 … … 494 494 !--- North ---! 495 495 IF( lk_north ) THEN 496 jstart = jpjglo - ( nn_hls + nbghostcells ) - nn_shift_bar*Agrif_Rhoy()496 jstart = jpjglo - ( nn_hls + nbghostcells -1 ) - nn_shift_bar*Agrif_Rhoy() 497 497 jend = jpjglo - ( nn_hls + 1 ) 498 498 DO jj = mj0(jstart), mj1(jend) … … 501 501 END DO 502 502 END DO 503 jstart = jpjglo - ( nn_hls + nbghostcells + 1) - nn_shift_bar*Agrif_Rhoy()503 jstart = jpjglo - ( nn_hls + nbghostcells ) - nn_shift_bar*Agrif_Rhoy() 504 504 jend = jpjglo - ( nn_hls + 2 ) 505 505 DO jj = mj0(jstart), mj1(jend) … … 529 529 IF( lk_west ) THEN 530 530 istart = nn_hls + 2 531 iend = nn_hls + 1 +nbghostcells + nn_shift_bar*Agrif_Rhox()531 iend = nn_hls + nbghostcells + nn_shift_bar*Agrif_Rhox() 532 532 DO ji = mi0(istart), mi1(iend) 533 533 DO jj=1,jpj … … 540 540 !--- East ---! 541 541 IF( lk_east ) THEN 542 istart = jpiglo - ( nn_hls + nbghostcells ) - nn_shift_bar*Agrif_Rhox()542 istart = jpiglo - ( nn_hls + nbghostcells -1 ) - nn_shift_bar*Agrif_Rhox() 543 543 iend = jpiglo - ( nn_hls + 1 ) 544 544 DO ji = mi0(istart), mi1(iend) … … 547 547 END DO 548 548 END DO 549 istart = jpiglo - ( nn_hls + nbghostcells + 1) - nn_shift_bar*Agrif_Rhox()549 istart = jpiglo - ( nn_hls + nbghostcells ) - nn_shift_bar*Agrif_Rhox() 550 550 iend = jpiglo - ( nn_hls + 2 ) 551 551 DO ji = mi0(istart), mi1(iend) … … 559 559 IF( lk_south ) THEN 560 560 jstart = nn_hls + 2 561 jend = nn_hls + 1 +nbghostcells + nn_shift_bar*Agrif_Rhoy()561 jend = nn_hls + nbghostcells + nn_shift_bar*Agrif_Rhoy() 562 562 DO jj = mj0(jstart), mj1(jend) 563 563 DO ji=1,jpi … … 570 570 !--- North ---! 571 571 IF( lk_north ) THEN 572 jstart = jpjglo - ( nn_hls + nbghostcells ) - nn_shift_bar*Agrif_Rhoy()572 jstart = jpjglo - ( nn_hls + nbghostcells -1 ) - nn_shift_bar*Agrif_Rhoy() 573 573 jend = jpjglo - ( nn_hls + 1 ) 574 574 DO jj = mj0(jstart), mj1(jend) … … 577 577 END DO 578 578 END DO 579 jstart = jpjglo - ( nn_hls + nbghostcells + 1) - nn_shift_bar*Agrif_Rhoy()579 jstart = jpjglo - ( nn_hls + nbghostcells ) - nn_shift_bar*Agrif_Rhoy() 580 580 jend = jpjglo - ( nn_hls + 2 ) 581 581 DO jj = mj0(jstart), mj1(jend) … … 672 672 IF(lk_west) THEN 673 673 istart = nn_hls + 2 ! halo + land + 1 674 iend = nn_hls + 1 +nbghostcells + nn_shift_bar*Agrif_Rhox() ! halo + land + nbghostcells674 iend = nn_hls + nbghostcells + nn_shift_bar*Agrif_Rhox() ! halo + land + nbghostcells 675 675 DO ji = mi0(istart), mi1(iend) 676 676 DO jj = 1, jpj … … 682 682 ! --- East --- ! 683 683 IF(lk_east) THEN 684 istart = jpiglo - ( nn_hls + nbghostcells ) - nn_shift_bar*Agrif_Rhox() ! halo + land + nbghostcells - 1684 istart = jpiglo - ( nn_hls + nbghostcells -1 ) - nn_shift_bar*Agrif_Rhox() ! halo + land + nbghostcells - 1 685 685 iend = jpiglo - ( nn_hls + 1 ) ! halo + land + 1 - 1 686 686 DO ji = mi0(istart), mi1(iend) … … 694 694 IF(lk_south) THEN 695 695 jstart = nn_hls + 2 ! halo + land + 1 696 jend = nn_hls + 1 +nbghostcells + nn_shift_bar*Agrif_Rhoy() ! halo + land + nbghostcells696 jend = nn_hls + nbghostcells + nn_shift_bar*Agrif_Rhoy() ! halo + land + nbghostcells 697 697 DO jj = mj0(jstart), mj1(jend) 698 698 DO ji = 1, jpi … … 704 704 ! --- North --- ! 705 705 IF(lk_north) THEN 706 jstart = jpjglo - ( nn_hls + nbghostcells ) - nn_shift_bar*Agrif_Rhoy() ! halo + land + nbghostcells - 1706 jstart = jpjglo - ( nn_hls + nbghostcells -1 ) - nn_shift_bar*Agrif_Rhoy() ! halo + land + nbghostcells - 1 707 707 jend = jpjglo - ( nn_hls + 1 ) ! halo + land + 1 - 1 708 708 DO jj = mj0(jstart), mj1(jend) … … 731 731 IF(lk_west) THEN 732 732 istart = nn_hls + 2 ! halo + land + 1 733 iend = nn_hls + 1 +nbghostcells + nn_shift_bar*Agrif_Rhox() ! halo + land + nbghostcells733 iend = nn_hls + nbghostcells + nn_shift_bar*Agrif_Rhox() ! halo + land + nbghostcells 734 734 DO ji = mi0(istart), mi1(iend) 735 735 DO jj = 1, jpj … … 741 741 ! --- East --- ! 742 742 IF(lk_east) THEN 743 istart = jpiglo - ( nn_hls + nbghostcells ) - nn_shift_bar*Agrif_Rhox() ! halo + land + nbghostcells - 1743 istart = jpiglo - ( nn_hls + nbghostcells -1 ) - nn_shift_bar*Agrif_Rhox() ! halo + land + nbghostcells - 1 744 744 iend = jpiglo - ( nn_hls + 1 ) ! halo + land + 1 - 1 745 745 DO ji = mi0(istart), mi1(iend) … … 753 753 IF(lk_south) THEN 754 754 jstart = nn_hls + 2 ! halo + land + 1 755 jend = nn_hls + 1 +nbghostcells + nn_shift_bar*Agrif_Rhoy() ! halo + land + nbghostcells755 jend = nn_hls + nbghostcells + nn_shift_bar*Agrif_Rhoy() ! halo + land + nbghostcells 756 756 DO jj = mj0(jstart), mj1(jend) 757 757 DO ji = 1, jpi … … 763 763 ! --- North --- ! 764 764 IF(lk_north) THEN 765 jstart = jpjglo - ( nn_hls + nbghostcells ) - nn_shift_bar*Agrif_Rhoy() ! halo + land + nbghostcells - 1765 jstart = jpjglo - ( nn_hls + nbghostcells -1 ) - nn_shift_bar*Agrif_Rhoy() ! halo + land + nbghostcells - 1 766 766 jend = jpjglo - ( nn_hls + 1 ) ! halo + land + 1 - 1 767 767 DO jj = mj0(jstart), mj1(jend) … … 1418 1418 DO jj=j1,j2 1419 1419 IF (utint_stage(ji,jj)==0) THEN 1420 zx = 2._wp*MOD(ABS(mig0(ji)-nbghostcells -1), INT(Agrif_Rhox()))/zrhox - 1._wp1420 zx = 2._wp*MOD(ABS(mig0(ji)-nbghostcells), INT(Agrif_Rhox()))/zrhox - 1._wp 1421 1421 ubdy(ji,jj) = ubdy(ji,jj) + 0.25_wp*(1._wp-zx*zx) * ptab(ji,jj) & 1422 1422 & / zrhoy *r1_e2u(ji,jj) * umask(ji,jj,1) … … 1522 1522 DO jj=j1,j2 1523 1523 IF (vtint_stage(ji,jj)==0) THEN 1524 zy = 2._wp*MOD(ABS(mjg0(jj)-nbghostcells -1), INT(Agrif_Rhoy()))/zrhoy - 1._wp1524 zy = 2._wp*MOD(ABS(mjg0(jj)-nbghostcells), INT(Agrif_Rhoy()))/zrhoy - 1._wp 1525 1525 vbdy(ji,jj) = vbdy(ji,jj) + 0.25_wp*(1._wp-zy*zy) * ptab(ji,jj) & 1526 1526 & / zrhox * r1_e1v(ji,jj) * vmask(ji,jj,1) … … 1768 1768 IF(lk_west) THEN 1769 1769 ispon = nn_sponge_len * Agrif_irhox() 1770 istart = nn_hls + 1! halo + land + 11771 iend = nn_hls + 1 +nbghostcells + ispon ! halo + land + nbghostcells + sponge1772 jstart = nn_hls + 11773 jend = jpjglo - nn_hls 1770 istart = nn_hls + 2 ! halo + land + 1 1771 iend = nn_hls + nbghostcells + ispon ! halo + land + nbghostcells + sponge 1772 jstart = nn_hls + 2 1773 jend = jpjglo - nn_hls - 1 1774 1774 DO ji = mi0(istart), mi1(iend) 1775 1775 DO jj = mj0(jstart), mj1(jend) … … 1805 1805 IF(lk_east) THEN 1806 1806 ispon = nn_sponge_len * Agrif_irhox() 1807 istart = jpiglo - ( nn_hls + nbghostcells + ispon ) ! halo + land + nbghostcells + sponge - 11808 iend = jpiglo - nn_hls ! halo + land + 1 - 11809 jstart = nn_hls + 11810 jend = jpjglo - nn_hls 1807 istart = jpiglo - ( nn_hls + nbghostcells + ispon -1 ) ! halo + land + nbghostcells + sponge - 1 1808 iend = jpiglo - nn_hls - 1 ! halo + land + 1 - 1 1809 jstart = nn_hls + 2 1810 jend = jpjglo - nn_hls - 1 1811 1811 DO ji = mi0(istart), mi1(iend) 1812 1812 DO jj = mj0(jstart), mj1(jend) … … 1842 1842 IF(lk_south) THEN 1843 1843 ispon = nn_sponge_len * Agrif_irhoy() 1844 jstart = nn_hls + 1! halo + land + 11845 jend = nn_hls + 1 +nbghostcells + ispon ! halo + land + nbghostcells + sponge1846 istart = nn_hls + 11847 iend = jpiglo - nn_hls 1844 jstart = nn_hls + 2 ! halo + land + 1 1845 jend = nn_hls + nbghostcells + ispon ! halo + land + nbghostcells + sponge 1846 istart = nn_hls + 2 1847 iend = jpiglo - nn_hls - 1 1848 1848 DO jj = mj0(jstart), mj1(jend) 1849 1849 DO ji = mi0(istart), mi1(iend) … … 1879 1879 IF(lk_north) THEN 1880 1880 ispon = nn_sponge_len * Agrif_irhoy() 1881 jstart = jpjglo - ( nn_hls + nbghostcells + ispon ) ! halo + land + nbghostcells +sponge - 11882 jend = jpjglo - nn_hls ! halo + land + 1 - 11883 istart = nn_hls + 11884 iend = jpiglo - nn_hls 1881 jstart = jpjglo - ( nn_hls + nbghostcells + ispon - 1) ! halo + land + nbghostcells +sponge - 1 1882 jend = jpjglo - nn_hls - 1 ! halo + land + 1 - 1 1883 istart = nn_hls + 2 1884 iend = jpiglo - nn_hls - 1 1885 1885 DO jj = mj0(jstart), mj1(jend) 1886 1886 DO ji = mi0(istart), mi1(iend) -
NEMO/branches/2021/dev_r14608_AGRIF_domcfg/src/NST/agrif_oce_sponge.F90
r14433 r14688 150 150 ztabramp(:,:) = 0._wp 151 151 152 IF( lk_west ) THEN 153 ind1 = nn_hls + 1 + nbghostcells ! halo + land+ nbghostcells154 ind2 = nn_hls + 1 +nbghostcells + ispongearea152 IF( lk_west ) THEN ! --- West --- ! 153 ind1 = nn_hls + nbghostcells ! halo + nbghostcells 154 ind2 = nn_hls + nbghostcells + ispongearea 155 155 DO ji = mi0(ind1), mi1(ind2) 156 156 DO jj = 1, jpj … … 160 160 ! ghost cells: 161 161 ind1 = 1 162 ind2 = nn_hls + 1 + nbghostcells ! halo + land+ nbghostcells162 ind2 = nn_hls + nbghostcells ! halo + nbghostcells 163 163 DO ji = mi0(ind1), mi1(ind2) 164 164 DO jj = 1, jpj … … 168 168 ENDIF 169 169 IF( lk_east ) THEN ! --- East --- ! 170 ind1 = jpiglo - ( nn_hls + nbghostcells ) - ispongearea - 1171 ind2 = jpiglo - ( nn_hls + nbghostcells ) - 1 ! halo + land + nbghostcells - 1170 ind1 = jpiglo - ( nn_hls + nbghostcells -1 ) - ispongearea - 1 171 ind2 = jpiglo - ( nn_hls + nbghostcells -1 ) - 1 ! halo + land + nbghostcells - 1 172 172 DO ji = mi0(ind1), mi1(ind2) 173 173 DO jj = 1, jpj … … 176 176 END DO 177 177 ! ghost cells: 178 ind1 = jpiglo - ( nn_hls + nbghostcells ) - 1 ! halo + land + nbghostcells - 1178 ind1 = jpiglo - ( nn_hls + nbghostcells -1 ) - 1 ! halo + land + nbghostcells - 1 179 179 ind2 = jpiglo - 1 180 180 DO ji = mi0(ind1), mi1(ind2) … … 185 185 ENDIF 186 186 IF( lk_south ) THEN ! --- South --- ! 187 ind1 = nn_hls + 1 + nbghostcells ! halo + land+ nbghostcells188 ind2 = nn_hls + 1 + nbghostcells+ jspongearea187 ind1 = nn_hls + nbghostcells - 1 ! halo + nbghostcells 188 ind2 = nn_hls + nbghostcells - 1 + jspongearea 189 189 DO jj = mj0(ind1), mj1(ind2) 190 190 DO ji = 1, jpi … … 194 194 ! ghost cells: 195 195 ind1 = 1 196 ind2 = nn_hls + 1 + nbghostcells ! halo + land+ nbghostcells196 ind2 = nn_hls + nbghostcells ! halo + nbghostcells 197 197 DO jj = mj0(ind1), mj1(ind2) 198 198 DO ji = 1, jpi … … 202 202 ENDIF 203 203 IF( lk_north ) THEN ! --- North --- ! 204 ind1 = jpjglo - ( nn_hls + nbghostcells ) - jspongearea - 1205 ind2 = jpjglo - ( nn_hls + nbghostcells ) - 1 ! halo + land+ nbghostcells - 1204 ind1 = jpjglo - ( nn_hls + nbghostcells -1 ) - jspongearea - 1 205 ind2 = jpjglo - ( nn_hls + nbghostcells -1 ) - 1 ! halo + nbghostcells - 1 206 206 DO jj = mj0(ind1), mj1(ind2) 207 207 DO ji = 1, jpi … … 210 210 END DO 211 211 ! ghost cells: 212 ind1 = jpjglo - ( nn_hls + nbghostcells ) ! halo + land + nbghostcells - 1212 ind1 = jpjglo - ( nn_hls + nbghostcells -1 ) ! halo + land + nbghostcells - 1 213 213 ind2 = jpjglo 214 214 DO jj = mj0(ind1), mj1(ind2) … … 284 284 285 285 IF( lk_west ) THEN ! --- West --- ! 286 ind1 = nn_hls + 1 +nbghostcells + ishift287 ind2 = nn_hls + 1 +nbghostcells + ishift + ispongearea286 ind1 = nn_hls + nbghostcells + ishift 287 ind2 = nn_hls + nbghostcells + ishift + ispongearea 288 288 DO ji = mi0(ind1), mi1(ind2) 289 289 DO jj = 1, jpj … … 293 293 ! ghost cells: 294 294 ind1 = 1 295 ind2 = nn_hls + 1 + nbghostcells + ishift ! halo + land+ nbghostcells295 ind2 = nn_hls + nbghostcells + ishift ! halo + nbghostcells 296 296 DO ji = mi0(ind1), mi1(ind2) 297 297 DO jj = 1, jpj … … 301 301 ENDIF 302 302 IF( lk_east ) THEN ! --- East --- ! 303 ind1 = jpiglo - ( nn_hls + nbghostcells + ishift) - ispongearea - 1304 ind2 = jpiglo - ( nn_hls + nbghostcells + ishift) - 1 ! halo + land+ nbghostcells - 1303 ind1 = jpiglo - ( nn_hls + nbghostcells -1 + ishift) - ispongearea - 1 304 ind2 = jpiglo - ( nn_hls + nbghostcells -1 + ishift) - 1 ! halo + nbghostcells - 1 305 305 DO ji = mi0(ind1), mi1(ind2) 306 306 DO jj = 1, jpj … … 309 309 END DO 310 310 ! ghost cells: 311 ind1 = jpiglo - ( nn_hls + nbghostcells + ishift) - 1 ! halo + land+ nbghostcells - 1311 ind1 = jpiglo - ( nn_hls + nbghostcells -1 + ishift) - 1 ! halo + nbghostcells - 1 312 312 ind2 = jpiglo - 1 313 313 DO ji = mi0(ind1), mi1(ind2) … … 318 318 ENDIF 319 319 IF( lk_south ) THEN ! --- South --- ! 320 ind1 = nn_hls + 1 + nbghostcells + jshift ! halo + land+ nbghostcells321 ind2 = nn_hls + 1 +nbghostcells + jshift + jspongearea320 ind1 = nn_hls + nbghostcells + jshift ! halo + nbghostcells 321 ind2 = nn_hls + nbghostcells + jshift + jspongearea 322 322 DO jj = mj0(ind1), mj1(ind2) 323 323 DO ji = 1, jpi … … 327 327 ! ghost cells: 328 328 ind1 = 1 329 ind2 = nn_hls + 1 +nbghostcells + jshift ! halo + land + nbghostcells329 ind2 = nn_hls + nbghostcells + jshift ! halo + land + nbghostcells 330 330 DO jj = mj0(ind1), mj1(ind2) 331 331 DO ji = 1, jpi … … 335 335 ENDIF 336 336 IF( lk_north ) THEN ! --- North --- ! 337 ind1 = jpjglo - ( nn_hls + nbghostcells + jshift) - jspongearea - 1338 ind2 = jpjglo - ( nn_hls + nbghostcells + jshift) - 1 ! halo + land + nbghostcells - 1337 ind1 = jpjglo - ( nn_hls + nbghostcells -1 + jshift) - jspongearea - 1 338 ind2 = jpjglo - ( nn_hls + nbghostcells -1 + jshift) - 1 ! halo + land + nbghostcells - 1 339 339 DO jj = mj0(ind1), mj1(ind2) 340 340 DO ji = 1, jpi … … 343 343 END DO 344 344 ! ghost cells: 345 ind1 = jpjglo - ( nn_hls + nbghostcells + jshift) ! halo + land + nbghostcells - 1345 ind1 = jpjglo - ( nn_hls + nbghostcells -1 + jshift) ! halo + land + nbghostcells - 1 346 346 ind2 = jpjglo 347 347 DO jj = mj0(ind1), mj1(ind2) … … 741 741 742 742 jmax = j2-1 743 ind1 = jpjglo - ( nn_hls + nbghostcells + 2) ! North743 ind1 = jpjglo - ( nn_hls + nbghostcells + 1 ) ! North 744 744 DO jj = mj0(ind1), mj1(ind1) 745 745 jmax = MIN(jmax,jj) … … 905 905 906 906 imax = i2 - 1 907 ind1 = jpiglo - ( nn_hls + nbghostcells + 2) ! East907 ind1 = jpiglo - ( nn_hls + nbghostcells + 1 ) ! East 908 908 DO ji = mi0(ind1), mi1(ind1) 909 909 imax = MIN(imax,ji) … … 1005 1005 1006 1006 jmax = j2-1 1007 ind1 = jpjglo - ( nn_hls + nbghostcells + 2) ! North1007 ind1 = jpjglo - ( nn_hls + nbghostcells + 1 ) ! North 1008 1008 DO jj = mj0(ind1), mj1(ind1) 1009 1009 jmax = MIN(jmax,jj) … … 1072 1072 1073 1073 imax = i2 - 1 1074 ind1 = jpiglo - ( nn_hls + nbghostcells + 2) ! East1074 ind1 = jpiglo - ( nn_hls + nbghostcells + 1 ) ! East 1075 1075 DO ji = mi0(ind1), mi1(ind1) 1076 1076 imax = MIN(imax,ji) -
NEMO/branches/2021/dev_r14608_AGRIF_domcfg/src/OCE/par_oce.F90
r14433 r14688 47 47 ! global domain size for AGRIF !!! * total AGRIF computational domain * 48 48 INTEGER, PUBLIC :: nbug_in_agrif_conv_do_not_remove_or_modify = 1 - 1 49 INTEGER, PUBLIC, PARAMETER :: nbghostcells = 3!: number of ghost cells: default value49 INTEGER, PUBLIC, PARAMETER :: nbghostcells = 4 !: number of ghost cells: default value 50 50 INTEGER, PUBLIC :: nbghostcells_x !: number of ghost cells in i-direction 51 51 INTEGER, PUBLIC :: nbghostcells_y_s !: number of ghost cells in j-direction at south -
NEMO/branches/2021/dev_r14608_AGRIF_domcfg/tests/DOME/EXPREF/AGRIF_FixedGrids.in
r14216 r14688 1 1 1 2 2 78 358 88 1622 2 22 282 362 92 170 2 2 2 3 3 0 -
NEMO/branches/2021/dev_r14608_AGRIF_domcfg/tests/DOME/MY_SRC/usrdef_hgr.F90
r14254 r14688 23 23 IMPLICIT NONE 24 24 PRIVATE 25 26 REAL(wp) :: roffsetx, roffsety ! Offset in km to first f-point 25 27 26 28 PUBLIC usr_def_hgr ! called by domhgr.F90 … … 64 66 ! 65 67 INTEGER :: ji, jj ! dummy loop indices 66 REAL(wp) :: zphi0, zlam067 68 REAL(wp) :: zti, ztj ! local scalars 68 69 !!------------------------------------------------------------------------------- … … 77 78 ! Position coordinates (in kilometers) 78 79 ! ========== 79 zlam0 = -REAL( 0.5 + 1700._wp * 1.e3 / rn_dx) 80 zphi0 = -REAL( 0.5 + 800._wp * 1.e3 / rn_dy) 80 ! Offsets in km of the first south west f-point: 81 roffsetx = -1700._wp 82 roffsety = -800._wp 81 83 #if defined key_agrif 82 IF( .NOT.Agrif_Root() ) THEN 83 zlam0 = - REAL( 0.5 + 1700._wp * 1.e3 / rn_dx + nbghostcells) & 84 & + REAL((nbghostcells + Agrif_Ix() - 1)*Agrif_irhox()) 85 zphi0 = - REAL( 0.5 + 800._wp * 1.e3 / rn_dy + nbghostcells) & 86 & + REAL((nbghostcells + Agrif_Iy() - 1)*Agrif_irhoy()) 87 ENDIF 84 IF( .NOT.Agrif_Root() ) THEN 85 ! deduce offset from parent: 86 roffsetx = Agrif_Parent(roffsetx) & 87 & + (-(nbghostcells_x - 1) + (Agrif_Parent(nbghostcells_x ) & 88 & + Agrif_Ix()-2)*Agrif_Rhox()) * 1.e-3 * rn_dx 89 roffsety = Agrif_Parent(roffsety) & 90 & + (-(nbghostcells_y_s - 1) + (Agrif_Parent(nbghostcells_y_s) & 91 & + Agrif_Iy()-2)*Agrif_Rhoy()) * 1.e-3 * rn_dy 92 ENDIF 88 93 #endif 89 94 90 DO_2D( 1, 1, 1, 1)91 zti = REAL( mig0 _oldcmp(ji) - 1, wp ) ! start at i=0 in the global grid without halos92 ztj = REAL( mjg0 _oldcmp(jj) - 1, wp ) ! start at j=0 in the global grid without halos95 DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 96 zti = REAL( mig0(ji) - 1, wp ) ! start at i=0 in the global grid without halos 97 ztj = REAL( mjg0(jj) - 1, wp ) ! start at j=0 in the global grid without halos 93 98 94 plamt(ji,jj) = r n_dx * 1.e-3 * ( zlam0 + zti)95 plamu(ji,jj) = r n_dx * 1.e-3 * ( zlam0 + zti + 0.5_wp )99 plamt(ji,jj) = roffsetx + rn_dx * 1.e-3 * ( zti - 0.5_wp ) 100 plamu(ji,jj) = roffsetx + rn_dx * 1.e-3 * zti 96 101 plamv(ji,jj) = plamt(ji,jj) 97 102 plamf(ji,jj) = plamu(ji,jj) 98 103 99 pphit(ji,jj) = r n_dy * 1.e-3 * ( zphi0 + ztj)100 pphiv(ji,jj) = r n_dy * 1.e-3 * ( zphi0 + ztj + 0.5_wp )104 pphit(ji,jj) = roffsety + rn_dy * 1.e-3 * ( ztj - 0.5_wp ) 105 pphiv(ji,jj) = roffsety + rn_dy * 1.e-3 * ztj 101 106 pphiu(ji,jj) = pphit(ji,jj) 102 107 pphif(ji,jj) = pphiv(ji,jj) -
NEMO/branches/2021/dev_r14608_AGRIF_domcfg/tests/DOME/MY_SRC/usrdef_nam.F90
r14433 r14688 60 60 ! 61 61 INTEGER :: ios ! Local integer 62 INTEGER :: ighost_w, ighost_e, ighost_s, ighost_n 62 63 REAL(wp):: zlx, zly, zh ! Local scalars 63 64 !! … … 74 75 rn_dx = Agrif_Parent(rn_dx)/Agrif_Rhox() 75 76 rn_dy = Agrif_Parent(rn_dy)/Agrif_Rhoy() 76 rn_dz = Agrif_Parent(rn_dz)77 77 rn_f0 = Agrif_Parent(rn_f0) 78 78 ENDIF … … 84 84 kk_cfg = nINT( rn_dx ) 85 85 ! 86 #if defined key_agrif 86 87 IF( Agrif_Root() ) THEN ! Global Domain size: DOME global domain is 2000 km x 850 Km x 3600 m 88 #endif 87 89 kpi = NINT( 2000.e3 / rn_dx ) + 2 88 90 kpj = NINT( 850.e3 / rn_dy ) + 2 + 1 91 #if defined key_agrif 89 92 ELSE ! Global Domain size: add nbghostcells + 1 "land" point on each side 90 kpi = nbcellsx + 2 * ( nbghostcells + 1 ) 91 kpj = nbcellsy + 2 * ( nbghostcells + 1 ) 92 !!$ kpi = nbcellsx + nbghostcells_x + nbghostcells_x + 2 93 !!$ kpj = nbcellsy + nbghostcells_y_s + nbghostcells_y_n + 2 93 ! At this stage, child ghosts have not been set 94 ighost_w = nbghostcells 95 ighost_e = nbghostcells 96 ighost_s = nbghostcells 97 ighost_n = nbghostcells 98 99 IF ( Agrif_Ix() == 1 ) ighost_w = 0 100 IF ( Agrif_Ix() + nbcellsx/AGRIF_Irhox() == Agrif_Parent(Ni0glo)+1 ) ighost_e = 0 101 IF ( Agrif_Iy() == 1 ) ighost_s = 0 102 IF ( Agrif_Iy() + nbcellsy/AGRIF_Irhoy() == Agrif_Parent(Nj0glo)+1 ) ighost_n = 0 103 kpi = nbcellsx + ighost_w + ighost_e 104 kpj = nbcellsy + ighost_s + ighost_n 105 !! JC: number of ghosts are unknown at this stage ! 106 !!$ kpi = nbcellsx + nbghostcells_x + nbghostcells_x 107 !!$ kpj = nbcellsy + nbghostcells_y_s + nbghostcells_y_n 94 108 ENDIF 109 #endif 95 110 kpk = NINT( 3600._wp / rn_dz ) + 1 96 111 ! -
NEMO/branches/2021/dev_r14608_AGRIF_domcfg/tests/DOME/MY_SRC/usrdef_zgr.F90
r14433 r14688 193 193 pe3w (ji,jj,ik ) = pdept(ji,jj,ik ) - pdept(ji,jj,ik-1) ! st caution ik > 1 194 194 END_2D 195 ! ! bottom scale factors and depth at U-, V-, UW and VW-points 196 ! ! usually Computed as the minimum of neighbooring scale factors 197 pe3u (:,:,:) = pe3t(:,:,:) ! HERE DOME configuration : 198 pe3v (:,:,:) = pe3t(:,:,:) ! e3 increases with i-index and identical with j-index 199 pe3f (:,:,:) = pe3t(:,:,:) ! so e3 minimum of (i,i+1) points is (i) point 200 pe3uw(:,:,:) = pe3w(:,:,:) ! in j-direction e3v=e3t and e3f=e3v 201 pe3vw(:,:,:) = pe3w(:,:,:) ! ==>> no need of lbc_lnk calls 195 ! 196 DO_3D( 0, 0, 0, 0, 1, jpk ) 197 pe3u (ji,jj,jk) = MIN( pe3t(ji,jj,jk), pe3t(ji+1,jj,jk) ) 198 pe3v (ji,jj,jk) = MIN( pe3t(ji,jj,jk), pe3t(ji,jj+1,jk) ) 199 pe3uw(ji,jj,jk) = MIN( pe3w(ji,jj,jk), pe3w(ji+1,jj,jk) ) 200 pe3vw(ji,jj,jk) = MIN( pe3w(ji,jj,jk), pe3w(ji,jj+1,jk) ) 201 END_3D 202 ! 203 CALL lbc_lnk('usrdef_zgr', pe3u , 'U', 1._wp, pe3uw, 'U', 1._wp ) 204 CALL lbc_lnk('usrdef_zgr', pe3v , 'V', 1._wp, pe3vw, 'V', 1._wp ) 205 ! 206 DO jk = 1, jpk 207 WHERE( pe3u (:,:,jk) == 0._wp ) pe3u (:,:,jk) = pe3t_1d(jk) 208 WHERE( pe3v (:,:,jk) == 0._wp ) pe3v (:,:,jk) = pe3t_1d(jk) 209 WHERE( pe3uw(:,:,jk) == 0._wp ) pe3uw(:,:,jk) = pe3w_1d(jk) 210 WHERE( pe3vw(:,:,jk) == 0._wp ) pe3vw(:,:,jk) = pe3w_1d(jk) 211 END DO 212 213 DO_3D( 0, 0, 0, 0, 1, jpk ) 214 pe3f(ji,jj,jk) = MIN( pe3v(ji,jj,jk), pe3v(ji+1,jj,jk) ) 215 END_3D 216 CALL lbc_lnk('usrdef_zgr', pe3f, 'F', 1._wp ) 202 217 ! 203 218 ENDIF -
NEMO/branches/2021/dev_r14608_AGRIF_domcfg/tests/ICE_AGRIF/EXPREF/AGRIF_FixedGrids.in
r14673 r14688 1 1 1 2 3 4 63 34 633 3 32 35 64 35 64 3 3 3 3 3 0 -
NEMO/branches/2021/dev_r14608_AGRIF_domcfg/tests/ICE_AGRIF/MY_SRC/usrdef_hgr.F90
r14673 r14688 23 23 IMPLICIT NONE 24 24 PRIVATE 25 26 REAL(wp) :: roffsetx, roffsety ! Offset in km to first f-point 25 27 26 28 PUBLIC usr_def_hgr ! called by domhgr.F90 … … 50 52 !! without Coriolis force (f=0) 51 53 !! 52 !! ** Action : - define longitude & latitude of t-, u-, v- and f-points (in degrees)54 !! ** Action : - define longitude & latitude of t-, u-, v- and f-points (in kms) 53 55 !! - define coriolis parameter at f-point if the domain in not on the sphere (on beta-plane) 54 56 !! - define i- & j-scale factors at t-, u-, v- and f-points (in meters) … … 65 67 ! 66 68 INTEGER :: ji, jj ! dummy loop indices 67 REAL(wp) :: z phi0, zlam0, zbeta, zf069 REAL(wp) :: zbeta, zf0 68 70 REAL(wp) :: zti, ztj ! local scalars 69 71 !!------------------------------------------------------------------------------- … … 74 76 IF(lwp) WRITE(numout,*) ' f-plane with irregular grid-spacing (+- 10%)' 75 77 IF(lwp) WRITE(numout,*) ' the max is given by rn_dx and rn_dy' 78 ! 79 ! 80 ! Position coordinates (in kilometers) 81 ! ========== 82 ! Offset is given at first f-point, i.e. at (i,j) = (nn_hls+1, nn_hls+1) 83 ! Here we assume the grid is centred around a T-point at the middle of 84 ! of the domain (hence domain size is odd) 85 roffsetx = (-REAL(Ni0glo-1, wp) + 1._wp) * 0.5 * 1.e-3 * rn_dx 86 roffsety = (-REAL(Nj0glo-1, wp) + 1._wp) * 0.5 * 1.e-3 * rn_dy 87 #if defined key_agrif 88 IF( .NOT.Agrif_Root() ) THEN 89 ! deduce offset from parent: 90 roffsetx = Agrif_Parent(roffsetx) & 91 & + (-(nbghostcells_x - 1) + (Agrif_Parent(nbghostcells_x ) & 92 & + Agrif_Ix()-2)*Agrif_Rhox()) * 1.e-3 * rn_dx 93 roffsety = Agrif_Parent(roffsety) & 94 & + (-(nbghostcells_y_s - 1) + (Agrif_Parent(nbghostcells_y_s) & 95 & + Agrif_Iy()-2)*Agrif_Rhoy()) * 1.e-3 * rn_dy 96 ENDIF 97 #endif 98 DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 99 zti = REAL( mig0(ji)-1, wp ) ! start at i=0 in the global grid without halos 100 ztj = REAL( mjg0(jj)-1, wp ) ! start at j=0 in the global grid without halos 76 101 77 ! ========== 78 #if defined key_agrif 79 IF( Agrif_Root() ) THEN 80 #endif 81 zlam0 = -REAL(Ni0glo-1, wp) * 0.5 * 1.e-3 * rn_dx 82 zphi0 = -REAL(Nj0glo-1, wp) * 0.5 * 1.e-3 * rn_dy 83 #if defined key_agrif 84 ELSE 85 ! ! let lower left longitude and latitude from parent 86 !clem zlam0 = Agrif_Parent(zlam0) + (Agrif_ix())*Agrif_Parent(rn_dx) * 1.e-5 87 !clem zphi0 = Agrif_Parent(zphi0) + (Agrif_iy())*Agrif_Parent(rn_dy) * 1.e-5 88 zlam0 = ( 0.5_wp - REAL(Agrif_Parent(Ni0glo)-1, wp) * 0.5 ) * 1.e-3 * Agrif_irhox() * rn_dx & 89 & + ( Agrif_Ix() + Agrif_Parent(nbghostcells_x ) - 1 ) * Agrif_irhox() * rn_dx * 1.e-3 - ( 0.5_wp + nbghostcells_x ) * rn_dx * 1.e-3 90 zphi0 = ( 0.5_wp - REAL(Agrif_Parent(Nj0glo)-1, wp) * 0.5 ) * 1.e-3 * Agrif_irhoy() * rn_dy & 91 & + ( Agrif_Iy() + Agrif_Parent(nbghostcells_y_s) - 1 ) * Agrif_irhoy() * rn_dy * 1.e-3 - ( 0.5_wp + nbghostcells_y_s ) * rn_dy * 1.e-3 92 ENDIF 93 #endif 102 plamt(ji,jj) = roffsetx + rn_dx * 1.e-3 * ( zti - 0.5_wp ) 103 plamu(ji,jj) = roffsetx + rn_dx * 1.e-3 * zti 104 plamv(ji,jj) = plamt(ji,jj) 105 plamf(ji,jj) = plamu(ji,jj) 94 106 95 DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 96 zti = REAL( mig0(ji)-1, wp ) ! start at i=0. in the global grid without halos 97 ztj = REAL( mjg0(jj)-1, wp ) ! start at j=0. in the global grid without halos 98 99 plamt(ji,jj) = zlam0 + rn_dx * 1.e-3 * zti 100 plamu(ji,jj) = zlam0 + rn_dx * 1.e-3 * ( zti + 0.5_wp ) 101 plamv(ji,jj) = plamt(ji,jj) 102 plamf(ji,jj) = plamu(ji,jj) 103 104 pphit(ji,jj) = zphi0 + rn_dy * 1.e-3 * ztj 105 pphiv(ji,jj) = zphi0 + rn_dy * 1.e-3 * ( ztj + 0.5_wp ) 106 pphiu(ji,jj) = pphit(ji,jj) 107 pphif(ji,jj) = pphiv(ji,jj) 107 pphit(ji,jj) = roffsety + rn_dy * 1.e-3 * ( ztj - 0.5_wp ) 108 pphiv(ji,jj) = roffsety + rn_dy * 1.e-3 * ztj 109 pphiu(ji,jj) = pphit(ji,jj) 110 pphif(ji,jj) = pphiv(ji,jj) 108 111 END_2D 109 110 111 112 ! 113 ! Horizontal scale factors (in meters) 114 ! ====== 112 115 !! ==> EITHER 1) variable scale factors 113 116 !! clem: This can be used with a 1proc simulation but I think it breaks repro when >1procs are used -
NEMO/branches/2021/dev_r14608_AGRIF_domcfg/tests/ICE_AGRIF/MY_SRC/usrdef_nam.F90
r14433 r14688 88 88 kpj = NINT( 300.e3 / rn_dy ) - 3 89 89 ELSE ! Global Domain size: add nbghostcells + 1 "land" point on each side 90 kpi = nbcellsx + 2 * ( nbghostcells + 1 ) 91 kpj = nbcellsy + 2 * ( nbghostcells + 1 ) 90 kpi = nbcellsx + 2 * nbghostcells 91 kpj = nbcellsy + 2 * nbghostcells 92 !! JC: number of ghosts unknown at this tage 92 93 !!$ kpi = nbcellsx + nbghostcells_x + nbghostcells_x + 2 93 94 !!$ kpj = nbcellsy + nbghostcells_y_s + nbghostcells_y_n + 2 -
NEMO/branches/2021/dev_r14608_AGRIF_domcfg/tests/OVERFLOW/EXPREF/AGRIF/AGRIF_FixedGrids.in
r14568 r14688 1 1 1 2 1 0 41 1 41 1 12 11 42 1 6 1 1 1 3 3 0 -
NEMO/branches/2021/dev_r14608_AGRIF_domcfg/tests/VORTEX/EXPREF/AGRIF_FixedGrids.in
r14656 r14688 1 1 1 2 2 2 41 22 413 3 32 23 42 23 42 3 3 3 3 3 0 -
NEMO/branches/2021/dev_r14608_AGRIF_domcfg/tests/VORTEX/MY_SRC/usrdef_hgr.F90
r14656 r14688 23 23 IMPLICIT NONE 24 24 PRIVATE 25 26 REAL(wp) :: roffsetx, roffsety ! Offset in km to first f-point 25 27 26 28 PUBLIC usr_def_hgr ! called by domhgr.F90 … … 64 66 ! 65 67 INTEGER :: ji, jj ! dummy loop indices 66 REAL(wp) :: z phi0, zlam0, zbeta, zf068 REAL(wp) :: zbeta, zf0 67 69 REAL(wp) :: zti, ztj ! local scalars 68 70 !!------------------------------------------------------------------------------- … … 77 79 ! Position coordinates (in kilometers) 78 80 ! ========== 79 #if defined key_agrif 80 IF( Agrif_Root() ) THEN81 #endif 82 zlam0 = -REAL(Ni0glo-1,wp) * 0.5 * 1.e-3 * rn_dx83 zphi0 = -REAL(Nj0glo-1,wp) * 0.5 * 1.e-3 * rn_dy81 ! offset is given at first f-point, i.e. at (i,j) = (nn_hls+1, nn_hls+1) 82 ! Here we assume the grid is centred around a T-point at the middle of 83 ! of the domain (hence domain size is odd) 84 roffsetx = (-REAL(Ni0glo-1, wp) + 1._wp) * 0.5 * 1.e-3 * rn_dx 85 roffsety = (-REAL(Nj0glo-1, wp) + 1._wp) * 0.5 * 1.e-3 * rn_dy 84 86 #if defined key_agrif 85 ELSE 86 ! ! let lower left longitude and latitude from parent 87 zlam0 = ( 0.5_wp - REAL(Agrif_Parent(Ni0glo)-1, wp) * 0.5 ) * 1.e-3 * Agrif_irhox() * rn_dx & 88 & + ( Agrif_Ix() + Agrif_Parent(nbghostcells_x ) - 1 ) * Agrif_irhox() * rn_dx * 1.e-3 - ( 0.5_wp + nbghostcells_x ) * rn_dx * 1.e-3 89 zphi0 = ( 0.5_wp - REAL(Agrif_Parent(Nj0glo)-1, wp) * 0.5 ) * 1.e-3 * Agrif_irhoy() * rn_dy & 90 & + ( Agrif_Iy() + Agrif_Parent(nbghostcells_y_s) - 1 ) * Agrif_irhoy() * rn_dy * 1.e-3 - ( 0.5_wp + nbghostcells_y_s ) * rn_dy * 1.e-3 91 ENDIF 92 #endif 93 87 IF( .NOT.Agrif_Root() ) THEN 88 ! deduce offset from parent: 89 roffsetx = Agrif_Parent(roffsetx) & 90 & + (-(nbghostcells_x - 1) + (Agrif_Parent(nbghostcells_x ) + Agrif_Ix()-2)*Agrif_Rhox()) * 1.e-3 * rn_dx 91 roffsety = Agrif_Parent(roffsety) & 92 & + (-(nbghostcells_y_s - 1) + (Agrif_Parent(nbghostcells_y_s) + Agrif_Iy()-2)*Agrif_Rhoy()) * 1.e-3 * rn_dy 93 ENDIF 94 #endif 94 95 DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 95 96 zti = REAL( mig0(ji)-1, wp ) ! start at i=0 in the global grid without halos 96 97 ztj = REAL( mjg0(jj)-1, wp ) ! start at j=0 in the global grid without halos 97 98 98 plamt(ji,jj) = zlam0 + rn_dx * 1.e-3 * zti99 plamu(ji,jj) = zlam0 + rn_dx * 1.e-3 * ( zti + 0.5_wp )99 plamt(ji,jj) = roffsetx + rn_dx * 1.e-3 * ( zti - 0.5_wp ) 100 plamu(ji,jj) = roffsetx + rn_dx * 1.e-3 * zti 100 101 plamv(ji,jj) = plamt(ji,jj) 101 102 plamf(ji,jj) = plamu(ji,jj) 102 103 103 pphit(ji,jj) = zphi0 + rn_dy * 1.e-3 * ztj104 pphiv(ji,jj) = zphi0 + rn_dy * 1.e-3 * ( ztj + 0.5_wp )104 pphit(ji,jj) = roffsety + rn_dy * 1.e-3 * ( ztj - 0.5_wp ) 105 pphiv(ji,jj) = roffsety + rn_dy * 1.e-3 * ztj 105 106 pphiu(ji,jj) = pphit(ji,jj) 106 107 pphif(ji,jj) = pphiv(ji,jj) -
NEMO/branches/2021/dev_r14608_AGRIF_domcfg/tests/VORTEX/MY_SRC/usrdef_nam.F90
r14433 r14688 60 60 ! 61 61 INTEGER :: ios ! Local integer 62 INTEGER :: ighost_n, ighost_s, ighost_w, ighost_e 62 63 REAL(wp):: zlx, zly, zh ! Local scalars 63 64 !! … … 83 84 kk_cfg = nINT( rn_dx ) 84 85 ! 86 #if defined key_agrif 85 87 IF( Agrif_Root() ) THEN ! Global Domain size: VORTEX global domain is 1800 km x 1800 Km x 5000 m 88 #endif 86 89 kpi = NINT( 1800.e3 / rn_dx ) + 3 87 90 kpj = NINT( 1800.e3 / rn_dy ) + 3 91 #if defined key_agrif 88 92 ELSE ! Global Domain size: add nbghostcells + 1 "land" point on each side 89 kpi = nbcellsx + 2 * ( nbghostcells + 1 ) 90 kpj = nbcellsy + 2 * ( nbghostcells + 1 ) 91 !!$ kpi = nbcellsx + nbghostcells_x + nbghostcells_x + 2 92 !!$ kpj = nbcellsy + nbghostcells_y_s + nbghostcells_y_n + 2 93 ! At this stage, child ghosts have not been set 94 ighost_w = nbghostcells 95 ighost_e = nbghostcells 96 ighost_s = nbghostcells 97 ighost_n = nbghostcells 98 99 IF ( Agrif_Ix() == 1 ) ighost_w = 0 100 IF ( Agrif_Ix() + nbcellsx/AGRIF_Irhox() == Agrif_Parent(Ni0glo)+1 ) ighost_e = 0 101 IF ( Agrif_Iy() == 1 ) ighost_s = 0 102 IF ( Agrif_Iy() + nbcellsy/AGRIF_Irhoy() == Agrif_Parent(Nj0glo)+1 ) ighost_n = 0 103 ! kpi = nbcellsx + 2 * ( nbghostcells + 1 ) 104 ! kpj = nbcellsy + 2 * ( nbghostcells + 1 ) 105 kpi = nbcellsx + ighost_w + ighost_e 106 kpj = nbcellsy + ighost_s + ighost_n 93 107 ENDIF 108 #endif 94 109 kpk = NINT( 5000._wp / rn_dz ) + 1 95 110 !
Note: See TracChangeset
for help on using the changeset viewer.