Ignore:
Timestamp:
2019-01-24T16:14:49+01:00 (19 months ago)
Author:
acc
Message:

Trunk update to implement finer control over the choice of text report files generated. See ticket: #2167

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/src/OCE/nemogcm.F90

    r10510 r10570  
    257257      CHARACTER(len=120), DIMENSION(60) ::   cltxt, cltxt2, clnam 
    258258      !! 
    259       NAMELIST/namctl/ ln_ctl   , nn_print, nn_ictls, nn_ictle,   & 
    260          &             nn_isplt , nn_jsplt, nn_jctls, nn_jctle,   & 
     259      NAMELIST/namctl/ ln_ctl   , sn_cfctl, nn_print, nn_ictls, nn_ictle,   & 
     260         &             nn_isplt , nn_jsplt, nn_jctls, nn_jctle,             & 
    261261         &             ln_timing, ln_diacfl 
    262262      NAMELIST/namcfg/ ln_read_cfg, cn_domcfg, ln_closea, ln_write_cfg, cn_domcfg_out, ln_use_jattr 
     
    327327 
    328328      narea = narea + 1                                     ! mynode return the rank of proc (0 --> jpnij -1 ) 
     329 
     330      IF( sn_cfctl%l_config ) THEN 
     331         ! Activate finer control of report outputs 
     332         ! optionally switch off output from selected areas (note this only 
     333         ! applies to output which does not involve global communications) 
     334         IF( ( narea < sn_cfctl%procmin .OR. narea > sn_cfctl%procmax  ) .OR. & 
     335           & ( MOD( narea - sn_cfctl%procmin, sn_cfctl%procincr ) /= 0 ) )    & 
     336           &   CALL nemo_set_cfctl( sn_cfctl, .FALSE., .FALSE. ) 
     337      ELSE 
     338         ! Use ln_ctl to turn on or off all options. 
     339         CALL nemo_set_cfctl( sn_cfctl, ln_ctl, .TRUE. ) 
     340      ENDIF 
    329341 
    330342      lwm = (narea == 1)                                    ! control of output namelists 
     
    504516         WRITE(numout,*) '   Namelist namctl' 
    505517         WRITE(numout,*) '      run control (for debugging)     ln_ctl     = ', ln_ctl 
     518         WRITE(numout,*) '       finer control over o/p sn_cfctl%l_config  = ', sn_cfctl%l_config 
     519         WRITE(numout,*) '                              sn_cfctl%l_runstat = ', sn_cfctl%l_runstat 
     520         WRITE(numout,*) '                              sn_cfctl%l_trcstat = ', sn_cfctl%l_trcstat 
     521         WRITE(numout,*) '                              sn_cfctl%l_oceout  = ', sn_cfctl%l_oceout 
     522         WRITE(numout,*) '                              sn_cfctl%l_layout  = ', sn_cfctl%l_layout 
     523         WRITE(numout,*) '                              sn_cfctl%l_mppout  = ', sn_cfctl%l_mppout 
     524         WRITE(numout,*) '                              sn_cfctl%l_mpptop  = ', sn_cfctl%l_mpptop 
     525         WRITE(numout,*) '                              sn_cfctl%procmin   = ', sn_cfctl%procmin   
     526         WRITE(numout,*) '                              sn_cfctl%procmax   = ', sn_cfctl%procmax   
     527         WRITE(numout,*) '                              sn_cfctl%procincr  = ', sn_cfctl%procincr  
     528         WRITE(numout,*) '                              sn_cfctl%ptimincr  = ', sn_cfctl%ptimincr  
    506529         WRITE(numout,*) '      level of print                  nn_print   = ', nn_print 
    507530         WRITE(numout,*) '      Start i indice for SUM control  nn_ictls   = ', nn_ictls 
     
    650673   END SUBROUTINE nemo_alloc 
    651674 
     675   SUBROUTINE nemo_set_cfctl(sn_cfctl, setto, for_all ) 
     676      !!---------------------------------------------------------------------- 
     677      !!                     ***  ROUTINE nemo_set_cfctl  *** 
     678      !! 
     679      !! ** Purpose :   Set elements of the output control structure to setto. 
     680      !!                for_all should be .false. unless all areas are to be 
     681      !!                treated identically. 
     682      !! 
     683      !! ** Method  :   Note this routine can be used to switch on/off some 
     684      !!                types of output for selected areas but any output types 
     685      !!                that involve global communications (e.g. mpp_max, glob_sum) 
     686      !!                should be protected from selective switching by the 
     687      !!                for_all argument 
     688      !!---------------------------------------------------------------------- 
     689      LOGICAL :: setto, for_all 
     690      TYPE (sn_ctl) :: sn_cfctl 
     691      !!---------------------------------------------------------------------- 
     692      IF( for_all ) THEN 
     693         sn_cfctl%l_runstat = setto 
     694         sn_cfctl%l_trcstat = setto 
     695      ENDIF 
     696      sn_cfctl%l_oceout  = setto 
     697      sn_cfctl%l_layout  = setto 
     698      sn_cfctl%l_mppout  = setto 
     699      sn_cfctl%l_mpptop  = setto 
     700   END SUBROUTINE nemo_set_cfctl 
     701 
    652702   !!====================================================================== 
    653703END MODULE nemogcm 
Note: See TracChangeset for help on using the changeset viewer.