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 12236 for NEMO/branches/2019/dev_r11943_MERGE_2019/src/SAS/nemogcm.F90 – NEMO

Ignore:
Timestamp:
2019-12-13T10:19:48+01:00 (5 years ago)
Author:
acc
Message:

Branch 2019/dev_r11943_MERGE_2019. Merge in changes from 2019/fix_sn_cfctl_ticket2328. Fully SETTE tested

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/SAS/nemogcm.F90

    r11960 r12236  
    198198      INTEGER ::   ios, ilocal_comm   ! local integers 
    199199      !! 
    200       NAMELIST/namctl/ ln_ctl   , sn_cfctl, nn_print, nn_ictls, nn_ictle,   & 
     200      NAMELIST/namctl/ sn_cfctl, nn_print, nn_ictls, nn_ictle,              & 
    201201         &             nn_isplt , nn_jsplt, nn_jctls, nn_jctle,             & 
    202202         &             ln_timing, ln_diacfl 
     
    259259      ! 
    260260      !                             !--------------------! 
    261       !                             ! Open listing units !  -> need ln_ctl from namctl to define lwp 
     261      !                             ! Open listing units !  -> need sn_cfctl from namctl to define lwp 
    262262      !                             !--------------------! 
    263263      ! 
     
    267267902   IF( ios >  0 )   CALL ctl_nam ( ios , 'namctl in configuration namelist' ) 
    268268      ! 
    269       lwp = (narea == 1) .OR. ln_ctl    ! control of all listing output print 
     269      ! finalize the definition of namctl variables 
     270      IF( sn_cfctl%l_allon ) THEN 
     271         ! Turn on all options. 
     272         CALL nemo_set_cfctl( sn_cfctl, .TRUE., .TRUE. ) 
     273         ! Ensure all processors are active 
     274         sn_cfctl%procmin = 0 ; sn_cfctl%procmax = 1000000 ; sn_cfctl%procincr = 1 
     275      ELSEIF( sn_cfctl%l_config ) THEN 
     276         ! Activate finer control of report outputs 
     277         ! optionally switch off output from selected areas (note this only 
     278         ! applies to output which does not involve global communications) 
     279         IF( ( narea < sn_cfctl%procmin .OR. narea > sn_cfctl%procmax  ) .OR. & 
     280           & ( MOD( narea - sn_cfctl%procmin, sn_cfctl%procincr ) /= 0 ) )    & 
     281           &   CALL nemo_set_cfctl( sn_cfctl, .FALSE., .FALSE. ) 
     282      ELSE 
     283         ! turn off all options. 
     284         CALL nemo_set_cfctl( sn_cfctl, .FALSE., .TRUE. ) 
     285      ENDIF 
     286      ! 
     287      lwp = (narea == 1) .OR. sn_cfctl%l_oceout    ! control of all listing output print 
    270288      ! 
    271289      IF(lwp) THEN                      ! open listing units 
     
    302320         ! 
    303321      ENDIF 
    304      ! 
    305       ! finalize the definition of namctl variables 
    306       IF( sn_cfctl%l_config ) THEN 
    307          ! Activate finer control of report outputs 
    308          ! optionally switch off output from selected areas (note this only 
    309          ! applies to output which does not involve global communications) 
    310          IF( ( narea < sn_cfctl%procmin .OR. narea > sn_cfctl%procmax  ) .OR. & 
    311            & ( MOD( narea - sn_cfctl%procmin, sn_cfctl%procincr ) /= 0 ) )    & 
    312            &   CALL nemo_set_cfctl( sn_cfctl, .FALSE., .FALSE. ) 
    313       ELSE 
    314          ! Use ln_ctl to turn on or off all options. 
    315          CALL nemo_set_cfctl( sn_cfctl, ln_ctl, .TRUE. ) 
    316       ENDIF 
    317322      ! 
    318323      IF(lwm) WRITE( numond, namctl ) 
     
    359364                           CALL eos_init        ! Equation of seawater 
    360365                           CALL dom_init( Nbb, Nnn, Naa, 'SAS') ! Domain 
    361       IF( ln_ctl      )    CALL prt_ctl_init    ! Print control 
     366      IF( sn_cfctl%l_prtctl )   & 
     367         &                 CALL prt_ctl_init        ! Print control 
    362368       
    363369                           CALL day_init        ! model calendar (using both namelist and restart infos) 
     
    387393      !! ** Purpose :   control print setting 
    388394      !! 
    389       !! ** Method  : - print namctl information and check some consistencies 
     395      !! ** Method  : - print namctl and namcfg information and check some consistencies 
    390396      !!---------------------------------------------------------------------- 
    391397      ! 
     
    395401         WRITE(numout,*) '~~~~~~~~' 
    396402         WRITE(numout,*) '   Namelist namctl' 
    397          WRITE(numout,*) '      run control (for debugging)     ln_ctl     = ', ln_ctl 
     403         WRITE(numout,*) '                              sn_cfctl%l_glochk  = ', sn_cfctl%l_glochk 
     404         WRITE(numout,*) '                              sn_cfctl%l_allon   = ', sn_cfctl%l_allon 
    398405         WRITE(numout,*) '       finer control over o/p sn_cfctl%l_config  = ', sn_cfctl%l_config 
    399406         WRITE(numout,*) '                              sn_cfctl%l_runstat = ', sn_cfctl%l_runstat 
     
    401408         WRITE(numout,*) '                              sn_cfctl%l_oceout  = ', sn_cfctl%l_oceout 
    402409         WRITE(numout,*) '                              sn_cfctl%l_layout  = ', sn_cfctl%l_layout 
    403          WRITE(numout,*) '                              sn_cfctl%l_mppout  = ', sn_cfctl%l_mppout 
    404          WRITE(numout,*) '                              sn_cfctl%l_mpptop  = ', sn_cfctl%l_mpptop 
     410         WRITE(numout,*) '                              sn_cfctl%l_prtctl  = ', sn_cfctl%l_prtctl 
     411         WRITE(numout,*) '                              sn_cfctl%l_prttrc  = ', sn_cfctl%l_prttrc 
     412         WRITE(numout,*) '                              sn_cfctl%l_oasout  = ', sn_cfctl%l_oasout 
    405413         WRITE(numout,*) '                              sn_cfctl%procmin   = ', sn_cfctl%procmin   
    406414         WRITE(numout,*) '                              sn_cfctl%procmax   = ', sn_cfctl%procmax   
     
    440448      !                             ! Parameter control 
    441449      ! 
    442       IF( ln_ctl ) THEN                 ! sub-domain area indices for the control prints 
     450      IF( sn_cfctl%l_prtctl .OR. sn_cfctl%l_prttrc ) THEN              ! sub-domain area indices for the control prints 
    443451         IF( lk_mpp .AND. jpnij > 1 ) THEN 
    444452            isplt = jpni   ;   jsplt = jpnj   ;   ijsplt = jpni*jpnj   ! the domain is forced to the real split domain 
     
    560568      sn_cfctl%l_oceout  = setto 
    561569      sn_cfctl%l_layout  = setto 
    562       sn_cfctl%l_mppout  = setto 
    563       sn_cfctl%l_mpptop  = setto 
     570      sn_cfctl%l_prtctl  = setto 
     571      sn_cfctl%l_prttrc  = setto 
     572      sn_cfctl%l_oasout  = setto 
    564573   END SUBROUTINE nemo_set_cfctl 
    565574 
Note: See TracChangeset for help on using the changeset viewer.