Ignore:
Timestamp:
2019-11-07T17:55:13+01:00 (11 months 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.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/fix_sn_cfctl_ticket2328/src/OCE/IOM/in_out_manager.F90

    r11869 r11872  
    9696   !!                    output monitoring 
    9797   !!---------------------------------------------------------------------- 
    98    LOGICAL ::   ln_ctl           !: run control for debugging 
    99    TYPE :: sn_ctl                !: optional use structure for finer control over output selection 
     98   TYPE :: sn_ctl                !: structure for control over output selection 
     99      LOGICAL :: l_glochk  = .FALSE.  !: range sanity checks are local (F) or global (T) 
     100                                      !  Use global setting for debugging only; 
     101                                      !  local breaches will still be reported 
     102                                      !  and stop the code in most cases. 
     103      LOGICAL :: l_allon   = .FALSE.  !: overall control; activate all following output options 
    100104      LOGICAL :: l_config  = .FALSE.  !: activate/deactivate finer control 
    101                                       !  Note if l_config is True then ln_ctl is ignored. 
    102                                       !  Otherwise setting ln_ctl True is equivalent to setting 
    103                                       !  all the following logicals in this structure True 
     105                                      !  Note if l_config is True then sn_cfctl%l_allon is ignored. 
     106                                      !  Otherwise setting sn_cfctl%l_allon T/F is equivalent to  
     107                                      !  setting all the following logicals in this structure T/F 
     108                                      !  and disabling subsetting of processors 
    104109      LOGICAL :: l_runstat = .FALSE.  !: Produce/do not produce run.stat file (T/F) 
    105110      LOGICAL :: l_trcstat = .FALSE.  !: Produce/do not produce tracer.stat file (T/F) 
    106111      LOGICAL :: l_oceout  = .FALSE.  !: Produce all ocean.outputs    (T) or just one (F) 
    107112      LOGICAL :: l_layout  = .FALSE.  !: Produce all layout.dat files (T) or just one (F) 
    108       LOGICAL :: l_mppout  = .FALSE.  !: Produce/do not produce mpp.output_XXXX files (T/F) 
    109       LOGICAL :: l_mpptop  = .FALSE.  !: Produce/do not produce mpp.top.output_XXXX files (T/F) 
     113      LOGICAL :: l_prtctl  = .FALSE.  !: Produce/do not produce mpp.output_XXXX files (T/F) 
     114      LOGICAL :: l_prttrc  = .FALSE.  !: Produce/do not produce mpp.top.output_XXXX files (T/F) 
    110115      LOGICAL :: l_oasout  = .FALSE.  !: Produce/do not write oasis setup info to ocean.output (T/F) 
    111116                                      !  Optional subsetting of processor report files 
     
    166171   CHARACTER(lc) ::   ctmp10                !: temporary character 10 
    167172   LOGICAL       ::   lwm      = .FALSE.    !: boolean : true on the 1st processor only (always) 
    168    LOGICAL       ::   lwp      = .FALSE.    !: boolean : true on the 1st processor only .OR. ln_ctl 
     173   LOGICAL       ::   lwp      = .FALSE.    !: boolean : true on the 1st processor only .OR. sn_cfctl%l_oceout=T 
    169174   LOGICAL       ::   lsp_area = .TRUE.     !: to make a control print over a specific area 
    170175   CHARACTER(lc) ::   cxios_context         !: context name used in xios 
Note: See TracChangeset for help on using the changeset viewer.