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 12958 for NEMO/branches/UKMO/dev_r12745_HPC-02_Daley_Tiling_trial_public/src/OFF/nemogcm.F90 – NEMO

Ignore:
Timestamp:
2020-05-21T17:14:32+02:00 (4 years ago)
Author:
hadcv
Message:

Merge in trunk changes to r12933

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/UKMO/dev_r12745_HPC-02_Daley_Tiling_trial_public/src/OFF/nemogcm.F90

    r12641 r12958  
    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 
     
    227229      ! 
    228230      ! finalize the definition of namctl variables 
    229       IF( sn_cfctl%l_allon ) THEN 
    230          ! Turn on all options. 
    231          CALL nemo_set_cfctl( sn_cfctl, .TRUE., .TRUE. ) 
    232          ! Ensure all processors are active 
    233          sn_cfctl%procmin = 0 ; sn_cfctl%procmax = 1000000 ; sn_cfctl%procincr = 1 
    234       ELSEIF( sn_cfctl%l_config ) THEN 
    235          ! Activate finer control of report outputs 
    236          ! optionally switch off output from selected areas (note this only 
    237          ! applies to output which does not involve global communications) 
    238          IF( ( narea < sn_cfctl%procmin .OR. narea > sn_cfctl%procmax  ) .OR. & 
    239            & ( MOD( narea - sn_cfctl%procmin, sn_cfctl%procincr ) /= 0 ) )    & 
    240            &   CALL nemo_set_cfctl( sn_cfctl, .FALSE., .FALSE. ) 
    241       ELSE 
    242          ! turn off all options. 
    243          CALL nemo_set_cfctl( sn_cfctl, .FALSE., .TRUE. ) 
    244       ENDIF 
     231      IF( narea < sn_cfctl%procmin .OR. narea > sn_cfctl%procmax .OR. MOD( narea - sn_cfctl%procmin, sn_cfctl%procincr ) /= 0 )   & 
     232         &   CALL nemo_set_cfctl( sn_cfctl, .FALSE. ) 
    245233      ! 
    246234      lwp = (narea == 1) .OR. sn_cfctl%l_oceout    ! control of all listing output print 
     
    307295      ! Initialise time level indices 
    308296      Nbb = 1; Nnn = 2; Naa = 3; Nrhs = Naa 
    309     
    310297 
    311298      !                             !-------------------------------! 
     
    329316 
    330317                           CALL     sbc_init( Nbb, Nnn, Naa )    ! Forcings : surface module 
     318                           CALL     bdy_init    ! Open boundaries initialisation     
    331319 
    332320      !                                      ! Tracer physics 
     
    371359         WRITE(numout,*) '~~~~~~~~' 
    372360         WRITE(numout,*) '   Namelist namctl' 
    373          WRITE(numout,*) '                              sn_cfctl%l_glochk  = ', sn_cfctl%l_glochk 
    374          WRITE(numout,*) '                              sn_cfctl%l_allon   = ', sn_cfctl%l_allon 
    375          WRITE(numout,*) '       finer control over o/p sn_cfctl%l_config  = ', sn_cfctl%l_config 
    376361         WRITE(numout,*) '                              sn_cfctl%l_runstat = ', sn_cfctl%l_runstat 
    377362         WRITE(numout,*) '                              sn_cfctl%l_trcstat = ', sn_cfctl%l_trcstat 
     
    492477      USE zdf_oce,   ONLY : zdf_oce_alloc 
    493478      USE trc_oce,   ONLY : trc_oce_alloc 
     479      USE bdy_oce,   ONLY : bdy_oce_alloc 
    494480      ! 
    495481      INTEGER :: ierr 
     
    501487      ierr = ierr + zdf_oce_alloc()          ! ocean vertical physics 
    502488      ierr = ierr + trc_oce_alloc()          ! shared TRC / TRA arrays 
     489      ierr = ierr + bdy_oce_alloc()    ! bdy masks (incl. initialization)       
    503490      ! 
    504491      CALL mpp_sum( 'nemogcm', ierr ) 
     
    507494   END SUBROUTINE nemo_alloc 
    508495 
    509    SUBROUTINE nemo_set_cfctl(sn_cfctl, setto, for_all ) 
     496   SUBROUTINE nemo_set_cfctl(sn_cfctl, setto ) 
    510497      !!---------------------------------------------------------------------- 
    511498      !!                     ***  ROUTINE nemo_set_cfctl  *** 
    512499      !! 
    513500      !! ** Purpose :   Set elements of the output control structure to setto. 
    514       !!                for_all should be .false. unless all areas are to be 
    515       !!                treated identically. 
    516       !! 
     501     !! 
    517502      !! ** Method  :   Note this routine can be used to switch on/off some 
    518       !!                types of output for selected areas but any output types 
    519       !!                that involve global communications (e.g. mpp_max, glob_sum) 
    520       !!                should be protected from selective switching by the 
    521       !!                for_all argument 
    522       !!---------------------------------------------------------------------- 
    523       LOGICAL :: setto, for_all 
    524       TYPE(sn_ctl) :: sn_cfctl 
    525       !!---------------------------------------------------------------------- 
    526       IF( for_all ) THEN 
    527          sn_cfctl%l_runstat = setto 
    528          sn_cfctl%l_trcstat = setto 
    529       ENDIF 
     503      !!                types of output for selected areas. 
     504      !!---------------------------------------------------------------------- 
     505      TYPE(sn_ctl), INTENT(inout) :: sn_cfctl 
     506      LOGICAL     , INTENT(in   ) :: setto 
     507      !!---------------------------------------------------------------------- 
     508      sn_cfctl%l_runstat = setto 
     509      sn_cfctl%l_trcstat = setto 
    530510      sn_cfctl%l_oceout  = setto 
    531511      sn_cfctl%l_layout  = setto 
     
    557537 
    558538 
    559    SUBROUTINE stp_ctl( kt, kindic ) 
     539   SUBROUTINE stp_ctl( kt ) 
    560540      !!---------------------------------------------------------------------- 
    561541      !!                    ***  ROUTINE stp_ctl  *** 
     
    568548      !!---------------------------------------------------------------------- 
    569549      INTEGER, INTENT(in   ) ::   kt      ! ocean time-step index 
    570       INTEGER, INTENT(inout) ::   kindic  ! indicator of solver convergence 
    571550      !!---------------------------------------------------------------------- 
    572551      ! 
Note: See TracChangeset for help on using the changeset viewer.