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 9124 for branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/DYN/wet_dry.F90 – NEMO

Ignore:
Timestamp:
2017-12-19T09:26:25+01:00 (6 years ago)
Author:
gm
Message:

dev_merge_2017: ln_timing instead of nn_timing + restricted timing to nemo_init and routine called by step in OPA_SRC

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/DYN/wet_dry.F90

    r9092 r9124  
    2626   USE lbclnk         ! ocean lateral boundary conditions (or mpp link) 
    2727   USE lib_mpp        ! MPP library 
    28    USE timing         ! Timing 
     28   USE timing         ! timing of the main modules 
    2929 
    3030   IMPLICIT NONE 
     
    7171      !! ** input   : - namwad namelist 
    7272      !!---------------------------------------------------------------------- 
    73       !! 
    74       NAMELIST/namwad/ ln_wd_il, ln_wd_dl, rn_wdmin0, rn_wdmin1, rn_wdmin2, rn_wdld, & 
    75                      & nn_wdit, ln_wd_dl_bc, ln_wd_dl_rmp 
    76       INTEGER  ::   ios                 ! Local integer output status for namelist read 
    77       INTEGER  ::   ierr                ! Local integer status array allocation  
     73      INTEGER  ::   ios, ierr   ! Local integer 
     74      !! 
     75      NAMELIST/namwad/ ln_wd_il, ln_wd_dl   , rn_wdmin0, rn_wdmin1, rn_wdmin2, rn_wdld,   & 
     76         &             nn_wdit , ln_wd_dl_bc, ln_wd_dl_rmp 
    7877      !!---------------------------------------------------------------------- 
    7978      ! 
     
    10099         WRITE(numout,*) '      T => baroclinic u,v=0 at dry pts: ln_wd_dl_bc = ', ln_wd_dl_bc      
    101100         WRITE(numout,*) '      use a ramp for rwd limiter:  ln_wd_dl_rwd_rmp = ', ln_wd_dl_rmp 
    102   
    103101      ENDIF 
    104102      IF( .NOT. ln_read_cfg ) THEN 
    105103         IF(lwp) WRITE(numout,*) '      No configuration file so seting ssh_ref to zero  ' 
    106          ssh_ref=0.0 
     104         ssh_ref=0._wp 
    107105      ENDIF 
    108106 
    109       r_rn_wdmin1=1/rn_wdmin1 
     107      r_rn_wdmin1 = 1 / rn_wdmin1 
    110108      ll_wd = .FALSE. 
    111       IF(ln_wd_il .OR. ln_wd_dl) THEN 
     109      IF( ln_wd_il .OR. ln_wd_dl ) THEN 
    112110         ll_wd = .TRUE. 
    113111         ALLOCATE( wdmask(jpi,jpj),   STAT=ierr ) 
     
    144142      REAL(wp),  DIMENSION(jpi,jpj) ::   zflxu1 , zflxv1    ! local 2D workspace 
    145143      !!---------------------------------------------------------------------- 
    146       ! 
    147       IF( nn_timing == 1 )  CALL timing_start('wad_lmt') 
    148       ! 
    149         
     144      IF( ln_timing )   CALL timing_start('wad_lmt')      ! 
     145      ! 
    150146      DO jk = 1, jpkm1 
    151147         un(:,:,jk) = un(:,:,jk) * zwdlmtu(:,:)  
     
    153149      END DO 
    154150      jflag  = 0 
    155       zdepwd = 50._wp   !maximum depth on which that W/D could possibly happen 
    156  
     151      zdepwd = 50._wp      ! maximum depth on which that W/D could possibly happen 
     152      ! 
    157153      zflxp(:,:)   = 0._wp 
    158154      zflxn(:,:)   = 0._wp 
    159155      zflxu(:,:)   = 0._wp 
    160156      zflxv(:,:)   = 0._wp 
    161  
    162       zwdlmtu(:,:)  = 1._wp 
    163       zwdlmtv(:,:)  = 1._wp 
    164         
    165       ! Horizontal Flux in u and v direction 
    166       DO jk = 1, jpkm1   
    167          DO jj = 1, jpj 
    168             DO ji = 1, jpi 
    169                zflxu(ji,jj) = zflxu(ji,jj) + e3u_n(ji,jj,jk) * un(ji,jj,jk) * umask(ji,jj,jk) 
    170                zflxv(ji,jj) = zflxv(ji,jj) + e3v_n(ji,jj,jk) * vn(ji,jj,jk) * vmask(ji,jj,jk) 
    171             END DO   
    172          END DO   
    173       END DO 
    174         
     157      ! 
     158      zwdlmtu(:,:) = 1._wp 
     159      zwdlmtv(:,:) = 1._wp 
     160      ! 
     161      DO jk = 1, jpkm1     ! Horizontal Flux in u and v direction 
     162         zflxu(:,:) = zflxu(:,:) + e3u_n(:,:,jk) * un(:,:,jk) * umask(:,:,jk) 
     163         zflxv(:,:) = zflxv(:,:) + e3v_n(:,:,jk) * vn(:,:,jk) * vmask(:,:,jk) 
     164      END DO 
    175165      zflxu(:,:) = zflxu(:,:) * e2u(:,:) 
    176166      zflxv(:,:) = zflxv(:,:) * e1v(:,:) 
    177         
    178       wdmask(:,:) = 1 
     167      ! 
     168      wdmask(:,:) = 1._wp 
    179169      DO jj = 2, jpj 
    180170         DO ji = 2, jpi  
    181  
    182             IF( tmask(ji, jj, 1) < 0.5_wp ) CYCLE              ! we don't care about land cells 
    183             IF( ht_0(ji,jj) - ssh_ref > zdepwd ) CYCLE   ! and cells which are unlikely to dry 
    184  
    185             zflxp(ji,jj) = max(zflxu(ji,jj), 0._wp) - min(zflxu(ji-1,jj),   0._wp) + & 
    186                          & max(zflxv(ji,jj), 0._wp) - min(zflxv(ji,  jj-1), 0._wp)  
    187             zflxn(ji,jj) = min(zflxu(ji,jj), 0._wp) - max(zflxu(ji-1,jj),   0._wp) + & 
    188                          & min(zflxv(ji,jj), 0._wp) - max(zflxv(ji,  jj-1), 0._wp)  
    189  
     171            ! 
     172            IF( tmask(ji,jj,1)        < 0.5_wp )   CYCLE    ! we don't care about land cells 
     173            IF( ht_0(ji,jj) - ssh_ref > zdepwd )   CYCLE    ! and cells which are unlikely to dry 
     174            ! 
     175            zflxp(ji,jj) = MAX( zflxu(ji,jj) , 0._wp ) - MIN( zflxu(ji-1,jj  ) , 0._wp )  & 
     176               &         + MAX( zflxv(ji,jj) , 0._wp ) - MIN( zflxv(ji,  jj-1) , 0._wp )  
     177            zflxn(ji,jj) = MIN( zflxu(ji,jj) , 0._wp ) - MAX( zflxu(ji-1,jj  ) , 0._wp )  & 
     178               &         + MIN( zflxv(ji,jj) , 0._wp ) - MAX( zflxv(ji,  jj-1) , 0._wp )  
     179            ! 
    190180            zdep2 = ht_0(ji,jj) + sshb1(ji,jj) - rn_wdmin1 
    191             IF(zdep2 .le. 0._wp) THEN  !add more safty, but not necessary 
     181            IF( zdep2 <= 0._wp ) THEN     ! add more safty, but not necessary 
    192182               sshb1(ji,jj) = rn_wdmin1 - ht_0(ji,jj) 
    193183               IF(zflxu(ji,  jj) > 0._wp) zwdlmtu(ji  ,jj) = 0._wp 
     
    197187               wdmask(ji,jj) = 0._wp 
    198188            END IF 
    199          ENDDO 
    200       END DO 
    201  
    202  
    203 ! HPG limiter from jholt 
     189         END DO 
     190      END DO 
     191      ! 
     192      !           ! HPG limiter from jholt 
    204193      wdramp(:,:) = min((ht_0(:,:) + sshb1(:,:) - rn_wdmin1)/(rn_wdmin0 - rn_wdmin1),1.0_wp) 
    205 !jth assume don't need a lbc_lnk here 
     194      !jth assume don't need a lbc_lnk here 
    206195      DO jj = 1, jpjm1 
    207196         DO ji = 1, jpim1 
    208             wdrampu(ji,jj) = min(wdramp(ji,jj),wdramp(ji+1,jj)) 
    209             wdrampv(ji,jj) = min(wdramp(ji,jj),wdramp(ji,jj+1)) 
     197            wdrampu(ji,jj) = MIN( wdramp(ji,jj) , wdramp(ji+1,jj) ) 
     198            wdrampv(ji,jj) = MIN( wdramp(ji,jj) , wdramp(ji,jj+1) ) 
    210199         END DO 
    211200      END DO 
    212 ! end HPG limiter 
    213  
    214  
    215        
    216         !! start limiter iterations  
    217       DO jk1 = 1, nn_wdit + 1 
    218         
    219            
     201      !           ! end HPG limiter 
     202      ! 
     203      ! 
     204      DO jk1 = 1, nn_wdit + 1      !==  start limiter iterations  ==! 
     205         ! 
    220206         zflxu1(:,:) = zflxu(:,:) * zwdlmtu(:,:) 
    221207         zflxv1(:,:) = zflxv(:,:) * zwdlmtv(:,:) 
    222208         jflag = 0     ! flag indicating if any further iterations are needed 
    223            
     209         ! 
    224210         DO jj = 2, jpj 
    225211            DO ji = 2, jpi  
    226          
    227                IF( tmask(ji, jj, 1) < 0.5_wp ) CYCLE  
    228                IF( ht_0(ji,jj) > zdepwd )      CYCLE 
    229          
     212               IF( tmask(ji, jj, 1) < 0.5_wp )   CYCLE  
     213               IF( ht_0(ji,jj)      > zdepwd )   CYCLE 
     214               ! 
    230215               ztmp = e1e2t(ji,jj) 
    231  
    232                zzflxp = max(zflxu1(ji,jj), 0._wp) - min(zflxu1(ji-1,jj),   0._wp) + & 
    233                       & max(zflxv1(ji,jj), 0._wp) - min(zflxv1(ji,  jj-1), 0._wp)  
    234                zzflxn = min(zflxu1(ji,jj), 0._wp) - max(zflxu1(ji-1,jj),   0._wp) + & 
    235                       & min(zflxv1(ji,jj), 0._wp) - max(zflxv1(ji,  jj-1), 0._wp)  
    236            
     216               ! 
     217               zzflxp = MAX( zflxu1(ji,jj) , 0._wp ) - MIN( zflxu1(ji-1,jj  ) , 0._wp)  & 
     218                  &   + MAX( zflxv1(ji,jj) , 0._wp ) - MIN( zflxv1(ji,  jj-1) , 0._wp)  
     219               zzflxn = MIN( zflxu1(ji,jj) , 0._wp ) - MAX( zflxu1(ji-1,jj  ) , 0._wp)  & 
     220                  &   + MIN( zflxv1(ji,jj) , 0._wp ) - MAX( zflxv1(ji,  jj-1) , 0._wp)  
     221               ! 
    237222               zdep1 = (zzflxp + zzflxn) * z2dt / ztmp 
    238223               zdep2 = ht_0(ji,jj) + sshb1(ji,jj) - rn_wdmin1 - z2dt * sshemp(ji,jj) 
    239            
     224               ! 
    240225               IF( zdep1 > zdep2 ) THEN 
    241                   wdmask(ji, jj) = 0 
     226                  wdmask(ji, jj) = 0._wp 
    242227                  zcoef = ( ( zdep2 - rn_wdmin2 ) * ztmp - zzflxn * z2dt ) / ( zflxp(ji,jj) * z2dt ) 
    243228                  !zcoef = ( ( zdep2 - rn_wdmin2 ) * ztmp - zzflxn * z2dt ) / ( zzflxp * z2dt ) 
     
    245230                  ! changes have zeroed the coefficient since further iterations will 
    246231                  ! not change anything 
    247                   IF( zcoef > 0._wp ) THEN 
    248                      jflag = 1  
    249                   ELSE 
    250                      zcoef = 0._wp 
     232                  IF( zcoef > 0._wp ) THEN   ;   jflag = 1  
     233                  ELSE                       ;   zcoef = 0._wp 
    251234                  ENDIF 
    252                   IF(jk1 > nn_wdit) zcoef = 0._wp 
    253                   IF(zflxu1(ji,  jj) > 0._wp) zwdlmtu(ji  ,jj) = zcoef 
    254                   IF(zflxu1(ji-1,jj) < 0._wp) zwdlmtu(ji-1,jj) = zcoef 
    255                   IF(zflxv1(ji,  jj) > 0._wp) zwdlmtv(ji  ,jj) = zcoef 
    256                   IF(zflxv1(ji,jj-1) < 0._wp) zwdlmtv(ji,jj-1) = zcoef 
    257                END IF 
    258             END DO ! ji loop 
    259          END DO  ! jj loop 
    260  
     235                  IF( jk1 > nn_wdit )   zcoef = 0._wp 
     236                  IF( zflxu1(ji  ,jj  ) > 0._wp )   zwdlmtu(ji  ,jj  ) = zcoef 
     237                  IF( zflxu1(ji-1,jj  ) < 0._wp )   zwdlmtu(ji-1,jj  ) = zcoef 
     238                  IF( zflxv1(ji  ,jj  ) > 0._wp )   zwdlmtv(ji  ,jj  ) = zcoef 
     239                  IF( zflxv1(ji  ,jj-1) < 0._wp )   zwdlmtv(ji  ,jj-1) = zcoef 
     240               ENDIF 
     241            END DO 
     242         END DO 
    261243         CALL lbc_lnk_multi( zwdlmtu, 'U', 1., zwdlmtv, 'V', 1. ) 
    262  
    263          IF(lk_mpp) CALL mpp_max(jflag)   !max over the global domain 
    264  
    265          IF(jflag == 0) EXIT 
    266            
     244         ! 
     245         IF( lk_mpp )  CALL mpp_max(jflag)   !max over the global domain 
     246         ! 
     247         IF( jflag == 0 )  EXIT 
     248         ! 
    267249      END DO  ! jk1 loop 
    268         
     250      ! 
    269251      DO jk = 1, jpkm1 
    270          un(:,:,jk) = un(:,:,jk) * zwdlmtu(:, :)  
    271          vn(:,:,jk) = vn(:,:,jk) * zwdlmtv(:, :)  
    272       END DO 
    273  
    274       CALL lbc_lnk_multi( un, 'U', -1., vn, 'V', -1. ) 
    275         ! 
     252         un(:,:,jk) = un(:,:,jk) * zwdlmtu(:,:)  
     253         vn(:,:,jk) = vn(:,:,jk) * zwdlmtv(:,:)  
     254      END DO 
    276255      un_b(:,:) = un_b(:,:) * zwdlmtu(:, :) 
    277256      vn_b(:,:) = vn_b(:,:) * zwdlmtv(:, :) 
     257      ! 
     258!!gm TO BE SUPPRESSED ?  these lbc_lnk are useless since zwdlmtu and zwdlmtv are defined everywhere ! 
     259      CALL lbc_lnk_multi( un  , 'U', -1., vn  , 'V', -1. ) 
    278260      CALL lbc_lnk_multi( un_b, 'U', -1., vn_b, 'V', -1. ) 
    279         
    280       IF(jflag == 1 .AND. lwp) WRITE(numout,*) 'Need more iterations in wad_lmt!!!' 
    281         
     261!!gm 
     262      ! 
     263      IF(jflag == 1 .AND. lwp)   WRITE(numout,*) 'Need more iterations in wad_lmt!!!' 
     264      ! 
    282265      !IF( ln_rnf      )   CALL sbc_rnf_div( hdivn )          ! runoffs (update hdivn field) 
    283       !IF( nn_cla == 1 )   CALL cla_div    ( kt )             ! Cross Land Advection (update hdivn field) 
    284       ! 
    285       ! 
    286       ! 
    287       ! 
    288       IF( nn_timing == 1 )  CALL timing_stop('wad_lmt') 
    289       ! 
    290       IF( ln_timing )   CALL timing_stop('wad_lmt') 
     266      ! 
     267      IF( ln_timing )   CALL timing_stop('wad_lmt')      ! 
    291268      ! 
    292269   END SUBROUTINE wad_lmt 
     
    303280      !! ** Action  : - calculate flux limiter and W/D flag 
    304281      !!---------------------------------------------------------------------- 
    305       REAL(wp), INTENT(in)    ::   rdtbt    ! ocean time-step index 
     282      REAL(wp)                , INTENT(in   ) ::   rdtbt    ! ocean time-step index 
    306283      REAL(wp), DIMENSION(:,:), INTENT(inout) ::   zflxu,  zflxv, sshn_e, zssh_frc   
    307284      ! 
    308285      INTEGER  ::   ji, jj, jk, jk1     ! dummy loop indices 
    309       INTEGER  ::   jflag               ! local scalar 
     286      INTEGER  ::   jflag               ! local integer 
    310287      REAL(wp) ::   z2dt 
    311288      REAL(wp) ::   zcoef, zdep1, zdep2 ! local scalars 
     
    317294      REAL(wp), DIMENSION(jpi,jpj) ::   zflxu1, zflxv1           ! local 2D workspace 
    318295      !!---------------------------------------------------------------------- 
    319       ! 
    320       IF( nn_timing == 1 )  CALL timing_start('wad_lmt_bt') 
     296      IF( ln_timing )   CALL timing_start('wad_lmt_bt')      ! 
    321297      ! 
    322298      jflag  = 0 
    323       zdepwd = 50._wp   !maximum depth that ocean cells can have W/D processes 
    324  
     299      zdepwd = 50._wp   ! maximum depth that ocean cells can have W/D processes 
     300      ! 
    325301      z2dt = rdtbt    
    326         
     302      ! 
    327303      zflxp(:,:)   = 0._wp 
    328304      zflxn(:,:)   = 0._wp 
    329  
    330305      zwdlmtu(:,:) = 1._wp 
    331306      zwdlmtv(:,:) = 1._wp 
    332         
    333       ! Horizontal Flux in u and v direction 
    334         
    335       DO jj = 2, jpj 
     307      ! 
     308      DO jj = 2, jpj      ! Horizontal Flux in u and v direction 
    336309         DO ji = 2, jpi  
    337  
    338            IF( tmask(ji, jj, 1 ) < 0.5_wp) CYCLE   ! we don't care about land cells 
    339            IF( ht_0(ji,jj) > zdepwd )      CYCLE   ! and cells which are unlikely to dry 
    340  
    341             zflxp(ji,jj) = max(zflxu(ji,jj), 0._wp) - min(zflxu(ji-1,jj),   0._wp) + & 
    342                          & max(zflxv(ji,jj), 0._wp) - min(zflxv(ji,  jj-1), 0._wp)  
    343             zflxn(ji,jj) = min(zflxu(ji,jj), 0._wp) - max(zflxu(ji-1,jj),   0._wp) + & 
    344                          & min(zflxv(ji,jj), 0._wp) - max(zflxv(ji,  jj-1), 0._wp)  
    345  
     310            ! 
     311            IF( tmask(ji, jj, 1 ) < 0.5_wp) CYCLE   ! we don't care about land cells 
     312            IF( ht_0(ji,jj) > zdepwd )      CYCLE   ! and cells which are unlikely to dry 
     313            ! 
     314            zflxp(ji,jj) = MAX( zflxu(ji,jj) , 0._wp ) - MIN( zflxu(ji-1,jj  ) , 0._wp )  & 
     315               &         + MAX( zflxv(ji,jj) , 0._wp ) - MIN( zflxv(ji,  jj-1) , 0._wp )  
     316            zflxn(ji,jj) = MIN( zflxu(ji,jj) , 0._wp ) - MAX( zflxu(ji-1,jj  ) , 0._wp )  & 
     317               &         + MIN( zflxv(ji,jj) , 0._wp ) - MAX( zflxv(ji,  jj-1) , 0._wp )  
     318            ! 
    346319            zdep2 = ht_0(ji,jj) + sshn_e(ji,jj) - rn_wdmin1 
    347             IF(zdep2 .le. 0._wp) THEN  !add more safety, but not necessary 
     320            IF( zdep2 <= 0._wp ) THEN  !add more safety, but not necessary 
    348321              sshn_e(ji,jj) = rn_wdmin1 - ht_0(ji,jj) 
    349               IF(zflxu(ji,  jj) > 0._wp) zwdlmtu(ji  ,jj) = 0._wp 
    350               IF(zflxu(ji-1,jj) < 0._wp) zwdlmtu(ji-1,jj) = 0._wp 
    351               IF(zflxv(ji,  jj) > 0._wp) zwdlmtv(ji  ,jj) = 0._wp 
    352               IF(zflxv(ji,jj-1) < 0._wp) zwdlmtv(ji,jj-1) = 0._wp  
    353             END IF 
    354          ENDDO 
    355       END DO 
    356  
    357        
    358       !! start limiter iterations  
    359       DO jk1 = 1, nn_wdit + 1 
    360         
    361            
     322              IF( zflxu(ji  ,jj  ) > 0._wp)   zwdlmtu(ji  ,jj  ) = 0._wp 
     323              IF( zflxu(ji-1,jj  ) < 0._wp)   zwdlmtu(ji-1,jj  ) = 0._wp 
     324              IF( zflxv(ji  ,jj  ) > 0._wp)   zwdlmtv(ji  ,jj  ) = 0._wp 
     325              IF( zflxv(ji  ,jj-1) < 0._wp)   zwdlmtv(ji  ,jj-1) = 0._wp  
     326            ENDIF 
     327         END DO 
     328      END DO 
     329      ! 
     330      DO jk1 = 1, nn_wdit + 1      !! start limiter iterations  
     331         ! 
    362332         zflxu1(:,:) = zflxu(:,:) * zwdlmtu(:,:) 
    363333         zflxv1(:,:) = zflxv(:,:) * zwdlmtv(:,:) 
    364334         jflag = 0     ! flag indicating if any further iterations are needed 
    365            
     335         ! 
    366336         DO jj = 2, jpj 
    367337            DO ji = 2, jpi  
    368          
    369                IF( tmask(ji, jj, 1 ) < 0.5_wp) CYCLE  
    370                IF( ht_0(ji,jj) > zdepwd )      CYCLE 
    371          
     338               ! 
     339               IF( tmask(ji, jj, 1 ) < 0.5_wp )  CYCLE  
     340               IF( ht_0(ji,jj)       > zdepwd )   CYCLE 
     341               ! 
    372342               ztmp = e1e2t(ji,jj) 
    373  
    374                zzflxp = max(zflxu1(ji,jj), 0._wp) - min(zflxu1(ji-1,jj),   0._wp) + & 
    375                       & max(zflxv1(ji,jj), 0._wp) - min(zflxv1(ji,  jj-1), 0._wp)  
    376                zzflxn = min(zflxu1(ji,jj), 0._wp) - max(zflxu1(ji-1,jj),   0._wp) + & 
    377                       & min(zflxv1(ji,jj), 0._wp) - max(zflxv1(ji,  jj-1), 0._wp)  
     343               ! 
     344               zzflxp = max(zflxu1(ji,jj), 0._wp) - min(zflxu1(ji-1,jj),   0._wp)   & 
     345                  &   + max(zflxv1(ji,jj), 0._wp) - min(zflxv1(ji,  jj-1), 0._wp)  
     346               zzflxn = min(zflxu1(ji,jj), 0._wp) - max(zflxu1(ji-1,jj),   0._wp)   & 
     347                  &   + min(zflxv1(ji,jj), 0._wp) - max(zflxv1(ji,  jj-1), 0._wp)  
    378348           
    379349               zdep1 = (zzflxp + zzflxn) * z2dt / ztmp 
     
    399369            END DO ! ji loop 
    400370         END DO  ! jj loop 
    401  
     371         ! 
    402372         CALL lbc_lnk_multi( zwdlmtu, 'U', 1., zwdlmtv, 'V', 1. ) 
    403  
     373         ! 
    404374         IF(lk_mpp) CALL mpp_max(jflag)   !max over the global domain 
    405  
    406          IF(jflag == 0) EXIT 
    407            
     375         ! 
     376         IF(jflag == 0)   EXIT 
     377         ! 
    408378      END DO  ! jk1 loop 
    409         
     379      ! 
    410380      zflxu(:,:) = zflxu(:,:) * zwdlmtu(:, :)  
    411381      zflxv(:,:) = zflxv(:,:) * zwdlmtv(:, :)  
    412  
     382      ! 
     383!!gm THIS lbc_lnk is useless since it is already done at the end of the jk1-loop 
    413384      CALL lbc_lnk_multi( zflxu, 'U', -1., zflxv, 'V', -1. ) 
    414         
    415       IF(jflag == 1 .AND. lwp) WRITE(numout,*) 'Need more iterations in wad_lmt_bt!!!' 
    416         
     385!!gm end 
     386      ! 
     387      IF( jflag == 1 .AND. lwp )   WRITE(numout,*) 'Need more iterations in wad_lmt_bt!!!' 
     388      ! 
    417389      !IF( ln_rnf      )   CALL sbc_rnf_div( hdivn )          ! runoffs (update hdivn field) 
    418       !IF( nn_cla == 1 )   CALL cla_div    ( kt )             ! Cross Land Advection (update hdivn field) 
    419       ! 
    420       ! 
    421       IF( nn_timing == 1 )  CALL timing_stop('wad_lmt') 
     390      ! 
     391      IF( ln_timing )   CALL timing_stop('wad_lmt_bt')      ! 
     392      ! 
    422393   END SUBROUTINE wad_lmt_bt 
    423394 
Note: See TracChangeset for help on using the changeset viewer.