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 4611 for trunk – NEMO

Changeset 4611 for trunk


Ignore:
Timestamp:
2014-03-31T17:13:03+02:00 (10 years ago)
Author:
cetlod
Message:

bugfix : clean the routine trcsub.F90 and remove obsolescence, see ticket #1291

Location:
trunk/NEMOGCM/NEMO/TOP_SRC
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/NEMO/TOP_SRC/TRP/trcnxt.F90

    r3680 r4611  
    108108 
    109109 
    110 #if defined key_obc 
    111 !!      CALL obc_trc( kt )               ! OBC open boundaries 
    112 #endif 
    113110#if defined key_bdy 
    114111!!      CALL bdy_trc( kt )               ! BDY open boundaries 
  • trunk/NEMOGCM/NEMO/TOP_SRC/trc.F90

    r4148 r4611  
    132132#endif 
    133133   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  sshn_tm     !: average ssh for the now step [m] 
    134    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  sshu_n_tm   !: average ssh for the now step [m] 
    135    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  sshv_n_tm   !: average ssh for the now step [m] 
    136134   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  sshb_hold   !:hold sshb from the beginning of each sub-stepping[m]   
    137    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  sshu_b_hold !:hold sshb from the beginning of each sub-stepping[m]   
    138    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  sshv_b_hold !:hold sshb from the beginning of each sub-stepping[m]  
    139135 
    140136   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  rnf_tm     !: river runoff 
     
    148144   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  wndm_tm    !: 10m wind average [m] 
    149145   ! 
    150 #if defined key_traldf_c3d 
    151    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  ahtt_tm, ahtu_tm, ahtv_tm, ahtw_tm   !: ** 3D coefficients ** at T-,U-,V-,W-points 
    152 #elif defined key_traldf_c2d 
    153    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  ahtt_tm, ahtu_tm, ahtv_tm, ahtw_tm   !: ** 2D coefficients ** at T-,U-,V-,W-points 
    154 #elif defined key_traldf_c1d 
    155    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:)       ::  ahtt_tm, ahtu_tm, ahtv_tm, ahtw_tm   !: ** 1D coefficients ** at T-,U-,V-,W-points 
    156 #else 
    157    REAL(wp), PUBLIC                                        ::  ahtt_tm, ahtu_tm, ahtv_tm, ahtw_tm   !: ** 0D coefficients ** at T-,U-,V-,W-points 
    158 #endif 
    159    ! 
    160 #if defined key_traldf_eiv 
    161 #  if defined key_traldf_c3d 
    162    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  aeiu_tm , aeiv_tm , aeiw_tm   !: ** 3D coefficients ** 
    163 #  elif defined key_traldf_c2d 
    164    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  aeiu_tm , aeiv_tm , aeiw_tm   !: ** 2D coefficients ** 
    165 #  elif defined key_traldf_c1d 
    166    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:)       ::  aeiu_tm , aeiv_tm, aeiw_tm   !: ** 1D coefficients ** 
    167 #  else 
    168    REAL(wp), PUBLIC                                        ::  aeiu_tm , aeiv_tm , aeiw_tm   !: ** 0D coefficients ** 
    169 #  endif 
    170 #endif 
    171146 
    172147   ! Temporary physical arrays for sub_stepping 
     
    174149   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  un_temp,vn_temp,wn_temp     !: hold current values of avt, un, vn, wn 
    175150   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  avt_temp, rhop_temp     !: hold current values of avt, un, vn, wn 
    176    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  e3t_temp,e3u_temp,e3v_temp,e3w_temp     !: hold current values 
    177151   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  sshn_temp, sshb_temp, ssha_temp, rnf_temp,h_rnf_temp 
    178    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  sshu_n_temp, sshu_b_temp, sshu_a_temp 
    179    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  sshf_n_temp 
    180    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  sshv_n_temp, sshv_b_temp, sshv_a_temp 
    181    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  hu_temp, hv_temp, hur_temp, hvr_temp 
    182152   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  hdivn_temp, rotn_temp 
    183153   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  hdivb_temp, rotb_temp 
     
    197167# endif 
    198168   ! 
    199 #if defined key_traldf_c3d 
    200    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  ahtt_temp, ahtu_temp, ahtv_temp, ahtw_temp    
    201 #elif defined key_traldf_c2d 
    202    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  ahtt_temp, ahtu_temp, ahtv_temp, ahtw_temp   
    203 #elif defined key_traldf_c1d 
    204    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:)       ::  ahtt_temp, ahtu_temp, ahtv_temp, ahtw_temp  
    205 #else 
    206    REAL(wp), PUBLIC                                        ::  ahtt_temp, ahtu_temp, ahtv_temp, ahtw_temp 
    207 #endif 
    208    ! 
    209 #if defined key_traldf_eiv 
    210 # if defined key_traldf_c3d 
    211    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::  aeiu_temp , aeiv_temp , aeiw_temp   !: ** 3D coefficients ** 
    212 # elif defined key_traldf_c2d 
    213    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  aeiu_temp , aeiv_temp , aeiw_temp   !: ** 2D coefficients ** 
    214 # elif defined key_traldf_c1d 
    215    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:)       ::  aeiu_temp , aeiv_temp, aeiw_temp   !: ** 1D coefficients ** 
    216 # else 
    217    REAL(wp), PUBLIC                                        ::  aeiu_temp , aeiv_temp , aeiw_temp   !: ** 0D coefficients ** 
    218 # endif 
    219 # endif 
    220169 
    221170   !!---------------------------------------------------------------------- 
  • trunk/NEMOGCM/NEMO/TOP_SRC/trcsub.F90

    r4306 r4611  
    2828   USE sbcrnf, ONLY: h_rnf, nk_rnf   ! River runoff  
    2929   USE bdy_oce 
    30 #if defined key_obc 
    31    USE obc_oce, ONLY: obctmsk 
    32 #endif 
    3330#if defined key_agrif 
    3431   USE agrif_opa_update 
     
    7875           ! 
    7976           sshb_hold  (:,:) = sshn  (:,:) 
    80 !!Z~       sshu_b_hold(:,:) = sshu_n(:,:) 
    81 !!Z~       sshv_b_hold(:,:) = sshv_n(:,:) 
    8277           emp_b_hold (:,:) = emp_b (:,:) 
    8378           ! 
     
    9994# endif 
    10095#if defined key_ldfslp 
    101           wslpi_tm(:,:,:)        = wslpi_tm(:,:,:)        + wslpi(:,:,:)        * fse3w(:,:,:)  
    102           wslpj_tm(:,:,:)        = wslpj_tm(:,:,:)        + wslpj(:,:,:)        * fse3w(:,:,:)  
    103           uslp_tm (:,:,:)        = uslp_tm (:,:,:)        + uslp (:,:,:)        * fse3u(:,:,:)  
    104           vslp_tm (:,:,:)        = vslp_tm (:,:,:)        + vslp (:,:,:)        * fse3v(:,:,:)  
     96          wslpi_tm(:,:,:)        = wslpi_tm(:,:,:)        + wslpi(:,:,:) 
     97          wslpj_tm(:,:,:)        = wslpj_tm(:,:,:)        + wslpj(:,:,:) 
     98          uslp_tm (:,:,:)        = uslp_tm (:,:,:)        + uslp (:,:,:) 
     99          vslp_tm (:,:,:)        = vslp_tm (:,:,:)        + vslp (:,:,:) 
    105100#endif 
    106101# if defined key_trabbl 
     
    116111          ! 
    117112          sshn_tm  (:,:)         = sshn_tm  (:,:)         + sshn  (:,:)  
    118 !!Z~      sshu_n_tm(:,:)         = sshu_n_tm(:,:)         + sshu_n(:,:)  
    119 !!Z~      sshv_n_tm(:,:)         = sshv_n_tm(:,:)         + sshv_n(:,:)  
    120113          rnf_tm   (:,:)         = rnf_tm   (:,:)         + rnf   (:,:)  
    121114          h_rnf_tm (:,:)         = h_rnf_tm (:,:)         + h_rnf (:,:)  
     
    126119          qsr_tm   (:,:)         = qsr_tm   (:,:)         + qsr   (:,:) 
    127120          wndm_tm  (:,:)         = wndm_tm  (:,:)         + wndm  (:,:) 
    128           ! 
    129 #if defined key_traldf_c3d 
    130           ahtt_tm  (:,:,:)       = ahtt_tm  (:,:,:)       + ahtt(:,:,:)         * fse3t(:,:,:) 
    131           ahtu_tm  (:,:,:)       = ahtu_tm  (:,:,:)       + ahtu(:,:,:)         * fse3u(:,:,:) 
    132           ahtv_tm  (:,:,:)       = ahtv_tm  (:,:,:)       + ahtv(:,:,:)         * fse3v(:,:,:) 
    133           ahtw_tm  (:,:,:)       = ahtw_tm  (:,:,:)       + ahtw(:,:,:)         * fse3w(:,:,:) 
    134 #elif defined key_traldf_c2d 
    135           ahtt_tm  (:,:)         = ahtt_tm  (:,:)         + ahtt(:,:) 
    136           ahtu_tm  (:,:)         = ahtu_tm  (:,:)         + ahtu(:,:) 
    137           ahtv_tm  (:,:)         = ahtv_tm  (:,:)         + ahtv(:,:) 
    138           ahtw_tm  (:,:)         = ahtw_tm  (:,:)         + ahtw(:,:) 
    139 #elif defined key_traldf_c1d 
    140           ahtt_tm  (:)           = ahtt_tm  (:,:)         + ahtt(:) 
    141           ahtu_tm  (:)           = ahtu_tm  (:,:)         + ahtu(:) 
    142           ahtv_tm  (:)           = ahtv_tm  (:,:)         + ahtv(:) 
    143           ahtw_tm  (:)           = ahtw_tm  (:,:)         + ahtw(:) 
    144 #else 
    145           ahtt_tm                = ahtt_tm                + ahtt 
    146           ahtu_tm                = ahtu_tm                + ahtu 
    147           ahtv_tm                = ahtv_tm                + ahtv 
    148           ahtw_tm                = ahtw_tm                + ahtw 
    149 #endif 
    150 #if defined key_traldf_eiv 
    151 #  if defined key_traldf_c3d 
    152           aeiu_tm  (:,:,:)       = aeiu_tm  (:,:,:)       + aeiu(:,:,:)         * fse3u(:,:,:) 
    153           aeiv_tm  (:,:,:)       = aeiv_tm  (:,:,:)       + aeiv(:,:,:)         * fse3v(:,:,:) 
    154           aeiw_tm  (:,:,:)       = aeiw_tm  (:,:,:)       + aeiw(:,:,:)         * fse3w(:,:,:) 
    155 #  elif defined key_traldf_c2d 
    156           aeiu_tm  (:,:)         = aeiu_tm  (:,:)         + aeiu(:,:) 
    157           aeiv_tm  (:,:)         = aeiv_tm  (:,:)         + aeiv(:,:) 
    158           aeiw_tm  (:,:)         = aeiw_tm  (:,:)         + aeiw(:,:) 
    159 #  elif defined key_traldf_c1d 
    160           aeiu_tm  (:)           = aeiu_tm  (:,:)         + aeiu(:) 
    161           aeiv_tm  (:)           = aeiv_tm  (:,:)         + aeiv(:) 
    162           aeiw_tm  (:)           = aeiw_tm  (:,:)         + aeiw(:) 
    163 #  else 
    164           aeiu_tm                = aeiu_tm                + aeiu 
    165           aeiv_tm                = aeiv_tm                + aeiv 
    166           aeiw_tm                = aeiw_tm                + aeiw 
    167 #  endif 
    168 #endif 
    169121 
    170122      ELSE                           !  It is time to substep  
     
    196148# endif 
    197149         sshn_temp  (:,:)        = sshn  (:,:) 
    198 !!Z~     sshu_n_temp(:,:)        = sshu_n(:,:) 
    199 !!Z~     sshv_n_temp(:,:)        = sshv_n(:,:) 
    200 !!Z~     sshf_n_temp(:,:)        = sshf_n(:,:) 
    201150         sshb_temp  (:,:)        = sshb  (:,:) 
    202 !!Z~     sshu_b_temp(:,:)        = sshu_b(:,:) 
    203 !!Z~     sshv_b_temp(:,:)        = sshv_b(:,:) 
    204151         ssha_temp  (:,:)        = ssha  (:,:) 
    205 !!Z~     sshu_a_temp(:,:)        = sshu_a(:,:) 
    206 !!Z~     sshv_a_temp(:,:)        = sshv_a(:,:) 
    207152         rnf_temp   (:,:)        = rnf   (:,:) 
    208153         h_rnf_temp (:,:)        = h_rnf (:,:) 
     
    214159         qsr_temp   (:,:)        = qsr   (:,:) 
    215160         wndm_temp  (:,:)        = wndm  (:,:) 
    216 #if defined key_traldf_c3d 
    217          ahtu_temp  (:,:,:)      = ahtu  (:,:,:) 
    218          ahtv_temp  (:,:,:)      = ahtv  (:,:,:) 
    219          ahtw_temp  (:,:,:)      = ahtw  (:,:,:) 
    220          ahtt_temp  (:,:,:)      = ahtt  (:,:,:) 
    221 #elif defined key_traldf_c2d 
    222          ahtu_temp  (:,:)        = ahtu  (:,:) 
    223          ahtv_temp  (:,:)        = ahtv  (:,:) 
    224          ahtw_temp  (:,:)        = ahtw  (:,:) 
    225          ahtt_temp  (:,:)        = ahtt  (:,:) 
    226 #elif defined key_traldf_c1d 
    227          ahtu_temp  (:)          = ahtu  (:) 
    228          ahtv_temp  (:)          = ahtv  (:) 
    229          ahtw_temp  (:)          = ahtw  (:) 
    230          ahtt_temp  (:)          = ahtt  (:) 
    231 #else 
    232          ahtu_temp               = ahtu 
    233          ahtv_temp               = ahtv 
    234          ahtw_temp               = ahtw 
    235          ahtt_temp               = ahtt 
    236 #endif 
    237  
    238 #if defined key_traldf_eiv 
    239 # if defined key_traldf_c3d 
    240          aeiu_temp  (:,:,:)      = aeiu(:,:,:) 
    241          aeiv_temp  (:,:,:)      = aeiv(:,:,:) 
    242          aeiw_temp  (:,:,:)      = aeiw(:,:,:) 
    243 # elif defined key_traldf_c2d 
    244          aeiu_temp  (:,:)        = aeiu(:,:) 
    245          aeiv_temp  (:,:)        = aeiv(:,:) 
    246          aeiw_temp  (:,:)        = aeiw(:,:) 
    247 # elif defined key_traldf_c1d 
    248          aeiu_temp  (:)          = aeiu(:) 
    249          aeiv_temp  (:)          = aeiv(:) 
    250          aeiw_temp  (:)          = aeiw(:) 
    251 # else 
    252          aeiu_temp               = aeiu 
    253          aeiv_temp               = aeiv 
    254          aeiw_temp               = aeiw 
    255 # endif 
    256 #endif 
    257161         !                                    !  Variables reset in trc_sub_ssh 
    258162         rotn_temp  (:,:,:)      = rotn  (:,:,:) 
     
    260164         rotb_temp  (:,:,:)      = rotb  (:,:,:) 
    261165         hdivb_temp (:,:,:)      = hdivb (:,:,:) 
    262          hu_temp    (:,:)        = hu    (:,:) 
    263          hv_temp    (:,:)        = hv    (:,:) 
    264          hur_temp   (:,:)        = hur   (:,:) 
    265          hvr_temp   (:,:)        = hvr   (:,:) 
    266          ! 
    267          DO jk = 1, jpk 
    268             e3t_temp(:,:,jk)     = fse3t(:,:,jk) 
    269             e3u_temp(:,:,jk)     = fse3u(:,:,jk) 
    270             e3v_temp(:,:,jk)     = fse3v(:,:,jk) 
    271             e3w_temp(:,:,jk)     = fse3w(:,:,jk) 
    272          ENDDO 
    273          IF( lk_vvl ) THEN                      !  Update Now Vertical coord.  !   (only in vvl case) 
    274            !                                    !------------------------------! 
    275            DO jk = 1, jpk 
    276               fse3t (:,:,jk)     = fse3t_n (:,:,jk)   ! vertical scale factors stored in fse3. arrays 
    277               fse3u (:,:,jk)     = fse3u_n (:,:,jk) 
    278               fse3v (:,:,jk)     = fse3v_n (:,:,jk) 
    279               fse3w (:,:,jk)     = fse3w_n (:,:,jk) 
    280            END DO 
    281          ENDIF 
    282  
     166         ! 
    283167         ! 2. Create averages and reassign variables 
    284          un_tm    (:,:,:)        = un_tm   (:,:,:)        + un   (:,:,:)        * e3u_temp(:,:,:)  
    285          vn_tm    (:,:,:)        = vn_tm   (:,:,:)        + vn   (:,:,:)        * e3v_temp(:,:,:)  
    286          tsn_tm   (:,:,:,jp_tem) = tsn_tm  (:,:,:,jp_tem) + tsn  (:,:,:,jp_tem) * e3t_temp(:,:,:)   
    287          tsn_tm   (:,:,:,jp_sal) = tsn_tm  (:,:,:,jp_sal) + tsn  (:,:,:,jp_sal) * e3t_temp(:,:,:)   
    288          rhop_tm (:,:,:)         = rhop_tm (:,:,:)        + rhop (:,:,:)        * e3t_temp(:,:,:)   
    289          avt_tm   (:,:,:)        = avt_tm  (:,:,:)        + avt  (:,:,:)        * e3w_temp(:,:,:)   
    290 # if defined key_zdfddm 
    291          avs_tm   (:,:,:)        = avs_tm  (:,:,:)        + avs  (:,:,:)        * e3w_temp(:,:,:)   
    292 # endif 
    293 #if defined key_ldfslp 
    294          wslpi_tm (:,:,:)        = wslpi_tm(:,:,:)        + wslpi(:,:,:)        * e3w_temp(:,:,:)  
    295          wslpj_tm (:,:,:)        = wslpj_tm(:,:,:)        + wslpj(:,:,:)        * e3w_temp(:,:,:)  
    296          uslp_tm  (:,:,:)        = uslp_tm (:,:,:)        + uslp (:,:,:)        * e3u_temp(:,:,:)  
    297          vslp_tm  (:,:,:)        = vslp_tm (:,:,:)        + vslp (:,:,:)        * e3v_temp(:,:,:)  
     168         un_tm    (:,:,:)        = un_tm   (:,:,:)        + un   (:,:,:)        * fse3u(:,:,:)  
     169         vn_tm    (:,:,:)        = vn_tm   (:,:,:)        + vn   (:,:,:)        * fse3v(:,:,:)  
     170         tsn_tm   (:,:,:,jp_tem) = tsn_tm  (:,:,:,jp_tem) + tsn  (:,:,:,jp_tem) * fse3t(:,:,:)   
     171         tsn_tm   (:,:,:,jp_sal) = tsn_tm  (:,:,:,jp_sal) + tsn  (:,:,:,jp_sal) * fse3t(:,:,:)   
     172         rhop_tm (:,:,:)         = rhop_tm (:,:,:)        + rhop (:,:,:)        * fse3t(:,:,:)   
     173         avt_tm   (:,:,:)        = avt_tm  (:,:,:)        + avt  (:,:,:)        * fse3w(:,:,:)   
     174# if defined key_zdfddm 
     175         avs_tm   (:,:,:)        = avs_tm  (:,:,:)        + avs  (:,:,:)        * fse3w(:,:,:)   
     176# endif 
     177#if defined key_ldfslp 
     178         wslpi_tm (:,:,:)        = wslpi_tm(:,:,:)        + wslpi(:,:,:)  
     179         wslpj_tm (:,:,:)        = wslpj_tm(:,:,:)        + wslpj(:,:,:)  
     180         uslp_tm  (:,:,:)        = uslp_tm (:,:,:)        + uslp (:,:,:)  
     181         vslp_tm  (:,:,:)        = vslp_tm (:,:,:)        + vslp (:,:,:) 
    298182#endif 
    299183# if defined key_trabbl 
     
    308192# endif 
    309193         sshn_tm  (:,:)          = sshn_tm    (:,:)       + sshn  (:,:)  
    310 !!Z~     sshu_n_tm(:,:)          = sshu_n_tm  (:,:)       + sshu_n(:,:)  
    311 !!Z~     sshv_n_tm(:,:)          = sshv_n_tm  (:,:)       + sshv_n(:,:)  
    312194         rnf_tm   (:,:)          = rnf_tm     (:,:)       + rnf   (:,:)  
    313195         h_rnf_tm (:,:)          = h_rnf_tm   (:,:)       + h_rnf (:,:)  
     
    320202         ! 
    321203         sshn     (:,:)          = sshn_tm    (:,:) * r1_ndttrcp1  
    322 !!Z~     sshu_n   (:,:)          = sshu_n_tm  (:,:) * r1_ndttrcp1   
    323 !!Z~     sshv_n   (:,:)          = sshv_n_tm  (:,:) * r1_ndttrcp1   
    324204         sshb     (:,:)          = sshb_hold  (:,:) 
    325 !!Z~     sshu_b   (:,:)          = sshu_b_hold(:,:) 
    326 !!Z~     sshv_b   (:,:)          = sshv_b_hold(:,:) 
    327205         rnf      (:,:)          = rnf_tm     (:,:) * r1_ndttrcp1  
    328206         h_rnf    (:,:)          = h_rnf_tm   (:,:) * r1_ndttrcp1  
    329207         hmld     (:,:)          = hmld_tm    (:,:) * r1_ndttrcp1  
    330          !  variables that are initialized after averages initialized 
     208         !  variables that are initialized after averages 
    331209         emp_b    (:,:) = emp_b_hold (:,:) 
    332210         IF( kt == nittrc000 ) THEN 
     
    382260# endif 
    383261#if defined key_ldfslp 
    384                   wslpi(ji,jj,jk)        = wslpi_tm(ji,jj,jk)        * z1_ne3w  
    385                   wslpj(ji,jj,jk)        = wslpj_tm(ji,jj,jk)        * z1_ne3w  
    386                   uslp (ji,jj,jk)        = uslp_tm (ji,jj,jk)        * z1_ne3u  
    387                   vslp (ji,jj,jk)        = vslp_tm (ji,jj,jk)        * z1_ne3v  
     262                  wslpi(ji,jj,jk)        = wslpi_tm(ji,jj,jk)  
     263                  wslpj(ji,jj,jk)        = wslpj_tm(ji,jj,jk) 
     264                  uslp (ji,jj,jk)        = uslp_tm (ji,jj,jk) 
     265                  vslp (ji,jj,jk)        = vslp_tm (ji,jj,jk) 
    388266#endif 
    389267               ENDDO 
    390268            ENDDO 
    391269         ENDDO 
    392  
    393 #if defined key_traldf_c3d 
    394           ahtt_tm  (:,:,:)       = ahtt_tm  (:,:,:)       + ahtt(:,:,:)         * e3t_temp(:,:,:) 
    395           ahtu_tm  (:,:,:)       = ahtu_tm  (:,:,:)       + ahtu(:,:,:)         * e3u_temp(:,:,:) 
    396           ahtv_tm  (:,:,:)       = ahtv_tm  (:,:,:)       + ahtv(:,:,:)         * e3v_temp(:,:,:) 
    397           ahtw_tm  (:,:,:)       = ahtw_tm  (:,:,:)       + ahtw(:,:,:)         * e3w_temp(:,:,:) 
    398           ! 
    399           ahtt     (:,:,:)       = ahtt_tm  (:,:,:) * r1_ndttrcp1  / fse3t(:,:,:) 
    400           ahtu     (:,:,:)       = ahtu_tm  (:,:,:) * r1_ndttrcp1  / fse3u(:,:,:) 
    401           ahtv     (:,:,:)       = ahtv_tm  (:,:,:) * r1_ndttrcp1  / fse3v(:,:,:) 
    402           ahtw     (:,:,:)       = ahtw_tm  (:,:,:) * r1_ndttrcp1  / fse3w(:,:,:) 
    403 #elif defined key_traldf_c2d 
    404           ahtt_tm  (:,:)         = ahtt_tm  (:,:)         + ahtt(:,:) 
    405           ahtu_tm  (:,:)         = ahtu_tm  (:,:)         + ahtu(:,:) 
    406           ahtv_tm  (:,:)         = ahtv_tm  (:,:)         + ahtv(:,:) 
    407           ahtw_tm  (:,:)         = ahtw_tm  (:,:)         + ahtw(:,:) 
    408           ! 
    409           ahtt     (:,:)         = ahtt_tm  (:,:)   * r1_ndttrcp1 
    410           ahtu     (:,:)         = ahtu_tm  (:,:)   * r1_ndttrcp1 
    411           ahtv     (:,:)         = ahtv_tm  (:,:)   * r1_ndttrcp1 
    412           ahtw     (:,:)         = ahtw_tm  (:,:)   * r1_ndttrcp1 
    413 #elif defined key_traldf_c1d 
    414           ahtt_tm  (:)           = ahtt_tm  (:,:)         + ahtt(:) 
    415           ahtu_tm  (:)           = ahtu_tm  (:,:)         + ahtu(:) 
    416           ahtv_tm  (:)           = ahtv_tm  (:,:)         + ahtv(:) 
    417           ahtw_tm  (:)           = ahtw_tm  (:,:)         + ahtw(:) 
    418           ! 
    419           ahtt     (:)           = ahtt_tm  (:)     * r1_ndttrcp1 
    420           ahtu     (:)           = ahtu_tm  (:)     * r1_ndttrcp1 
    421           ahtv     (:)           = ahtv_tm  (:)     * r1_ndttrcp1 
    422           ahtw     (:)           = ahtw_tm  (:)     * r1_ndttrcp1 
    423 #else 
    424           ahtt_tm                = ahtt_tm                + ahtt 
    425           ahtu_tm                = ahtu_tm                + ahtu 
    426           ahtv_tm                = ahtv_tm                + ahtv 
    427           ahtw_tm                = ahtw_tm                + ahtw 
    428           ! 
    429           ahtt                   = ahtt_tm          * r1_ndttrcp1 
    430           ahtu                   = ahtu_tm          * r1_ndttrcp1 
    431           ahtv                   = ahtv_tm          * r1_ndttrcp1 
    432           ahtw                   = ahtw_tm          * r1_ndttrcp1 
    433 #endif 
    434  
    435 #if defined key_traldf_eiv 
    436 # if defined key_traldf_c3d 
    437           aeiu_tm  (:,:,:)       = aeiu_tm  (:,:,:)       + aeiu(:,:,:)         * e3u_temp(:,:,:) 
    438           aeiv_tm  (:,:,:)       = aeiv_tm  (:,:,:)       + aeiv(:,:,:)         * e3v_temp(:,:,:) 
    439           aeiw_tm  (:,:,:)       = aeiw_tm  (:,:,:)       + aeiw(:,:,:)         * e3w_temp(:,:,:) 
    440           ! 
    441           aeiu     (:,:,:)       = aeiu_tm  (:,:,:) * r1_ndttrcp1  / fse3u(:,:,:) 
    442           aeiv     (:,:,:)       = aeiv_tm  (:,:,:) * r1_ndttrcp1  / fse3v(:,:,:) 
    443           aeiw     (:,:,:)       = aeiw_tm  (:,:,:) * r1_ndttrcp1  / fse3w(:,:,:) 
    444 # elif defined key_traldf_c2d 
    445           aeiu_tm  (:,:)         = aeiu_tm  (:,:)         + aeiu(:,:) 
    446           aeiv_tm  (:,:)         = aeiv_tm  (:,:)         + aeiv(:,:) 
    447           aeiw_tm  (:,:)         = aeiw_tm  (:,:)         + aeiw(:,:) 
    448           ! 
    449           aeiu     (:,:)         = aeiu_tm  (:,:)   * r1_ndttrcp1 
    450           aeiv     (:,:)         = aeiv_tm  (:,:)   * r1_ndttrcp1 
    451           aeiw     (:,:)         = aeiw_tm  (:,:)   * r1_ndttrcp1 
    452 # elif defined key_traldf_c1d 
    453           aeiu_tm  (:)           = aeiu_tm  (:,:)         + aeiu(:) 
    454           aeiv_tm  (:)           = aeiv_tm  (:,:)         + aeiv(:) 
    455           aeiw_tm  (:)           = aeiw_tm  (:,:)         + aeiw(:) 
    456           ! 
    457           aeiu     (:)           = aeiu_tm  (:)     * r1_ndttrcp1 
    458           aeiv     (:)           = aeiv_tm  (:)     * r1_ndttrcp1 
    459           aeiw     (:)           = aeiw_tm  (:)     * r1_ndttrcp1 
    460 # else 
    461           aeiu_tm                = aeiu_tm                + aeiu 
    462           aeiv_tm                = aeiv_tm                + aeiv 
    463           aeiw_tm                = aeiw_tm                + aeiw 
    464           ! 
    465           aeiu                   = aeiu_tm          * r1_ndttrcp1 
    466           aeiv                   = aeiv_tm          * r1_ndttrcp1 
    467           aeiw                   = aeiw_tm          * r1_ndttrcp1 
    468 # endif 
    469 #endif 
    470  
    471          CALL lbc_lnk( un    (:,:,:)       , 'U',-1. )  
    472          CALL lbc_lnk( vn    (:,:,:)       , 'V',-1. )  
    473          CALL lbc_lnk( tsn   (:,:,:,jp_tem), 'T', 1. )  
    474          CALL lbc_lnk( tsn   (:,:,:,jp_sal), 'T', 1. )  
    475          CALL lbc_lnk( rhop  (:,:,:)       , 'T', 1. )  
    476          CALL lbc_lnk( avt   (:,:,:)       , 'W', 1. )  
    477 # if defined key_zdfddm 
    478           CALL lbc_lnk( avs  (:,:,:)       , 'W', 1. )  
    479 # endif 
    480 #if defined key_ldfslp 
    481          CALL lbc_lnk( uslp  (:,:,:)       , 'U',-1. )  
    482          CALL lbc_lnk( vslp  (:,:,:)       , 'V',-1. )  
    483          CALL lbc_lnk( wslpi (:,:,:)       , 'W',-1. )  
    484          CALL lbc_lnk( wslpj (:,:,:)       , 'W',-1. )  
    485 #endif 
    486          CALL lbc_lnk( sshn  (:,:)         , 'T', 1. )  
    487 !!Z~     CALL lbc_lnk( sshu_n(:,:)         , 'U', 1. )  
    488 !!Z~     CALL lbc_lnk( sshv_n(:,:)         , 'V', 1. )  
    489 !!Z~     CALL lbc_lnk( sshf_n(:,:)         , 'F', 1. )  
    490          CALL lbc_lnk( sshb  (:,:)         , 'T', 1. )  
    491 !!Z~     CALL lbc_lnk( sshu_b(:,:)         , 'U', 1. )  
    492 !!Z~     CALL lbc_lnk( sshv_b(:,:)         , 'V', 1. )  
    493          CALL lbc_lnk( ssha  (:,:)         , 'T', 1. )  
    494 !!Z~     CALL lbc_lnk( sshu_a(:,:)         , 'U', 1. )  
    495 !!Z~     CALL lbc_lnk( sshv_a(:,:)         , 'V', 1. )  
    496          CALL lbc_lnk( rnf   (:,:)         , 'T', 1. )  
    497          CALL lbc_lnk( h_rnf (:,:)         , 'T', 1. )  
    498          CALL lbc_lnk( hmld  (:,:)         , 'T', 1. )  
    499          CALL lbc_lnk( fr_i  (:,:)         , 'T', 1. )  
    500          CALL lbc_lnk( emp   (:,:)         , 'T', 1. )  
    501          CALL lbc_lnk( emp_b (:,:)         , 'T', 1. )  
    502          CALL lbc_lnk( fmmflx(:,:)         , 'T', 1. )  
    503          CALL lbc_lnk( qsr   (:,:)         , 'T', 1. )  
    504          CALL lbc_lnk( wndm  (:,:)         , 'T', 1. )  
    505 # if defined key_trabbl 
    506          IF( nn_bbl_ldf == 1 ) THEN 
    507             CALL lbc_lnk( ahu_bbl(:,:)     , 'U', 1. )  
    508             CALL lbc_lnk( ahv_bbl(:,:)     , 'v', 1. )  
    509          ENDIF 
    510          IF( nn_bbl_adv == 1 ) THEN 
    511             CALL lbc_lnk( utr_bbl(:,:)     , 'U', 1. )  
    512             CALL lbc_lnk( vtr_bbl(:,:)     , 'U', 1. )  
    513          ENDIF 
    514 # endif 
    515 #if defined key_traldf_c3d 
    516          CALL lbc_lnk( ahtt  (:,:,:)       , 'T', 1. )  
    517          CALL lbc_lnk( ahtu  (:,:,:)       , 'U', 1. )  
    518          CALL lbc_lnk( ahtv  (:,:,:)       , 'V', 1. )  
    519          CALL lbc_lnk( ahtw  (:,:,:)       , 'W', 1. )  
    520 #elif defined key_traldf_c2d 
    521          CALL lbc_lnk( ahtt  (:,:)         , 'T', 1. )  
    522          CALL lbc_lnk( ahtu  (:,:)         , 'U', 1. )  
    523          CALL lbc_lnk( ahtv  (:,:)         , 'V', 1. )  
    524          CALL lbc_lnk( ahtw  (:,:)         , 'W', 1. )  
    525 #endif 
    526 #if defined key_traldf_eiv 
    527 #if defined key_traldf_c3d 
    528          CALL lbc_lnk( aeiu  (:,:,:)       , 'U', 1. )  
    529          CALL lbc_lnk( aeiv  (:,:,:)       , 'V', 1. )  
    530          CALL lbc_lnk( aeiw  (:,:,:)       , 'W', 1. )  
    531 #elif defined key_traldf_c2d 
    532          CALL lbc_lnk( aeiu  (:,:)         , 'U', 1. )  
    533          CALL lbc_lnk( aeiv  (:,:)         , 'V', 1. )  
    534          CALL lbc_lnk( aeiw  (:,:)         , 'W', 1. )  
    535 #endif 
    536 #endif 
    537270         ! 
    538271         CALL trc_sub_ssh( kt )         ! after ssh & vertical velocity 
    539272         ! 
    540          CALL lbc_lnk( wn    (:,:,:)       , 'W',-1. )  
    541          CALL lbc_lnk( rotn  (:,:,:)       , 'F', 1. )  
    542          CALL lbc_lnk( hdivn (:,:,:)       , 'T', 1. )  
    543          CALL lbc_lnk( rotb  (:,:,:)       , 'F', 1. )  
    544          CALL lbc_lnk( hdivb (:,:,:)       , 'T', 1. )  
    545          CALL lbc_lnk( hu    (:,:)         , 'U', 1. )  
    546          CALL lbc_lnk( hv    (:,:)         , 'V', 1. )  
    547          CALL lbc_lnk( hur   (:,:)         , 'U', 1. )  
    548          CALL lbc_lnk( hvr   (:,:)         , 'V', 1. )  
    549273      ENDIF 
    550274      ! 
     
    585309# endif 
    586310#if defined key_ldfslp 
    587       wslpi_tm(:,:,:)        = wslpi(:,:,:)        * fse3w(:,:,:)  
    588       wslpj_tm(:,:,:)        = wslpj(:,:,:)        * fse3w(:,:,:)  
    589       uslp_tm (:,:,:)        = uslp (:,:,:)        * fse3u(:,:,:)  
    590       vslp_tm (:,:,:)        = vslp (:,:,:)        * fse3v(:,:,:)  
     311      wslpi_tm(:,:,:)        = wslpi(:,:,:) 
     312      wslpj_tm(:,:,:)        = wslpj(:,:,:) 
     313      uslp_tm (:,:,:)        = uslp (:,:,:) 
     314      vslp_tm (:,:,:)        = vslp (:,:,:) 
    591315#endif 
    592316      sshn_tm  (:,:) = sshn  (:,:)  
    593 !!Z~  sshu_n_tm(:,:) = sshu_n(:,:)  
    594 !!Z~  sshv_n_tm(:,:) = sshv_n(:,:)  
    595317      rnf_tm   (:,:) = rnf   (:,:)  
    596318      h_rnf_tm (:,:) = h_rnf (:,:)  
     
    613335      ENDIF 
    614336# endif 
    615       ! 
    616 #if defined key_traldf_c3d 
    617       ahtt_tm(:,:,:) = ahtt(:,:,:) * fse3t(:,:,:) 
    618       ahtu_tm(:,:,:) = ahtu(:,:,:) * fse3u(:,:,:) 
    619       ahtv_tm(:,:,:) = ahtv(:,:,:) * fse3v(:,:,:) 
    620       ahtw_tm(:,:,:) = ahtw(:,:,:) * fse3w(:,:,:) 
    621 #elif defined key_traldf_c2d 
    622       ahtt_tm(:,:)   = ahtt(:,:) 
    623       ahtu_tm(:,:)   = ahtu(:,:) 
    624       ahtv_tm(:,:)   = ahtv(:,:) 
    625       ahtw_tm(:,:)   = ahtw(:,:) 
    626 #elif defined key_traldf_c1d 
    627       ahtt_tm(:)     = ahtt(:) 
    628       ahtu_tm(:)     = ahtu(:) 
    629       ahtv_tm(:)     = ahtv(:) 
    630       ahtw_tm(:)     = ahtw(:) 
    631 #else 
    632       ahtt_tm        = ahtt 
    633       ahtu_tm        = ahtu 
    634       ahtv_tm        = ahtv 
    635       ahtw_tm        = ahtw 
    636 #endif 
    637       ! 
    638 #if defined key_traldf_eiv 
    639 #  if defined key_traldf_c3d 
    640       aeiu_tm(:,:,:) = aeiu(:,:,:) * fse3u(:,:,:) 
    641       aeiv_tm(:,:,:) = aeiv(:,:,:) * fse3v(:,:,:) 
    642       aeiw_tm(:,:,:) = aeiw(:,:,:) * fse3w(:,:,:) 
    643 #  elif defined key_traldf_c2d 
    644       aeiu_tm(:,:)   = aeiu(:,:) 
    645       aeiv_tm(:,:)   = aeiv(:,:) 
    646       aeiw_tm(:,:)   = aeiw(:,:) 
    647 #  elif defined key_traldf_c1d 
    648       aeiu_tm(:)     = aeiu(:) 
    649       aeiv_tm(:)     = aeiv(:) 
    650       aeiw_tm(:)     = aeiw(:) 
    651 #  else 
    652       aeiu_tm        = aeiu 
    653       aeiv_tm        = aeiv 
    654       aeiw_tm        = aeiw 
    655 #  endif 
    656 #endif 
    657337      ! 
    658338      IF( nn_timing == 1 )  CALL timing_stop('trc_sub_ini') 
     
    694374      sshb  (:,:)     =  sshb_temp  (:,:) 
    695375      ssha  (:,:)     =  ssha_temp  (:,:) 
    696 !!Z~  sshu_n(:,:)     =  sshu_n_temp(:,:) 
    697 !!Z~  sshu_b(:,:)     =  sshu_b_temp(:,:) 
    698 !!Z~  sshu_a(:,:)     =  sshu_a_temp(:,:) 
    699 !!Z~  sshv_n(:,:)     =  sshv_n_temp(:,:) 
    700 !!Z~  sshv_b(:,:)     =  sshv_b_temp(:,:) 
    701 !!Z~  sshv_a(:,:)     =  sshv_a_temp(:,:) 
    702 !!Z~  sshf_n(:,:)     =  sshf_n_temp(:,:) 
    703376      rnf   (:,:)     =  rnf_temp   (:,:) 
    704377      h_rnf (:,:)     =  h_rnf_temp (:,:) 
     
    722395# endif 
    723396      ! 
    724 #if defined key_traldf_c3d 
    725       ahtu  (:,:,:)   =  ahtu_temp  (:,:,:) 
    726       ahtv  (:,:,:)   =  ahtv_temp  (:,:,:) 
    727       ahtw  (:,:,:)   =  ahtw_temp  (:,:,:) 
    728       ahtt  (:,:,:)   =  ahtt_temp  (:,:,:) 
    729 #elif defined key_traldf_c2d 
    730       ahtu  (:,:)     =  ahtu_temp  (:,:) 
    731       ahtv  (:,:)     =  ahtv_temp  (:,:) 
    732       ahtw  (:,:)     =  ahtw_temp  (:,:) 
    733       ahtt  (:,:)     =  ahtt_temp  (:,:) 
    734 #elif defined key_traldf_c1d 
    735       ahtu  (:)       =  ahtu_temp  (:) 
    736       ahtv  (:)       =  ahtv_temp  (:) 
    737       ahtw  (:)       =  ahtw_temp  (:) 
    738       ahtt  (:)       =  ahtt_temp  (:) 
    739 #else 
    740       ahtu            =  ahtu_temp 
    741       ahtv            =  ahtv_temp 
    742       ahtw            =  ahtw_temp 
    743       ahtt            =  ahtt_temp 
    744 #endif 
    745       ! 
    746 #if defined key_traldf_eiv 
    747 #if defined key_traldf_c3d 
    748       aeiu  (:,:,:)  =  aeiu_temp(:,:,:) 
    749       aeiv  (:,:,:)  =  aeiv_temp(:,:,:) 
    750       aeiw  (:,:,:)  =  aeiw_temp(:,:,:) 
    751 #elif defined key_traldf_c2d 
    752       aeiu  (:,:)    =  aeiu_temp(:,:) 
    753       aeiv  (:,:)    =  aeiv_temp(:,:) 
    754       aeiw  (:,:)    =  aeiw_temp(:,:) 
    755 #elif defined key_traldf_c1d 
    756       aeiu  (:)      =  aeiu_temp(:) 
    757       aeiv  (:)      =  aeiv_temp(:) 
    758       aeiw  (:)      =  aeiw_temp(:) 
    759 #else 
    760       aeiu           =  aeiu_temp 
    761       aeiv           =  aeiv_temp 
    762       aeiw           =  aeiw_temp 
    763 #endif 
    764 #endif  
    765397      hdivn (:,:,:)   =  hdivn_temp (:,:,:) 
    766398      rotn  (:,:,:)   =  rotn_temp  (:,:,:) 
    767399      hdivb (:,:,:)   =  hdivb_temp (:,:,:) 
    768400      rotb  (:,:,:)   =  rotb_temp  (:,:,:) 
    769       hu    (:,:)     =  hu_temp    (:,:) 
    770       hv    (:,:)     =  hv_temp    (:,:) 
    771       hur   (:,:)     =  hur_temp   (:,:) 
    772       hvr   (:,:)     =  hvr_temp   (:,:) 
    773401      !                                       
    774       DO jk = 1, jpk 
    775          fse3t(:,:,jk)= e3t_temp(:,:,jk)  
    776          fse3u(:,:,jk)= e3u_temp(:,:,jk)  
    777          fse3v(:,:,jk)= e3v_temp(:,:,jk)  
    778          fse3w(:,:,jk)= e3w_temp(:,:,jk)  
    779       END DO 
    780       !                                           !------------------------------! 
    781       IF( lk_vvl ) THEN                           !  Update Now Vertical coord.  !   (only in vvl case) 
    782         !                                           !------------------------------! 
    783          DO jk = 1, jpkm1 
    784             fsdept(:,:,jk) = fsdept_n(:,:,jk)          ! now local depths stored in fsdep. arrays 
    785             fsdepw(:,:,jk) = fsdepw_n(:,:,jk) 
    786             fsde3w(:,:,jk) = fsde3w_n(:,:,jk) 
    787             ! 
    788             fse3t (:,:,jk) = fse3t_n (:,:,jk)          ! vertical scale factors stored in fse3. arrays 
    789             fse3u (:,:,jk) = fse3u_n (:,:,jk) 
    790             fse3v (:,:,jk) = fse3v_n (:,:,jk) 
    791             fse3f (:,:,jk) = fse3f_n (:,:,jk) 
    792             fse3w (:,:,jk) = fse3w_n (:,:,jk) 
    793             fse3uw(:,:,jk) = fse3uw_n(:,:,jk) 
    794             fse3vw(:,:,jk) = fse3vw_n(:,:,jk) 
    795          END DO 
    796          ! 
    797       ENDIF 
    798402 
    799403      ! Start new averages 
     
    808412# endif 
    809413#if defined key_ldfslp 
    810          wslpi_tm(:,:,:)        = wslpi(:,:,:)        * fse3w(:,:,:)  
    811          wslpj_tm(:,:,:)        = wslpj(:,:,:)        * fse3w(:,:,:)  
    812          uslp_tm (:,:,:)        = uslp (:,:,:)        * fse3u(:,:,:)  
    813          vslp_tm (:,:,:)        = vslp (:,:,:)        * fse3v(:,:,:)  
     414         wslpi_tm(:,:,:)        = wslpi(:,:,:)  
     415         wslpj_tm(:,:,:)        = wslpj(:,:,:) 
     416         uslp_tm (:,:,:)        = uslp (:,:,:) 
     417         vslp_tm (:,:,:)        = vslp (:,:,:) 
    814418#endif 
    815419      ! 
    816420      sshb_hold  (:,:) = sshn  (:,:) 
    817 !!Z~  sshu_b_hold(:,:) = sshu_n(:,:) 
    818 !!Z~  sshv_b_hold(:,:) = sshv_n(:,:) 
    819421      emp_b_hold (:,:) = emp   (:,:) 
    820422      sshn_tm    (:,:) = sshn  (:,:)  
    821 !!Z~  sshu_n_tm  (:,:) = sshu_n(:,:)  
    822 !!Z~  sshv_n_tm  (:,:) = sshv_n(:,:)  
    823423      rnf_tm     (:,:) = rnf   (:,:)  
    824424      h_rnf_tm   (:,:) = h_rnf (:,:)  
     
    840440# endif 
    841441      ! 
    842 #if defined key_traldf_c3d 
    843       DO jk = 1, jpkm1 
    844          ahtt_tm(:,:,jk) = ahtt(:,:,jk) * fse3t(:,:,jk) 
    845          ahtu_tm(:,:,jk) = ahtu(:,:,jk) * fse3u(:,:,jk) 
    846          ahtv_tm(:,:,jk) = ahtv(:,:,jk) * fse3v(:,:,jk) 
    847          ahtw_tm(:,:,jk) = ahtw(:,:,jk) * fse3w(:,:,jk) 
    848       END DO 
    849 #elif defined key_traldf_c2d 
    850       ahtt_tm(:,:)   = ahtt(:,:) 
    851       ahtu_tm(:,:)   = ahtu(:,:) 
    852       ahtv_tm(:,:)   = ahtv(:,:) 
    853       ahtw_tm(:,:)   = ahtw(:,:) 
    854 #elif defined key_traldf_c1d 
    855       ahtt_tm(:)     = ahtt(:) 
    856       ahtu_tm(:)     = ahtu(:) 
    857       ahtv_tm(:)     = ahtv(:) 
    858       ahtw_tm(:)     = ahtw(:) 
    859 #else 
    860       ahtt_tm        = ahtt 
    861       ahtu_tm        = ahtu 
    862       ahtv_tm        = ahtv 
    863       ahtw_tm        = ahtw 
    864 #endif 
    865       ! 
    866 #if defined key_traldf_eiv 
    867 #  if defined key_traldf_c3d 
    868       DO jk = 1, jpk 
    869          aeiu_tm(:,:,jk) = aeiu(:,:,jk) * fse3u(:,:,jk) 
    870          aeiv_tm(:,:,jk) = aeiv(:,:,jk) * fse3v(:,:,jk) 
    871          aeiw_tm(:,:,jk) = aeiw(:,:,jk) * fse3w(:,:,jk) 
    872       END DO 
    873 #  elif defined key_traldf_c2d 
    874       aeiu_tm(:,:)   = aeiu(:,:) 
    875       aeiv_tm(:,:)   = aeiv(:,:) 
    876       aeiw_tm(:,:)   = aeiw(:,:) 
    877 #  elif defined key_traldf_c1d 
    878       aeiu_tm(:)     = aeiu(:) 
    879       aeiv_tm(:)     = aeiv(:) 
    880       aeiw_tm(:)     = aeiw(:) 
    881 #  else 
    882       aeiu_tm        = aeiu 
    883       aeiv_tm        = aeiv 
    884       aeiw_tm        = aeiw 
    885 #  endif 
    886 #endif 
    887442      ! 
    888443      IF( nn_timing == 1 )  CALL timing_stop('trc_sub_reset') 
     
    906461      !!                wn      : now vertical velocity 
    907462      !!                sshu_a, sshv_a, sshf_a  : after sea surface height (lk_vvl=T) 
    908       !!                hu, hv, hur, hvr        : ocean depth and its inverse at u-,v-points 
    909463      !! 
    910464      !! Reference  : Leclair, M., and G. Madec, 2009, Ocean Modelling. 
     
    931485         wn(:,:,jpk) = 0._wp                  ! bottom boundary condition: w=0 (set once for all) 
    932486         ! 
    933       ENDIF 
    934  
    935       !                                           !------------------------------------------! 
    936       IF( lk_vvl ) THEN                           !  Regridding: Update Now Vertical coord.  !   (only in vvl case) 
    937          !                                        !------------------------------------------! 
    938          DO jk = 1, jpkm1 
    939             fsdept(:,:,jk) = fsdept_n(:,:,jk)         ! now local depths stored in fsdep. arrays 
    940             fsdepw(:,:,jk) = fsdepw_n(:,:,jk) 
    941             fsde3w(:,:,jk) = fsde3w_n(:,:,jk) 
    942             ! 
    943             fse3t (:,:,jk) = fse3t_n (:,:,jk)         ! vertical scale factors stored in fse3. arrays 
    944             fse3u (:,:,jk) = fse3u_n (:,:,jk) 
    945             fse3v (:,:,jk) = fse3v_n (:,:,jk) 
    946             fse3f (:,:,jk) = fse3f_n (:,:,jk) 
    947             fse3w (:,:,jk) = fse3w_n (:,:,jk) 
    948             fse3uw(:,:,jk) = fse3uw_n(:,:,jk) 
    949             fse3vw(:,:,jk) = fse3vw_n(:,:,jk) 
    950          END DO 
    951          ! 
    952 !!Z~     hu(:,:) = hu_0(:,:) + sshu_n(:,:)            ! now ocean depth (at u- and v-points) 
    953 !!Z~     hv(:,:) = hv_0(:,:) + sshv_n(:,:) 
    954          !                                            ! now masked inverse of the ocean depth (at u- and v-points) 
    955          hur(:,:) = umask(:,:,1) / ( hu(:,:) + 1._wp - umask(:,:,1) ) 
    956          hvr(:,:) = vmask(:,:,1) / ( hv(:,:) + 1._wp - vmask(:,:,1) ) 
    957          !  
    958487      ENDIF 
    959488      ! 
     
    975504      z1_rau0 = 0.5 / rau0 
    976505      ssha(:,:) = (  sshb(:,:) - z2dt * ( z1_rau0 * ( emp_b(:,:) + emp(:,:) ) + zhdiv(:,:) )  ) * tmask(:,:,1) 
    977  
     506#if ! defined key_dynspg_ts 
     507      ! These lines are not necessary with time splitting since 
     508      ! boundary condition on sea level is set during ts loop 
    978509#if defined key_agrif 
    979510      CALL agrif_ssh( kt ) 
    980 #endif 
    981 #if defined key_obc 
    982       IF( Agrif_Root() ) THEN  
    983          ssha(:,:) = ssha(:,:) * obctmsk(:,:) 
    984          CALL lbc_lnk( ssha, 'T', 1. )                 ! absolutly compulsory !! (jmm) 
    985       ENDIF 
    986511#endif 
    987512#if defined key_bdy 
     
    989514      CALL lbc_lnk( ssha, 'T', 1. )  
    990515#endif 
    991  
    992       !                                                ! Sea Surface Height at u-,v- and f-points (vvl case only) 
    993 !!Z~  IF( lk_vvl ) THEN                                ! (required only in key_vvl case) 
    994 !!Z~     DO jj = 1, jpjm1 
    995 !!Z~        DO ji = 1, jpim1      ! NO Vector Opt. 
    996 !!Z~           sshu_a(ji,jj) = 0.5  * umask(ji,jj,1) / ( e1u(ji  ,jj) * e2u(ji  ,jj) )                   & 
    997 !!Z~              &                                  * ( e1t(ji  ,jj) * e2t(ji  ,jj) * ssha(ji  ,jj)     & 
    998 !!Z~              &                                    + e1t(ji+1,jj) * e2t(ji+1,jj) * ssha(ji+1,jj) ) 
    999 !!Z~           sshv_a(ji,jj) = 0.5  * vmask(ji,jj,1) / ( e1v(ji,jj  ) * e2v(ji,jj  ) )                   & 
    1000 !!Z~              &                                  * ( e1t(ji,jj  ) * e2t(ji,jj  ) * ssha(ji,jj  )     & 
    1001 !!Z~              &                                    + e1t(ji,jj+1) * e2t(ji,jj+1) * ssha(ji,jj+1) ) 
    1002 !!Z~        END DO 
    1003 !!Z~     END DO 
    1004 !!Z~     CALL lbc_lnk( sshu_a, 'U', 1. )   ;   CALL lbc_lnk( sshv_a, 'V', 1. )      ! Boundaries conditions 
    1005 !!Z~  ENDIF 
    1006        
     516#endif 
     517 
    1007518 
    1008519      !                                           !------------------------------! 
     
    1039550         &      rhop_temp(jpi,jpj,jpk)      ,  rhop_tm(jpi,jpj,jpk) ,   & 
    1040551         &      sshn_temp(jpi,jpj)          ,  sshb_temp(jpi,jpj) ,      & 
    1041          &      ssha_temp(jpi,jpj)          ,  sshu_a_temp(jpi,jpj),     & 
    1042          &      sshu_n_temp(jpi,jpj)        ,  sshu_b_temp(jpi,jpj),     & 
    1043          &      sshv_n_temp(jpi,jpj)        ,  sshv_b_temp(jpi,jpj),     & 
    1044          &      sshv_a_temp(jpi,jpj)        ,  sshf_n_temp(jpi,jpj) ,   & 
    1045          &      e3t_temp(jpi,jpj,jpk)       ,  e3u_temp(jpi,jpj,jpk),    & 
    1046          &      e3v_temp(jpi,jpj,jpk)       ,  e3w_temp(jpi,jpj,jpk),    & 
     552         &      ssha_temp(jpi,jpj)          ,                           & 
    1047553#if defined key_ldfslp 
    1048554         &      wslpi_temp(jpi,jpj,jpk)     ,  wslpj_temp(jpi,jpj,jpk),  & 
     
    1062568         &      avs_tm(jpi,jpj,jpk)         ,  avs_temp(jpi,jpj,jpk) ,   & 
    1063569# endif 
    1064 #if defined key_traldf_c3d 
    1065          &      ahtt_tm(jpi,jpj,jpk)        ,  ahtt_temp(jpi,jpj,jpk),   & 
    1066          &      ahtu_tm(jpi,jpj,jpk)        ,  ahtu_temp(jpi,jpj,jpk),   & 
    1067          &      ahtv_tm(jpi,jpj,jpk)        ,  ahtv_temp(jpi,jpj,jpk),   & 
    1068          &      ahtw_tm(jpi,jpj,jpk)        ,  ahtw_temp(jpi,jpj,jpk),   & 
    1069 #elif defined key_traldf_c2d 
    1070          &      ahtt_tm(jpi,jpj)            ,  ahtt_temp(jpi,jpj),       & 
    1071          &      ahtu_tm(jpi,jpj)            ,  ahtu_temp(jpi,jpj),       & 
    1072          &      ahtv_tm(jpi,jpj)            ,  ahtv_temp(jpi,jpj),       & 
    1073          &      ahtw_tm(jpi,jpj)            ,  ahtw_temp(jpi,jpj),       & 
    1074 #elif defined key_traldf_c1d 
    1075          &      ahtt_tm(jpk)                ,  ahtt_temp(jpk),           & 
    1076          &      ahtu_tm(jpk)                ,  ahtu_temp(jpk),           & 
    1077          &      ahtv_tm(jpk)                ,  ahtv_temp(jpk),           & 
    1078          &      ahtw_tm(jpk)                ,  ahtw_temp(jpk),           & 
    1079 #endif 
    1080 #if defined key_traldf_eiv 
    1081 # if defined key_traldf_c3d 
    1082          &      aeiu_tm(jpi,jpj,jpk)        ,  aeiu_temp(jpi,jpj,jpk),   & 
    1083          &      aeiv_tm(jpi,jpj,jpk)        ,  aeiv_temp(jpi,jpj,jpk),   & 
    1084          &      aeiw_tm(jpi,jpj,jpk)        ,  aeiw_temp(jpi,jpj,jpk),   & 
    1085 # elif defined key_traldf_c2d 
    1086          &      aeiu_tm(jpi,jpj)            ,  aeiu_temp(jpi,jpj),       & 
    1087          &      aeiv_tm(jpi,jpj)            ,  aeiv_temp(jpi,jpj),       & 
    1088          &      aeiw_tm(jpi,jpj)            ,  aeiw_temp(jpi,jpj),       & 
    1089 # elif defined key_traldf_c1d 
    1090          &      aeiu_tm(jpk)                ,  aeiu_temp(jpk),           & 
    1091          &      aeiv_tm(jpk)                ,  aeiv_temp(jpk),           & 
    1092          &      aeiw_tm(jpk)                ,  aeiw_temp(jpk),           & 
    1093 # endif 
    1094 # endif 
    1095570         &      hdivn_temp(jpi,jpj,jpk)     ,  hdivb_temp(jpi,jpj,jpk),  & 
    1096571         &      rotn_temp(jpi,jpj,jpk)      ,  rotb_temp(jpi,jpj,jpk),   & 
    1097          &      hu_temp(jpi,jpj)            ,  hv_temp(jpi,jpj),         & 
    1098          &      hur_temp(jpi,jpj)           ,  hvr_temp(jpi,jpj),        & 
    1099572         &      un_tm(jpi,jpj,jpk)          ,  vn_tm(jpi,jpj,jpk)  ,     & 
    1100573         &      avt_tm(jpi,jpj,jpk)                                ,     & 
    1101574         &      sshn_tm(jpi,jpj)            ,  sshb_hold(jpi,jpj) ,      & 
    1102          &      sshu_n_tm(jpi,jpj)          ,  sshu_b_hold(jpi,jpj),     & 
    1103          &      sshv_n_tm(jpi,jpj)          ,  sshv_b_hold(jpi,jpj),     & 
    1104575         &      tsn_tm(jpi,jpj,jpk,2)       ,                            & 
    1105576         &      emp_tm(jpi,jpj)             ,  fmmflx_tm(jpi,jpj)  ,     & 
Note: See TracChangeset for help on using the changeset viewer.