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 13159 for NEMO/branches/2020/dev_r12563_ASINTER-06_ABL_improvement/src/OCE/nemogcm.F90 – NEMO

Ignore:
Timestamp:
2020-06-26T10:26:32+02:00 (4 years ago)
Author:
gsamson
Message:

merge trunk@r13136 into ASINTER-06 branch; pass all SETTE tests; results identical to trunk@r13136; ticket #2419

Location:
NEMO/branches/2020/dev_r12563_ASINTER-06_ABL_improvement
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/dev_r12563_ASINTER-06_ABL_improvement

    • Property svn:externals
      •  

        old new  
        88 
        99# SETTE 
        10 ^/utils/CI/sette@HEAD         sette 
         10^/utils/CI/sette@12931        sette 
  • NEMO/branches/2020/dev_r12563_ASINTER-06_ABL_improvement/src/OCE/nemogcm.F90

    r12489 r13159  
    8484#endif 
    8585   ! 
     86   USE in_out_manager ! I/O manager 
    8687   USE lib_mpp        ! distributed memory computing 
    8788   USE mppini         ! shared/distributed memory setting (mpp_init routine) 
     
    185186      END DO 
    186187      ! 
    187       IF( .NOT. Agrif_Root() ) THEN 
    188          CALL Agrif_ParentGrid_To_ChildGrid() 
    189          IF( ln_diaobs )   CALL dia_obs_wri 
    190          IF( ln_timing )   CALL timing_finalize 
    191          CALL Agrif_ChildGrid_To_ParentGrid() 
    192       ENDIF 
    193       ! 
    194188# else 
    195189      ! 
     
    236230      IF( nstop /= 0 .AND. lwp ) THEN        ! error print 
    237231         WRITE(ctmp1,*) '   ==>>>   nemo_gcm: a total of ', nstop, ' errors have been found' 
    238          CALL ctl_stop( ctmp1 ) 
     232         IF( ngrdstop > 0 ) THEN 
     233            WRITE(ctmp9,'(i2)') ngrdstop 
     234            WRITE(ctmp2,*) '           E R R O R detected in Agrif grid '//TRIM(ctmp9) 
     235            WRITE(ctmp3,*) '           Look for "E R R O R" messages in all existing '//TRIM(ctmp9)//'_ocean_output* files' 
     236            CALL ctl_stop( ' ', ctmp1, ' ', ctmp2, ' ', ctmp3 ) 
     237         ELSE 
     238            WRITE(ctmp2,*) '           Look for "E R R O R" messages in all existing ocean_output* files' 
     239            CALL ctl_stop( ' ', ctmp1, ' ', ctmp2 ) 
     240         ENDIF 
    239241      ENDIF 
    240242      ! 
     
    248250#else 
    249251      IF    ( lk_oasis ) THEN   ;   CALL cpl_finalize   ! end coupling and mpp communications with OASIS 
    250       ELSEIF( lk_mpp   ) THEN   ;   CALL mppstop      ! end mpp communications 
     252      ELSEIF( lk_mpp   ) THEN   ;   CALL mppstop        ! end mpp communications 
    251253      ENDIF 
    252254#endif 
     
    317319      IF( lwm )   CALL ctl_opn(     numond, 'output.namelist.dyn', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 
    318320      ! open /dev/null file to be able to supress output write easily 
     321      IF( Agrif_Root() ) THEN 
    319322                  CALL ctl_opn(     numnul,           '/dev/null', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 
    320       ! 
     323#ifdef key_agrif 
     324      ELSE 
     325                  numnul = Agrif_Parent(numnul)    
     326#endif 
     327      ENDIF 
    321328      !                             !--------------------! 
    322329      !                             ! Open listing units !  -> need sn_cfctl from namctl to define lwp 
     
    329336      ! 
    330337      ! finalize the definition of namctl variables 
    331       IF( sn_cfctl%l_allon ) THEN 
    332          ! Turn on all options. 
    333          CALL nemo_set_cfctl( sn_cfctl, .TRUE., .TRUE. ) 
    334          ! Ensure all processors are active 
    335          sn_cfctl%procmin = 0 ; sn_cfctl%procmax = 1000000 ; sn_cfctl%procincr = 1 
    336       ELSEIF( sn_cfctl%l_config ) THEN 
    337          ! Activate finer control of report outputs 
    338          ! optionally switch off output from selected areas (note this only 
    339          ! applies to output which does not involve global communications) 
    340          IF( ( narea < sn_cfctl%procmin .OR. narea > sn_cfctl%procmax  ) .OR. & 
    341            & ( MOD( narea - sn_cfctl%procmin, sn_cfctl%procincr ) /= 0 ) )    & 
    342            &   CALL nemo_set_cfctl( sn_cfctl, .FALSE., .FALSE. ) 
    343       ELSE 
    344          ! turn off all options. 
    345          CALL nemo_set_cfctl( sn_cfctl, .FALSE., .TRUE. ) 
    346       ENDIF 
     338      IF( narea < sn_cfctl%procmin .OR. narea > sn_cfctl%procmax .OR. MOD( narea - sn_cfctl%procmin, sn_cfctl%procincr ) /= 0 )   & 
     339         &   CALL nemo_set_cfctl( sn_cfctl, .FALSE. ) 
    347340      ! 
    348341      lwp = (narea == 1) .OR. sn_cfctl%l_oceout    ! control of all listing output print 
     
    528521         WRITE(numout,*) '~~~~~~~~' 
    529522         WRITE(numout,*) '   Namelist namctl' 
    530          WRITE(numout,*) '                              sn_cfctl%l_glochk  = ', sn_cfctl%l_glochk 
    531          WRITE(numout,*) '                              sn_cfctl%l_allon   = ', sn_cfctl%l_allon 
    532          WRITE(numout,*) '       finer control over o/p sn_cfctl%l_config  = ', sn_cfctl%l_config 
    533523         WRITE(numout,*) '                              sn_cfctl%l_runstat = ', sn_cfctl%l_runstat 
    534524         WRITE(numout,*) '                              sn_cfctl%l_trcstat = ', sn_cfctl%l_trcstat 
     
    678668 
    679669    
    680    SUBROUTINE nemo_set_cfctl(sn_cfctl, setto, for_all ) 
     670   SUBROUTINE nemo_set_cfctl(sn_cfctl, setto ) 
    681671      !!---------------------------------------------------------------------- 
    682672      !!                     ***  ROUTINE nemo_set_cfctl  *** 
    683673      !! 
    684674      !! ** Purpose :   Set elements of the output control structure to setto. 
    685       !!                for_all should be .false. unless all areas are to be 
    686       !!                treated identically. 
    687675      !! 
    688676      !! ** Method  :   Note this routine can be used to switch on/off some 
    689       !!                types of output for selected areas but any output types 
    690       !!                that involve global communications (e.g. mpp_max, glob_sum) 
    691       !!                should be protected from selective switching by the 
    692       !!                for_all argument 
    693       !!---------------------------------------------------------------------- 
    694       LOGICAL :: setto, for_all 
    695       TYPE(sn_ctl) :: sn_cfctl 
    696       !!---------------------------------------------------------------------- 
    697       IF( for_all ) THEN 
    698          sn_cfctl%l_runstat = setto 
    699          sn_cfctl%l_trcstat = setto 
    700       ENDIF 
     677      !!                types of output for selected areas. 
     678      !!---------------------------------------------------------------------- 
     679      TYPE(sn_ctl), INTENT(inout) :: sn_cfctl 
     680      LOGICAL     , INTENT(in   ) :: setto 
     681      !!---------------------------------------------------------------------- 
     682      sn_cfctl%l_runstat = setto 
     683      sn_cfctl%l_trcstat = setto 
    701684      sn_cfctl%l_oceout  = setto 
    702685      sn_cfctl%l_layout  = setto 
Note: See TracChangeset for help on using the changeset viewer.