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 13193 for NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/src/OFF/nemogcm.F90 – NEMO

Ignore:
Timestamp:
2020-07-01T15:42:06+02:00 (4 years ago)
Author:
smasson
Message:

better e3: update with trunk@13136 see #2385

Location:
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3

    • Property svn:externals
      •  

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

    r12779 r13193  
    3131   USE domqco         ! tools for scale factor         (dom_qco_r3c  routine) 
    3232#endif 
     33   USE bdy_oce,  ONLY : ln_bdy 
     34   USE bdyini         ! open boundary cond. setting       (bdy_init routine) 
    3335   !              ! ocean physics 
    3436   USE ldftra         ! lateral diffusivity setting    (ldf_tra_init routine) 
     
    9395      !!              Madec, 2008, internal report, IPSL. 
    9496      !!---------------------------------------------------------------------- 
    95       INTEGER :: istp, indic       ! time step index 
     97      INTEGER :: istp       ! time step index 
    9698      !!---------------------------------------------------------------------- 
    9799 
     
    145147# endif 
    146148#endif          
    147                                 CALL stp_ctl    ( istp, indic )  ! Time loop: control and print 
     149                                CALL stp_ctl    ( istp )             ! Time loop: control and print 
    148150         istp = istp + 1 
    149151      END DO 
     
    160162      IF( nstop /= 0 .AND. lwp ) THEN                 ! error print 
    161163         WRITE(ctmp1,*) '   ==>>>   nemo_gcm: a total of ', nstop, ' errors have been found' 
    162          CALL ctl_stop( ctmp1 ) 
     164         WRITE(ctmp2,*) '           Look for "E R R O R" messages in all existing ocean_output* files' 
     165         CALL ctl_stop( ' ', ctmp1, ' ', ctmp2 ) 
    163166      ENDIF 
    164167      ! 
     
    242245      ! 
    243246      ! finalize the definition of namctl variables 
    244       IF( sn_cfctl%l_allon ) THEN 
    245          ! Turn on all options. 
    246          CALL nemo_set_cfctl( sn_cfctl, .TRUE., .TRUE. ) 
    247          ! Ensure all processors are active 
    248          sn_cfctl%procmin = 0 ; sn_cfctl%procmax = 1000000 ; sn_cfctl%procincr = 1 
    249       ELSEIF( sn_cfctl%l_config ) THEN 
    250          ! Activate finer control of report outputs 
    251          ! optionally switch off output from selected areas (note this only 
    252          ! applies to output which does not involve global communications) 
    253          IF( ( narea < sn_cfctl%procmin .OR. narea > sn_cfctl%procmax  ) .OR. & 
    254            & ( MOD( narea - sn_cfctl%procmin, sn_cfctl%procincr ) /= 0 ) )    & 
    255            &   CALL nemo_set_cfctl( sn_cfctl, .FALSE., .FALSE. ) 
    256       ELSE 
    257          ! turn off all options. 
    258          CALL nemo_set_cfctl( sn_cfctl, .FALSE., .TRUE. ) 
    259       ENDIF 
     247      IF( narea < sn_cfctl%procmin .OR. narea > sn_cfctl%procmax .OR. MOD( narea - sn_cfctl%procmin, sn_cfctl%procincr ) /= 0 )   & 
     248         &   CALL nemo_set_cfctl( sn_cfctl, .FALSE. ) 
    260249      ! 
    261250      lwp = (narea == 1) .OR. sn_cfctl%l_oceout    ! control of all listing output print 
     
    322311      ! Initialise time level indices 
    323312      Nbb = 1; Nnn = 2; Naa = 3; Nrhs = Naa 
    324     
    325313 
    326314      !                             !-------------------------------! 
     
    344332 
    345333                           CALL     sbc_init( Nbb, Nnn, Naa )    ! Forcings : surface module 
     334                           CALL     bdy_init    ! Open boundaries initialisation     
    346335 
    347336      !                                      ! Tracer physics 
     
    386375         WRITE(numout,*) '~~~~~~~~' 
    387376         WRITE(numout,*) '   Namelist namctl' 
    388          WRITE(numout,*) '                              sn_cfctl%l_glochk  = ', sn_cfctl%l_glochk 
    389          WRITE(numout,*) '                              sn_cfctl%l_allon   = ', sn_cfctl%l_allon 
    390          WRITE(numout,*) '       finer control over o/p sn_cfctl%l_config  = ', sn_cfctl%l_config 
    391377         WRITE(numout,*) '                              sn_cfctl%l_runstat = ', sn_cfctl%l_runstat 
    392378         WRITE(numout,*) '                              sn_cfctl%l_trcstat = ', sn_cfctl%l_trcstat 
     
    507493      USE zdf_oce,   ONLY : zdf_oce_alloc 
    508494      USE trc_oce,   ONLY : trc_oce_alloc 
     495      USE bdy_oce,   ONLY : bdy_oce_alloc 
    509496      ! 
    510497      INTEGER :: ierr 
     
    516503      ierr = ierr + zdf_oce_alloc()          ! ocean vertical physics 
    517504      ierr = ierr + trc_oce_alloc()          ! shared TRC / TRA arrays 
     505      ierr = ierr + bdy_oce_alloc()    ! bdy masks (incl. initialization)       
    518506      ! 
    519507      CALL mpp_sum( 'nemogcm', ierr ) 
     
    522510   END SUBROUTINE nemo_alloc 
    523511 
    524    SUBROUTINE nemo_set_cfctl(sn_cfctl, setto, for_all ) 
     512   SUBROUTINE nemo_set_cfctl(sn_cfctl, setto ) 
    525513      !!---------------------------------------------------------------------- 
    526514      !!                     ***  ROUTINE nemo_set_cfctl  *** 
    527515      !! 
    528516      !! ** Purpose :   Set elements of the output control structure to setto. 
    529       !!                for_all should be .false. unless all areas are to be 
    530       !!                treated identically. 
    531       !! 
     517     !! 
    532518      !! ** Method  :   Note this routine can be used to switch on/off some 
    533       !!                types of output for selected areas but any output types 
    534       !!                that involve global communications (e.g. mpp_max, glob_sum) 
    535       !!                should be protected from selective switching by the 
    536       !!                for_all argument 
    537       !!---------------------------------------------------------------------- 
    538       LOGICAL :: setto, for_all 
    539       TYPE(sn_ctl) :: sn_cfctl 
    540       !!---------------------------------------------------------------------- 
    541       IF( for_all ) THEN 
    542          sn_cfctl%l_runstat = setto 
    543          sn_cfctl%l_trcstat = setto 
    544       ENDIF 
     519      !!                types of output for selected areas. 
     520      !!---------------------------------------------------------------------- 
     521      TYPE(sn_ctl), INTENT(inout) :: sn_cfctl 
     522      LOGICAL     , INTENT(in   ) :: setto 
     523      !!---------------------------------------------------------------------- 
     524      sn_cfctl%l_runstat = setto 
     525      sn_cfctl%l_trcstat = setto 
    545526      sn_cfctl%l_oceout  = setto 
    546527      sn_cfctl%l_layout  = setto 
     
    572553 
    573554 
    574    SUBROUTINE stp_ctl( kt, kindic ) 
     555   SUBROUTINE stp_ctl( kt ) 
    575556      !!---------------------------------------------------------------------- 
    576557      !!                    ***  ROUTINE stp_ctl  *** 
     
    583564      !!---------------------------------------------------------------------- 
    584565      INTEGER, INTENT(in   ) ::   kt      ! ocean time-step index 
    585       INTEGER, INTENT(inout) ::   kindic  ! indicator of solver convergence 
    586566      !!---------------------------------------------------------------------- 
    587567      ! 
Note: See TracChangeset for help on using the changeset viewer.