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/SAS/nemogcm.F90

    r10459 r10570  
    183183      CHARACTER(len=80)                 ::   clname 
    184184      !! 
    185       NAMELIST/namctl/ ln_ctl   , nn_print, nn_ictls, nn_ictle,   & 
    186          &             nn_isplt , nn_jsplt, nn_jctls, nn_jctle,   & 
     185      NAMELIST/namctl/ ln_ctl   , sn_cfctl, nn_print, nn_ictls, nn_ictle,   & 
     186         &             nn_isplt , nn_jsplt, nn_jctls, nn_jctle,             & 
    187187         &             ln_timing, ln_diacfl 
    188188      NAMELIST/namcfg/ ln_read_cfg, cn_domcfg, ln_closea, ln_write_cfg, cn_domcfg_out, ln_use_jattr 
     
    261261      narea = narea + 1                                     ! mynode return the rank of proc (0 --> jpnij -1 ) 
    262262 
     263      IF( sn_cfctl%l_config ) THEN 
     264         ! Activate finer control of report outputs 
     265         ! optionally switch off output from selected areas (note this only 
     266         ! applies to output which does not involve global communications) 
     267         IF( ( narea < sn_cfctl%procmin .OR. narea > sn_cfctl%procmax  ) .OR. & 
     268           & ( MOD( narea - sn_cfctl%procmin, sn_cfctl%procincr ) /= 0 ) )    & 
     269           &   CALL nemo_set_cfctl( sn_cfctl, .FALSE., .FALSE. ) 
     270      ELSE 
     271         ! Use ln_ctl to turn on or off all options. 
     272         CALL nemo_set_cfctl( sn_cfctl, ln_ctl, .TRUE. ) 
     273      ENDIF 
     274 
    263275      lwm = (narea == 1)                                    ! control of output namelists 
    264276      lwp = (narea == 1) .OR. ln_ctl                        ! control of all listing output print 
     
    286298         WRITE(numout,*) '                       NEMO team' 
    287299         WRITE(numout,*) '            Ocean General Circulation Model' 
    288          WRITE(numout,*) '                NEMO version 4.0  (2017) ' 
     300         WRITE(numout,*) '                NEMO version 4.0  (2019) ' 
    289301         WRITE(numout,*) '             StandAlone Surface version (SAS) ' 
    290          WRITE(numout,*) 
     302         WRITE(numout,*) "           ._      ._      ._      ._      ._    " 
     303         WRITE(numout,*) "       _.-._)`\_.-._)`\_.-._)`\_.-._)`\_.-._)`\_ " 
     304         WRITE(numout,*) 
     305         WRITE(numout,*) "           o         _,           _,             " 
     306         WRITE(numout,*) "            o      .' (        .-' /             " 
     307         WRITE(numout,*) "           o     _/..._'.    .'   /              " 
     308         WRITE(numout,*) "      (    o .-'`      ` '-./  _.'               " 
     309         WRITE(numout,*) "       )    ( o)           ;= <_         (       " 
     310         WRITE(numout,*) "      (      '-.,\\__ __.-;`\   '.        )      " 
     311         WRITE(numout,*) "       )  )       \) |`\ \)  '.   \      (   (   " 
     312         WRITE(numout,*) "      (  (           \_/       '-._\      )   )  " 
     313         WRITE(numout,*) "       )  )                        `     (   (   " 
     314         WRITE(numout,*) "     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ " 
    291315         WRITE(numout,*) 
    292316         DO ji = 1, SIZE(cltxt) 
     
    361385         WRITE(numout,*) '   Namelist namctl' 
    362386         WRITE(numout,*) '      run control (for debugging)     ln_ctl     = ', ln_ctl 
     387         WRITE(numout,*) '       finer control over o/p sn_cfctl%l_config  = ', sn_cfctl%l_config 
     388         WRITE(numout,*) '                              sn_cfctl%l_runstat = ', sn_cfctl%l_runstat 
     389         WRITE(numout,*) '                              sn_cfctl%l_trcstat = ', sn_cfctl%l_trcstat 
     390         WRITE(numout,*) '                              sn_cfctl%l_oceout  = ', sn_cfctl%l_oceout 
     391         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 
     394         WRITE(numout,*) '                              sn_cfctl%procmin   = ', sn_cfctl%procmin   
     395         WRITE(numout,*) '                              sn_cfctl%procmax   = ', sn_cfctl%procmax   
     396         WRITE(numout,*) '                              sn_cfctl%procincr  = ', sn_cfctl%procincr  
     397         WRITE(numout,*) '                              sn_cfctl%ptimincr  = ', sn_cfctl%ptimincr  
    363398         WRITE(numout,*) '      level of print                  nn_print   = ', nn_print 
    364399         WRITE(numout,*) '      Start i indice for SUM control  nn_ictls   = ', nn_ictls 
     
    494529   END SUBROUTINE nemo_alloc 
    495530 
     531   SUBROUTINE nemo_set_cfctl(sn_cfctl, setto, for_all ) 
     532      !!---------------------------------------------------------------------- 
     533      !!                     ***  ROUTINE nemo_set_cfctl  *** 
     534      !! 
     535      !! ** Purpose :   Set elements of the output control structure to setto. 
     536      !!                for_all should be .false. unless all areas are to be 
     537      !!                treated identically. 
     538      !! 
     539      !! ** Method  :   Note this routine can be used to switch on/off some 
     540      !!                types of output for selected areas but any output types 
     541      !!                that involve global communications (e.g. mpp_max, glob_sum) 
     542      !!                should be protected from selective switching by the 
     543      !!                for_all argument 
     544      !!---------------------------------------------------------------------- 
     545      LOGICAL :: setto, for_all 
     546      TYPE (sn_ctl) :: sn_cfctl 
     547      !!---------------------------------------------------------------------- 
     548      IF( for_all ) THEN 
     549         sn_cfctl%l_runstat = setto 
     550         sn_cfctl%l_trcstat = setto 
     551      ENDIF 
     552      sn_cfctl%l_oceout  = setto 
     553      sn_cfctl%l_layout  = setto 
     554      sn_cfctl%l_mppout  = setto 
     555      sn_cfctl%l_mpptop  = setto 
     556   END SUBROUTINE nemo_set_cfctl 
     557 
    496558   !!====================================================================== 
    497559END MODULE nemogcm 
Note: See TracChangeset for help on using the changeset viewer.