Changeset 352 for trunk/NEMO/OPA_SRC/mppini.F90
- Timestamp:
- 2005-12-12T15:18:10+01:00 (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OPA_SRC/mppini.F90
r258 r352 16 16 USE sol_oce ! ocean elliptic solver 17 17 USE lib_mpp ! distribued memory computing library 18 USE ioipsl 18 19 19 20 IMPLICIT NONE … … 51 52 !! 9.0 ! 04-01 (G. Madec, J.M. Molines) F90 : free form, north fold jpni >1 52 53 !!---------------------------------------------------------------------- 54 53 55 ! No mpp computation 54 55 56 nimpp = 1 56 57 njmpp = 1 … … 64 65 nbondi = 2 65 66 nbondj = 2 67 nidom = FLIO_DOM_NONE 68 66 69 IF(lwp) THEN 67 70 WRITE(numout,*) … … 80 83 nstop = nstop + 1 81 84 ENDIF 85 82 86 83 87 END SUBROUTINE mpp_init … … 499 503 !! 9.0 ! 04-03 (G. Madec) MPP-IOIPSL 500 504 !!---------------------------------------------------------------------- 501 USE ioipsl 502 INTEGER, DIMENSION(4) :: & 503 iglo, iloc, iabsf, iabsl, ihals, ihale ! ??? 504 !!---------------------------------------------------------------------- 505 !! Local declarations 506 507 INTEGER, DIMENSION(2) :: & 508 iglo, iloc, iabsf, iabsl, ihals, ihale, idid 509 INTEGER :: & 510 inbondi, inbondj 511 !!---------------------------------------------------------------------- 512 513 ! The domain is splitted only horizontally along i- or/and j- direction 514 ! So we need at the most only 1D arrays with 2 elements 505 515 iglo(1) = jpiglo 506 516 iglo(2) = jpjglo 507 iglo(3) = jpk508 iglo(4) = 1509 517 iloc(1) = nlci 510 518 iloc(2) = nlcj 511 iloc(3) = jpk512 iloc(4) = 1513 519 iabsf(1) = nimppt(narea) 514 520 iabsf(2) = njmppt(narea) 515 iabsf(3) = 1516 iabsf(4) = 1517 521 iabsl(:) = iabsf(:) + iloc(:) - 1 518 522 ihals(1) = jpreci 519 523 ihals(2) = jprecj 520 ihals(3) = 0521 ihals(4) = 0522 524 ihale(1) = jpreci 523 525 ihale(2) = jprecj 524 ihale(3) = 0 525 ihale(4) = 0 526 IF( nbondi == -1 .OR. nbondi == 2 ) ihals(1) = 0 527 IF( nbondi == 1 .OR. nbondi == 2 ) ihale(1) = 0 528 IF( nbondj == -1 .OR. nbondj == 2 ) ihals(2) = 0 529 IF( nbondj == 1 .OR. nbondj == 2 ) ihale(2) = 0 526 idid(1) = 1 527 idid(2) = 2 528 529 inbondj = -1 ! general case 530 IF( narea > jpni ) inbondj = 0 ! first row of processor 531 IF( narea > (jpnj-1)*jpni ) inbondj = 1 ! last row of processor 532 IF( jpnj == 1 ) inbondj = 2 ! one processor only in j-direction 533 IF( inbondj == -1 .OR. inbondj == 2 ) ihals(2) = 0 534 IF( inbondj == 1 .OR. inbondj == 2 ) ihale(2) = 0 535 536 inbondi = 0 ! 537 IF( MOD( narea, jpni ) == 1 ) inbondi = -1 ! 538 IF( MOD( narea, jpni ) == 0 ) inbondi = 1 ! 539 IF( jpni == 1 ) inbondi = 2 ! one processor only in i-direction 540 IF( inbondi == -1 .OR. inbondi == 2 ) ihals(1) = 0 541 IF( inbondi == 1 .OR. inbondi == 2 ) ihale(1) = 0 542 543 530 544 IF(lwp) THEN 531 WRITE(numout,*) 'mpp_init_ioipsl : iloc = ', iloc (1), iloc (2) , iloc (3), iloc (4)532 WRITE(numout,*) '~~~~~~~~~~~~~~~ iabsf = ', iabsf(1), iabsf(2) , iabsf(3), iabsf(4)533 WRITE(numout,*) ' ihals = ', ihals(1), ihals(2) , ihals(3), ihals(4)534 WRITE(numout,*) ' ihale = ', ihale(1), ihale(2) , ihale(3), ihale(4)535 ENDIF 536 537 CALL ioipsl_inimpp( jpnij, nproc, iglo, iloc, iabsf, iabsl, ihals, ihale)545 WRITE(numout,*) 'mpp_init_ioipsl : iloc = ', iloc (1), iloc (2) 546 WRITE(numout,*) '~~~~~~~~~~~~~~~ iabsf = ', iabsf(1), iabsf(2) 547 WRITE(numout,*) ' ihals = ', ihals(1), ihals(2) 548 WRITE(numout,*) ' ihale = ', ihale(1), ihale(2) 549 ENDIF 550 551 CALL flio_dom_set ( jpnij, nproc, idid, iglo, iloc, iabsf, iabsl, ihals, ihale, 'BOX', nidom) 538 552 539 553 END SUBROUTINE mpp_init_ioipsl
Note: See TracChangeset
for help on using the changeset viewer.