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 12939 for NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/nemogcm.F90 – NEMO

Ignore:
Timestamp:
2020-05-15T19:41:01+02:00 (4 years ago)
Author:
smasson
Message:

Extra_Halo: update with trunk@12933, see #2366

Location:
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo

    • Property svn:externals
      •  

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

    r12807 r12939  
    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) 
     
    186187      END DO 
    187188      ! 
    188       IF( .NOT. Agrif_Root() ) THEN 
    189          CALL Agrif_ParentGrid_To_ChildGrid() 
    190          IF( ln_diaobs )   CALL dia_obs_wri 
    191          IF( ln_timing )   CALL timing_finalize 
    192          CALL Agrif_ChildGrid_To_ParentGrid() 
    193       ENDIF 
    194       ! 
    195189# else 
    196190      ! 
     
    237231      IF( nstop /= 0 .AND. lwp ) THEN        ! error print 
    238232         WRITE(ctmp1,*) '   ==>>>   nemo_gcm: a total of ', nstop, ' errors have been found' 
    239          CALL ctl_stop( ctmp1 ) 
     233         IF( ngrdstop > 0 ) THEN 
     234            WRITE(ctmp9,'(i2)') ngrdstop 
     235            WRITE(ctmp2,*) '      ==>>>   Error detected in Agrif grid '//TRIM(ctmp9) 
     236            WRITE(ctmp3,*) '      ==>>>   look for error messages in '//TRIM(ctmp9)//'_ocean_output* files' 
     237            CALL ctl_stop( ctmp1, ctmp2, ctmp3 ) 
     238         ELSE 
     239            CALL ctl_stop( ctmp1 ) 
     240         ENDIF 
    240241      ENDIF 
    241242      ! 
     
    319320      IF( lwm )   CALL ctl_opn(     numond, 'output.namelist.dyn', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 
    320321      ! open /dev/null file to be able to supress output write easily 
     322      IF( Agrif_Root() ) THEN 
    321323                  CALL ctl_opn(     numnul,           '/dev/null', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 
    322       ! 
     324#ifdef key_agrif 
     325      ELSE 
     326                  numnul = Agrif_Parent(numnul)    
     327#endif 
     328      ENDIF 
    323329      !                             !--------------------! 
    324330      !                             ! Open listing units !  -> need sn_cfctl from namctl to define lwp 
     
    331337      ! 
    332338      ! finalize the definition of namctl variables 
    333       IF( sn_cfctl%l_allon ) THEN 
    334          ! Turn on all options. 
    335          CALL nemo_set_cfctl( sn_cfctl, .TRUE., .TRUE. ) 
    336          ! Ensure all processors are active 
    337          sn_cfctl%procmin = 0 ; sn_cfctl%procmax = 1000000 ; sn_cfctl%procincr = 1 
    338       ELSEIF( sn_cfctl%l_config ) THEN 
    339          ! Activate finer control of report outputs 
    340          ! optionally switch off output from selected areas (note this only 
    341          ! applies to output which does not involve global communications) 
    342          IF( ( narea < sn_cfctl%procmin .OR. narea > sn_cfctl%procmax  ) .OR. & 
    343            & ( MOD( narea - sn_cfctl%procmin, sn_cfctl%procincr ) /= 0 ) )    & 
    344            &   CALL nemo_set_cfctl( sn_cfctl, .FALSE., .FALSE. ) 
    345       ELSE 
    346          ! turn off all options. 
    347          CALL nemo_set_cfctl( sn_cfctl, .FALSE., .TRUE. ) 
    348       ENDIF 
     339      IF( narea < sn_cfctl%procmin .OR. narea > sn_cfctl%procmax .OR. MOD( narea - sn_cfctl%procmin, sn_cfctl%procincr ) /= 0 )   & 
     340         &   CALL nemo_set_cfctl( sn_cfctl, .FALSE. ) 
    349341      ! 
    350342      lwp = (narea == 1) .OR. sn_cfctl%l_oceout    ! control of all listing output print 
     
    531523         WRITE(numout,*) '~~~~~~~~' 
    532524         WRITE(numout,*) '   Namelist namctl' 
    533          WRITE(numout,*) '                              sn_cfctl%l_glochk  = ', sn_cfctl%l_glochk 
    534          WRITE(numout,*) '                              sn_cfctl%l_allon   = ', sn_cfctl%l_allon 
    535          WRITE(numout,*) '       finer control over o/p sn_cfctl%l_config  = ', sn_cfctl%l_config 
    536525         WRITE(numout,*) '                              sn_cfctl%l_runstat = ', sn_cfctl%l_runstat 
    537526         WRITE(numout,*) '                              sn_cfctl%l_trcstat = ', sn_cfctl%l_trcstat 
     
    681670 
    682671    
    683    SUBROUTINE nemo_set_cfctl(sn_cfctl, setto, for_all ) 
     672   SUBROUTINE nemo_set_cfctl(sn_cfctl, setto ) 
    684673      !!---------------------------------------------------------------------- 
    685674      !!                     ***  ROUTINE nemo_set_cfctl  *** 
    686675      !! 
    687676      !! ** Purpose :   Set elements of the output control structure to setto. 
    688       !!                for_all should be .false. unless all areas are to be 
    689       !!                treated identically. 
    690677      !! 
    691678      !! ** Method  :   Note this routine can be used to switch on/off some 
    692       !!                types of output for selected areas but any output types 
    693       !!                that involve global communications (e.g. mpp_max, glob_sum) 
    694       !!                should be protected from selective switching by the 
    695       !!                for_all argument 
    696       !!---------------------------------------------------------------------- 
    697       LOGICAL :: setto, for_all 
    698       TYPE(sn_ctl) :: sn_cfctl 
    699       !!---------------------------------------------------------------------- 
    700       IF( for_all ) THEN 
    701          sn_cfctl%l_runstat = setto 
    702          sn_cfctl%l_trcstat = setto 
    703       ENDIF 
     679      !!                types of output for selected areas. 
     680      !!---------------------------------------------------------------------- 
     681      TYPE(sn_ctl), INTENT(inout) :: sn_cfctl 
     682      LOGICAL     , INTENT(in   ) :: setto 
     683      !!---------------------------------------------------------------------- 
     684      sn_cfctl%l_runstat = setto 
     685      sn_cfctl%l_trcstat = setto 
    704686      sn_cfctl%l_oceout  = setto 
    705687      sn_cfctl%l_layout  = setto 
Note: See TracChangeset for help on using the changeset viewer.