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 9104 for branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfphy.F90 – NEMO

Ignore:
Timestamp:
2017-12-15T18:56:13+01:00 (6 years ago)
Author:
gm
Message:

dev_merge_2017: ZDF: timing + lnk_multi + namelist cfg ctl

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfphy.F90

    r9019 r9104  
    8383      !!---------------------------------------------------------------------- 
    8484      ! 
    85       IF( ln_timing )   CALL timing_start('zdf_phy_init') 
    86       ! 
    8785      !                           !==  Namelist  ==! 
    8886      REWIND( numnam_ref )              ! Namelist namzdf in reference namelist : Vertical mixing parameters 
     
    9290      REWIND( numnam_cfg )              ! Namelist namzdf in reference namelist : Vertical mixing parameters 
    9391      READ  ( numnam_cfg, namzdf, IOSTAT = ios, ERR = 902 ) 
    94 902   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namzdf in configuration namelist', lwp ) 
     92902   IF( ios > 0 )   CALL ctl_nam ( ios , 'namzdf in configuration namelist', lwp ) 
    9593      IF(lwm)   WRITE ( numond, namzdf ) 
    9694      ! 
     
    206204      !!gm move it here ? 
    207205      ! 
    208       IF( ln_timing )   CALL timing_stop('zdf_phy_init') 
    209       ! 
    210206   END SUBROUTINE zdf_phy_init 
    211207 
     
    293289      !                                         !* Lateral boundary conditions (sign unchanged) 
    294290      IF( l_zdfsh2 ) THEN 
    295          CALL lbc_lnk( avm_k, 'W', 1. )               ! needed to compute the shear production term 
    296          CALL lbc_lnk( avt_k, 'W', 1. )               !!gm a priori useless ==>> to be tested 
    297       ENDIF 
    298       CALL lbc_lnk( avm  , 'W', 1. )                  ! needed to compute avm at u- and v-points 
    299       CALL lbc_lnk( avt  , 'W', 1. )                  !!gm  a priori only avm_k and avm are required 
    300       CALL lbc_lnk( avs  , 'W', 1. )                  !!gm  for calculation, kept here for output only 
     291         CALL lbc_lnk_multi( avm_k, 'W', 1. , avt_k, 'W', 1.   & 
     292            &                avm  , 'W', 1. , avt  , 'W', 1. , avs , 'W', 1. ) 
     293      ELSE 
     294         CALL lbc_lnk( avm  , 'W', 1. , avt  , 'W', 1. , avs , 'W', 1. ) 
     295      ENDIF 
    301296      ! 
    302297      IF( l_zdfdrg ) THEN     ! drag  have been updated (non-linear cases) 
    303          IF( ln_isfcav )   CALL lbc_lnk( rCdU_top, 'T', 1. )   ! top    drag 
    304                            CALL lbc_lnk( rCdU_bot, 'T', 1. )   ! bottom drag 
     298         IF( ln_isfcav ) THEN   ;  CALL lbc_lnk_multi( rCdU_top, 'T', 1. , rCdU_bot, 'T', 1. )   ! top & bot drag 
     299         ELSE                   ;  CALL lbc_lnk      ( rCdU_bot, 'T', 1. )                       ! bottom drag only 
    305300      ENDIF 
    306301      ! 
Note: See TracChangeset for help on using the changeset viewer.