Ignore:
Timestamp:
2020-07-09T17:48:29+02:00 (10 months ago)
Author:
smasson
Message:

trunk: merge extra halos branch in trunk, see #2366

Location:
NEMO/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk

    • Property svn:externals
      •  

        old new  
        22^/utils/build/makenemo@HEAD   makenemo 
        33^/utils/build/mk@HEAD         mk 
        4 ^/utils/tools/@HEAD           tools 
         4^/utils/tools@HEAD            tools 
        55^/vendors/AGRIF/dev_r12970_AGRIF_CMEMS      ext/AGRIF 
        66^/vendors/FCM@HEAD            ext/FCM 
         
        88 
        99# SETTE 
        10 ^/utils/CI/sette@12931        sette 
         10^/utils/CI/r12931_sette_ticket2366@HEAD  sette 
  • NEMO/trunk/src/OFF/nemogcm.F90

    r13237 r13286  
    3131   USE domqco         ! tools for scale factor         (dom_qco_r3c  routine) 
    3232#endif 
    33    USE bdy_oce,  ONLY : ln_bdy 
    34    USE bdyini         ! open boundary cond. setting       (bdy_init routine) 
     33   USE bdyini         ! open boundary cond. setting        (bdy_init routine) 
    3534   !              ! ocean physics 
    3635   USE ldftra         ! lateral diffusivity setting    (ldf_tra_init routine) 
     
    6463   USE timing         ! Timing 
    6564   USE lib_fortran    ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined) 
    66    USE lbcnfd  , ONLY : isendto, nsndto, nfsloop, nfeloop   ! Setup of north fold exchanges 
     65   USE lbcnfd  , ONLY : isendto, nsndto   ! Setup of north fold exchanges 
    6766   USE step, ONLY : Nbb, Nnn, Naa, Nrhs   ! time level indices 
     67   USE halo_mng 
    6868 
    6969   IMPLICIT NONE 
     
    193193      INTEGER ::   ios, ilocal_comm   ! local integers 
    194194      !! 
    195       NAMELIST/namctl/ sn_cfctl, nn_print, nn_ictls, nn_ictle,              & 
    196          &             nn_isplt , nn_jsplt, nn_jctls, nn_jctle,             & 
    197          &             ln_timing, ln_diacfl 
     195      NAMELIST/namctl/ sn_cfctl, ln_timing, ln_diacfl,                                & 
     196         &             nn_isplt,  nn_jsplt,  nn_ictls, nn_ictle, nn_jctls, nn_jctle 
    198197      NAMELIST/namcfg/ ln_read_cfg, cn_domcfg, ln_closea, ln_write_cfg, cn_domcfg_out, ln_use_jattr 
    199198      !!---------------------------------------------------------------------- 
    200199      ! 
    201200      cxios_context = 'nemo' 
     201      nn_hls = 1 
    202202      ! 
    203203      !                             !-------------------------------------------------! 
     
    292292      ! 
    293293      IF( ln_read_cfg ) THEN              ! Read sizes in domain configuration file 
    294          CALL domain_cfg ( cn_cfg, nn_cfg, jpiglo, jpjglo, jpkglo, jperio ) 
     294         CALL domain_cfg ( cn_cfg, nn_cfg, Ni0glo, Nj0glo, jpkglo, jperio ) 
    295295      ELSE                                ! user-defined namelist 
    296          CALL usr_def_nam( cn_cfg, nn_cfg, jpiglo, jpjglo, jpkglo, jperio ) 
     296         CALL usr_def_nam( cn_cfg, nn_cfg, Ni0glo, Nj0glo, jpkglo, jperio ) 
    297297      ENDIF 
    298298      ! 
     
    306306      CALL mpp_init 
    307307 
     308      CALL halo_mng_init() 
    308309      ! Now we know the dimensions of the grid and numout has been set: we can allocate arrays 
    309310      CALL nemo_alloc() 
     
    386387         WRITE(numout,*) '                              sn_cfctl%procincr  = ', sn_cfctl%procincr  
    387388         WRITE(numout,*) '                              sn_cfctl%ptimincr  = ', sn_cfctl%ptimincr  
    388          WRITE(numout,*) '      level of print                  nn_print   = ', nn_print 
    389          WRITE(numout,*) '      Start i indice for SUM control  nn_ictls   = ', nn_ictls 
    390          WRITE(numout,*) '      End i indice for SUM control    nn_ictle   = ', nn_ictle 
    391          WRITE(numout,*) '      Start j indice for SUM control  nn_jctls   = ', nn_jctls 
    392          WRITE(numout,*) '      End j indice for SUM control    nn_jctle   = ', nn_jctle 
    393          WRITE(numout,*) '      number of proc. following i     nn_isplt   = ', nn_isplt 
    394          WRITE(numout,*) '      number of proc. following j     nn_jsplt   = ', nn_jsplt 
    395389         WRITE(numout,*) '      timing by routine               ln_timing  = ', ln_timing 
    396390         WRITE(numout,*) '      CFL diagnostics                 ln_diacfl  = ', ln_diacfl 
    397391      ENDIF 
    398       ! 
    399       nprint    = nn_print          ! convert DOCTOR namelist names into OLD names 
    400       nictls    = nn_ictls 
    401       nictle    = nn_ictle 
    402       njctls    = nn_jctls 
    403       njctle    = nn_jctle 
    404       isplt     = nn_isplt 
    405       jsplt     = nn_jsplt 
    406  
     392 
     393      IF( .NOT.ln_read_cfg )   ln_closea = .false.   ! dealing possible only with a domcfg file 
    407394      IF(lwp) THEN                  ! control print 
    408395         WRITE(numout,*) 
     
    414401         WRITE(numout,*) '         filename to be written                      cn_domcfg_out = ', TRIM(cn_domcfg_out) 
    415402         WRITE(numout,*) '      use file attribute if exists as i/p j-start ln_use_jattr     = ', ln_use_jattr 
    416       ENDIF 
    417       IF( .NOT.ln_read_cfg )   ln_closea = .false.   ! dealing possible only with a domcfg file 
    418       ! 
    419       !                             ! Parameter control 
    420       ! 
    421       IF( sn_cfctl%l_prtctl .OR. sn_cfctl%l_prttrc ) THEN              ! sub-domain area indices for the control prints 
    422          IF( lk_mpp .AND. jpnij > 1 ) THEN 
    423             isplt = jpni   ;   jsplt = jpnj   ;   ijsplt = jpni*jpnj   ! the domain is forced to the real split domain 
    424          ELSE 
    425             IF( isplt == 1 .AND. jsplt == 1  ) THEN 
    426                CALL ctl_warn( ' - isplt & jsplt are equal to 1',   & 
    427                   &           ' - the print control will be done over the whole domain' ) 
    428             ENDIF 
    429             ijsplt = isplt * jsplt            ! total number of processors ijsplt 
    430          ENDIF 
    431          IF(lwp) WRITE(numout,*)'          - The total number of processors over which the' 
    432          IF(lwp) WRITE(numout,*)'            print control will be done is ijsplt : ', ijsplt 
    433          ! 
    434          !                              ! indices used for the SUM control 
    435          IF( nictls+nictle+njctls+njctle == 0 )   THEN    ! print control done over the default area 
    436             lsp_area = .FALSE. 
    437          ELSE                                             ! print control done over a specific  area 
    438             lsp_area = .TRUE. 
    439             IF( nictls < 1 .OR. nictls > jpiglo )   THEN 
    440                CALL ctl_warn( '          - nictls must be 1<=nictls>=jpiglo, it is forced to 1' ) 
    441                nictls = 1 
    442             ENDIF 
    443             IF( nictle < 1 .OR. nictle > jpiglo )   THEN 
    444                CALL ctl_warn( '          - nictle must be 1<=nictle>=jpiglo, it is forced to jpiglo' ) 
    445                nictle = jpiglo 
    446             ENDIF 
    447             IF( njctls < 1 .OR. njctls > jpjglo )   THEN 
    448                CALL ctl_warn( '          - njctls must be 1<=njctls>=jpjglo, it is forced to 1' ) 
    449                njctls = 1 
    450             ENDIF 
    451             IF( njctle < 1 .OR. njctle > jpjglo )   THEN 
    452                CALL ctl_warn( '          - njctle must be 1<=njctle>=jpjglo, it is forced to jpjglo' ) 
    453                njctle = jpjglo 
    454             ENDIF 
    455          ENDIF 
    456403      ENDIF 
    457404      ! 
Note: See TracChangeset for help on using the changeset viewer.