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 13286 for NEMO/trunk/src/SAO/nemogcm.F90 – NEMO

Ignore:
Timestamp:
2020-07-09T17:48:29+02:00 (4 years 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/SAO/nemogcm.F90

    r12933 r13286  
    2929   USE sao_intp 
    3030   ! 
     31   USE prtctl         ! Print control 
    3132   USE in_out_manager ! I/O manager 
    3233   USE lib_mpp        ! distributed memory computing 
    3334   USE mppini         ! shared/distributed memory setting (mpp_init routine) 
    34    USE lbcnfd  , ONLY : isendto, nsndto, nfsloop, nfeloop ! Setup of north fold exchanges  
     35   USE lbcnfd  , ONLY : isendto, nsndto ! Setup of north fold exchanges  
    3536   USE lib_fortran    ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined) 
    3637#if defined key_iomput 
    3738   USE xios           ! xIOserver 
    3839#endif 
     40   USE halo_mng 
    3941 
    4042   IMPLICIT NONE 
     
    9294      INTEGER ::   ios, ilocal_comm   ! local integer 
    9395      ! 
    94       NAMELIST/namctl/ sn_cfctl,  nn_print, nn_ictls, nn_ictle,             & 
    95          &             nn_isplt , nn_jsplt, nn_jctls, nn_jctle,             & 
    96          &             ln_timing, ln_diacfl 
     96      NAMELIST/namctl/ sn_cfctl, ln_timing, ln_diacfl,                                & 
     97         &             nn_isplt,  nn_jsplt,  nn_ictls, nn_ictle, nn_jctls, nn_jctle             
    9798      NAMELIST/namcfg/ ln_read_cfg, cn_domcfg, ln_closea, ln_write_cfg, cn_domcfg_out, ln_use_jattr 
    9899      !!---------------------------------------------------------------------- 
    99100      ! 
    100101      cxios_context = 'nemo' 
     102      nn_hls = 1 
    101103      ! 
    102104      !                             !-------------------------------------------------! 
     
    205207      ! 
    206208      IF( ln_read_cfg ) THEN            ! Read sizes in domain configuration file 
    207          CALL domain_cfg ( cn_cfg, nn_cfg, jpiglo, jpjglo, jpkglo, jperio ) 
     209         CALL domain_cfg ( cn_cfg, nn_cfg, Ni0glo, Nj0glo, jpkglo, jperio ) 
    208210      ELSE                              ! user-defined namelist 
    209          CALL usr_def_nam( cn_cfg, nn_cfg, jpiglo, jpjglo, jpkglo, jperio ) 
     211         CALL usr_def_nam( cn_cfg, nn_cfg, Ni0glo, Nj0glo, jpkglo, jperio ) 
    210212      ENDIF 
    211213      ! 
     
    217219      CALL mpp_init 
    218220 
     221      CALL halo_mng_init() 
    219222      ! Now we know the dimensions of the grid and numout has been set: we can allocate arrays 
    220223      CALL nemo_alloc() 
     
    267270         WRITE(numout,*) '                              sn_cfctl%procincr  = ', sn_cfctl%procincr  
    268271         WRITE(numout,*) '                              sn_cfctl%ptimincr  = ', sn_cfctl%ptimincr  
    269          WRITE(numout,*) '      level of print                  nn_print   = ', nn_print 
    270          WRITE(numout,*) '      Start i indice for SUM control  nn_ictls   = ', nn_ictls 
    271          WRITE(numout,*) '      End i indice for SUM control    nn_ictle   = ', nn_ictle 
    272          WRITE(numout,*) '      Start j indice for SUM control  nn_jctls   = ', nn_jctls 
    273          WRITE(numout,*) '      End j indice for SUM control    nn_jctle   = ', nn_jctle 
    274          WRITE(numout,*) '      number of proc. following i     nn_isplt   = ', nn_isplt 
    275          WRITE(numout,*) '      number of proc. following j     nn_jsplt   = ', nn_jsplt 
    276272         WRITE(numout,*) '      timing by routine               ln_timing  = ', ln_timing 
    277273         WRITE(numout,*) '      CFL diagnostics                 ln_diacfl  = ', ln_diacfl 
    278274      ENDIF 
    279275      ! 
    280       nprint    = nn_print          ! convert DOCTOR namelist names into OLD names 
    281       nictls    = nn_ictls 
    282       nictle    = nn_ictle 
    283       njctls    = nn_jctls 
    284       njctle    = nn_jctle 
    285       isplt     = nn_isplt 
    286       jsplt     = nn_jsplt 
    287  
     276      IF( .NOT.ln_read_cfg )   ln_closea = .false.   ! dealing possible only with a domcfg file 
    288277      IF(lwp) THEN                  ! control print 
    289278         WRITE(numout,*) 
     
    295284         WRITE(numout,*) '         filename to be written                        cn_domcfg_out = ', TRIM(cn_domcfg_out) 
    296285         WRITE(numout,*) '      use file attribute if exists as i/p j-start   ln_use_jattr     = ', ln_use_jattr 
    297       ENDIF 
    298       IF( .NOT.ln_read_cfg )   ln_closea = .false.   ! dealing possible only with a domcfg file 
    299       ! 
    300       !                             ! Parameter control 
    301       ! 
    302       IF( sn_cfctl%l_prtctl .OR. sn_cfctl%l_prttrc ) THEN              ! sub-domain area indices for the control prints 
    303          IF( lk_mpp .AND. jpnij > 1 ) THEN 
    304             isplt = jpni   ;   jsplt = jpnj   ;   ijsplt = jpni*jpnj   ! the domain is forced to the real split domain 
    305          ELSE 
    306             IF( isplt == 1 .AND. jsplt == 1  ) THEN 
    307                CALL ctl_warn( ' - isplt & jsplt are equal to 1',   & 
    308                   &           ' - the print control will be done over the whole domain' ) 
    309             ENDIF 
    310             ijsplt = isplt * jsplt            ! total number of processors ijsplt 
    311          ENDIF 
    312          IF(lwp) WRITE(numout,*)'          - The total number of processors over which the' 
    313          IF(lwp) WRITE(numout,*)'            print control will be done is ijsplt : ', ijsplt 
    314          ! 
    315          !                              ! indices used for the SUM control 
    316          IF( nictls+nictle+njctls+njctle == 0 )   THEN    ! print control done over the default area 
    317             lsp_area = .FALSE. 
    318          ELSE                                             ! print control done over a specific  area 
    319             lsp_area = .TRUE. 
    320             IF( nictls < 1 .OR. nictls > jpiglo )   THEN 
    321                CALL ctl_warn( '          - nictls must be 1<=nictls>=jpiglo, it is forced to 1' ) 
    322                nictls = 1 
    323             ENDIF 
    324             IF( nictle < 1 .OR. nictle > jpiglo )   THEN 
    325                CALL ctl_warn( '          - nictle must be 1<=nictle>=jpiglo, it is forced to jpiglo' ) 
    326                nictle = jpiglo 
    327             ENDIF 
    328             IF( njctls < 1 .OR. njctls > jpjglo )   THEN 
    329                CALL ctl_warn( '          - njctls must be 1<=njctls>=jpjglo, it is forced to 1' ) 
    330                njctls = 1 
    331             ENDIF 
    332             IF( njctle < 1 .OR. njctle > jpjglo )   THEN 
    333                CALL ctl_warn( '          - njctle must be 1<=njctle>=jpjglo, it is forced to jpjglo' ) 
    334                njctle = jpjglo 
    335             ENDIF 
    336          ENDIF 
    337286      ENDIF 
    338287      ! 
Note: See TracChangeset for help on using the changeset viewer.