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 11872 for NEMO/branches/2019/fix_sn_cfctl_ticket2328/src/SAS – NEMO

Ignore:
Timestamp:
2019-11-07T17:55:13+01:00 (4 years ago)
Author:
acc
Message:

Branch 2019/fix_sn_cfctl_ticket2328. See #2328. Replacement of ln_ctl and activation of full functionality with
sn_cfctl structure. These changes rename structure components l_mppout and l_mpptop as l_prtctl and l_prttrc
and introduce l_glochk to activate former ln_ctl code in stpctl.F90 to perform global location of min and max
checks. Also added is l_allon which can be used to activate all output (much like the former ln_ctl). If l_allon
is .false. then l_config decides whether or not the suboptions are used.

   sn_cfctl%l_glochk = .FALSE.    ! Range sanity checks are local (F) or global (T). Set T for debugging only
   sn_cfctl%l_allon  = .FALSE.    ! IF T activate all options. If F deactivate all unless l_config is T
   sn_cfctl%l_config = .TRUE.     ! IF .true. then control which reports are written with the remaining options

Note, these changes pass SETTE tests but all references to ln_ctl need to be removed from the sette scripts.

Location:
NEMO/branches/2019/fix_sn_cfctl_ticket2328/src/SAS
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/fix_sn_cfctl_ticket2328/src/SAS/daymod.F90

    r11869 r11872  
    275275      IF( nsec_week > 7*nsecd )   nsec_week = ndt05     ! New week 
    276276 
    277       IF(ln_ctl .OR. sn_cfctl%l_mppout) THEN 
     277      IF(sn_cfctl%l_prtctl) THEN 
    278278         WRITE(charout,FMT="('kt =', I4,'  d/m/y =',I2,I2,I4)") kt, nday, nmonth, nyear 
    279279         CALL prt_ctl_info(charout) 
  • NEMO/branches/2019/fix_sn_cfctl_ticket2328/src/SAS/nemogcm.F90

    r11869 r11872  
    185185      INTEGER ::   ios, ilocal_comm   ! local integers 
    186186      !! 
    187       NAMELIST/namctl/ ln_ctl   , sn_cfctl, nn_print, nn_ictls, nn_ictle,   & 
     187      NAMELIST/namctl/ sn_cfctl, nn_print, nn_ictls, nn_ictle,              & 
    188188         &             nn_isplt , nn_jsplt, nn_jctls, nn_jctle,             & 
    189189         &             ln_timing, ln_diacfl 
     
    246246      ! 
    247247      !                             !--------------------! 
    248       !                             ! Open listing units !  -> need ln_ctl from namctl to define lwp 
     248      !                             ! Open listing units !  -> need sn_cfctl from namctl to define lwp 
    249249      !                             !--------------------! 
    250250      ! 
     
    257257      ! 
    258258      ! finalize the definition of namctl variables 
    259       IF( sn_cfctl%l_config ) THEN 
     259      IF( sn_cfctl%l_allon ) THEN 
     260         ! Turn on all options. 
     261         CALL nemo_set_cfctl( sn_cfctl, .TRUE., .TRUE. ) 
     262         ! Ensure all processors are active 
     263         sn_cfctl%procmin = 0 ; sn_cfctl%procmax = 1000000 ; sn_cfctl%procincr = 1 
     264      ELSEIF( sn_cfctl%l_config ) THEN 
    260265         ! Activate finer control of report outputs 
    261266         ! optionally switch off output from selected areas (note this only 
     
    265270           &   CALL nemo_set_cfctl( sn_cfctl, .FALSE., .FALSE. ) 
    266271      ELSE 
    267          ! Use ln_ctl to turn on or off all options. 
    268          CALL nemo_set_cfctl( sn_cfctl, ln_ctl, .TRUE. ) 
    269       ENDIF 
    270       ! 
    271       lwp = (narea == 1) .OR. ln_ctl .OR. sn_cfctl%l_oceout    ! control of all listing output print 
     272         ! turn off all options. 
     273         CALL nemo_set_cfctl( sn_cfctl, .FALSE., .TRUE. ) 
     274      ENDIF 
     275      ! 
     276      lwp = (narea == 1) .OR. sn_cfctl%l_oceout    ! control of all listing output print 
    272277      ! 
    273278      IF(lwp) THEN                      ! open listing units 
     
    347352                           CALL eos_init        ! Equation of seawater 
    348353                           CALL dom_init('SAS') ! Domain 
    349       IF( ln_ctl .OR. sn_cfctl%l_mppout )   & 
     354      IF( sn_cfctl%l_prtctl )   & 
    350355         &                 CALL prt_ctl_init        ! Print control 
    351356       
     
    376381      !! ** Purpose :   control print setting 
    377382      !! 
    378       !! ** Method  : - print namctl information and check some consistencies 
     383      !! ** Method  : - print namctl and namcfg information and check some consistencies 
    379384      !!---------------------------------------------------------------------- 
    380385      ! 
     
    384389         WRITE(numout,*) '~~~~~~~~' 
    385390         WRITE(numout,*) '   Namelist namctl' 
    386          WRITE(numout,*) '      run control (for debugging)     ln_ctl     = ', ln_ctl 
     391         WRITE(numout,*) '                              sn_cfctl%l_glochk  = ', sn_cfctl%l_glochk 
     392         WRITE(numout,*) '                              sn_cfctl%l_allon   = ', sn_cfctl%l_allon 
    387393         WRITE(numout,*) '       finer control over o/p sn_cfctl%l_config  = ', sn_cfctl%l_config 
    388394         WRITE(numout,*) '                              sn_cfctl%l_runstat = ', sn_cfctl%l_runstat 
     
    390396         WRITE(numout,*) '                              sn_cfctl%l_oceout  = ', sn_cfctl%l_oceout 
    391397         WRITE(numout,*) '                              sn_cfctl%l_layout  = ', sn_cfctl%l_layout 
    392          WRITE(numout,*) '                              sn_cfctl%l_mppout  = ', sn_cfctl%l_mppout 
    393          WRITE(numout,*) '                              sn_cfctl%l_mpptop  = ', sn_cfctl%l_mpptop 
     398         WRITE(numout,*) '                              sn_cfctl%l_prtctl  = ', sn_cfctl%l_prtctl 
     399         WRITE(numout,*) '                              sn_cfctl%l_prttrc  = ', sn_cfctl%l_prttrc 
     400         WRITE(numout,*) '                              sn_cfctl%l_oasout  = ', sn_cfctl%l_oasout 
    394401         WRITE(numout,*) '                              sn_cfctl%procmin   = ', sn_cfctl%procmin   
    395402         WRITE(numout,*) '                              sn_cfctl%procmax   = ', sn_cfctl%procmax   
     
    429436      !                             ! Parameter control 
    430437      ! 
    431       IF( ln_ctl .OR. sn_cfctl%l_mppout ) THEN                 ! sub-domain area indices for the control prints 
     438      IF( sn_cfctl%l_prtctl .OR. sn_cfctl%l_prttrc ) THEN              ! sub-domain area indices for the control prints 
    432439         IF( lk_mpp .AND. jpnij > 1 ) THEN 
    433440            isplt = jpni   ;   jsplt = jpnj   ;   ijsplt = jpni*jpnj   ! the domain is forced to the real split domain 
     
    553560      sn_cfctl%l_oceout  = setto 
    554561      sn_cfctl%l_layout  = setto 
    555       sn_cfctl%l_mppout  = setto 
    556       sn_cfctl%l_mpptop  = setto 
     562      sn_cfctl%l_prtctl  = setto 
     563      sn_cfctl%l_prttrc  = setto 
    557564      sn_cfctl%l_oasout  = setto 
    558565   END SUBROUTINE nemo_set_cfctl 
  • NEMO/branches/2019/fix_sn_cfctl_ticket2328/src/SAS/sbcssm.F90

    r11869 r11872  
    131131      vb (:,:,1) = ssv_m(:,:) 
    132132  
    133       IF(ln_ctl .OR. sn_cfctl%l_mppout) THEN            ! print control 
     133      IF(sn_cfctl%l_prtctl) THEN            ! print control 
    134134         CALL prt_ctl(tab2d_1=sst_m, clinfo1=' sst_m   - : ', mask1=tmask   ) 
    135135         CALL prt_ctl(tab2d_1=sss_m, clinfo1=' sss_m   - : ', mask1=tmask   ) 
  • NEMO/branches/2019/fix_sn_cfctl_ticket2328/src/SAS/stpctl.F90

    r10603 r11872  
    6363      ! 
    6464      ll_wrtstp  = ( MOD( kt, sn_cfctl%ptimincr ) == 0 ) .OR. ( kt == nitend ) 
    65       ll_colruns = ll_wrtstp .AND. ( ln_ctl .OR. sn_cfctl%l_runstat ) 
     65      ll_colruns = ll_wrtstp .AND. ( sn_cfctl%l_runstat ) 
    6666      ll_wrtruns = ll_colruns .AND. lwm 
    6767      IF( kt == nit000 .AND. lwp ) THEN 
     
    7373         !                                ! open run.stat file(s) at start whatever 
    7474         !                                ! the value of sn_cfctl%ptimincr 
    75          IF( lwm .AND. ( ln_ctl .OR. sn_cfctl%l_runstat ) ) THEN 
     75         IF( lwm .AND. ( sn_cfctl%l_runstat ) ) THEN 
    7676            CALL ctl_opn( numrun, 'run.stat', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, narea ) 
    7777            clname = 'run.stat.nc' 
Note: See TracChangeset for help on using the changeset viewer.