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 4617 for branches/2014/dev_CNRS0_NOC1_LDF/NEMOGCM/NEMO/TOP_SRC/trcsub.F90 – NEMO

Ignore:
Timestamp:
2014-04-06T17:47:31+02:00 (10 years ago)
Author:
gm
Message:

#1260 : TOP fixes, see the associated wiki page for explanation

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2014/dev_CNRS0_NOC1_LDF/NEMOGCM/NEMO/TOP_SRC/trcsub.F90

    r4306 r4617  
    2525   USE zdf_oce 
    2626   USE domvvl 
    27    USE divcur          ! hor. divergence and curl      (div & cur routines) 
     27   USE divhor          ! hor. divergence 
    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 
     
    4340   PUBLIC   trc_sub_ssh      ! called by trc_stp to reset physics variables 
    4441 
    45    !!* Module variables 
    4642   REAL(wp)  :: r1_ndttrc     !    1 /  nn_dttrc  
    4743   REAL(wp)  :: r1_ndttrcp1   !    1 / (nn_dttrc+1)  
     
    5046#  include "top_substitute.h90" 
    5147   !!---------------------------------------------------------------------- 
    52    !! NEMO/TOP 3.3 , NEMO Consortium (2010) 
     48   !! NEMO/TOP 3.7 , NEMO Consortium (2014) 
    5349   !! $Id: trcstp.F90 2528 2010-12-27 17:33:53Z rblod $  
    5450   !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 
     
    9490          tsn_tm  (:,:,:,jp_sal) = tsn_tm  (:,:,:,jp_sal) + tsn  (:,:,:,jp_sal) * fse3t(:,:,:)   
    9591          rhop_tm (:,:,:)        = rhop_tm (:,:,:)        + rhop (:,:,:)        * fse3t(:,:,:)   
    96           avt_tm  (:,:,:)        = avt_tm  (:,:,:)        + avt  (:,:,:)        * fse3w(:,:,:)   
     92          avt_tm  (:,:,:)        = avt_tm  (:,:,:)        + avt  (:,:,:)  
    9793# if defined key_zdfddm 
    98           avs_tm  (:,:,:)        = avs_tm  (:,:,:)        + avs  (:,:,:)        * fse3w(:,:,:)   
     94          avs_tm  (:,:,:)        = avs_tm  (:,:,:)        + avs  (:,:,:)  
    9995# endif 
    10096#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(:,:,:)  
     97          wslpi_tm(:,:,:)        = wslpi_tm(:,:,:)        + wslpi(:,:,:)  
     98          wslpj_tm(:,:,:)        = wslpj_tm(:,:,:)        + wslpj(:,:,:) 
     99          uslp_tm (:,:,:)        = uslp_tm (:,:,:)        + uslp (:,:,:)  
     100          vslp_tm (:,:,:)        = vslp_tm (:,:,:)        + vslp (:,:,:) 
    105101#endif 
    106102# if defined key_trabbl 
     
    127123          wndm_tm  (:,:)         = wndm_tm  (:,:)         + wndm  (:,:) 
    128124          ! 
    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 
     125          ahtu_tm  (:,:,:)       = ahtu_tm  (:,:,:)       + ahtu(:,:,:) 
     126          ahtv_tm  (:,:,:)       = ahtv_tm  (:,:,:)       + ahtv(:,:,:) 
     127          IF( ln_ldfeiv ) THEN 
     128            aeiu_tm  (:,:,:)     = aeiu_tm  (:,:,:)       + aeiu(:,:,:) 
     129            aeiv_tm  (:,:,:)     = aeiv_tm  (:,:,:)       + aeiv(:,:,:) 
     130          ENDIF 
    169131 
    170132      ELSE                           !  It is time to substep  
     
    179141         avs_temp   (:,:,:)      = avs   (:,:,:) 
    180142# endif 
    181 #if defined key_ldfslp 
    182          wslpi_temp (:,:,:)      = wslpi (:,:,:) 
    183          wslpj_temp (:,:,:)      = wslpj (:,:,:) 
    184          uslp_temp  (:,:,:)      = uslp (:,:,:) 
    185          vslp_temp  (:,:,:)      = vslp (:,:,:) 
    186 #endif 
     143         IF( l_ldfslp ) THEN 
     144            uslp_temp  (:,:,:)      = uslp (:,:,:) 
     145            vslp_temp  (:,:,:)      = vslp (:,:,:) 
     146            wslpi_temp (:,:,:)      = wslpi (:,:,:) 
     147            wslpj_temp (:,:,:)      = wslpj (:,:,:) 
     148         ENDIF 
    187149# if defined key_trabbl 
    188150          IF( nn_bbl_ldf == 1 ) THEN 
     
    214176         qsr_temp   (:,:)        = qsr   (:,:) 
    215177         wndm_temp  (:,:)        = wndm  (:,:) 
    216 #if defined key_traldf_c3d 
     178         ! 
    217179         ahtu_temp  (:,:,:)      = ahtu  (:,:,:) 
    218180         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 
     181         IF( ln_ldfeiv ) THEN 
     182            aeiu_temp  (:,:,:)   = aeiu(:,:,:) 
     183            aeiv_temp  (:,:,:)   = aeiv(:,:,:) 
     184         ENDIF 
    257185         !                                    !  Variables reset in trc_sub_ssh 
    258          rotn_temp  (:,:,:)      = rotn  (:,:,:) 
    259186         hdivn_temp (:,:,:)      = hdivn (:,:,:) 
    260          rotb_temp  (:,:,:)      = rotb  (:,:,:) 
    261          hdivb_temp (:,:,:)      = hdivb (:,:,:) 
    262187         hu_temp    (:,:)        = hu    (:,:) 
    263188         hv_temp    (:,:)        = hv    (:,:) 
     
    287212         tsn_tm   (:,:,:,jp_sal) = tsn_tm  (:,:,:,jp_sal) + tsn  (:,:,:,jp_sal) * e3t_temp(:,:,:)   
    288213         rhop_tm (:,:,:)         = rhop_tm (:,:,:)        + rhop (:,:,:)        * e3t_temp(:,:,:)   
    289          avt_tm   (:,:,:)        = avt_tm  (:,:,:)        + avt  (:,:,:)        * e3w_temp(:,:,:)   
     214         avt_tm   (:,:,:)        = avt_tm  (:,:,:)        + avt  (:,:,:)   
    290215# 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(:,:,:)  
    298 #endif 
     216         avs_tm   (:,:,:)        = avs_tm  (:,:,:)        + avs  (:,:,:)   
     217# endif 
     218         IF( l_ldfslp ) THEN 
     219            wslpi_tm (:,:,:)        = wslpi_tm(:,:,:)        + wslpi(:,:,:) 
     220            wslpj_tm (:,:,:)        = wslpj_tm(:,:,:)        + wslpj(:,:,:) 
     221            uslp_tm  (:,:,:)        = uslp_tm (:,:,:)        + uslp (:,:,:) 
     222            vslp_tm  (:,:,:)        = vslp_tm (:,:,:)        + vslp (:,:,:)  
     223         ENDIF 
    299224# if defined key_trabbl 
    300225          IF( nn_bbl_ldf == 1 ) THEN 
     
    377302                  tsn  (ji,jj,jk,jp_sal) = tsn_tm  (ji,jj,jk,jp_sal) * z1_ne3t 
    378303                  rhop (ji,jj,jk)        = rhop_tm (ji,jj,jk)        * z1_ne3t 
    379                   avt  (ji,jj,jk)        = avt_tm  (ji,jj,jk)        * z1_ne3w 
     304                  avt  (ji,jj,jk)        = avt_tm  (ji,jj,jk)        * r1_ndttrcp1 
    380305# if defined key_zdfddm 
    381                   avs  (ji,jj,jk)        = avs_tm  (ji,jj,jk)        * z1_ne3w 
    382 # endif 
    383 #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  
    388 #endif 
    389                ENDDO 
    390             ENDDO 
    391          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  
     306                  avs  (ji,jj,jk)        = avs_tm  (ji,jj,jk)        * r1_ndttrcp1 
     307# endif 
     308               END DO 
     309            END DO 
     310         END DO 
     311         IF( l_ldfslp ) THEN 
     312            wslpi(:,:,:)        = wslpi_tm(:,:,:)        * r1_ndttrcp1  
     313            wslpj(:,:,:)        = wslpj_tm(:,:,:)        * r1_ndttrcp1  
     314            uslp (:,:,:)        = uslp_tm (:,:,:)        * r1_ndttrcp1  
     315            vslp (:,:,:)        = vslp_tm (:,:,:)        * r1_ndttrcp1  
     316         ENDIF 
     317         ! 
     318         ahtu_tm(:,:,:) = ahtu_tm(:,:,:) + ahtu(:,:,:) 
     319         ahtv_tm(:,:,:) = ahtv_tm(:,:,:) + ahtv(:,:,:) 
     320         ! 
     321         ahtu   (:,:,:) = ahtu_tm(:,:,:) * r1_ndttrcp1 
     322         ahtv   (:,:,:) = ahtv_tm(:,:,:) * r1_ndttrcp1 
     323         IF( ln_ldfeiv ) THEN 
     324            aeiu_tm(:,:,:) = aeiu_tm(:,:,:) + aeiu(:,:,:) 
     325            aeiv_tm(:,:,:) = aeiv_tm(:,:,:) + aeiv(:,:,:) 
     326            ! 
     327            aeiu   (:,:,:) = aeiu_tm(:,:,:) * r1_ndttrcp1 
     328            aeiv   (:,:,:) = aeiv_tm(:,:,:) * r1_ndttrcp1 
     329         ENDIF 
     330 
     331!!gm  All those lbc_lnk are useless since the averaging is done over full arrays ! 
    471332         CALL lbc_lnk( un    (:,:,:)       , 'U',-1. )  
    472333         CALL lbc_lnk( vn    (:,:,:)       , 'V',-1. )  
     
    478339          CALL lbc_lnk( avs  (:,:,:)       , 'W', 1. )  
    479340# 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 
     341         IF( l_ldfslp ) THEN 
     342            CALL lbc_lnk( uslp  (:,:,:)       , 'U',-1. )  
     343            CALL lbc_lnk( vslp  (:,:,:)       , 'V',-1. )  
     344            CALL lbc_lnk( wslpi (:,:,:)       , 'W',-1. )  
     345            CALL lbc_lnk( wslpj (:,:,:)       , 'W',-1. )  
     346         ENDIF 
    486347         CALL lbc_lnk( sshn  (:,:)         , 'T', 1. )  
    487348!!Z~     CALL lbc_lnk( sshu_n(:,:)         , 'U', 1. )  
     
    513374         ENDIF 
    514375# endif 
    515 #if defined key_traldf_c3d 
    516          CALL lbc_lnk( ahtt  (:,:,:)       , 'T', 1. )  
    517376         CALL lbc_lnk( ahtu  (:,:,:)       , 'U', 1. )  
    518377         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 
     378         IF( ln_ldfeiv ) THEN 
     379            CALL lbc_lnk( aeiu  (:,:,:)    , 'U', 1. )  
     380            CALL lbc_lnk( aeiv  (:,:,:)    , 'V', 1. )  
     381         ENDIF 
    537382         ! 
    538383         CALL trc_sub_ssh( kt )         ! after ssh & vertical velocity 
    539384         ! 
    540385         CALL lbc_lnk( wn    (:,:,:)       , 'W',-1. )  
    541          CALL lbc_lnk( rotn  (:,:,:)       , 'F', 1. )  
    542386         CALL lbc_lnk( hdivn (:,:,:)       , 'T', 1. )  
    543          CALL lbc_lnk( rotb  (:,:,:)       , 'F', 1. )  
    544          CALL lbc_lnk( hdivb (:,:,:)       , 'T', 1. )  
    545387         CALL lbc_lnk( hu    (:,:)         , 'U', 1. )  
    546388         CALL lbc_lnk( hv    (:,:)         , 'V', 1. )  
     
    553395   END SUBROUTINE trc_sub_stp 
    554396 
     397 
    555398   SUBROUTINE trc_sub_ini 
    556399      !!------------------------------------------------------------------- 
    557400      !!                     ***  ROUTINE trc_sub_ini  *** 
    558401      !!                       
    559       !! ** Purpose : Initialize variables needed for sub-stepping passive tracers 
     402      !! ** Purpose :   Initialize variables needed for sub-stepping passive tracers 
    560403      !!  
    561       !! ** Method  :  
    562       !!              Compute the averages for sub-stepping 
     404      !! ** Method  :   Compute the averages for sub-stepping 
    563405      !!------------------------------------------------------------------- 
    564406      INTEGER ::   ierr 
     
    580422      tsn_tm  (:,:,:,jp_sal) = tsn  (:,:,:,jp_sal) * fse3t(:,:,:)   
    581423      rhop_tm (:,:,:)        = rhop (:,:,:)        * fse3t(:,:,:)   
    582       avt_tm  (:,:,:)        = avt  (:,:,:)        * fse3w(:,:,:)   
     424      avt_tm  (:,:,:)        = avt  (:,:,:)  
    583425# if defined key_zdfddm 
    584       avs_tm  (:,:,:)        = avs  (:,:,:)        * fse3w(:,:,:)   
    585 # endif 
    586 #if defined key_ldfslp 
    587       wslpi_tm(:,:,:)        = wslpi(:,:,:)        * fse3w(:,:,:)  
    588       wslpj_tm(:,:,:)        = wslpj(:,:,:)        * fse3w(:,:,:)  
    589       uslp_tm (:,:,:)        = uslp (:,:,:)        * fse3u(:,:,:)  
    590       vslp_tm (:,:,:)        = vslp (:,:,:)        * fse3v(:,:,:)  
    591 #endif 
     426      avs_tm  (:,:,:)        = avs  (:,:,:)   
     427# endif 
     428      IF( l_ldfslp ) THEN 
     429         wslpi_tm(:,:,:)        = wslpi(:,:,:) 
     430         wslpj_tm(:,:,:)        = wslpj(:,:,:) 
     431         uslp_tm (:,:,:)        = uslp (:,:,:) 
     432         vslp_tm (:,:,:)        = vslp (:,:,:) 
     433      ENDIF 
    592434      sshn_tm  (:,:) = sshn  (:,:)  
    593435!!Z~  sshu_n_tm(:,:) = sshu_n(:,:)  
     
    614456# endif 
    615457      ! 
    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 
     458      ahtu_tm(:,:,:) = ahtu(:,:,:) 
     459      ahtv_tm(:,:,:) = ahtv(:,:,:) 
     460      ! 
     461      IF( ln_ldfeiv ) THEN 
     462         aeiu_tm(:,:,:) = aeiu(:,:,:) 
     463         aeiv_tm(:,:,:) = aeiv(:,:,:) 
     464      ENDIF 
    657465      ! 
    658466      IF( nn_timing == 1 )  CALL timing_stop('trc_sub_ini') 
    659467      ! 
    660468   END SUBROUTINE trc_sub_ini 
     469 
    661470 
    662471   SUBROUTINE trc_sub_reset( kt ) 
     
    685494      avs   (:,:,:)   =  avs_temp   (:,:,:) 
    686495# endif 
    687 #if defined key_ldfslp 
    688       wslpi (:,:,:)   =  wslpi_temp (:,:,:) 
    689       wslpj (:,:,:)   =  wslpj_temp (:,:,:) 
    690       uslp  (:,:,:)   =  uslp_temp  (:,:,:) 
    691       vslp  (:,:,:)   =  vslp_temp  (:,:,:) 
    692 #endif 
     496      IF( l_ldfslp ) THEN 
     497         wslpi (:,:,:)   =  wslpi_temp (:,:,:) 
     498         wslpj (:,:,:)   =  wslpj_temp (:,:,:) 
     499         uslp  (:,:,:)   =  uslp_temp  (:,:,:) 
     500         vslp  (:,:,:)   =  vslp_temp  (:,:,:) 
     501      ENDIF 
    693502      sshn  (:,:)     =  sshn_temp  (:,:) 
    694503      sshb  (:,:)     =  sshb_temp  (:,:) 
     
    722531# endif 
    723532      ! 
    724 #if defined key_traldf_c3d 
    725533      ahtu  (:,:,:)   =  ahtu_temp  (:,:,:) 
    726534      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  
     535      ! 
     536      IF( ln_ldfeiv ) THEN 
     537         aeiu  (:,:,:)  =  aeiu_temp(:,:,:) 
     538         aeiv  (:,:,:)  =  aeiv_temp(:,:,:) 
     539      ENDIF 
    765540      hdivn (:,:,:)   =  hdivn_temp (:,:,:) 
    766       rotn  (:,:,:)   =  rotn_temp  (:,:,:) 
    767       hdivb (:,:,:)   =  hdivb_temp (:,:,:) 
    768       rotb  (:,:,:)   =  rotb_temp  (:,:,:) 
    769541      hu    (:,:)     =  hu_temp    (:,:) 
    770542      hv    (:,:)     =  hv_temp    (:,:) 
     
    773545      !                                       
    774546      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)  
     547         fse3t(:,:,jk) = e3t_temp(:,:,jk)  
     548         fse3u(:,:,jk) = e3u_temp(:,:,jk)  
     549         fse3v(:,:,jk) = e3v_temp(:,:,jk)  
     550         fse3w(:,:,jk) = e3w_temp(:,:,jk)  
    779551      END DO 
    780552      !                                           !------------------------------! 
    781553      IF( lk_vvl ) THEN                           !  Update Now Vertical coord.  !   (only in vvl case) 
    782         !                                           !------------------------------! 
     554        !                                         !------------------------------! 
    783555         DO jk = 1, jpkm1 
    784556            fsdept(:,:,jk) = fsdept_n(:,:,jk)          ! now local depths stored in fsdep. arrays 
     
    803575         tsn_tm  (:,:,:,jp_sal) = tsn  (:,:,:,jp_sal) * fse3t(:,:,:)   
    804576         rhop_tm (:,:,:)        = rhop (:,:,:)        * fse3t(:,:,:)   
    805          avt_tm  (:,:,:)        = avt  (:,:,:)        * fse3w(:,:,:)   
     577         avt_tm  (:,:,:)        = avt  (:,:,:)  
    806578# if defined key_zdfddm 
    807          avs_tm  (:,:,:)        = avs  (:,:,:)        * fse3w(:,:,:)   
    808 # endif 
    809 #if defined key_ldfslp 
    810          wslpi_tm(:,:,:)        = wslpi(:,:,:)        * fse3w(:,:,:)  
    811          wslpj_tm(:,:,:)        = wslpj(:,:,:)        * fse3w(:,:,:)  
    812          uslp_tm (:,:,:)        = uslp (:,:,:)        * fse3u(:,:,:)  
    813          vslp_tm (:,:,:)        = vslp (:,:,:)        * fse3v(:,:,:)  
    814 #endif 
     579         avs_tm  (:,:,:)        = avs  (:,:,:) 
     580# endif 
     581      IF( l_ldfslp ) THEN 
     582         wslpi_tm(:,:,:)        = wslpi(:,:,:) 
     583         wslpj_tm(:,:,:)        = wslpj(:,:,:) 
     584         uslp_tm (:,:,:)        = uslp (:,:,:) 
     585         vslp_tm (:,:,:)        = vslp (:,:,:) 
     586      ENDIF 
    815587      ! 
    816588      sshb_hold  (:,:) = sshn  (:,:) 
     
    840612# endif 
    841613      ! 
    842 #if defined key_traldf_c3d 
    843614      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) 
     615         ahtu_tm(:,:,jk) = ahtu(:,:,jk) 
     616         ahtv_tm(:,:,jk) = ahtv(:,:,jk) 
     617         IF( ln_ldfeiv ) THEN 
     618            aeiu_tm(:,:,jk) = aeiu(:,:,jk) * fse3u(:,:,jk) 
     619            aeiv_tm(:,:,jk) = aeiv(:,:,jk) * fse3v(:,:,jk) 
     620         ENDIF 
    848621      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 
    887622      ! 
    888623      IF( nn_timing == 1 )  CALL timing_stop('trc_sub_reset') 
     
    958693      ENDIF 
    959694      ! 
    960       CALL div_cur( kt )                              ! Horizontal divergence & Relative vorticity 
     695!!gm BUG here  the recomputed divergence will includes the wrong river runoff..... 
     696      CALL div_hor( kt )                              ! Horizontal divergence  
    961697      ! 
    962698      z2dt = 2._wp * rdt                              ! set time step size (Euler/Leapfrog) 
     
    979715      CALL agrif_ssh( kt ) 
    980716#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 
    986 #endif 
    987717#if defined key_bdy 
    988718      ssha(:,:) = ssha(:,:) * bdytmask(:,:) 
    989719      CALL lbc_lnk( ssha, 'T', 1. )  
    990720#endif 
    991  
     721      ! 
    992722      !                                                ! Sea Surface Height at u-,v- and f-points (vvl case only) 
    993723!!Z~  IF( lk_vvl ) THEN                                ! (required only in key_vvl case) 
    994724!!Z~     DO jj = 1, jpjm1 
    995725!!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) ) 
     726!!Z~           sshu_a(ji,jj) = 0.5  * umask(ji,jj,1) * r1_e1e2u(ji  ,jj) * ( e1e2t(ji  ,jj) * ssha(ji  ,jj)   & 
     727!!Z~              &                                                        + e1e2t(ji+1,jj) * ssha(ji+1,jj) ) 
     728!!Z~           sshv_a(ji,jj) = 0.5  * vmask(ji,jj,1) * r1_e1e2v(ji,jj  ) * ( e1e2t(ji,jj  ) * ssha(ji,jj  )     & 
     729!!Z~              &                                                        + e1e2t(ji,jj+1) * ssha(ji,jj+1) ) 
    1002730!!Z~        END DO 
    1003731!!Z~     END DO 
    1004732!!Z~     CALL lbc_lnk( sshu_a, 'U', 1. )   ;   CALL lbc_lnk( sshv_a, 'V', 1. )      ! Boundaries conditions 
    1005733!!Z~  ENDIF 
    1006        
    1007  
     734      ! 
    1008735      !                                           !------------------------------! 
    1009736      !                                           !     Now Vertical Velocity    ! 
     
    1019746#endif 
    1020747      END DO 
    1021  
    1022748      ! 
    1023749      CALL wrk_dealloc( jpi, jpj, zhdiv ) 
     
    1045771         &      e3t_temp(jpi,jpj,jpk)       ,  e3u_temp(jpi,jpj,jpk),    & 
    1046772         &      e3v_temp(jpi,jpj,jpk)       ,  e3w_temp(jpi,jpj,jpk),    & 
    1047 #if defined key_ldfslp 
     773!!gm here define these arrays only if l_ldfslp = True  
    1048774         &      wslpi_temp(jpi,jpj,jpk)     ,  wslpj_temp(jpi,jpj,jpk),  & 
    1049775         &      uslp_temp(jpi,jpj,jpk)      ,  vslp_temp(jpi,jpj,jpk),   & 
    1050 #endif 
     776         &      wslpi_tm(jpi,jpj,jpk)       ,  wslpj_tm(jpi,jpj,jpk),    & 
     777         &      uslp_tm(jpi,jpj,jpk)        ,  vslp_tm(jpi,jpj,jpk),     & 
     778!!gm 
    1051779#if defined key_trabbl 
    1052780         &      ahu_bbl_temp(jpi,jpj)       ,  ahv_bbl_temp(jpi,jpj),    & 
    1053781         &      utr_bbl_temp(jpi,jpj)       ,  vtr_bbl_temp(jpi,jpj),    & 
     782         &      ahu_bbl_tm(jpi,jpj)         ,  ahv_bbl_tm(jpi,jpj),      & 
     783         &      utr_bbl_tm(jpi,jpj)         ,  vtr_bbl_tm(jpi,jpj),      & 
    1054784#endif 
    1055785         &      rnf_temp(jpi,jpj)           ,  h_rnf_temp(jpi,jpj) ,     & 
     
    1062792         &      avs_tm(jpi,jpj,jpk)         ,  avs_temp(jpi,jpj,jpk) ,   & 
    1063793# endif 
    1064 #if defined key_traldf_c3d 
    1065          &      ahtt_tm(jpi,jpj,jpk)        ,  ahtt_temp(jpi,jpj,jpk),   & 
     794!!gm here define these arrays only if l_ldftra_time = True  
    1066795         &      ahtu_tm(jpi,jpj,jpk)        ,  ahtu_temp(jpi,jpj,jpk),   & 
    1067796         &      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 
     797!!gm here define these arrays only if l_ldfeiv_time = True  
    1082798         &      aeiu_tm(jpi,jpj,jpk)        ,  aeiu_temp(jpi,jpj,jpk),   & 
    1083799         &      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 
    1095          &      hdivn_temp(jpi,jpj,jpk)     ,  hdivb_temp(jpi,jpj,jpk),  & 
    1096          &      rotn_temp(jpi,jpj,jpk)      ,  rotb_temp(jpi,jpj,jpk),   & 
     800!!gm end 
     801         &      hdivn_temp(jpi,jpj,jpk)     ,                            & 
    1097802         &      hu_temp(jpi,jpj)            ,  hv_temp(jpi,jpj),         & 
    1098803         &      hur_temp(jpi,jpj)           ,  hvr_temp(jpi,jpj),        & 
     
    1106811         &      emp_b_hold(jpi,jpj)         ,                            & 
    1107812         &      hmld_tm(jpi,jpj)            ,  qsr_tm(jpi,jpj) ,         & 
    1108 #if defined key_ldfslp 
    1109          &      wslpi_tm(jpi,jpj,jpk)       ,  wslpj_tm(jpi,jpj,jpk),    & 
    1110          &      uslp_tm(jpi,jpj,jpk)        ,  vslp_tm(jpi,jpj,jpk),     & 
    1111 #endif 
    1112 #if defined key_trabbl 
    1113          &      ahu_bbl_tm(jpi,jpj)         ,  ahv_bbl_tm(jpi,jpj),      & 
    1114          &      utr_bbl_tm(jpi,jpj)         ,  vtr_bbl_tm(jpi,jpj),      & 
    1115 #endif 
    1116813         &      rnf_tm(jpi,jpj)             ,  h_rnf_tm(jpi,jpj) ,       & 
    1117814         &                                    STAT=trc_sub_alloc )   
Note: See TracChangeset for help on using the changeset viewer.