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 9977 for NEMO/branches/UKMO/dev_r9888_proto_GO8_package/src/OCE/LBC – NEMO

Ignore:
Timestamp:
2018-07-20T10:24:45+02:00 (6 years ago)
Author:
davestorkey
Message:

UKMO/dev_r9888_proto_GO8_package branch: merge in changes from trunk to rev 9922.

Location:
NEMO/branches/UKMO/dev_r9888_proto_GO8_package/src/OCE/LBC
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/UKMO/dev_r9888_proto_GO8_package/src/OCE/LBC/lbclnk.F90

    r9892 r9977  
    3838   ! 
    3939   INTERFACE lbc_bdy_lnk 
    40       MODULE PROCEDURE mpp_lnk_bdy_2d, mpp_lnk_bdy_3d 
     40      MODULE PROCEDURE mpp_lnk_bdy_2d, mpp_lnk_bdy_3d, mpp_lnk_bdy_4d 
    4141   END INTERFACE 
    4242   ! 
  • NEMO/branches/UKMO/dev_r9888_proto_GO8_package/src/OCE/LBC/lib_mpp.F90

    r9892 r9977  
    8888   PUBLIC   mppsize 
    8989   PUBLIC   mppsend, mpprecv                          ! needed by TAM and ICB routines 
    90    PUBLIC   mpp_lnk_bdy_2d, mpp_lnk_bdy_3d 
     90   PUBLIC   mpp_lnk_bdy_2d, mpp_lnk_bdy_3d, mpp_lnk_bdy_4d 
    9191   PUBLIC   mpprank 
    9292    
     
    456456   !                       !==  4D array and array of 4D pointer  ==! 
    457457   ! 
    458 !!#  define DIM_4d 
    459 !!#     define ROUTINE_BDY           mpp_lnk_bdy_4d 
    460 !!#     include "mpp_bdy_generic.h90" 
    461 !!#     undef ROUTINE_BDY 
    462 !!#  undef DIM_4d 
     458#  define DIM_4d 
     459#     define ROUTINE_BDY           mpp_lnk_bdy_4d 
     460#     include "mpp_bdy_generic.h90" 
     461#     undef ROUTINE_BDY 
     462#  undef DIM_4d 
    463463 
    464464   !!---------------------------------------------------------------------- 
  • NEMO/branches/UKMO/dev_r9888_proto_GO8_package/src/OCE/LBC/mpp_nfd_generic.h90

    r9805 r9977  
    5656      INTEGER  ::   ipi, ipj, ipk, ipl, ipf         ! dimension of the input array 
    5757      INTEGER  ::   imigr, iihom, ijhom             ! local integers 
    58       INTEGER  ::   ierr, itaille, ildi, ilei, iilb 
     58      INTEGER  ::   ierr, itaille, ilci, ildi, ilei, iilb 
    5959      INTEGER  ::   ij, iproc 
    6060      INTEGER, DIMENSION (jpmaxngh)       ::   ml_req_nf   ! for mpi_isend when avoiding mpi_allgather 
     
    117117            IF(iproc /= -1) THEN 
    118118               iilb = nimppt(iproc+1) 
     119               ilci = nlcit (iproc+1) 
    119120               ildi = nldit (iproc+1) 
    120121               ilei = nleit (iproc+1) 
    121                IF( iilb           ==      1 )   ildi = 1     ! e-w boundary already done -> force to take 1st column 
    122                IF( iilb + jpi - 1 == jpiglo )   ilei = jpi   ! e-w boundary already done -> force to take last column 
     122               IF( iilb            ==      1 )   ildi = 1      ! e-w boundary already done -> force to take 1st column 
     123               IF( iilb + ilci - 1 == jpiglo )   ilei = ilci   ! e-w boundary already done -> force to take last column 
    123124               iilb = nfiimpp(isendto(jr),jpnj) - nfiimpp(isendto(1),jpnj) 
    124125            ENDIF 
     
    185186            iproc = nrank_north(jr) + 1 
    186187            iilb  = nimppt(iproc) 
     188            ilci  = nlcit (iproc) 
    187189            ildi  = nldit (iproc) 
    188190            ilei  = nleit (iproc) 
    189             IF( iilb           ==      1 )   ildi = 1     ! e-w boundary already done -> force to take 1st column 
    190             IF( iilb + jpi - 1 == jpiglo )   ilei = jpi   ! e-w boundary already done -> force to take last column 
     191            IF( iilb            ==      1 )   ildi = 1      ! e-w boundary already done -> force to take 1st column 
     192            IF( iilb + ilci - 1 == jpiglo )   ilei = ilci   ! e-w boundary already done -> force to take last column 
    191193            DO jf = 1, ipf 
    192194               DO jl = 1, ipl 
  • NEMO/branches/UKMO/dev_r9888_proto_GO8_package/src/OCE/LBC/mppini.F90

    r9892 r9977  
    536536               &                                ibonit (jproc), ibonjt (jproc)  
    537537         END DO 
    538          CLOSE(inum)    
    539538      END IF 
    540539 
     
    577576      IF( jperio >= 3 .AND. jperio <= 6 .AND. jpni > 1 ) THEN 
    578577         CALL mpp_ini_north 
    579          IF(lwp) WRITE(numout,*) 
    580          IF(lwp) WRITE(numout,*) '   ==>>>   North fold boundary prepared for jpni >1' 
     578         IF (lwp) THEN 
     579            WRITE(numout,*) 
     580            WRITE(numout,*) '   ==>>>   North fold boundary prepared for jpni >1' 
     581            ! additional prints in layout.dat 
     582            WRITE(inum,*) 
     583            WRITE(inum,*) 
     584            WRITE(inum,*) 'number of subdomains located along the north fold : ', ndim_rank_north 
     585            WRITE(inum,*) 'Rank of the subdomains located along the north fold : ', ndim_rank_north 
     586            DO jproc = 1, ndim_rank_north, 5 
     587               WRITE(inum,*) nrank_north( jproc:MINVAL( (/jproc+4,ndim_rank_north/) ) ) 
     588            END DO 
     589         ENDIF 
    581590      ENDIF 
    582591      ! 
    583592      CALL mpp_init_ioipsl       ! Prepare NetCDF output file (if necessary) 
    584593      ! 
    585       IF( ln_nnogather )   CALL mpp_init_nfdcom     ! northfold neighbour lists 
     594      IF( ln_nnogather ) THEN 
     595         CALL mpp_init_nfdcom     ! northfold neighbour lists 
     596         IF (lwp) THEN 
     597            WRITE(inum,*) 
     598            WRITE(inum,*) 
     599            WRITE(inum,*) 'north fold exchanges with explicit point-to-point messaging :' 
     600            WRITE(inum,*) 'nfsloop : ', nfsloop 
     601            WRITE(inum,*) 'nfeloop : ', nfeloop 
     602            WRITE(inum,*) 'nsndto : ', nsndto 
     603            WRITE(inum,*) 'isendto : ', isendto 
     604         ENDIF 
     605      ENDIF 
     606      ! 
     607      IF (lwp) CLOSE(inum)    
    586608      ! 
    587609      DEALLOCATE(iin, ijn, ii_nono, ii_noea, ii_noso, ii_nowe,    & 
Note: See TracChangeset for help on using the changeset viewer.