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

    r12377 r13159  
    2828   USE usrdef_nam     ! user defined configuration 
    2929   USE eosbn2         ! equation of state            (eos bn2 routine) 
     30   USE bdy_oce,  ONLY : ln_bdy 
     31   USE bdyini         ! open boundary cond. setting       (bdy_init routine) 
    3032   !              ! ocean physics 
    3133   USE ldftra         ! lateral diffusivity setting    (ldf_tra_init routine) 
     
    9092      !!              Madec, 2008, internal report, IPSL. 
    9193      !!---------------------------------------------------------------------- 
    92       INTEGER :: istp, indic       ! time step index 
     94      INTEGER :: istp       ! time step index 
    9395      !!---------------------------------------------------------------------- 
    9496 
     
    130132         IF( .NOT.ln_linssh )   CALL dta_dyn_sf_interp( istp, Nnn )  ! calculate now grid parameters 
    131133#endif 
    132                                 CALL stp_ctl    ( istp, indic )  ! Time loop: control and print 
     134                                CALL stp_ctl    ( istp )             ! Time loop: control and print 
    133135         istp = istp + 1 
    134136      END DO 
     
    145147      IF( nstop /= 0 .AND. lwp ) THEN                 ! error print 
    146148         WRITE(ctmp1,*) '   ==>>>   nemo_gcm: a total of ', nstop, ' errors have been found' 
    147          CALL ctl_stop( ctmp1 ) 
     149         WRITE(ctmp2,*) '           Look for "E R R O R" messages in all existing ocean_output* files' 
     150         CALL ctl_stop( ' ', ctmp1, ' ', ctmp2 ) 
    148151      ENDIF 
    149152      ! 
     
    209212      IF( lwm )   CALL ctl_opn(     numond, 'output.namelist.dyn', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 
    210213      ! open /dev/null file to be able to supress output write easily 
     214      IF( Agrif_Root() ) THEN 
    211215                  CALL ctl_opn(     numnul,           '/dev/null', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 
     216#ifdef key_agrif 
     217      ELSE 
     218                  numnul = Agrif_Parent(numnul)    
     219#endif 
     220      ENDIF 
    212221      ! 
    213222      !                             !--------------------! 
     
    221230      ! 
    222231      ! finalize the definition of namctl variables 
    223       IF( sn_cfctl%l_allon ) THEN 
    224          ! Turn on all options. 
    225          CALL nemo_set_cfctl( sn_cfctl, .TRUE., .TRUE. ) 
    226          ! Ensure all processors are active 
    227          sn_cfctl%procmin = 0 ; sn_cfctl%procmax = 1000000 ; sn_cfctl%procincr = 1 
    228       ELSEIF( sn_cfctl%l_config ) THEN 
    229          ! Activate finer control of report outputs 
    230          ! optionally switch off output from selected areas (note this only 
    231          ! applies to output which does not involve global communications) 
    232          IF( ( narea < sn_cfctl%procmin .OR. narea > sn_cfctl%procmax  ) .OR. & 
    233            & ( MOD( narea - sn_cfctl%procmin, sn_cfctl%procincr ) /= 0 ) )    & 
    234            &   CALL nemo_set_cfctl( sn_cfctl, .FALSE., .FALSE. ) 
    235       ELSE 
    236          ! turn off all options. 
    237          CALL nemo_set_cfctl( sn_cfctl, .FALSE., .TRUE. ) 
    238       ENDIF 
     232      IF( narea < sn_cfctl%procmin .OR. narea > sn_cfctl%procmax .OR. MOD( narea - sn_cfctl%procmin, sn_cfctl%procincr ) /= 0 )   & 
     233         &   CALL nemo_set_cfctl( sn_cfctl, .FALSE. ) 
    239234      ! 
    240235      lwp = (narea == 1) .OR. sn_cfctl%l_oceout    ! control of all listing output print 
     
    301296      ! Initialise time level indices 
    302297      Nbb = 1; Nnn = 2; Naa = 3; Nrhs = Naa 
    303     
    304298 
    305299      !                             !-------------------------------! 
     
    323317 
    324318                           CALL     sbc_init( Nbb, Nnn, Naa )    ! Forcings : surface module 
     319                           CALL     bdy_init    ! Open boundaries initialisation     
    325320 
    326321      !                                      ! Tracer physics 
     
    365360         WRITE(numout,*) '~~~~~~~~' 
    366361         WRITE(numout,*) '   Namelist namctl' 
    367          WRITE(numout,*) '                              sn_cfctl%l_glochk  = ', sn_cfctl%l_glochk 
    368          WRITE(numout,*) '                              sn_cfctl%l_allon   = ', sn_cfctl%l_allon 
    369          WRITE(numout,*) '       finer control over o/p sn_cfctl%l_config  = ', sn_cfctl%l_config 
    370362         WRITE(numout,*) '                              sn_cfctl%l_runstat = ', sn_cfctl%l_runstat 
    371363         WRITE(numout,*) '                              sn_cfctl%l_trcstat = ', sn_cfctl%l_trcstat 
     
    486478      USE zdf_oce,   ONLY : zdf_oce_alloc 
    487479      USE trc_oce,   ONLY : trc_oce_alloc 
     480      USE bdy_oce,   ONLY : bdy_oce_alloc 
    488481      ! 
    489482      INTEGER :: ierr 
     
    495488      ierr = ierr + zdf_oce_alloc()          ! ocean vertical physics 
    496489      ierr = ierr + trc_oce_alloc()          ! shared TRC / TRA arrays 
     490      ierr = ierr + bdy_oce_alloc()    ! bdy masks (incl. initialization)       
    497491      ! 
    498492      CALL mpp_sum( 'nemogcm', ierr ) 
     
    501495   END SUBROUTINE nemo_alloc 
    502496 
    503    SUBROUTINE nemo_set_cfctl(sn_cfctl, setto, for_all ) 
     497   SUBROUTINE nemo_set_cfctl(sn_cfctl, setto ) 
    504498      !!---------------------------------------------------------------------- 
    505499      !!                     ***  ROUTINE nemo_set_cfctl  *** 
    506500      !! 
    507501      !! ** Purpose :   Set elements of the output control structure to setto. 
    508       !!                for_all should be .false. unless all areas are to be 
    509       !!                treated identically. 
    510       !! 
     502     !! 
    511503      !! ** Method  :   Note this routine can be used to switch on/off some 
    512       !!                types of output for selected areas but any output types 
    513       !!                that involve global communications (e.g. mpp_max, glob_sum) 
    514       !!                should be protected from selective switching by the 
    515       !!                for_all argument 
    516       !!---------------------------------------------------------------------- 
    517       LOGICAL :: setto, for_all 
    518       TYPE(sn_ctl) :: sn_cfctl 
    519       !!---------------------------------------------------------------------- 
    520       IF( for_all ) THEN 
    521          sn_cfctl%l_runstat = setto 
    522          sn_cfctl%l_trcstat = setto 
    523       ENDIF 
     504      !!                types of output for selected areas. 
     505      !!---------------------------------------------------------------------- 
     506      TYPE(sn_ctl), INTENT(inout) :: sn_cfctl 
     507      LOGICAL     , INTENT(in   ) :: setto 
     508      !!---------------------------------------------------------------------- 
     509      sn_cfctl%l_runstat = setto 
     510      sn_cfctl%l_trcstat = setto 
    524511      sn_cfctl%l_oceout  = setto 
    525512      sn_cfctl%l_layout  = setto 
     
    551538 
    552539 
    553    SUBROUTINE stp_ctl( kt, kindic ) 
     540   SUBROUTINE stp_ctl( kt ) 
    554541      !!---------------------------------------------------------------------- 
    555542      !!                    ***  ROUTINE stp_ctl  *** 
     
    562549      !!---------------------------------------------------------------------- 
    563550      INTEGER, INTENT(in   ) ::   kt      ! ocean time-step index 
    564       INTEGER, INTENT(inout) ::   kindic  ! indicator of solver convergence 
    565551      !!---------------------------------------------------------------------- 
    566552      ! 
Note: See TracChangeset for help on using the changeset viewer.