New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 354 for trunk/NEMO – NEMO

Changeset 354 for trunk/NEMO


Ignore:
Timestamp:
2005-12-12T16:56:48+01:00 (19 years ago)
Author:
opalod
Message:

nemo_v1_update_033 : CT : Switch to IOIPSL-3-0 new library

Location:
trunk/NEMO/OFF_SRC
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/OFF_SRC/DOM/domrea.F90

    r343 r354  
    128128            CALL restini( clnam0, jpidta   , jpjdta   , glamt, gphit,  &   ! create 'mesh_mask.nc' file 
    129129            &             jpk   , gdept , trim(clnam0)        ,  &   ! in unit inum0 
    130             &             itime , zdate0, rdt   , inum0          ) 
     130            &             itime , zdate0, rdt   , inum0, domain_id=nidom ) 
    131131            inum2 = inum0                                            ! put all the informations 
    132132            inum3 = inum0                                            ! in unit inum0 
     
    141141            CALL restini( clnam1, jpidta   , jpjdta   , glamt, gphit,  &   ! create 'mesh.nc' file  
    142142            &             jpk   , gdept , trim(clnam1)        ,  &   ! in unit inum1  
    143             &             itime , zdate0, rdt   , inum1          ) 
     143            &             itime , zdate0, rdt   , inum1, domain_id=nidom ) 
    144144            CALL restini( clnam2, jpidta   , jpjdta   , glamt, gphit,  &   ! create 'mask.nc' file  
    145145            &             jpk   , gdept , trim(clnam2)        ,  &   ! in unit inum2  
    146             &             itime , zdate0, rdt   , inum2          ) 
     146            &             itime , zdate0, rdt   , inum2, domain_id=nidom ) 
    147147            inum3 = inum1                                            ! put mesh informations  
    148148            inum4 = inum1                                            ! in unit inum1  
     
    157157            CALL restini( clnam3, jpidta   , jpjdta   , glamt, gphit,  &   ! create 'mesh_hgr.nc' file 
    158158            &             jpk   , gdept , trim(clnam3)        ,  &   ! in unit inum3 
    159             &             itime , zdate0, rdt   , inum3          ) 
     159            &             itime , zdate0, rdt   , inum3, domain_id=nidom ) 
    160160            CALL restini( clnam4, jpidta   , jpjdta   , glamt, gphit,  &   ! create 'mesh_zgr.nc' file 
    161161            &             jpk   , gdept , trim(clnam4)        ,  &   ! in unit inum4 
    162             &             itime , zdate0, rdt   , inum4          ) 
     162            &             itime , zdate0, rdt   , inum4, domain_id=nidom ) 
    163163            CALL restini( clnam2, jpidta   , jpjdta   , glamt, gphit,  &   ! create 'mask.nc' file 
    164164            &             jpk   , gdept , trim(clnam2)        ,  &   ! in unit inum2 
    165             &             itime , zdate0, rdt   , inum2          )  
     165            &             itime , zdate0, rdt   , inum2, domain_id=nidom ) 
    166166 
    167167         END SELECT 
  • trunk/NEMO/OFF_SRC/mppini.F90

    r325 r354  
    1515   USE in_out_manager  ! I/O Manager 
    1616   USE lib_mpp         ! distribued memory computing library 
     17   USE ioipsl 
    1718 
    1819   IMPLICIT NONE 
     
    6364      nbondi = 2 
    6465      nbondj = 2 
     66      nidom  = FLIO_DOM_NONE 
     67 
    6568      IF(lwp) THEN 
    6669         WRITE(numout,*) 
     
    498501      !!   9.0  !  04-03  (G. Madec)  MPP-IOIPSL  
    499502      !!---------------------------------------------------------------------- 
    500       USE ioipsl 
    501       INTEGER, DIMENSION(4) ::   & 
    502          iglo, iloc, iabsf, iabsl, ihals, ihale   ! ??? 
    503       !!---------------------------------------------------------------------- 
     503      !! Local declarations 
     504 
     505      INTEGER, DIMENSION(2) ::   & 
     506         iglo, iloc, iabsf, iabsl, ihals, ihale, idid 
     507      INTEGER ::   & 
     508         inbondi, inbondj 
     509      !!---------------------------------------------------------------------- 
     510 
     511      ! The domain is splitted only horizontally along i- or/and j- direction 
     512      ! So we need at the most only 1D arrays with 2 elements 
    504513      iglo(1) = jpiglo 
    505514      iglo(2) = jpjglo 
    506       iglo(3) = jpk 
    507       iglo(4) = 1 
    508515      iloc(1) = nlci 
    509516      iloc(2) = nlcj 
    510       iloc(3) = jpk 
    511       iloc(4) = 1 
    512517      iabsf(1) = nimppt(narea) 
    513518      iabsf(2) = njmppt(narea) 
    514       iabsf(3) = 1 
    515       iabsf(4) = 1 
    516519      iabsl(:) = iabsf(:) + iloc(:) - 1 
    517520      ihals(1) = jpreci 
    518521      ihals(2) = jprecj 
    519       ihals(3) = 0 
    520       ihals(4) = 0 
    521522      ihale(1) = jpreci 
    522523      ihale(2) = jprecj 
    523       ihale(3) = 0 
    524       ihale(4) = 0 
    525       IF( nbondi == -1 .OR. nbondi == 2 )   ihals(1) = 0 
    526       IF( nbondi ==  1 .OR. nbondi == 2 )   ihale(1) = 0 
    527       IF( nbondj == -1 .OR. nbondj == 2 )   ihals(2) = 0 
    528       IF( nbondj ==  1 .OR. nbondj == 2 )   ihale(2) = 0 
     524      idid(1) = 1 
     525      idid(2) = 2 
     526 
     527      inbondj = -1                                   ! general case 
     528      IF( narea   >  jpni          )   inbondj = 0      ! first row of processor 
     529      IF( narea   >  (jpnj-1)*jpni )   inbondj = 1      ! last  row of processor 
     530      IF( jpnj    == 1             )   inbondj = 2      ! one processor only in j-direction 
     531      IF( inbondj == -1 .OR. inbondj == 2 )   ihals(2) = 0 
     532      IF( inbondj ==  1 .OR. inbondj == 2 )   ihale(2) = 0 
     533          
     534      inbondi = 0                                    !  
     535      IF( MOD( narea, jpni ) == 1 )   inbondi = -1      ! 
     536      IF( MOD( narea, jpni ) == 0 )   inbondi =  1      ! 
     537      IF( jpni               == 1 )   inbondi =  2      ! one processor only in i-direction 
     538      IF( inbondi == -1 .OR. inbondi == 2 )   ihals(1) = 0 
     539      IF( inbondi ==  1 .OR. inbondi == 2 )   ihale(1) = 0 
     540 
     541 
    529542      IF(lwp) THEN 
    530           WRITE(numout,*) 'mpp_init_ioipsl :   iloc  = ', iloc (1), iloc (2), iloc (3), iloc (4) 
    531           WRITE(numout,*) '~~~~~~~~~~~~~~~     iabsf = ', iabsf(1), iabsf(2), iabsf(3), iabsf(4) 
    532           WRITE(numout,*) '                    ihals = ', ihals(1), ihals(2), ihals(3), ihals(4) 
    533           WRITE(numout,*) '                    ihale = ', ihale(1), ihale(2), ihale(3), ihale(4) 
    534       ENDIF 
    535  
    536       CALL ioipsl_inimpp( jpnij, nproc, iglo, iloc, iabsf, iabsl, ihals, ihale ) 
     543          WRITE(numout,*) 'mpp_init_ioipsl :   iloc  = ', iloc (1), iloc (2) 
     544          WRITE(numout,*) '~~~~~~~~~~~~~~~     iabsf = ', iabsf(1), iabsf(2) 
     545          WRITE(numout,*) '                    ihals = ', ihals(1), ihals(2) 
     546          WRITE(numout,*) '                    ihale = ', ihale(1), ihale(2) 
     547      ENDIF 
     548 
     549      CALL flio_dom_set ( jpnij, nproc, idid, iglo, iloc, iabsf, iabsl, ihals, ihale, 'BOX', nidom) 
    537550 
    538551   END SUBROUTINE mpp_init_ioipsl   
Note: See TracChangeset for help on using the changeset viewer.