Ignore:
Timestamp:
Apr 8, 2014 3:21:23 PM (11 years ago)
Author:
heinze
Message:

REAL constants provided with KIND-attribute

File:
1 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SOURCE/advec_ws.f90

    r1323 r1353  
    2020! Current revisions:
    2121! ------------------
    22 !
     22! REAL constants provided with KIND-attribute,
     23! module kinds added
     24! some formatting adjustments
    2325!
    2426! Former revisions:
     
    116118
    117119    PRIVATE
    118     PUBLIC   advec_s_ws, advec_s_ws_acc, advec_u_ws, advec_u_ws_acc, &
    119              advec_v_ws, advec_v_ws_acc, advec_w_ws, advec_w_ws_acc, &
     120    PUBLIC   advec_s_ws, advec_s_ws_acc, advec_u_ws, advec_u_ws_acc,          &
     121             advec_v_ws, advec_v_ws_acc, advec_w_ws, advec_w_ws_acc,          &
    120122             ws_init, ws_statistics
    121123
     
    187189
    188190       USE indices,                                                            &
    189            ONLY:  nyn, nys, nzb, nzt 
     191           ONLY:  nyn, nys, nzb, nzt
     192
     193       USE kinds
    190194       
    191195       USE pegrid
     
    214218                    sums_ws2_ws_l(nzb:nzt+1,0:threads_per_task-1) )
    215219
    216           sums_wsus_ws_l = 0.0
    217           sums_wsvs_ws_l = 0.0
    218           sums_us2_ws_l  = 0.0
    219           sums_vs2_ws_l  = 0.0
    220           sums_ws2_ws_l  = 0.0
     220          sums_wsus_ws_l = 0.0_wp
     221          sums_wsvs_ws_l = 0.0_wp
     222          sums_us2_ws_l  = 0.0_wp
     223          sums_vs2_ws_l  = 0.0_wp
     224          sums_ws2_ws_l  = 0.0_wp
    221225
    222226       ENDIF
     
    225229
    226230          ALLOCATE( sums_wspts_ws_l(nzb:nzt+1,0:threads_per_task-1) )
    227           sums_wspts_ws_l = 0.0
     231          sums_wspts_ws_l = 0.0_wp
    228232
    229233          IF ( humidity  .OR.  passive_scalar )  THEN
    230234             ALLOCATE( sums_wsqs_ws_l(nzb:nzt+1,0:threads_per_task-1) )
    231              sums_wsqs_ws_l = 0.0
     235             sums_wsqs_ws_l = 0.0_wp
    232236          ENDIF
    233237
     
    236240             ALLOCATE( sums_wsqrs_ws_l(nzb:nzt+1,0:threads_per_task-1) )
    237241             ALLOCATE( sums_wsnrs_ws_l(nzb:nzt+1,0:threads_per_task-1) )
    238              sums_wsqrs_ws_l = 0.0
    239              sums_wsnrs_ws_l = 0.0
     242             sums_wsqrs_ws_l = 0.0_wp
     243             sums_wsnrs_ws_l = 0.0_wp
    240244          ENDIF
    241245
    242246          IF ( ocean )  THEN
    243247             ALLOCATE( sums_wssas_ws_l(nzb:nzt+1,0:threads_per_task-1) )
    244              sums_wssas_ws_l = 0.0
     248             sums_wssas_ws_l = 0.0_wp
    245249          ENDIF
    246250
     
    324328                  precipitation, ocean, ws_scheme_mom, ws_scheme_sca
    325329
     330       USE kinds
     331
    326332       USE statistics,                                                         &
    327333           ONLY:  sums_us2_ws_l, sums_vs2_ws_l, sums_ws2_ws_l, sums_wsnrs_ws_l,&
     
    335341!--    beginning of prognostic_equations.
    336342       IF ( ws_scheme_mom )  THEN
    337           sums_wsus_ws_l = 0.0
    338           sums_wsvs_ws_l = 0.0
    339           sums_us2_ws_l  = 0.0
    340           sums_vs2_ws_l  = 0.0
    341           sums_ws2_ws_l  = 0.0
     343          sums_wsus_ws_l = 0.0_wp
     344          sums_wsvs_ws_l = 0.0_wp
     345          sums_us2_ws_l  = 0.0_wp
     346          sums_vs2_ws_l  = 0.0_wp
     347          sums_ws2_ws_l  = 0.0_wp
    342348       ENDIF
    343349
    344350       IF ( ws_scheme_sca )  THEN
    345           sums_wspts_ws_l = 0.0
    346           IF ( humidity  .OR.  passive_scalar )  sums_wsqs_ws_l = 0.0
     351          sums_wspts_ws_l = 0.0_wp
     352          IF ( humidity  .OR.  passive_scalar )  sums_wsqs_ws_l = 0.0_wp
    347353          IF ( cloud_physics  .AND.  icloud_scheme == 0  .AND.                 &
    348354               precipitation )  THEN
    349              sums_wsqrs_ws_l = 0.0
    350              sums_wsnrs_ws_l = 0.0
     355             sums_wsqrs_ws_l = 0.0_wp
     356             sums_wsnrs_ws_l = 0.0_wp
    351357          ENDIF
    352           IF ( ocean )  sums_wssas_ws_l = 0.0
     358          IF ( ocean )  sums_wssas_ws_l = 0.0_wp
    353359
    354360       ENDIF
     
    446452
    447453             v_comp                  = v(k,j,i) - v_gtrans
    448              swap_flux_y_local(k,tn) = v_comp * (                             &
    449                                                   ( 37.0 * ibit5 * adv_sca_5  &
    450                                                +     7.0 * ibit4 * adv_sca_3  &
    451                                                +           ibit3 * adv_sca_1  &
    452                                                   ) *                         &
     454             swap_flux_y_local(k,tn) = v_comp *         (                     &
     455                                               ( 37.0_wp * ibit5 * adv_sca_5  &
     456                                            +     7.0_wp * ibit4 * adv_sca_3  &
     457                                            +              ibit3 * adv_sca_1  &
     458                                               ) *                            &
    453459                                           ( sk(k,j,i)  + sk(k,j-1,i)     )   &
    454                                             -     (  8.0 * ibit5 * adv_sca_5  &
    455                                                +           ibit4 * adv_sca_3  &
    456                                                    ) *                        &
     460                                         -     (  8.0_wp * ibit5 * adv_sca_5  &
     461                                            +              ibit4 * adv_sca_3  &
     462                                                ) *                           &
    457463                                           ( sk(k,j+1,i) + sk(k,j-2,i)    )   &
    458                                            +      (        ibit5 * adv_sca_5  &
    459                                                   ) *                         &
     464                                         +     (           ibit5 * adv_sca_5  &
     465                                               ) *                            &
    460466                                           ( sk(k,j+2,i) + sk(k,j-3,i)    )   &
    461                                                 )
     467                                                        )
    462468
    463469             swap_diss_y_local(k,tn) = -ABS( v_comp ) * (                     &
    464                                                   ( 10.0 * ibit5 * adv_sca_5  &
    465                                                +     3.0 * ibit4 * adv_sca_3  &
    466                                                +           ibit3 * adv_sca_1  &
    467                                                   ) *                         &
    468                                             ( sk(k,j,i)   - sk(k,j-1,i)    )  &
    469                                            -      (  5.0 * ibit5 * adv_sca_5  &
    470                                                +           ibit4 * adv_sca_3  &
     470                                               ( 10.0_wp * ibit5 * adv_sca_5  &
     471                                            +     3.0_wp * ibit4 * adv_sca_3  &
     472                                            +              ibit3 * adv_sca_1  &
     473                                               ) *                            &
     474                                            ( sk(k,j,i)   - sk(k,j-1,i)    &
     475                                        -      (  5.0_wp * ibit5 * adv_sca_5  &
     476                                            +              ibit4 * adv_sca_3  &
    471477                                            ) *                               &
    472478                                            ( sk(k,j+1,i) - sk(k,j-2,i)  )    &
    473                                            +      (        ibit5 * adv_sca_5  &
    474                                                   ) *                         &
    475                                             ( sk(k,j+2,i) - sk(k,j-3,i) )     &
     479                                        +      (           ibit5 * adv_sca_5  &
     480                                               ) *                            &
     481                                            ( sk(k,j+2,i) - sk(k,j-3,i)  )    &
    476482                                                        )
    477483
     
    482488
    483489             v_comp                  = v(k,j,i) - v_gtrans
    484              swap_flux_y_local(k,tn) = v_comp * (                            &
    485                                     37.0 * ( sk(k,j,i)   + sk(k,j-1,i) )     &
    486                                   -  8.0 * ( sk(k,j+1,i) + sk(k,j-2,i) )     &
    487                                   +        ( sk(k,j+2,i) + sk(k,j-3,i) )     &
    488                                              ) * adv_sca_5
    489               swap_diss_y_local(k,tn) = -ABS( v_comp ) * (                   &
    490                                     10.0 * ( sk(k,j,i)   - sk(k,j-1,i) )     &
    491                                   -  5.0 * ( sk(k,j+1,i) - sk(k,j-2,i) )     &
    492                                   +          sk(k,j+2,i) - sk(k,j-3,i)       &
    493                                                         ) * adv_sca_5
     490             swap_flux_y_local(k,tn) = v_comp * (                             &
     491                                    37.0_wp * ( sk(k,j,i)   + sk(k,j-1,i) )   &
     492                                  -  8.0_wp * ( sk(k,j+1,i) + sk(k,j-2,i) )   &
     493                                  +           ( sk(k,j+2,i) + sk(k,j-3,i) )   &
     494                                                ) * adv_sca_5
     495              swap_diss_y_local(k,tn) = -ABS( v_comp ) * (                    &
     496                                    10.0_wp * ( sk(k,j,i)   - sk(k,j-1,i) )   &
     497                                  -  5.0_wp * ( sk(k,j+1,i) - sk(k,j-2,i) )   &
     498                                  +             sk(k,j+2,i) - sk(k,j-3,i)     &
     499                                                         ) * adv_sca_5
    494500
    495501          ENDDO
     
    508514             u_comp                     = u(k,j,i) - u_gtrans
    509515             swap_flux_x_local(k,j,tn) = u_comp * (                           &
    510                                                   ( 37.0 * ibit2 * adv_sca_5  &
    511                                                +     7.0 * ibit1 * adv_sca_3  &
    512                                                +           ibit0 * adv_sca_1  &
    513                                                   ) *                         &
     516                                               ( 37.0_wp * ibit2 * adv_sca_5  &
     517                                            +     7.0_wp * ibit1 * adv_sca_3  &
     518                                            +              ibit0 * adv_sca_1  &
     519                                               ) *                            &
    514520                                            ( sk(k,j,i)   + sk(k,j,i-1)    )  &
    515                                            -      (  8.0 * ibit2 * adv_sca_5  &
    516                                                +           ibit1 * adv_sca_3  &
    517                                                   ) *                         &
     521                                        -      (  8.0_wp * ibit2 * adv_sca_5  &
     522                                            +              ibit1 * adv_sca_3  &
     523                                               ) *                            &
    518524                                            ( sk(k,j,i+1) + sk(k,j,i-2)    )  &
    519                                            +      (        ibit2 * adv_sca_5  &
    520                                                   ) *                         &
     525                                        +      (           ibit2 * adv_sca_5  &
     526                                               ) *                            &
    521527                                            ( sk(k,j,i+2) + sk(k,j,i-3)    )  &
    522528                                                  )
    523529
    524530              swap_diss_x_local(k,j,tn) = -ABS( u_comp ) * (                  &
    525                                                   ( 10.0 * ibit2 * adv_sca_5  &
    526                                                +     3.0 * ibit1 * adv_sca_3  &
    527                                                +           ibit0 * adv_sca_1  &
    528                                                   ) *                         &
     531                                               ( 10.0_wp * ibit2 * adv_sca_5  &
     532                                            +     3.0_wp * ibit1 * adv_sca_3  &
     533                                            +              ibit0 * adv_sca_1  &
     534                                               ) *                            &
    529535                                            ( sk(k,j,i)   - sk(k,j,i-1)    )  &
    530                                            -      (  5.0 * ibit2 * adv_sca_5  &
    531                                                +           ibit1 * adv_sca_3  &
    532                                                   ) *                         &
    533                                             ( sk(k,j,i+1) - sk(k,j,i-2)    &
    534                                            +      (        ibit2 * adv_sca_5  &
    535                                                   ) *                         &
    536                                             ( sk(k,j,i+2) - sk(k,j,i-3) )     &
     536                                        -      (  5.0_wp * ibit2 * adv_sca_5  &
     537                                            +              ibit1 * adv_sca_3  &
     538                                               ) *                            &
     539                                            ( sk(k,j,i+1) - sk(k,j,i-2)    )  &
     540                                        +      (           ibit2 * adv_sca_5  &
     541                                               ) *                            &
     542                                            ( sk(k,j,i+2) - sk(k,j,i-3)    )  &
    537543                                                           )
    538544
     
    542548
    543549             u_comp                 = u(k,j,i) - u_gtrans
    544              swap_flux_x_local(k,j,tn) = u_comp * (                          &
    545                                       37.0 * ( sk(k,j,i)   + sk(k,j,i-1) )  &
    546                                     -  8.0 * ( sk(k,j,i+1) + sk(k,j,i-2) )  &
    547                                     +        ( sk(k,j,i+2) + sk(k,j,i-3) )  &
     550             swap_flux_x_local(k,j,tn) = u_comp * (                           &
     551                                      37.0_wp * ( sk(k,j,i)   + sk(k,j,i-1) ) &
     552                                    -  8.0_wp * ( sk(k,j,i+1) + sk(k,j,i-2) ) &
     553                                    +           ( sk(k,j,i+2) + sk(k,j,i-3) ) &
    548554                                                  ) * adv_sca_5
    549555
    550              swap_diss_x_local(k,j,tn) = -ABS( u_comp ) * (                  &
    551                                       10.0 * ( sk(k,j,i)   - sk(k,j,i-1) )  &
    552                                     -  5.0 * ( sk(k,j,i+1) - sk(k,j,i-2) )  &
    553                                     +        ( sk(k,j,i+2) - sk(k,j,i-3) )  &
     556             swap_diss_x_local(k,j,tn) = -ABS( u_comp ) * (                   &
     557                                      10.0_wp * ( sk(k,j,i)   - sk(k,j,i-1) ) &
     558                                    -  5.0_wp * ( sk(k,j,i+1) - sk(k,j,i-2) ) &
     559                                    +           ( sk(k,j,i+2) - sk(k,j,i-3) ) &
    554560                                                          ) * adv_sca_5
    555561
     
    558564       ENDIF
    559565
    560        flux_t(0) = 0.0
    561        diss_t(0) = 0.0
    562        flux_d    = 0.0
    563        diss_d    = 0.0
     566       flux_t(0) = 0.0_wp
     567       diss_t(0) = 0.0_wp
     568       flux_d    = 0.0_wp
     569       diss_d    = 0.0_wp
    564570!       
    565571!--    Now compute the fluxes and tendency terms for the horizontal and
     
    576582
    577583          u_comp    = u(k,j,i+1) - u_gtrans
    578           flux_r(k) = u_comp * (                                            &
    579                      ( 37.0 * ibit2 * adv_sca_5                             &
    580                   +     7.0 * ibit1 * adv_sca_3                             &
    581                   +           ibit0 * adv_sca_1                             &
    582                      ) *                                                    &
    583                              ( sk(k,j,i+1) + sk(k,j,i)   )                  &
    584               -      (  8.0 * ibit2 * adv_sca_5                             &
    585                   +           ibit1 * adv_sca_3                             &
    586                      ) *                                                    &
    587                              ( sk(k,j,i+2) + sk(k,j,i-1) )                  &
    588               +      (        ibit2 * adv_sca_5                             &
    589                      ) *                                                    &
    590                              ( sk(k,j,i+3) + sk(k,j,i-2) )                  &
     584          flux_r(k) = u_comp * (                                              &
     585                     ( 37.0_wp * ibit2 * adv_sca_5                            &
     586                  +     7.0_wp * ibit1 * adv_sca_3                            &
     587                  +              ibit0 * adv_sca_1                            &
     588                     ) *                                                      &
     589                             ( sk(k,j,i+1) + sk(k,j,i)   )                    &
     590              -      (  8.0_wp * ibit2 * adv_sca_5                            &
     591                  +              ibit1 * adv_sca_3                            &
     592                     ) *                                                      &
     593                             ( sk(k,j,i+2) + sk(k,j,i-1) )                    &
     594              +      (           ibit2 * adv_sca_5                            &
     595                     ) *                                                      &
     596                             ( sk(k,j,i+3) + sk(k,j,i-2) )                    &
    591597                               )
    592598
    593           diss_r(k) = -ABS( u_comp ) * (                                    &
    594                      ( 10.0 * ibit2 * adv_sca_5                             &
    595                   +     3.0 * ibit1 * adv_sca_3                             &
    596                   +           ibit0 * adv_sca_1                             &
    597                      ) *                                                    &
    598                              ( sk(k,j,i+1) - sk(k,j,i)  )                   &
    599               -      (  5.0 * ibit2 * adv_sca_5                             &
    600                   +           ibit1 * adv_sca_3                             &
    601                      ) *                                                    &
    602                              ( sk(k,j,i+2) - sk(k,j,i-1) )                  &
    603               +      (        ibit2 * adv_sca_5                             &
    604                      ) *                                                    &
    605                              ( sk(k,j,i+3) - sk(k,j,i-2) )                  &
     599          diss_r(k) = -ABS( u_comp ) * (                                      &
     600                     ( 10.0_wp * ibit2 * adv_sca_5                            &
     601                  +     3.0_wp * ibit1 * adv_sca_3                            &
     602                  +              ibit0 * adv_sca_1                            &
     603                     ) *                                                      &
     604                             ( sk(k,j,i+1) - sk(k,j,i)  )                     &
     605              -      (  5.0_wp * ibit2 * adv_sca_5                            &
     606                  +              ibit1 * adv_sca_3                            &
     607                     ) *                                                      &
     608                             ( sk(k,j,i+2) - sk(k,j,i-1) )                    &
     609              +      (           ibit2 * adv_sca_5                            &
     610                     ) *                                                      &
     611                             ( sk(k,j,i+3) - sk(k,j,i-2) )                    &
    606612                                       )
    607613
     
    611617
    612618          v_comp    = v(k,j+1,i) - v_gtrans
    613           flux_n(k) = v_comp * (                                            &
    614                      ( 37.0 * ibit5 * adv_sca_5                             &
    615                   +     7.0 * ibit4 * adv_sca_3                             &
    616                   +           ibit3 * adv_sca_1                             &
    617                      ) *                                                    &
    618                              ( sk(k,j+1,i) + sk(k,j,i)   )                  &
    619               -      (  8.0 * ibit5 * adv_sca_5                             &
    620                   +           ibit4 * adv_sca_3                             &
    621                      ) *                                                    &
    622                              ( sk(k,j+2,i) + sk(k,j-1,i) )                  &
    623               +      (        ibit5 * adv_sca_5                             &
    624                      ) *                                                    &
    625                              ( sk(k,j+3,i) + sk(k,j-2,i) )                  &
     619          flux_n(k) = v_comp * (                                              &
     620                     ( 37.0_wp * ibit5 * adv_sca_5                            &
     621                  +     7.0_wp * ibit4 * adv_sca_3                            &
     622                  +              ibit3 * adv_sca_1                            &
     623                     ) *                                                      &
     624                             ( sk(k,j+1,i) + sk(k,j,i)   )                    &
     625              -      (  8.0_wp * ibit5 * adv_sca_5                            &
     626                  +              ibit4 * adv_sca_3                            &
     627                     ) *                                                      &
     628                             ( sk(k,j+2,i) + sk(k,j-1,i) )                    &
     629              +      (           ibit5 * adv_sca_5                            &
     630                     ) *                                                      &
     631                             ( sk(k,j+3,i) + sk(k,j-2,i) )                    &
    626632                               )
    627633
    628           diss_n(k) = -ABS( v_comp ) * (                                    &
    629                      ( 10.0 * ibit5 * adv_sca_5                             &
    630                   +     3.0 * ibit4 * adv_sca_3                             &
    631                   +           ibit3 * adv_sca_1                             &
    632                      ) *                                                    &
    633                              ( sk(k,j+1,i) - sk(k,j,i)    )                 &
    634               -      (  5.0 * ibit5 * adv_sca_5                             &
    635                   +           ibit4 * adv_sca_3                             &
    636                      ) *                                                    &
    637                              ( sk(k,j+2,i) - sk(k,j-1,i)  )                 &
    638               +      (        ibit5 * adv_sca_5                             &
    639                      ) *                                                    &
    640                              ( sk(k,j+3,i) - sk(k,j-2,i) )                  &
     634          diss_n(k) = -ABS( v_comp ) * (                                      &
     635                     ( 10.0_wp * ibit5 * adv_sca_5                            &
     636                  +     3.0_wp * ibit4 * adv_sca_3                            &
     637                  +              ibit3 * adv_sca_1                            &
     638                     ) *                                                      &
     639                             ( sk(k,j+1,i) - sk(k,j,i)   )                    &
     640              -      (  5.0_wp * ibit5 * adv_sca_5                            &
     641                  +              ibit4 * adv_sca_3                            &
     642                     ) *                                                      &
     643                             ( sk(k,j+2,i) - sk(k,j-1,i) )                    &
     644              +      (           ibit5 * adv_sca_5                            &
     645                     ) *                                                      &
     646                             ( sk(k,j+3,i) - sk(k,j-2,i) )                    &
    641647                                       )
    642648!
     
    652658
    653659
    654           flux_t(k) = w(k,j,i) * (                                          &
    655                      ( 37.0 * ibit8 * adv_sca_5                             &
    656                   +     7.0 * ibit7 * adv_sca_3                             &
    657                   +           ibit6 * adv_sca_1                             &
    658                      ) *                                                    &
    659                              ( sk(k+1,j,i)  + sk(k,j,i)   )                 &
    660               -      (  8.0 * ibit8 * adv_sca_5                             &
    661                   +           ibit7 * adv_sca_3                             &
    662                      ) *                                                    &
    663                              ( sk(k_pp,j,i) + sk(k-1,j,i) )                 &
    664               +      (        ibit8 * adv_sca_5                             &
    665                      ) *     ( sk(k_ppp,j,i)+ sk(k_mm,j,i) )                &
     660          flux_t(k) = w(k,j,i) * (                                            &
     661                     ( 37.0_wp * ibit8 * adv_sca_5                            &
     662                  +     7.0_wp * ibit7 * adv_sca_3                            &
     663                  +              ibit6 * adv_sca_1                            &
     664                     ) *                                                      &
     665                             ( sk(k+1,j,i)  + sk(k,j,i)    )                  &
     666              -      (  8.0_wp * ibit8 * adv_sca_5                            &
     667                  +              ibit7 * adv_sca_3                            &
     668                     ) *                                                      &
     669                             ( sk(k_pp,j,i) + sk(k-1,j,i)  )                  &
     670              +      (           ibit8 * adv_sca_5                            &
     671                     ) *     ( sk(k_ppp,j,i)+ sk(k_mm,j,i) )                  &
    666672                                 )
    667673
    668           diss_t(k) = -ABS( w(k,j,i) ) * (                                  &
    669                      ( 10.0 * ibit8 * adv_sca_5                             &
    670                   +     3.0 * ibit7 * adv_sca_3                             &
    671                   +           ibit6 * adv_sca_1                             &
    672                      ) *                                                    &
    673                              ( sk(k+1,j,i)   - sk(k,j,i)    )               &
    674               -      (  5.0 * ibit8 * adv_sca_5                             &
    675                   +           ibit7 * adv_sca_3                             &
    676                      ) *                                                    &
    677                              ( sk(k_pp,j,i)  - sk(k-1,j,i)  )               &
    678               +      (        ibit8 * adv_sca_5                             &
    679                      ) *                                                    &
    680                              ( sk(k_ppp,j,i) - sk(k_mm,j,i) )               &
     674          diss_t(k) = -ABS( w(k,j,i) ) * (                                    &
     675                     ( 10.0_wp * ibit8 * adv_sca_5                            &
     676                  +     3.0_wp * ibit7 * adv_sca_3                            &
     677                  +              ibit6 * adv_sca_1                            &
     678                     ) *                                                      &
     679                             ( sk(k+1,j,i)   - sk(k,j,i)    )                 &
     680              -      (  5.0_wp * ibit8 * adv_sca_5                            &
     681                  +              ibit7 * adv_sca_3                            &
     682                     ) *                                                      &
     683                             ( sk(k_pp,j,i)  - sk(k-1,j,i)  )                 &
     684              +      (           ibit8 * adv_sca_5                            &
     685                     ) *                                                      &
     686                             ( sk(k_ppp,j,i) - sk(k_mm,j,i) )                 &
    681687                                         )
    682688!
     
    712718
    713719          u_comp    = u(k,j,i+1) - u_gtrans
    714           flux_r(k) = u_comp * (                                            &
    715                       37.0 * ( sk(k,j,i+1) + sk(k,j,i)   )                  &
    716                     -  8.0 * ( sk(k,j,i+2) + sk(k,j,i-1) )                  &
    717                     +        ( sk(k,j,i+3) + sk(k,j,i-2) ) ) * adv_sca_5
    718           diss_r(k) = -ABS( u_comp ) * (                                    &
    719                       10.0 * ( sk(k,j,i+1) - sk(k,j,i)   )                  &
    720                     -  5.0 * ( sk(k,j,i+2) - sk(k,j,i-1) )                  &
    721                     +        ( sk(k,j,i+3) - sk(k,j,i-2) ) ) * adv_sca_5
     720          flux_r(k) = u_comp * (                                              &
     721                      37.0_wp * ( sk(k,j,i+1) + sk(k,j,i)   )                 &
     722                    -  8.0_wp * ( sk(k,j,i+2) + sk(k,j,i-1) )                 &
     723                    +           ( sk(k,j,i+3) + sk(k,j,i-2) ) ) * adv_sca_5
     724          diss_r(k) = -ABS( u_comp ) * (                                      &
     725                      10.0_wp * ( sk(k,j,i+1) - sk(k,j,i)   )                 &
     726                    -  5.0_wp * ( sk(k,j,i+2) - sk(k,j,i-1) )                 &
     727                    +           ( sk(k,j,i+3) - sk(k,j,i-2) ) ) * adv_sca_5
    722728
    723729          v_comp    = v(k,j+1,i) - v_gtrans
    724           flux_n(k) = v_comp * (                                            &
    725                       37.0 * ( sk(k,j+1,i) + sk(k,j,i)   )                  &
    726                     -  8.0 * ( sk(k,j+2,i) + sk(k,j-1,i) )                  &
    727                     +        ( sk(k,j+3,i) + sk(k,j-2,i) ) ) * adv_sca_5
    728           diss_n(k) = -ABS( v_comp ) * (                                    &
    729                       10.0 * ( sk(k,j+1,i) - sk(k,j,i)   )                  &
    730                     -  5.0 * ( sk(k,j+2,i) - sk(k,j-1,i) )                  &
    731                     +        ( sk(k,j+3,i) - sk(k,j-2,i) ) ) * adv_sca_5
     730          flux_n(k) = v_comp * (                                              &
     731                      37.0_wp * ( sk(k,j+1,i) + sk(k,j,i)   )                 &
     732                    -  8.0_wp * ( sk(k,j+2,i) + sk(k,j-1,i) )                 &
     733                    +           ( sk(k,j+3,i) + sk(k,j-2,i) ) ) * adv_sca_5
     734          diss_n(k) = -ABS( v_comp ) * (                                      &
     735                      10.0_wp * ( sk(k,j+1,i) - sk(k,j,i)   )                 &
     736                    -  5.0_wp * ( sk(k,j+2,i) - sk(k,j-1,i) )                 &
     737                    +           ( sk(k,j+3,i) - sk(k,j-2,i) ) ) * adv_sca_5
    732738!
    733739!--       k index has to be modified near bottom and top, else array
     
    742748
    743749
    744           flux_t(k) = w(k,j,i) * (                                          &
    745                      ( 37.0 * ibit8 * adv_sca_5                             &
    746                   +     7.0 * ibit7 * adv_sca_3                             &
    747                   +           ibit6 * adv_sca_1                             &
    748                      ) *                                                    &
    749                              ( sk(k+1,j,i)  + sk(k,j,i)   )                 &
    750               -      (  8.0 * ibit8 * adv_sca_5                             &
    751                   +           ibit7 * adv_sca_3                             &
    752                      ) *                                                    &
    753                              ( sk(k_pp,j,i) + sk(k-1,j,i) )                 &
    754               +      (        ibit8 * adv_sca_5                             &
    755                      ) *     ( sk(k_ppp,j,i)+ sk(k_mm,j,i) )                &
     750          flux_t(k) = w(k,j,i) * (                                            &
     751                    ( 37.0_wp * ibit8 * adv_sca_5                             &
     752                 +     7.0_wp * ibit7 * adv_sca_3                             &
     753                 +              ibit6 * adv_sca_1                             &
     754                    ) *                                                       &
     755                             ( sk(k+1,j,i)  + sk(k,j,i)   )                   &
     756              -     (  8.0_wp * ibit8 * adv_sca_5                             &
     757                  +              ibit7 * adv_sca_3                            &
     758                    ) *                                                       &
     759                             ( sk(k_pp,j,i) + sk(k-1,j,i) )                   &
     760              +     (           ibit8 * adv_sca_5                             &
     761                    ) *     ( sk(k_ppp,j,i)+ sk(k_mm,j,i) )                   &
    756762                                 )
    757763
    758           diss_t(k) = -ABS( w(k,j,i) ) * (                                  &
    759                      ( 10.0 * ibit8 * adv_sca_5                             &
    760                   +     3.0 * ibit7 * adv_sca_3                             &
    761                   +           ibit6 * adv_sca_1                             &
    762                      ) *                                                    &
    763                              ( sk(k+1,j,i)   - sk(k,j,i)    )               &
    764               -      (  5.0 * ibit8 * adv_sca_5                             &
    765                   +           ibit7 * adv_sca_3                             &
    766                      ) *                                                    &
    767                              ( sk(k_pp,j,i)  - sk(k-1,j,i)  )               &
    768               +      (        ibit8 * adv_sca_5                             &
    769                      ) *                                                    &
    770                              ( sk(k_ppp,j,i) - sk(k_mm,j,i) )               &
     764          diss_t(k) = -ABS( w(k,j,i) ) * (                                    &
     765                    ( 10.0_wp * ibit8 * adv_sca_5                             &
     766                 +     3.0_wp * ibit7 * adv_sca_3                             &
     767                 +              ibit6 * adv_sca_1                             &
     768                    ) *                                                       &
     769                             ( sk(k+1,j,i)   - sk(k,j,i)    )                 &
     770              -     (  5.0_wp * ibit8 * adv_sca_5                             &
     771                 +              ibit7 * adv_sca_3                             &
     772                    ) *                                                       &
     773                             ( sk(k_pp,j,i)  - sk(k-1,j,i)  )                 &
     774              +     (           ibit8 * adv_sca_5                             &
     775                    ) *                                                       &
     776                             ( sk(k_ppp,j,i) - sk(k_mm,j,i) )                 &
    771777                                         )
    772778!
     
    803809
    804810             DO  k = nzb, nzt
    805                 sums_wspts_ws_l(k,tn) = sums_wspts_ws_l(k,tn) +                &
    806                                        ( flux_t(k) + diss_t(k) )               &
     811                sums_wspts_ws_l(k,tn) = sums_wspts_ws_l(k,tn) +               &
     812                                       ( flux_t(k) + diss_t(k) )              &
    807813                                 * weight_substep(intermediate_timestep_count)
    808814             ENDDO
     
    811817
    812818             DO  k = nzb, nzt
    813                 sums_wssas_ws_l(k,tn) = sums_wssas_ws_l(k,tn) +                &
    814                                        ( flux_t(k) + diss_t(k) )               &
     819                sums_wssas_ws_l(k,tn) = sums_wssas_ws_l(k,tn) +               &
     820                                       ( flux_t(k) + diss_t(k) )              &
    815821                                 * weight_substep(intermediate_timestep_count)
    816822             ENDDO
     
    819825
    820826             DO  k = nzb, nzt
    821                 sums_wsqs_ws_l(k,tn)  = sums_wsqs_ws_l(k,tn) +                 &
    822                                       ( flux_t(k) + diss_t(k) )                &
     827                sums_wsqs_ws_l(k,tn)  = sums_wsqs_ws_l(k,tn) +                &
     828                                      ( flux_t(k) + diss_t(k) )               &
    823829                                 * weight_substep(intermediate_timestep_count)
    824830             ENDDO
     
    827833
    828834             DO  k = nzb, nzt
    829                 sums_wsqrs_ws_l(k,tn)  = sums_wsqrs_ws_l(k,tn) +               &
    830                                       ( flux_t(k) + diss_t(k) )                &
     835                sums_wsqrs_ws_l(k,tn)  = sums_wsqrs_ws_l(k,tn) +              &
     836                                      ( flux_t(k) + diss_t(k) )               &
    831837                                 * weight_substep(intermediate_timestep_count)
    832838             ENDDO
     
    835841
    836842             DO  k = nzb, nzt
    837                 sums_wsnrs_ws_l(k,tn)  = sums_wsnrs_ws_l(k,tn) +               &
    838                                       ( flux_t(k) + diss_t(k) )                &
     843                sums_wsnrs_ws_l(k,tn)  = sums_wsnrs_ws_l(k,tn) +              &
     844                                      ( flux_t(k) + diss_t(k) )               &
    839845                                 * weight_substep(intermediate_timestep_count)
    840846             ENDDO
     
    852858    SUBROUTINE advec_u_ws_ij( i, j, i_omp, tn )
    853859
    854        USE arrays_3d,                                                          &
     860       USE arrays_3d,                                                         &
    855861           ONLY:  ddzw, diss_l_u, diss_s_u, flux_l_u, flux_s_u, tend, u, v, w
    856862
    857        USE constants,                                                          &
     863       USE constants,                                                         &
    858864           ONLY:  adv_mom_1, adv_mom_3, adv_mom_5
    859865
    860        USE control_parameters,                                                 &
     866       USE control_parameters,                                                &
    861867           ONLY:  intermediate_timestep_count, u_gtrans, v_gtrans
    862868
    863        USE grid_variables,                                                     &
     869       USE grid_variables,                                                    &
    864870           ONLY:  ddx, ddy
    865871
    866        USE indices,                                                            &
     872       USE indices,                                                           &
    867873           ONLY:  nxl, nxr, nyn, nys, nzb, nzb_max, nzt, wall_flags_0
    868874
    869875       USE kinds
    870876
    871        USE statistics,                                                         &
     877       USE statistics,                                                        &
    872878           ONLY:  hom, sums_us2_ws_l, sums_wsus_ws_l, weight_substep
    873879
     
    909915       REAL(wp), DIMENSION(nzb:nzt+1) ::  u_comp !:
    910916
    911        gu = 2.0 * u_gtrans
    912        gv = 2.0 * v_gtrans
     917       gu = 2.0_wp * u_gtrans
     918       gv = 2.0_wp * v_gtrans
    913919!
    914920!--    Compute southside fluxes for the respective boundary of PE
     
    923929             v_comp      = v(k,j,i) + v(k,j,i-1) - gv
    924930             flux_s_u(k,tn) = v_comp * (                                      &
    925                             ( 37.0 * ibit14 * adv_mom_5                       &
    926                          +     7.0 * ibit13 * adv_mom_3                       &
    927                          +           ibit12 * adv_mom_1                       &
     931                            ( 37.0_wp * ibit14 * adv_mom_5                    &
     932                         +     7.0_wp * ibit13 * adv_mom_3                    &
     933                         +              ibit12 * adv_mom_1                    &
    928934                            ) *                                               &
    929                                      ( u(k,j,i)   + u(k,j-1,i) )              &
    930                      -      (  8.0 * ibit14 * adv_mom_5                       &
    931                          +           ibit13 * adv_mom_3                       &
     935                                        ( u(k,j,i)   + u(k,j-1,i) )           &
     936                     -      (  8.0_wp * ibit14 * adv_mom_5                    &
     937                         +              ibit13 * adv_mom_3                    &
    932938                            ) *                                               &
    933                                      ( u(k,j+1,i) + u(k,j-2,i) )              &
    934                      +      (        ibit14 * adv_mom_5                       &
     939                                        ( u(k,j+1,i) + u(k,j-2,i) )           &
     940                     +      (           ibit14 * adv_mom_5                    &
    935941                            ) *                                               &
    936                                      ( u(k,j+2,i) + u(k,j-3,i) )              &
     942                                        ( u(k,j+2,i) + u(k,j-3,i) )           &
    937943                                       )
    938944
    939945             diss_s_u(k,tn) = - ABS ( v_comp ) * (                            &
    940                             ( 10.0 * ibit14 * adv_mom_5                       &
    941                          +     3.0 * ibit13 * adv_mom_3                       &
    942                          +           ibit12 * adv_mom_1                       &
     946                            ( 10.0_wp * ibit14 * adv_mom_5                    &
     947                         +     3.0_wp * ibit13 * adv_mom_3                    &
     948                         +              ibit12 * adv_mom_1                    &
    943949                            ) *                                               &
    944                                      ( u(k,j,i)   - u(k,j-1,i) )              &
    945                      -      (  5.0 * ibit14 * adv_mom_5                       &
    946                          +           ibit13 * adv_mom_3                       &
     950                                        ( u(k,j,i)   - u(k,j-1,i) )           &
     951                     -      (  5.0_wp * ibit14 * adv_mom_5                    &
     952                         +              ibit13 * adv_mom_3                    &
    947953                            ) *                                               &
    948                                      ( u(k,j+1,i) - u(k,j-2,i) )              &
    949                      +      (        ibit14 * adv_mom_5                       &
     954                                        ( u(k,j+1,i) - u(k,j-2,i) )           &
     955                     +      (           ibit14 * adv_mom_5                    &
    950956                            ) *                                               &
    951                                      ( u(k,j+2,i) - u(k,j-3,i) )              &
     957                                        ( u(k,j+2,i) - u(k,j-3,i) )           &
    952958                                                 )
    953959
     
    958964             v_comp         = v(k,j,i) + v(k,j,i-1) - gv
    959965             flux_s_u(k,tn) = v_comp * (                                      &
    960                            37.0 * ( u(k,j,i) + u(k,j-1,i)   )                 &
    961                          -  8.0 * ( u(k,j+1,i) + u(k,j-2,i) )                 &
    962                          +        ( u(k,j+2,i) + u(k,j-3,i) ) ) * adv_mom_5
     966                           37.0_wp * ( u(k,j,i) + u(k,j-1,i)   )              &
     967                         -  8.0_wp * ( u(k,j+1,i) + u(k,j-2,i) )              &
     968                         +           ( u(k,j+2,i) + u(k,j-3,i) ) ) * adv_mom_5
    963969             diss_s_u(k,tn) = - ABS(v_comp) * (                               &
    964                            10.0 * ( u(k,j,i) - u(k,j-1,i)   )                 &
    965                          -  5.0 * ( u(k,j+1,i) - u(k,j-2,i) )                 &
    966                          +        ( u(k,j+2,i) - u(k,j-3,i) ) ) * adv_mom_5
     970                           10.0_wp * ( u(k,j,i) - u(k,j-1,i)   )              &
     971                         -  5.0_wp * ( u(k,j+1,i) - u(k,j-2,i) )              &
     972                         +           ( u(k,j+2,i) - u(k,j-3,i) ) ) * adv_mom_5
    967973
    968974          ENDDO
     
    980986
    981987             u_comp_l         = u(k,j,i) + u(k,j,i-1) - gu
    982              flux_l_u(k,j,tn) = u_comp_l * (                                   &
    983                               ( 37.0 * ibit11 * adv_mom_5                      &
    984                            +     7.0 * ibit10 * adv_mom_3                      &
    985                            +           ibit9  * adv_mom_1                      &
    986                               ) *                                              &
    987                                      ( u(k,j,i)   + u(k,j,i-1) )               &
    988                        -      (  8.0 * ibit11 * adv_mom_5                      &
    989                            +           ibit10 * adv_mom_3                      &
    990                               ) *                                              &
    991                                      ( u(k,j,i+1) + u(k,j,i-2) )               &
    992                        +      (        ibit11 * adv_mom_5                      &
    993                               ) *                                              &
    994                                      ( u(k,j,i+2) + u(k,j,i-3) )               &
     988             flux_l_u(k,j,tn) = u_comp_l * (                                  &
     989                              ( 37.0_wp * ibit11 * adv_mom_5                  &
     990                           +     7.0_wp * ibit10 * adv_mom_3                  &
     991                           +              ibit9  * adv_mom_1                  &
     992                              ) *                                             &
     993                                          ( u(k,j,i)   + u(k,j,i-1) )         &
     994                       -      (  8.0_wp * ibit11 * adv_mom_5                  &
     995                           +              ibit10 * adv_mom_3                  &
     996                              ) *                                             &
     997                                          ( u(k,j,i+1) + u(k,j,i-2) )         &
     998                       +      (           ibit11 * adv_mom_5                  &
     999                              ) *                                             &
     1000                                          ( u(k,j,i+2) + u(k,j,i-3) )         &
    9951001                                           )
    9961002
    997               diss_l_u(k,j,tn) = - ABS( u_comp_l ) * (                         &
    998                               ( 10.0 * ibit11 * adv_mom_5                      &
    999                            +     3.0 * ibit10 * adv_mom_3                      &
    1000                            +           ibit9  * adv_mom_1                      &
    1001                               ) *                                              &
    1002                                      ( u(k,j,i)   - u(k,j,i-1) )               &
    1003                        -      (  5.0 * ibit11 * adv_mom_5                      &
    1004                            +           ibit10 * adv_mom_3                      &
    1005                               ) *                                              &
    1006                                      ( u(k,j,i+1) - u(k,j,i-2) )               &
    1007                        +      (        ibit11 * adv_mom_5                      &
    1008                               ) *                                              &
    1009                                      ( u(k,j,i+2) - u(k,j,i-3) )               &
     1003              diss_l_u(k,j,tn) = - ABS( u_comp_l ) * (                        &
     1004                              ( 10.0_wp * ibit11 * adv_mom_5                  &
     1005                           +     3.0_wp * ibit10 * adv_mom_3                  &
     1006                           +              ibit9  * adv_mom_1                  &
     1007                              ) *                                             &
     1008                                        ( u(k,j,i)   - u(k,j,i-1) )           &
     1009                       -      (  5.0_wp * ibit11 * adv_mom_5                  &
     1010                           +              ibit10 * adv_mom_3                  &
     1011                              ) *                                             &
     1012                                        ( u(k,j,i+1) - u(k,j,i-2) )           &
     1013                       +      (           ibit11 * adv_mom_5                  &
     1014                              ) *                                             &
     1015                                        ( u(k,j,i+2) - u(k,j,i-3) )           &
    10101016                                                     )
    10111017
     
    10161022             u_comp_l         = u(k,j,i) + u(k,j,i-1) - gu
    10171023             flux_l_u(k,j,tn) = u_comp_l * (                                   &
    1018                              37.0 * ( u(k,j,i) + u(k,j,i-1)   )                &
    1019                            -  8.0 * ( u(k,j,i+1) + u(k,j,i-2) )                &
    1020                            +        ( u(k,j,i+2) + u(k,j,i-3) ) ) * adv_mom_5
     1024                             37.0_wp * ( u(k,j,i) + u(k,j,i-1)   )             &
     1025                           -  8.0_wp * ( u(k,j,i+1) + u(k,j,i-2) )             &
     1026                           +           ( u(k,j,i+2) + u(k,j,i-3) ) ) * adv_mom_5
    10211027             diss_l_u(k,j,tn) = - ABS(u_comp_l) * (                            &
    1022                              10.0 * ( u(k,j,i) - u(k,j,i-1)   )                &
    1023                            -  5.0 * ( u(k,j,i+1) - u(k,j,i-2) )                &
    1024                            +        ( u(k,j,i+2) - u(k,j,i-3) ) ) * adv_mom_5
     1028                             10.0_wp * ( u(k,j,i) - u(k,j,i-1)   )             &
     1029                           -  5.0_wp * ( u(k,j,i+1) - u(k,j,i-2) )             &
     1030                           +           ( u(k,j,i+2) - u(k,j,i-3) ) ) * adv_mom_5
    10251031
    10261032          ENDDO
     
    10281034       ENDIF
    10291035
    1030        flux_t(0) = 0.0
    1031        diss_t(0) = 0.0
    1032        flux_d    = 0.0
    1033        diss_d    = 0.0
     1036       flux_t(0) = 0.0_wp
     1037       diss_t(0) = 0.0_wp
     1038       flux_d    = 0.0_wp
     1039       diss_d    = 0.0_wp
    10341040!
    10351041!--    Now compute the fluxes tendency terms for the horizontal and
     
    10421048
    10431049          u_comp(k) = u(k,j,i+1) + u(k,j,i)
    1044           flux_r(k) = ( u_comp(k) - gu ) * (                                 &
    1045                      ( 37.0 * ibit11 * adv_mom_5                             &
    1046                   +     7.0 * ibit10 * adv_mom_3                             &
    1047                   +           ibit9  * adv_mom_1                             &
    1048                      ) *                                                     &
    1049                                  ( u(k,j,i+1) + u(k,j,i)   )                 &
    1050               -      (  8.0 * ibit11 * adv_mom_5                             &
    1051                   +           ibit10 * adv_mom_3                             &
    1052                      ) *                                                     &
    1053                                  ( u(k,j,i+2) + u(k,j,i-1) )                 &
    1054               +      (        ibit11 * adv_mom_5                             &
    1055                      ) *                                                     &
    1056                                  ( u(k,j,i+3) + u(k,j,i-2) )                 &
     1050          flux_r(k) = ( u_comp(k) - gu ) * (                                  &
     1051                     ( 37.0_wp * ibit11 * adv_mom_5                           &
     1052                  +     7.0_wp * ibit10 * adv_mom_3                           &
     1053                  +              ibit9  * adv_mom_1                           &
     1054                     ) *                                                      &
     1055                                    ( u(k,j,i+1) + u(k,j,i)   )               &
     1056              -      (  8.0_wp * ibit11 * adv_mom_5                           &
     1057                  +              ibit10 * adv_mom_3                           &
     1058                     ) *                                                      &
     1059                                    ( u(k,j,i+2) + u(k,j,i-1) )               &
     1060              +      (           ibit11 * adv_mom_5                           &
     1061                     ) *                                                      &
     1062                                    ( u(k,j,i+3) + u(k,j,i-2) )               &
    10571063                                           )
    10581064
    1059           diss_r(k) = - ABS( u_comp(k) - gu ) * (                            &
    1060                      ( 10.0 * ibit11 * adv_mom_5                             &
    1061                   +     3.0 * ibit10 * adv_mom_3                             &
    1062                   +           ibit9  * adv_mom_1                             &
    1063                      ) *                                                     &
    1064                                  ( u(k,j,i+1) - u(k,j,i)  )                  &
    1065               -      (  5.0 * ibit11 * adv_mom_5                             &
    1066                   +           ibit10 * adv_mom_3                             &
    1067                      ) *                                                     &
    1068                                  ( u(k,j,i+2) - u(k,j,i-1) )                 &
    1069               +      (        ibit11 * adv_mom_5                             &
    1070                      ) *                                                     &
    1071                                  ( u(k,j,i+3) - u(k,j,i-2) )                 &
     1065          diss_r(k) = - ABS( u_comp(k) - gu ) * (                             &
     1066                     ( 10.0_wp * ibit11 * adv_mom_5                           &
     1067                  +     3.0_wp * ibit10 * adv_mom_3                           &
     1068                  +              ibit9  * adv_mom_1                           &
     1069                     ) *                                                      &
     1070                                    ( u(k,j,i+1) - u(k,j,i)   )               &
     1071              -      (  5.0_wp * ibit11 * adv_mom_5                           &
     1072                  +              ibit10 * adv_mom_3                           &
     1073                     ) *                                                      &
     1074                                    ( u(k,j,i+2) - u(k,j,i-1) )               &
     1075              +      (           ibit11 * adv_mom_5                           &
     1076                     ) *                                                      &
     1077                                    ( u(k,j,i+3) - u(k,j,i-2) )               &
    10721078                                                )
    10731079
     
    10771083
    10781084          v_comp    = v(k,j+1,i) + v(k,j+1,i-1) - gv
    1079           flux_n(k) = v_comp * (                                             &
    1080                      ( 37.0 * ibit14 * adv_mom_5                             &
    1081                   +     7.0 * ibit13 * adv_mom_3                             &
    1082                   +           ibit12 * adv_mom_1                             &
    1083                      ) *                                                     &
    1084                                  ( u(k,j+1,i) + u(k,j,i)   )                 &
    1085               -      (  8.0 * ibit14 * adv_mom_5                             &
    1086                   +           ibit13 * adv_mom_3                             &
    1087                      ) *                                                     &
    1088                                  ( u(k,j+2,i) + u(k,j-1,i) )                 &
    1089               +      (        ibit14 * adv_mom_5                             &
    1090                      ) *                                                     &
    1091                                  ( u(k,j+3,i) + u(k,j-2,i) )                 &
     1085          flux_n(k) = v_comp * (                                              &
     1086                     ( 37.0_wp * ibit14 * adv_mom_5                           &
     1087                  +     7.0_wp * ibit13 * adv_mom_3                           &
     1088                  +              ibit12 * adv_mom_1                           &
     1089                     ) *                                                      &
     1090                                    ( u(k,j+1,i) + u(k,j,i)   )               &
     1091              -      (  8.0_wp * ibit14 * adv_mom_5                           &
     1092                  +              ibit13 * adv_mom_3                           &
     1093                     ) *                                                      &
     1094                                    ( u(k,j+2,i) + u(k,j-1,i) )               &
     1095              +      (           ibit14 * adv_mom_5                           &
     1096                     ) *                                                      &
     1097                                    ( u(k,j+3,i) + u(k,j-2,i) )               &
    10921098                               )
    10931099
    1094           diss_n(k) = - ABS ( v_comp ) * (                                   &
    1095                      ( 10.0 * ibit14 * adv_mom_5                             &
    1096                   +     3.0 * ibit13 * adv_mom_3                             &
    1097                   +           ibit12 * adv_mom_1                             &
    1098                      ) *                                                     &
    1099                                  ( u(k,j+1,i) - u(k,j,i)  )                  &
    1100               -      (  5.0 * ibit14 * adv_mom_5                             &
    1101                   +           ibit13 * adv_mom_3                             &
    1102                      ) *                                                     &
    1103                                  ( u(k,j+2,i) - u(k,j-1,i) )                 &
    1104               +      (        ibit14 * adv_mom_5                             &
    1105                      ) *                                                     &
    1106                                  ( u(k,j+3,i) - u(k,j-2,i) )                 &
     1100          diss_n(k) = - ABS ( v_comp ) * (                                    &
     1101                     ( 10.0_wp * ibit14 * adv_mom_5                           &
     1102                  +     3.0_wp * ibit13 * adv_mom_3                           &
     1103                  +              ibit12 * adv_mom_1                           &
     1104                     ) *                                                      &
     1105                                    ( u(k,j+1,i) - u(k,j,i)   )               &
     1106              -      (  5.0_wp * ibit14 * adv_mom_5                           &
     1107                  +              ibit13 * adv_mom_3                           &
     1108                     ) *                                                      &
     1109                                    ( u(k,j+2,i) - u(k,j-1,i) )               &
     1110              +      (           ibit14 * adv_mom_5                           &
     1111                     ) *                                                      &
     1112                                    ( u(k,j+3,i) - u(k,j-2,i) )               &
    11071113                                         )
    11081114!
     
    11181124
    11191125          w_comp    = w(k,j,i) + w(k,j,i-1)
    1120           flux_t(k) = w_comp  * (                                            &
    1121                      ( 37.0 * ibit17 * adv_mom_5                             &
    1122                   +     7.0 * ibit16 * adv_mom_3                             &
    1123                   +           ibit15 * adv_mom_1                             &
    1124                      ) *                                                     &
    1125                              ( u(k+1,j,i)  + u(k,j,i)     )                  &
    1126               -      (  8.0 * ibit17 * adv_mom_5                             &
    1127                   +           ibit16 * adv_mom_3                             &
    1128                      ) *                                                     &
    1129                              ( u(k_pp,j,i) + u(k-1,j,i)   )                  &
    1130               +      (        ibit17 * adv_mom_5                             &
    1131                      ) *                                                     &
    1132                              ( u(k_ppp,j,i) + u(k_mm,j,i) )                  &
     1126          flux_t(k) = w_comp  * (                                             &
     1127                     ( 37.0_wp * ibit17 * adv_mom_5                           &
     1128                  +     7.0_wp * ibit16 * adv_mom_3                           &
     1129                  +              ibit15 * adv_mom_1                           &
     1130                     ) *                                                      &
     1131                                ( u(k+1,j,i)  + u(k,j,i)     )                &
     1132              -      (  8.0_wp * ibit17 * adv_mom_5                           &
     1133                  +              ibit16 * adv_mom_3                           &
     1134                     ) *                                                      &
     1135                                ( u(k_pp,j,i) + u(k-1,j,i)   )                &
     1136              +      (           ibit17 * adv_mom_5                           &
     1137                     ) *                                                      &
     1138                                ( u(k_ppp,j,i) + u(k_mm,j,i) )                &
    11331139                                 )
    11341140
    1135           diss_t(k) = - ABS( w_comp ) * (                                    &
    1136                      ( 10.0 * ibit17 * adv_mom_5                             &
    1137                   +     3.0 * ibit16 * adv_mom_3                             &
    1138                   +           ibit15 * adv_mom_1                             &
    1139                      ) *                                                     &
    1140                              ( u(k+1,j,i)   - u(k,j,i)    )                  &
    1141               -      (  5.0 * ibit17 * adv_mom_5                             &
    1142                   +           ibit16 * adv_mom_3                             &
    1143                      ) *                                                     &
    1144                              ( u(k_pp,j,i)  - u(k-1,j,i)  )                  &
    1145               +      (        ibit17 * adv_mom_5                             &
    1146                      ) *                                                     &
    1147                              ( u(k_ppp,j,i) - u(k_mm,j,i) )                  &
     1141          diss_t(k) = - ABS( w_comp ) * (                                     &
     1142                     ( 10.0_wp * ibit17 * adv_mom_5                           &
     1143                  +     3.0_wp * ibit16 * adv_mom_3                           &
     1144                  +              ibit15 * adv_mom_1                           &
     1145                     ) *                                                      &
     1146                                ( u(k+1,j,i)   - u(k,j,i)    )                &
     1147              -      (  5.0_wp * ibit17 * adv_mom_5                           &
     1148                  +              ibit16 * adv_mom_3                           &
     1149                     ) *                                                      &
     1150                                ( u(k_pp,j,i)  - u(k-1,j,i)  )                &
     1151              +      (           ibit17 * adv_mom_5                           &
     1152                     ) *                                                      &
     1153                                ( u(k_ppp,j,i) - u(k_mm,j,i) )                &
    11481154                                         )
    11491155!
     
    11511157!--       correction is needed to overcome numerical instabilities introduced
    11521158!--       by a not sufficient reduction of divergences near topography.
    1153           div = ( ( u_comp(k)   - ( u(k,j,i)   + u(k,j,i-1)   ) ) * ddx      &
    1154                +  ( v_comp + gv - ( v(k,j,i)   + v(k,j,i-1 )  ) ) * ddy      &
    1155                +  ( w_comp      - ( w(k-1,j,i) + w(k-1,j,i-1) ) ) * ddzw(k)  &
    1156                 ) * 0.5
     1159          div = ( ( u_comp(k)   - ( u(k,j,i)   + u(k,j,i-1)   ) ) * ddx       &
     1160               +  ( v_comp + gv - ( v(k,j,i)   + v(k,j,i-1 )  ) ) * ddy       &
     1161               +  ( w_comp      - ( w(k-1,j,i) + w(k-1,j,i-1) ) ) * ddzw(k)   &
     1162                ) * 0.5_wp
    11571163
    11581164          tend(k,j,i) = tend(k,j,i) - (                                       &
     
    11761182           sums_us2_ws_l(k,tn) = sums_us2_ws_l(k,tn)                          &
    11771183                              + ( flux_r(k) *                                 &
    1178                                 ( u_comp(k) - 2.0 * hom(k,1,1,0) )            &
     1184                                ( u_comp(k) - 2.0_wp * hom(k,1,1,0) )         &
    11791185                              / ( u_comp(k) - gu + 1.0E-20_wp   )             &
    11801186                              +   diss_r(k) *                                 &
    1181                                   ABS( u_comp(k) - 2.0 * hom(k,1,1,0) )       &
     1187                                  ABS( u_comp(k) - 2.0_wp * hom(k,1,1,0) )    &
    11821188                              / ( ABS( u_comp(k) - gu ) + 1.0E-20_wp ) )      &
    11831189                              *   weight_substep(intermediate_timestep_count)
     
    11931199          u_comp(k) = u(k,j,i+1) + u(k,j,i)
    11941200          flux_r(k) = ( u_comp(k) - gu ) * (                                  &
    1195                          37.0 * ( u(k,j,i+1) + u(k,j,i)   )                   &
    1196                        -  8.0 * ( u(k,j,i+2) + u(k,j,i-1) )                   &
    1197                        +        ( u(k,j,i+3) + u(k,j,i-2) ) ) * adv_mom_5
     1201                         37.0_wp * ( u(k,j,i+1) + u(k,j,i)   )                &
     1202                       -  8.0_wp * ( u(k,j,i+2) + u(k,j,i-1) )                &
     1203                       +           ( u(k,j,i+3) + u(k,j,i-2) ) ) * adv_mom_5
    11981204             diss_r(k) = - ABS( u_comp(k) - gu ) * (                          &
    1199                          10.0 * ( u(k,j,i+1) - u(k,j,i)   )                   &
    1200                        -  5.0 * ( u(k,j,i+2) - u(k,j,i-1) )                   &
    1201                        +        ( u(k,j,i+3) - u(k,j,i-2) ) ) * adv_mom_5
     1205                         10.0_wp * ( u(k,j,i+1) - u(k,j,i)   )                &
     1206                       -  5.0_wp * ( u(k,j,i+2) - u(k,j,i-1) )                &
     1207                       +           ( u(k,j,i+3) - u(k,j,i-2) ) ) * adv_mom_5
    12021208
    12031209             v_comp    = v(k,j+1,i) + v(k,j+1,i-1) - gv
    12041210             flux_n(k) = v_comp * (                                           &
    1205                          37.0 * ( u(k,j+1,i) + u(k,j,i)   )                   &
    1206                        -  8.0 * ( u(k,j+2,i) + u(k,j-1,i) )                   &
    1207                        +        ( u(k,j+3,i) + u(k,j-2,i) ) ) * adv_mom_5
     1211                         37.0_wp * ( u(k,j+1,i) + u(k,j,i)   )                &
     1212                       -  8.0_wp * ( u(k,j+2,i) + u(k,j-1,i) )                &
     1213                       +           ( u(k,j+3,i) + u(k,j-2,i) ) ) * adv_mom_5
    12081214             diss_n(k) = - ABS( v_comp ) * (                                  &
    1209                          10.0 * ( u(k,j+1,i) - u(k,j,i)   )                   &
    1210                        -  5.0 * ( u(k,j+2,i) - u(k,j-1,i) )                   &
    1211                        +        ( u(k,j+3,i) - u(k,j-2,i) ) ) * adv_mom_5
     1215                         10.0_wp * ( u(k,j+1,i) - u(k,j,i)   )                &
     1216                       -  5.0_wp * ( u(k,j+2,i) - u(k,j-1,i) )                &
     1217                       +           ( u(k,j+3,i) - u(k,j-2,i) ) ) * adv_mom_5
    12121218!
    12131219!--       k index has to be modified near bottom and top, else array
     
    12221228
    12231229          w_comp    = w(k,j,i) + w(k,j,i-1)
    1224           flux_t(k) = w_comp  * (                                            &
    1225                      ( 37.0 * ibit17 * adv_mom_5                             &
    1226                   +     7.0 * ibit16 * adv_mom_3                             &
    1227                   +           ibit15 * adv_mom_1                             &
    1228                      ) *                                                     &
    1229                              ( u(k+1,j,i)  + u(k,j,i)     )                  &
    1230               -      (  8.0 * ibit17 * adv_mom_5                             &
    1231                   +           ibit16 * adv_mom_3                             &
    1232                      ) *                                                     &
    1233                              ( u(k_pp,j,i) + u(k-1,j,i)   )                  &
    1234               +      (        ibit17 * adv_mom_5                             &
    1235                      ) *                                                     &
    1236                              ( u(k_ppp,j,i) + u(k_mm,j,i) )                  &
     1230          flux_t(k) = w_comp  * (                                             &
     1231                     ( 37.0_wp * ibit17 * adv_mom_5                           &
     1232                  +     7.0_wp * ibit16 * adv_mom_3                           &
     1233                  +              ibit15 * adv_mom_1                           &
     1234                     ) *                                                      &
     1235                                ( u(k+1,j,i)  + u(k,j,i)     )                &
     1236              -      (  8.0_wp * ibit17 * adv_mom_5                           &
     1237                  +              ibit16 * adv_mom_3                           &
     1238                     ) *                                                      &
     1239                                ( u(k_pp,j,i) + u(k-1,j,i)   )                &
     1240              +      (           ibit17 * adv_mom_5                           &
     1241                     ) *                                                      &
     1242                                ( u(k_ppp,j,i) + u(k_mm,j,i) )                &
    12371243                                 )
    12381244
    1239           diss_t(k) = - ABS( w_comp ) * (                                    &
    1240                      ( 10.0 * ibit17 * adv_mom_5                             &
    1241                   +     3.0 * ibit16 * adv_mom_3                             &
    1242                   +           ibit15 * adv_mom_1                             &
    1243                      ) *                                                     &
    1244                              ( u(k+1,j,i)   - u(k,j,i)    )                  &
    1245               -      (  5.0 * ibit17 * adv_mom_5                             &
    1246                   +           ibit16 * adv_mom_3                             &
    1247                      ) *                                                     &
    1248                              ( u(k_pp,j,i)  - u(k-1,j,i)  )                  &
    1249               +      (        ibit17 * adv_mom_5                             &
    1250                      ) *                                                     &
    1251                              ( u(k_ppp,j,i) - u(k_mm,j,i) )                  &
     1245          diss_t(k) = - ABS( w_comp ) * (                                     &
     1246                     ( 10.0_wp * ibit17 * adv_mom_5                           &
     1247                  +     3.0_wp * ibit16 * adv_mom_3                           &
     1248                  +              ibit15 * adv_mom_1                           &
     1249                     ) *                                                      &
     1250                                ( u(k+1,j,i)   - u(k,j,i)    )                &
     1251              -      (  5.0_wp * ibit17 * adv_mom_5                           &
     1252                  +              ibit16 * adv_mom_3                           &
     1253                     ) *                                                      &
     1254                                ( u(k_pp,j,i)  - u(k-1,j,i)  )                &
     1255              +      (           ibit17 * adv_mom_5                           &
     1256                     ) *                                                      &
     1257                                ( u(k_ppp,j,i) - u(k_mm,j,i) )                &
    12521258                                         )
    12531259!
     
    12551261!--       correction is needed to overcome numerical instabilities introduced
    12561262!--       by a not sufficient reduction of divergences near topography.
    1257           div = ( ( u_comp(k)   - ( u(k,j,i)   + u(k,j,i-1)   ) ) * ddx      &
    1258                +  ( v_comp + gv - ( v(k,j,i)   + v(k,j,i-1 )  ) ) * ddy      &
    1259                +  ( w_comp      - ( w(k-1,j,i) + w(k-1,j,i-1) ) ) * ddzw(k)  &
    1260                 ) * 0.5
     1263          div = ( ( u_comp(k)   - ( u(k,j,i)   + u(k,j,i-1)   ) ) * ddx       &
     1264               +  ( v_comp + gv - ( v(k,j,i)   + v(k,j,i-1 )  ) ) * ddy       &
     1265               +  ( w_comp      - ( w(k-1,j,i) + w(k-1,j,i-1) ) ) * ddzw(k)   &
     1266                ) * 0.5_wp
    12611267
    12621268          tend(k,j,i) = tend(k,j,i) - (                                       &
     
    12801286           sums_us2_ws_l(k,tn) = sums_us2_ws_l(k,tn)                          &
    12811287                              + ( flux_r(k) *                                 &
    1282                                 ( u_comp(k) - 2.0 * hom(k,1,1,0) )            &
    1283                               / ( u_comp(k) - gu + 1.0E-20_wp   )             &
     1288                                ( u_comp(k) - 2.0_wp * hom(k,1,1,0)      )    &
     1289                              / ( u_comp(k) - gu + 1.0E-20_wp          )      &
    12841290                              +   diss_r(k) *                                 &
    1285                                   ABS( u_comp(k) - 2.0 * hom(k,1,1,0) )       &
     1291                                  ABS( u_comp(k) - 2.0_wp * hom(k,1,1,0) )    &
    12861292                              / ( ABS( u_comp(k) - gu ) + 1.0E-20_wp ) )      &
    12871293                              *   weight_substep(intermediate_timestep_count)
     
    13631369       REAL(wp), DIMENSION(nzb:nzt+1)  ::  v_comp !:
    13641370
    1365        gu = 2.0 * u_gtrans
    1366        gv = 2.0 * v_gtrans
     1371       gu = 2.0_wp * u_gtrans
     1372       gv = 2.0_wp * v_gtrans
    13671373
    13681374!       
     
    13771383
    13781384             u_comp           = u(k,j-1,i) + u(k,j,i) - gu
    1379              flux_l_v(k,j,tn) = u_comp * (                                     &
    1380                               ( 37.0 * ibit20 * adv_mom_5                      &
    1381                            +     7.0 * ibit19 * adv_mom_3                      &
    1382                            +           ibit18 * adv_mom_1                      &
    1383                               ) *                                              &
    1384                                      ( v(k,j,i)   + v(k,j,i-1) )               &
    1385                        -      (  8.0 * ibit20 * adv_mom_5                      &
    1386                            +           ibit19 * adv_mom_3                      &
    1387                               ) *                                              &
    1388                                      ( v(k,j,i+1) + v(k,j,i-2) )               &
    1389                        +      (        ibit20 * adv_mom_5                      &
    1390                               ) *                                              &
    1391                                      ( v(k,j,i+2) + v(k,j,i-3) )               &
     1385             flux_l_v(k,j,tn) = u_comp * (                                    &
     1386                              ( 37.0_wp * ibit20 * adv_mom_5                  &
     1387                           +     7.0_wp * ibit19 * adv_mom_3                  &
     1388                           +              ibit18 * adv_mom_1                  &
     1389                              ) *                                             &
     1390                                        ( v(k,j,i)   + v(k,j,i-1) )           &
     1391                       -      (  8.0_wp * ibit20 * adv_mom_5                  &
     1392                           +              ibit19 * adv_mom_3                  &
     1393                              ) *                                             &
     1394                                        ( v(k,j,i+1) + v(k,j,i-2) )           &
     1395                       +      (           ibit20 * adv_mom_5                  &
     1396                              ) *                                             &
     1397                                        ( v(k,j,i+2) + v(k,j,i-3) )           &
    13921398                                         )
    13931399
    1394               diss_l_v(k,j,tn) = - ABS( u_comp ) * (                           &
    1395                               ( 10.0 * ibit20 * adv_mom_5                      &
    1396                            +     3.0 * ibit19 * adv_mom_3                      &
    1397                            +           ibit18 * adv_mom_1                      &
    1398                               ) *                                              &
    1399                                      ( v(k,j,i)   - v(k,j,i-1) )               &
    1400                        -      (  5.0 * ibit20 * adv_mom_5                      &
    1401                            +           ibit19 * adv_mom_3                      &
    1402                               ) *                                              &
    1403                                      ( v(k,j,i+1) - v(k,j,i-2) )               &
    1404                        +      (        ibit20 * adv_mom_5                      &
    1405                               ) *                                              &
    1406                                      ( v(k,j,i+2) - v(k,j,i-3) )               &
     1400              diss_l_v(k,j,tn) = - ABS( u_comp ) * (                          &
     1401                              ( 10.0_wp * ibit20 * adv_mom_5                  &
     1402                           +     3.0_wp * ibit19 * adv_mom_3                  &
     1403                           +              ibit18 * adv_mom_1                  &
     1404                              ) *                                             &
     1405                                        ( v(k,j,i)   - v(k,j,i-1) )           &
     1406                       -      (  5.0_wp * ibit20 * adv_mom_5                  &
     1407                           +              ibit19 * adv_mom_3                  &
     1408                              ) *                                             &
     1409                                        ( v(k,j,i+1) - v(k,j,i-2) )           &
     1410                       +      (           ibit20 * adv_mom_5                  &
     1411                              ) *                                             &
     1412                                        ( v(k,j,i+2) - v(k,j,i-3) )           &
    14071413                                                   )
    14081414
     
    14131419             u_comp           = u(k,j-1,i) + u(k,j,i) - gu
    14141420             flux_l_v(k,j,tn) = u_comp * (                                    &
    1415                              37.0 * ( v(k,j,i) + v(k,j,i-1)   )               &
    1416                            -  8.0 * ( v(k,j,i+1) + v(k,j,i-2) )               &
    1417                            +        ( v(k,j,i+2) + v(k,j,i-3) ) ) * adv_mom_5
     1421                             37.0_wp * ( v(k,j,i) + v(k,j,i-1)   )            &
     1422                           -  8.0_wp * ( v(k,j,i+1) + v(k,j,i-2) )            &
     1423                           +           ( v(k,j,i+2) + v(k,j,i-3) ) ) * adv_mom_5
    14181424             diss_l_v(k,j,tn) = - ABS( u_comp ) * (                           &
    1419                              10.0 * ( v(k,j,i) - v(k,j,i-1)   )               &
    1420                            -  5.0 * ( v(k,j,i+1) - v(k,j,i-2) )               &
    1421                            +        ( v(k,j,i+2) - v(k,j,i-3) ) ) * adv_mom_5
     1425                             10.0_wp * ( v(k,j,i) - v(k,j,i-1)   )            &
     1426                           -  5.0_wp * ( v(k,j,i+1) - v(k,j,i-2) )            &
     1427                           +           ( v(k,j,i+2) - v(k,j,i-3) ) ) * adv_mom_5
    14221428
    14231429          ENDDO
     
    14361442             v_comp_l       = v(k,j,i) + v(k,j-1,i) - gv
    14371443             flux_s_v(k,tn) = v_comp_l * (                                    &
    1438                             ( 37.0 * ibit23 * adv_mom_5                       &
    1439                          +     7.0 * ibit22 * adv_mom_3                       &
    1440                          +           ibit21 * adv_mom_1                       &
     1444                            ( 37.0_wp * ibit23 * adv_mom_5                    &
     1445                         +     7.0_wp * ibit22 * adv_mom_3                    &
     1446                         +              ibit21 * adv_mom_1                    &
    14411447                            ) *                                               &
    1442                                      ( v(k,j,i)   + v(k,j-1,i) )              &
    1443                      -      (  8.0 * ibit23 * adv_mom_5                       &
    1444                          +           ibit22 * adv_mom_3                       &
     1448                                        ( v(k,j,i)   + v(k,j-1,i) )           &
     1449                     -      (  8.0_wp * ibit23 * adv_mom_5                    &
     1450                         +              ibit22 * adv_mom_3                    &
    14451451                            ) *                                               &
    1446                                      ( v(k,j+1,i) + v(k,j-2,i) )              &
    1447                      +      (        ibit23 * adv_mom_5                       &
     1452                                        ( v(k,j+1,i) + v(k,j-2,i) )           &
     1453                     +      (           ibit23 * adv_mom_5                    &
    14481454                            ) *                                               &
    1449                                      ( v(k,j+2,i) + v(k,j-3,i) )              &
     1455                                        ( v(k,j+2,i) + v(k,j-3,i) )           &
    14501456                                         )
    14511457
    14521458             diss_s_v(k,tn) = - ABS( v_comp_l ) * (                           &
    1453                             ( 10.0 * ibit23 * adv_mom_5                       &
    1454                          +     3.0 * ibit22 * adv_mom_3                       &
    1455                          +           ibit21 * adv_mom_1                       &
     1459                            ( 10.0_wp * ibit23 * adv_mom_5                    &
     1460                         +     3.0_wp * ibit22 * adv_mom_3                    &
     1461                         +              ibit21 * adv_mom_1                    &
    14561462                            ) *                                               &
    1457                                      ( v(k,j,i)   - v(k,j-1,i) )              &
    1458                      -      (  5.0 * ibit23 * adv_mom_5                       &
    1459                          +           ibit22 * adv_mom_3                       &
     1463                                        ( v(k,j,i)   - v(k,j-1,i) )           &
     1464                     -      (  5.0_wp * ibit23 * adv_mom_5                    &
     1465                         +              ibit22 * adv_mom_3                    &
    14601466                            ) *                                               &
    1461                                      ( v(k,j+1,i) - v(k,j-2,i) )              &
    1462                      +      (        ibit23 * adv_mom_5                       &
     1467                                        ( v(k,j+1,i) - v(k,j-2,i) )           &
     1468                     +      (           ibit23 * adv_mom_5                    &
    14631469                            ) *                                               &
    1464                                      ( v(k,j+2,i) - v(k,j-3,i) )              &
    1465                                                  )
     1470                                        ( v(k,j+2,i) - v(k,j-3,i) )           &
     1471                                                  )
    14661472
    14671473          ENDDO
     
    14711477             v_comp_l       = v(k,j,i) + v(k,j-1,i) - gv
    14721478             flux_s_v(k,tn) = v_comp_l * (                                    &
    1473                            37.0 * ( v(k,j,i) + v(k,j-1,i)   )                 &
    1474                          -  8.0 * ( v(k,j+1,i) + v(k,j-2,i) )                 &
    1475                          +        ( v(k,j+2,i) + v(k,j-3,i) ) ) * adv_mom_5
     1479                           37.0_wp * ( v(k,j,i) + v(k,j-1,i)   )              &
     1480                         -  8.0_wp * ( v(k,j+1,i) + v(k,j-2,i) )              &
     1481                         +           ( v(k,j+2,i) + v(k,j-3,i) ) ) * adv_mom_5
    14761482             diss_s_v(k,tn) = - ABS( v_comp_l ) * (                           &
    1477                            10.0 * ( v(k,j,i) - v(k,j-1,i)   )                 &
    1478                          -  5.0 * ( v(k,j+1,i) - v(k,j-2,i) )                 &
    1479                          +        ( v(k,j+2,i) - v(k,j-3,i) ) ) * adv_mom_5
     1483                           10.0_wp * ( v(k,j,i) - v(k,j-1,i)   )              &
     1484                         -  5.0_wp * ( v(k,j+1,i) - v(k,j-2,i) )              &
     1485                         +           ( v(k,j+2,i) - v(k,j-3,i) ) ) * adv_mom_5
    14801486
    14811487          ENDDO
     
    14831489       ENDIF
    14841490
    1485        flux_t(0) = 0.0
    1486        diss_t(0) = 0.0
    1487        flux_d    = 0.0
    1488        diss_d    = 0.0
     1491       flux_t(0) = 0.0_wp
     1492       diss_t(0) = 0.0_wp
     1493       flux_d    = 0.0_wp
     1494       diss_d    = 0.0_wp
    14891495!
    14901496!--    Now compute the fluxes and tendency terms for the horizontal and
     
    14971503 
    14981504          u_comp    = u(k,j-1,i+1) + u(k,j,i+1) - gu
    1499           flux_r(k) = u_comp * (                                             &
    1500                      ( 37.0 * ibit20 * adv_mom_5                             &
    1501                   +     7.0 * ibit19 * adv_mom_3                             &
    1502                   +           ibit18 * adv_mom_1                             &
    1503                      ) *                                                     &
    1504                                  ( v(k,j,i+1) + v(k,j,i)   )                 &
    1505               -      (  8.0 * ibit20 * adv_mom_5                             &
    1506                   +           ibit19 * adv_mom_3                             &
    1507                      ) *                                                     &
    1508                                  ( v(k,j,i+2) + v(k,j,i-1) )                 &
    1509               +      (        ibit20 * adv_mom_5                             &
    1510                      ) *                                                     &
    1511                                  ( v(k,j,i+3) + v(k,j,i-2) )                 &
     1505          flux_r(k) = u_comp * (                                              &
     1506                     ( 37.0_wp * ibit20 * adv_mom_5                           &
     1507                  +     7.0_wp * ibit19 * adv_mom_3                           &
     1508                  +              ibit18 * adv_mom_1                           &
     1509                     ) *                                                      &
     1510                                    ( v(k,j,i+1) + v(k,j,i)   )               &
     1511              -      (  8.0_wp * ibit20 * adv_mom_5                           &
     1512                  +              ibit19 * adv_mom_3                           &
     1513                     ) *                                                      &
     1514                                    ( v(k,j,i+2) + v(k,j,i-1) )               &
     1515              +      (           ibit20 * adv_mom_5                           &
     1516                     ) *                                                      &
     1517                                    ( v(k,j,i+3) + v(k,j,i-2) )               &
    15121518                               )
    15131519
    1514           diss_r(k) = - ABS( u_comp ) * (                                    &
    1515                      ( 10.0 * ibit20 * adv_mom_5                             &
    1516                   +     3.0 * ibit19 * adv_mom_3                             &
    1517                   +           ibit18 * adv_mom_1                             &
    1518                      ) *                                                     &
    1519                                  ( v(k,j,i+1) - v(k,j,i)  )                  &
    1520               -      (  5.0 * ibit20 * adv_mom_5                             &
    1521                   +           ibit19 * adv_mom_3                             &
    1522                      ) *                                                     &
    1523                                  ( v(k,j,i+2) - v(k,j,i-1) )                 &
    1524               +      (        ibit20 * adv_mom_5                             &
    1525                      ) *                                                     &
    1526                                  ( v(k,j,i+3) - v(k,j,i-2) )                 &
     1520          diss_r(k) = - ABS( u_comp ) * (                                     &
     1521                     ( 10.0_wp * ibit20 * adv_mom_5                           &
     1522                  +     3.0_wp * ibit19 * adv_mom_3                           &
     1523                  +              ibit18 * adv_mom_1                           &
     1524                     ) *                                                      &
     1525                                    ( v(k,j,i+1) - v(k,j,i)  )                &
     1526              -      (  5.0_wp * ibit20 * adv_mom_5                           &
     1527                  +              ibit19 * adv_mom_3                           &
     1528                     ) *                                                      &
     1529                                    ( v(k,j,i+2) - v(k,j,i-1) )               &
     1530              +      (           ibit20 * adv_mom_5                           &
     1531                     ) *                                                      &
     1532                                    ( v(k,j,i+3) - v(k,j,i-2) )               &
    15271533                                        )
    15281534
     
    15331539
    15341540          v_comp(k) = v(k,j+1,i) + v(k,j,i)
    1535           flux_n(k) = ( v_comp(k) - gv ) * (                                 &
    1536                      ( 37.0 * ibit23 * adv_mom_5                             &
    1537                   +     7.0 * ibit22 * adv_mom_3                             &
    1538                   +           ibit21 * adv_mom_1                             &
    1539                      ) *                                                     &
    1540                                  ( v(k,j+1,i) + v(k,j,i)   )                 &
    1541               -      (  8.0 * ibit23 * adv_mom_5                             &
    1542                   +           ibit22 * adv_mom_3                             &
    1543                      ) *                                                     &
    1544                                  ( v(k,j+2,i) + v(k,j-1,i) )                 &
    1545               +      (        ibit23 * adv_mom_5                             &
    1546                      ) *                                                     &
    1547                                  ( v(k,j+3,i) + v(k,j-2,i) )                 &
    1548                                )
    1549 
    1550           diss_n(k) = - ABS( v_comp(k) - gv ) * (                            &
    1551                      ( 10.0 * ibit23 * adv_mom_5                             &
    1552                   +     3.0 * ibit22 * adv_mom_3                             &
    1553                   +           ibit21 * adv_mom_1                             &
    1554                      ) *                                                     &
    1555                                  ( v(k,j+1,i) - v(k,j,i)  )                  &
    1556               -      (  5.0 * ibit23 * adv_mom_5                             &
    1557                   +           ibit22 * adv_mom_3                             &
    1558                      ) *                                                     &
    1559                                  ( v(k,j+2,i) - v(k,j-1,i) )                 &
    1560               +      (        ibit23 * adv_mom_5                             &
    1561                      ) *                                                     &
    1562                                  ( v(k,j+3,i) - v(k,j-2,i) )                 &
    1563                                         )
     1541          flux_n(k) = ( v_comp(k) - gv ) * (                                  &
     1542                     ( 37.0_wp * ibit23 * adv_mom_5                           &
     1543                  +     7.0_wp * ibit22 * adv_mom_3                           &
     1544                  +              ibit21 * adv_mom_1                           &
     1545                     ) *                                                      &
     1546                                    ( v(k,j+1,i) + v(k,j,i)   )               &
     1547              -      (  8.0_wp * ibit23 * adv_mom_5                           &
     1548                  +              ibit22 * adv_mom_3                           &
     1549                     ) *                                                      &
     1550                                    ( v(k,j+2,i) + v(k,j-1,i) )               &
     1551              +      (           ibit23 * adv_mom_5                           &
     1552                     ) *                                                      &
     1553                                    ( v(k,j+3,i) + v(k,j-2,i) )               &
     1554                                           )
     1555
     1556          diss_n(k) = - ABS( v_comp(k) - gv ) * (                             &
     1557                     ( 10.0_wp * ibit23 * adv_mom_5                           &
     1558                  +     3.0_wp * ibit22 * adv_mom_3                           &
     1559                  +              ibit21 * adv_mom_1                           &
     1560                     ) *                                                      &
     1561                                    ( v(k,j+1,i) - v(k,j,i)   )               &
     1562              -      (  5.0_wp * ibit23 * adv_mom_5                           &
     1563                  +              ibit22 * adv_mom_3                           &
     1564                     ) *                                                      &
     1565                                    ( v(k,j+2,i) - v(k,j-1,i) )               &
     1566              +      (           ibit23 * adv_mom_5                           &
     1567                     ) *                                                      &
     1568                                    ( v(k,j+3,i) - v(k,j-2,i) )               &
     1569                                                )
    15641570!
    15651571!--       k index has to be modified near bottom and top, else array
     
    15741580
    15751581          w_comp    = w(k,j-1,i) + w(k,j,i)
    1576           flux_t(k) = w_comp  * (                                            &
    1577                      ( 37.0 * ibit26 * adv_mom_5                             &
    1578                   +     7.0 * ibit25 * adv_mom_3                             &
    1579                   +           ibit24 * adv_mom_1                             &
    1580                      ) *                                                     &
    1581                              ( v(k+1,j,i)   + v(k,j,i)    )                  &
    1582               -      (  8.0 * ibit26 * adv_mom_5                             &
    1583                   +           ibit25 * adv_mom_3                             &
    1584                      ) *                                                     &
    1585                              ( v(k_pp,j,i)  + v(k-1,j,i)  )                  &
    1586               +      (        ibit26 * adv_mom_5                             &
    1587                      ) *                                                     &
    1588                              ( v(k_ppp,j,i) + v(k_mm,j,i) )                  &
     1582          flux_t(k) = w_comp  * (                                             &
     1583                     ( 37.0_wp * ibit26 * adv_mom_5                           &
     1584                  +     7.0_wp * ibit25 * adv_mom_3                           &
     1585                  +              ibit24 * adv_mom_1                           &
     1586                     ) *                                                      &
     1587                                ( v(k+1,j,i)   + v(k,j,i)    )                &
     1588              -      (  8.0_wp * ibit26 * adv_mom_5                           &
     1589                  +              ibit25 * adv_mom_3                           &
     1590                     ) *                                                      &
     1591                                ( v(k_pp,j,i)  + v(k-1,j,i)  )                &
     1592              +      (           ibit26 * adv_mom_5                           &
     1593                     ) *                                                      &
     1594                                ( v(k_ppp,j,i) + v(k_mm,j,i) )                &
    15891595                                 )
    15901596
    1591           diss_t(k) = - ABS( w_comp ) * (                                    &
    1592                      ( 10.0 * ibit26 * adv_mom_5                             &
    1593                   +     3.0 * ibit25 * adv_mom_3                             &
    1594                   +           ibit24 * adv_mom_1                             &
    1595                      ) *                                                     &
    1596                              ( v(k+1,j,i)   - v(k,j,i)    )                  &
    1597               -      (  5.0 * ibit26 * adv_mom_5                             &
    1598                   +           ibit25 * adv_mom_3                             &
    1599                      ) *                                                     &
    1600                              ( v(k_pp,j,i)  - v(k-1,j,i)  )                  &
    1601               +      (        ibit26 * adv_mom_5                             &
    1602                      ) *                                                     &
    1603                              ( v(k_ppp,j,i) - v(k_mm,j,i) )                  &
     1597          diss_t(k) = - ABS( w_comp ) * (                                     &
     1598                     ( 10.0_wp * ibit26 * adv_mom_5                           &
     1599                  +     3.0_wp * ibit25 * adv_mom_3                           &
     1600                  +              ibit24 * adv_mom_1                           &
     1601                     ) *                                                      &
     1602                                ( v(k+1,j,i)   - v(k,j,i)    )                &
     1603              -      (  5.0_wp * ibit26 * adv_mom_5                           &
     1604                  +              ibit25 * adv_mom_3                           &
     1605                     ) *                                                      &
     1606                                ( v(k_pp,j,i)  - v(k-1,j,i)  )                &
     1607              +      (           ibit26 * adv_mom_5                           &
     1608                     ) *                                                      &
     1609                                ( v(k_ppp,j,i) - v(k_mm,j,i) )                &
    16041610                                         )
    16051611!
     
    16071613!--       correction is needed to overcome numerical instabilities introduced
    16081614!--       by a not sufficient reduction of divergences near topography.
    1609           div = ( ( u_comp + gu - ( u(k,j-1,i)   + u(k,j,i)   ) ) * ddx      &
    1610                +  ( v_comp(k)   - ( v(k,j,i)     + v(k,j-1,i) ) ) * ddy      &
    1611                +  ( w_comp      - ( w(k-1,j-1,i) + w(k-1,j,i) ) ) * ddzw(k)  &
    1612                 ) * 0.5
     1615          div = ( ( u_comp + gu - ( u(k,j-1,i)   + u(k,j,i)   ) ) * ddx       &
     1616               +  ( v_comp(k)   - ( v(k,j,i)     + v(k,j-1,i) ) ) * ddy       &
     1617               +  ( w_comp      - ( w(k-1,j-1,i) + w(k-1,j,i) ) ) * ddzw(k)   &
     1618                ) * 0.5_wp
    16131619
    16141620          tend(k,j,i) = tend(k,j,i) - (                                       &
     
    16331639           sums_vs2_ws_l(k,tn) = sums_vs2_ws_l(k,tn)                          &
    16341640             + ( flux_n(k)                                                    &
    1635              * ( v_comp(k) - 2.0 * hom(k,1,2,0) )                             &
    1636              / ( v_comp(k) - gv + 1.0E-20_wp )                                &
     1641             * ( v_comp(k) - 2.0_wp * hom(k,1,2,0)      )                     &
     1642             / ( v_comp(k) - gv + 1.0E-20_wp       )                          &
    16371643             +   diss_n(k)                                                    &
    1638              *   ABS( v_comp(k) - 2.0 * hom(k,1,2,0) )                        &
     1644             *   ABS( v_comp(k) - 2.0_wp * hom(k,1,2,0) )                     &
    16391645             / ( ABS( v_comp(k) - gv ) +1.0E-20_wp ) )                        &
    16401646             *   weight_substep(intermediate_timestep_count)
     
    16501656
    16511657          u_comp    = u(k,j-1,i+1) + u(k,j,i+1) - gu
    1652           flux_r(k) = u_comp * (                                           &
    1653                       37.0 * ( v(k,j,i+1) + v(k,j,i)   )                   &
    1654                     -  8.0 * ( v(k,j,i+2) + v(k,j,i-1) )                   &
    1655                     +        ( v(k,j,i+3) + v(k,j,i-2) ) ) * adv_mom_5
    1656 
    1657           diss_r(k) = - ABS( u_comp ) * (                                  &
    1658                       10.0 * ( v(k,j,i+1) - v(k,j,i) )                     &
    1659                     -  5.0 * ( v(k,j,i+2) - v(k,j,i-1) )                   &
    1660                     +        ( v(k,j,i+3) - v(k,j,i-2) ) ) * adv_mom_5
     1658          flux_r(k) = u_comp * (                                              &
     1659                      37.0_wp * ( v(k,j,i+1) + v(k,j,i)   )                   &
     1660                    -  8.0_wp * ( v(k,j,i+2) + v(k,j,i-1) )                   &
     1661                    +           ( v(k,j,i+3) + v(k,j,i-2) ) ) * adv_mom_5
     1662
     1663          diss_r(k) = - ABS( u_comp ) * (                                     &
     1664                      10.0_wp * ( v(k,j,i+1) - v(k,j,i) )                     &
     1665                    -  5.0_wp * ( v(k,j,i+2) - v(k,j,i-1) )                   &
     1666                    +           ( v(k,j,i+3) - v(k,j,i-2) ) ) * adv_mom_5
    16611667
    16621668
    16631669          v_comp(k) = v(k,j+1,i) + v(k,j,i)
    1664           flux_n(k) = ( v_comp(k) - gv ) * (                               &
    1665                       37.0 * ( v(k,j+1,i) + v(k,j,i)   )                   &
    1666                     -  8.0 * ( v(k,j+2,i) + v(k,j-1,i) )                   &
    1667                       +      ( v(k,j+3,i) + v(k,j-2,i) ) ) * adv_mom_5
    1668 
    1669           diss_n(k) = - ABS( v_comp(k) - gv ) * (                          &
    1670                       10.0 * ( v(k,j+1,i) - v(k,j,i)   )                   &
    1671                     -  5.0 * ( v(k,j+2,i) - v(k,j-1,i) )                   &
    1672                     +        ( v(k,j+3,i) - v(k,j-2,i) ) ) * adv_mom_5
     1670          flux_n(k) = ( v_comp(k) - gv ) * (                                  &
     1671                      37.0_wp * ( v(k,j+1,i) + v(k,j,i)   )                   &
     1672                    -  8.0_wp * ( v(k,j+2,i) + v(k,j-1,i) )                   &
     1673                      +         ( v(k,j+3,i) + v(k,j-2,i) ) ) * adv_mom_5
     1674
     1675          diss_n(k) = - ABS( v_comp(k) - gv ) * (                             &
     1676                      10.0_wp * ( v(k,j+1,i) - v(k,j,i)   )                   &
     1677                    -  5.0_wp * ( v(k,j+2,i) - v(k,j-1,i) )                   &
     1678                    +           ( v(k,j+3,i) - v(k,j-2,i) ) ) * adv_mom_5
    16731679!
    16741680!--       k index has to be modified near bottom and top, else array
     
    16831689
    16841690          w_comp    = w(k,j-1,i) + w(k,j,i)
    1685           flux_t(k) = w_comp  * (                                            &
    1686                      ( 37.0 * ibit26 * adv_mom_5                             &
    1687                   +     7.0 * ibit25 * adv_mom_3                             &
    1688                   +           ibit24 * adv_mom_1                             &
    1689                      ) *                                                     &
    1690                              ( v(k+1,j,i)   + v(k,j,i)    )                  &
    1691               -      (  8.0 * ibit26 * adv_mom_5                             &
    1692                   +           ibit25 * adv_mom_3                             &
    1693                      ) *                                                     &
    1694                              ( v(k_pp,j,i)  + v(k-1,j,i)  )                  &
    1695               +      (        ibit26 * adv_mom_5                             &
    1696                      ) *                                                     &
    1697                              ( v(k_ppp,j,i) + v(k_mm,j,i) )                  &
     1691          flux_t(k) = w_comp  * (                                             &
     1692                     ( 37.0_wp * ibit26 * adv_mom_5                           &
     1693                  +     7.0_wp * ibit25 * adv_mom_3                           &
     1694                  +              ibit24 * adv_mom_1                           &
     1695                     ) *                                                      &
     1696                                ( v(k+1,j,i)   + v(k,j,i)    )                &
     1697              -      (  8.0_wp * ibit26 * adv_mom_5                           &
     1698                  +              ibit25 * adv_mom_3                           &
     1699                     ) *                                                      &
     1700                                ( v(k_pp,j,i)  + v(k-1,j,i)  )                &
     1701              +      (           ibit26 * adv_mom_5                           &
     1702                     ) *                                                      &
     1703                                ( v(k_ppp,j,i) + v(k_mm,j,i) )                &
    16981704                                 )
    16991705
    1700           diss_t(k) = - ABS( w_comp ) * (                                    &
    1701                      ( 10.0 * ibit26 * adv_mom_5                             &
    1702                   +     3.0 * ibit25 * adv_mom_3                             &
    1703                   +           ibit24 * adv_mom_1                             &
    1704                      ) *                                                     &
    1705                              ( v(k+1,j,i)   - v(k,j,i)    )                  &
    1706               -      (  5.0 * ibit26 * adv_mom_5                             &
    1707                   +           ibit25 * adv_mom_3                             &
    1708                      ) *                                                     &
    1709                              ( v(k_pp,j,i)  - v(k-1,j,i)  )                  &
    1710               +      (        ibit26 * adv_mom_5                             &
    1711                      ) *                                                     &
    1712                              ( v(k_ppp,j,i) - v(k_mm,j,i) )                  &
     1706          diss_t(k) = - ABS( w_comp ) * (                                     &
     1707                     ( 10.0_wp * ibit26 * adv_mom_5                           &
     1708                  +     3.0_wp * ibit25 * adv_mom_3                           &
     1709                  +              ibit24 * adv_mom_1                           &
     1710                     ) *                                                      &
     1711                                ( v(k+1,j,i)   - v(k,j,i)    )                &
     1712              -      (  5.0_wp * ibit26 * adv_mom_5                           &
     1713                  +              ibit25 * adv_mom_3                           &
     1714                     ) *                                                      &
     1715                                ( v(k_pp,j,i)  - v(k-1,j,i)  )                &
     1716              +      (           ibit26 * adv_mom_5                           &
     1717                     ) *                                                      &
     1718                                ( v(k_ppp,j,i) - v(k_mm,j,i) )                &
    17131719                                         )
    17141720!
     
    17161722!--       correction is needed to overcome numerical instabilities introduced
    17171723!--       by a not sufficient reduction of divergences near topography.
    1718           div = ( ( u_comp + gu - ( u(k,j-1,i)   + u(k,j,i)   ) ) * ddx      &
    1719                +  ( v_comp(k)   - ( v(k,j,i)     + v(k,j-1,i) ) ) * ddy      &
    1720                +  ( w_comp      - ( w(k-1,j-1,i) + w(k-1,j,i) ) ) * ddzw(k)  &
    1721                 ) * 0.5
     1724          div = ( ( u_comp + gu - ( u(k,j-1,i)   + u(k,j,i)   ) ) * ddx       &
     1725               +  ( v_comp(k)   - ( v(k,j,i)     + v(k,j-1,i) ) ) * ddy       &
     1726               +  ( w_comp      - ( w(k-1,j-1,i) + w(k-1,j,i) ) ) * ddzw(k)   &
     1727                ) * 0.5_wp
    17221728
    17231729          tend(k,j,i) = tend(k,j,i) - (                                       &
     
    17421748           sums_vs2_ws_l(k,tn) = sums_vs2_ws_l(k,tn)                          &
    17431749             + ( flux_n(k)                                                    &
    1744              * ( v_comp(k) - 2.0 * hom(k,1,2,0) )                             &
    1745              / ( v_comp(k) - gv + 1.0E-20_wp )                                &
     1750             * ( v_comp(k) - 2.0_wp * hom(k,1,2,0)      )                     &
     1751             / ( v_comp(k) - gv + 1.0E-20_wp       )                          &
    17461752             +   diss_n(k)                                                    &
    1747              *   ABS( v_comp(k) - 2.0 * hom(k,1,2,0) )                        &
     1753             *   ABS( v_comp(k) - 2.0_wp * hom(k,1,2,0) )                     &
    17481754             / ( ABS( v_comp(k) - gv ) +1.0E-20_wp ) )                        &
    17491755             *   weight_substep(intermediate_timestep_count)
    17501756!
    17511757!--        Statistical Evaluation of w'v'.
    1752            sums_wsvs_ws_l(k,tn) = sums_wsvs_ws_l(k,tn)                         &
    1753                               + ( flux_t(k) + diss_t(k) )                      &
     1758           sums_wsvs_ws_l(k,tn) = sums_wsvs_ws_l(k,tn)                        &
     1759                              + ( flux_t(k) + diss_t(k) )                     &
    17541760                              *   weight_substep(intermediate_timestep_count)
    17551761
     
    17671773    SUBROUTINE advec_w_ws_ij( i, j, i_omp, tn )
    17681774
    1769        USE arrays_3d,                                                          &
     1775       USE arrays_3d,                                                         &
    17701776           ONLY:  ddzu, diss_l_w, diss_s_w, flux_l_w, flux_s_w, tend, u, v, w
    17711777
    1772        USE constants,                                                          &
     1778       USE constants,                                                         &
    17731779           ONLY:  adv_mom_1, adv_mom_3, adv_mom_5
    17741780
    1775        USE control_parameters,                                                 &
     1781       USE control_parameters,                                                &
    17761782           ONLY:  intermediate_timestep_count, u_gtrans, v_gtrans
    17771783
    1778        USE grid_variables,                                                     &
     1784       USE grid_variables,                                                    &
    17791785           ONLY:  ddx, ddy
    17801786
    1781        USE indices,                                                            &
    1782            ONLY:  nxl, nxr, nyn, nys, nzb, nzb_max, nzt, wall_flags_0,         &
     1787       USE indices,                                                           &
     1788           ONLY:  nxl, nxr, nyn, nys, nzb, nzb_max, nzt, wall_flags_0,        &
    17831789                  wall_flags_00
    17841790
    17851791       USE kinds
    17861792       
    1787        USE statistics,                                                         &
     1793       USE statistics,                                                        &
    17881794           ONLY:  hom, sums_ws2_ws_l, weight_substep
    17891795
     
    18241830       REAL(wp), DIMENSION(nzb:nzt+1)  ::  flux_t !:
    18251831
    1826        gu = 2.0 * u_gtrans
    1827        gv = 2.0 * v_gtrans
     1832       gu = 2.0_wp * u_gtrans
     1833       gv = 2.0_wp * v_gtrans
    18281834
    18291835!
     
    18381844             v_comp         = v(k+1,j,i) + v(k,j,i) - gv
    18391845             flux_s_w(k,tn) = v_comp * (                                      &
    1840                             ( 37.0 * ibit32 * adv_mom_5                       &
    1841                          +     7.0 * ibit31 * adv_mom_3                       &
    1842                          +           ibit30 * adv_mom_1                       &
     1846                            ( 37.0_wp * ibit32 * adv_mom_5                    &
     1847                         +     7.0_wp * ibit31 * adv_mom_3                    &
     1848                         +              ibit30 * adv_mom_1                    &
    18431849                            ) *                                               &
    1844                                      ( w(k,j,i)   + w(k,j-1,i) )              &
    1845                      -      (  8.0 * ibit32 * adv_mom_5                       &
    1846                          +           ibit31 * adv_mom_3                       &
     1850                                        ( w(k,j,i)   + w(k,j-1,i) )           &
     1851                     -      (  8.0_wp * ibit32 * adv_mom_5                    &
     1852                         +              ibit31 * adv_mom_3                    &
    18471853                            ) *                                               &
    1848                                      ( w(k,j+1,i) + w(k,j-2,i) )              &
    1849                      +      (        ibit32 * adv_mom_5                       &
     1854                                        ( w(k,j+1,i) + w(k,j-2,i) )           &
     1855                     +      (           ibit32 * adv_mom_5                    &
    18501856                            ) *                                               &
    1851                                      ( w(k,j+2,i) + w(k,j-3,i) )              &
    1852                                          )
     1857                                        ( w(k,j+2,i) + w(k,j-3,i) )           &
     1858                                       )
    18531859
    18541860             diss_s_w(k,tn) = - ABS( v_comp ) * (                             &
    1855                             ( 10.0 * ibit32 * adv_mom_5                       &
    1856                          +     3.0 * ibit31 * adv_mom_3                       &
    1857                          +           ibit30 * adv_mom_1                       &
     1861                            ( 10.0_wp * ibit32 * adv_mom_5                    &
     1862                         +     3.0_wp * ibit31 * adv_mom_3                    &
     1863                         +              ibit30 * adv_mom_1                    &
    18581864                            ) *                                               &
    1859                                      ( w(k,j,i)   - w(k,j-1,i) )              &
    1860                      -      (  5.0 * ibit32 * adv_mom_5                       &
    1861                          +           ibit31 * adv_mom_3                       &
     1865                                        ( w(k,j,i)   - w(k,j-1,i) )           &
     1866                     -      (  5.0_wp * ibit32 * adv_mom_5                    &
     1867                         +              ibit31 * adv_mom_3                    &
    18621868                            ) *                                               &
    1863                                      ( w(k,j+1,i) - w(k,j-2,i) )              &
    1864                      +      (        ibit32 * adv_mom_5                       &
     1869                                        ( w(k,j+1,i) - w(k,j-2,i) )           &
     1870                     +      (           ibit32 * adv_mom_5                    &
    18651871                            ) *                                               &
    1866                                      ( w(k,j+2,i) - w(k,j-3,i) )              &
    1867                                                  )
     1872                                        ( w(k,j+2,i) - w(k,j-3,i) )           &
     1873                                                )
    18681874
    18691875          ENDDO
     
    18731879             v_comp         = v(k+1,j,i) + v(k,j,i) - gv
    18741880             flux_s_w(k,tn) = v_comp * (                                      &
    1875                            37.0 * ( w(k,j,i) + w(k,j-1,i)   )                 &
    1876                          -  8.0 * ( w(k,j+1,i) +w(k,j-2,i)  )                 &
    1877                          +        ( w(k,j+2,i) + w(k,j-3,i) ) ) * adv_mom_5
     1881                           37.0_wp * ( w(k,j,i) + w(k,j-1,i)   )              &
     1882                         -  8.0_wp * ( w(k,j+1,i) +w(k,j-2,i)  )              &
     1883                         +           ( w(k,j+2,i) + w(k,j-3,i) ) ) * adv_mom_5
    18781884             diss_s_w(k,tn) = - ABS( v_comp ) * (                             &
    1879                            10.0 * ( w(k,j,i) - w(k,j-1,i)   )                 &
    1880                          -  5.0 * ( w(k,j+1,i) - w(k,j-2,i) )                 &
    1881                          +        ( w(k,j+2,i) - w(k,j-3,i) ) ) * adv_mom_5
     1885                           10.0_wp * ( w(k,j,i) - w(k,j-1,i)   )              &
     1886                         -  5.0_wp * ( w(k,j+1,i) - w(k,j-2,i) )              &
     1887                         +           ( w(k,j+2,i) - w(k,j-3,i) ) ) * adv_mom_5
    18821888
    18831889          ENDDO
     
    18951901
    18961902             u_comp           = u(k+1,j,i) + u(k,j,i) - gu
    1897              flux_l_w(k,j,tn) = u_comp * (                                     &
    1898                              ( 37.0 * ibit29 * adv_mom_5                       &
    1899                           +     7.0 * ibit28 * adv_mom_3                       &
    1900                           +           ibit27 * adv_mom_1                       &
    1901                              ) *                                               &
    1902                                      ( w(k,j,i)   + w(k,j,i-1) )               &
    1903                       -      (  8.0 * ibit29 * adv_mom_5                       &
    1904                           +           ibit28 * adv_mom_3                       &
    1905                              ) *                                               &
    1906                                      ( w(k,j,i+1) + w(k,j,i-2) )               &
    1907                       +      (        ibit29 * adv_mom_5                       &
    1908                              ) *                                               &
    1909                                      ( w(k,j,i+2) + w(k,j,i-3) )               &
     1903             flux_l_w(k,j,tn) = u_comp * (                                    &
     1904                             ( 37.0_wp * ibit29 * adv_mom_5                   &
     1905                          +     7.0_wp * ibit28 * adv_mom_3                   &
     1906                          +              ibit27 * adv_mom_1                   &
     1907                             ) *                                              &
     1908                                        ( w(k,j,i)   + w(k,j,i-1) )           &
     1909                      -      (  8.0_wp * ibit29 * adv_mom_5                   &
     1910                          +              ibit28 * adv_mom_3                   &
     1911                             ) *                                              &
     1912                                        ( w(k,j,i+1) + w(k,j,i-2) )           &
     1913                      +      (           ibit29 * adv_mom_5                   &
     1914                             ) *                                              &
     1915                                        ( w(k,j,i+2) + w(k,j,i-3) )           &
    19101916                                         )
    19111917
    1912                diss_l_w(k,j,tn) = - ABS( u_comp ) * (                          &
    1913                              ( 10.0 * ibit29 * adv_mom_5                       &
    1914                           +     3.0 * ibit28 * adv_mom_3                       &
    1915                           +           ibit27 * adv_mom_1                       &
    1916                              ) *                                               &
    1917                                      ( w(k,j,i)   - w(k,j,i-1) )               &
    1918                       -      (  5.0 * ibit29 * adv_mom_5                       &
    1919                           +           ibit28 * adv_mom_3                       &
    1920                              ) *                                               &
    1921                                      ( w(k,j,i+1) - w(k,j,i-2) )               &
    1922                       +      (        ibit29 * adv_mom_5                       &
    1923                              ) *                                               &
    1924                                      ( w(k,j,i+2) - w(k,j,i-3) )               &
     1918               diss_l_w(k,j,tn) = - ABS( u_comp ) * (                         &
     1919                             ( 10.0_wp * ibit29 * adv_mom_5                   &
     1920                          +     3.0_wp * ibit28 * adv_mom_3                   &
     1921                          +              ibit27 * adv_mom_1                   &
     1922                             ) *                                              &
     1923                                        ( w(k,j,i)   - w(k,j,i-1) )           &
     1924                      -      (  5.0_wp * ibit29 * adv_mom_5                   &
     1925                          +              ibit28 * adv_mom_3                   &
     1926                             ) *                                              &
     1927                                        ( w(k,j,i+1) - w(k,j,i-2) )           &
     1928                      +      (           ibit29 * adv_mom_5                   &
     1929                             ) *                                              &
     1930                                        ( w(k,j,i+2) - w(k,j,i-3) )           &
    19251931                                                    )
    19261932
     
    19311937             u_comp           = u(k+1,j,i) + u(k,j,i) - gu
    19321938             flux_l_w(k,j,tn) = u_comp * (                                    &
    1933                             37.0 * ( w(k,j,i) + w(k,j,i-1)   )                &
    1934                           -  8.0 * ( w(k,j,i+1) + w(k,j,i-2) )                &
    1935                           +        ( w(k,j,i+2) + w(k,j,i-3) ) ) * adv_mom_5
     1939                            37.0_wp * ( w(k,j,i) + w(k,j,i-1)   )             &
     1940                          -  8.0_wp * ( w(k,j,i+1) + w(k,j,i-2) )             &
     1941                          +           ( w(k,j,i+2) + w(k,j,i-3) ) ) * adv_mom_5
    19361942             diss_l_w(k,j,tn) = - ABS( u_comp ) * (                           &
    1937                             10.0 * ( w(k,j,i) - w(k,j,i-1)   )                &
    1938                           -  5.0 * ( w(k,j,i+1) - w(k,j,i-2) )                &
    1939                           +        ( w(k,j,i+2) - w(k,j,i-3) ) ) * adv_mom_5
     1943                            10.0_wp * ( w(k,j,i) - w(k,j,i-1)   )             &
     1944                          -  5.0_wp * ( w(k,j,i+1) - w(k,j,i-2) )             &
     1945                          +           ( w(k,j,i+2) - w(k,j,i-3) ) ) * adv_mom_5
    19401946
    19411947          ENDDO
     
    19621968
    19631969          u_comp    = u(k+1,j,i+1) + u(k,j,i+1) - gu
    1964           flux_r(k) = u_comp * (                                             &
    1965                      ( 37.0 * ibit29 * adv_mom_5                             &
    1966                   +     7.0 * ibit28 * adv_mom_3                             &
    1967                   +           ibit27 * adv_mom_1                             &
    1968                      ) *                                                     &
    1969                                  ( w(k,j,i+1) + w(k,j,i)   )                 &
    1970               -      (  8.0 * ibit29 * adv_mom_5                             &
    1971                   +           ibit28 * adv_mom_3                             &
    1972                      ) *                                                     &
    1973                                  ( w(k,j,i+2) + w(k,j,i-1) )                 &
    1974               +      (        ibit29 * adv_mom_5                             &
    1975                      ) *                                                     &
    1976                                  ( w(k,j,i+3) + w(k,j,i-2) )                 &
    1977                                 )
    1978 
    1979           diss_r(k) = - ABS( u_comp ) * (                                    &
    1980                      ( 10.0 * ibit29 * adv_mom_5                             &
    1981                   +     3.0 * ibit28 * adv_mom_3                             &
    1982                   +           ibit27 * adv_mom_1                             &
    1983                      ) *                                                     &
    1984                                  ( w(k,j,i+1) - w(k,j,i)  )                  &
    1985               -      (  5.0 * ibit29 * adv_mom_5                             &
    1986                   +           ibit28 * adv_mom_3                             &
    1987                      ) *                                                     &
    1988                                  ( w(k,j,i+2) - w(k,j,i-1) )                 &
    1989               +      (        ibit29 * adv_mom_5                             &
    1990                      ) *                                                     &
    1991                                  ( w(k,j,i+3) - w(k,j,i-2) )                 &
     1970          flux_r(k) = u_comp * (                                              &
     1971                     ( 37.0_wp * ibit29 * adv_mom_5                           &
     1972                  +     7.0_wp * ibit28 * adv_mom_3                           &
     1973                  +              ibit27 * adv_mom_1                           &
     1974                     ) *                                                      &
     1975                                    ( w(k,j,i+1) + w(k,j,i)   )               &
     1976              -      (  8.0_wp * ibit29 * adv_mom_5                           &
     1977                  +              ibit28 * adv_mom_3                           &
     1978                     ) *                                                      &
     1979                                    ( w(k,j,i+2) + w(k,j,i-1) )               &
     1980              +      (           ibit29 * adv_mom_5                           &
     1981                     ) *                                                      &
     1982                                    ( w(k,j,i+3) + w(k,j,i-2) )               &
     1983                               )
     1984
     1985          diss_r(k) = - ABS( u_comp ) * (                                     &
     1986                     ( 10.0_wp * ibit29 * adv_mom_5                           &
     1987                  +     3.0_wp * ibit28 * adv_mom_3                           &
     1988                  +              ibit27 * adv_mom_1                           &
     1989                     ) *                                                      &
     1990                                    ( w(k,j,i+1) - w(k,j,i)   )               &
     1991              -      (  5.0_wp * ibit29 * adv_mom_5                           &
     1992                  +              ibit28 * adv_mom_3                           &
     1993                     ) *                                                      &
     1994                                    ( w(k,j,i+2) - w(k,j,i-1) )               &
     1995              +      (           ibit29 * adv_mom_5                           &
     1996                     ) *                                                      &
     1997                                    ( w(k,j,i+3) - w(k,j,i-2) )               &
    19921998                                        )
    19931999
     
    19972003
    19982004          v_comp    = v(k+1,j+1,i) + v(k,j+1,i) - gv
    1999           flux_n(k) = v_comp * (                                             &
    2000                      ( 37.0 * ibit32 * adv_mom_5                             &
    2001                   +     7.0 * ibit31 * adv_mom_3                             &
    2002                   +           ibit30 * adv_mom_1                             &
    2003                      ) *                                                     &
    2004                                  ( w(k,j+1,i) + w(k,j,i)   )                 &
    2005               -      (  8.0 * ibit32 * adv_mom_5                             &
    2006                   +           ibit31 * adv_mom_3                             &
    2007                      ) *                                                     &
    2008                                  ( w(k,j+2,i) + w(k,j-1,i) )                 &
    2009               +      (        ibit32 * adv_mom_5                             &
    2010                      ) *                                                     &
    2011                                  ( w(k,j+3,i) + w(k,j-2,i) )                 &
     2005          flux_n(k) = v_comp * (                                              &
     2006                     ( 37.0_wp * ibit32 * adv_mom_5                           &
     2007                  +     7.0_wp * ibit31 * adv_mom_3                           &
     2008                  +              ibit30 * adv_mom_1                           &
     2009                     ) *                                                      &
     2010                                    ( w(k,j+1,i) + w(k,j,i)   )               &
     2011              -      (  8.0_wp * ibit32 * adv_mom_5                           &
     2012                  +              ibit31 * adv_mom_3                           &
     2013                     ) *                                                      &
     2014                                    ( w(k,j+2,i) + w(k,j-1,i) )               &
     2015              +      (           ibit32 * adv_mom_5                           &
     2016                     ) *                                                      &
     2017                                    ( w(k,j+3,i) + w(k,j-2,i) )               &
    20122018                               )
    20132019
    2014           diss_n(k) = - ABS( v_comp ) * (                                    &
    2015                      ( 10.0 * ibit32 * adv_mom_5                             &
    2016                   +     3.0 * ibit31 * adv_mom_3                             &
    2017                   +           ibit30 * adv_mom_1                             &
    2018                      ) *                                                     &
    2019                                  ( w(k,j+1,i) - w(k,j,i)  )                  &
    2020               -      (  5.0 * ibit32 * adv_mom_5                             &
    2021                   +           ibit31 * adv_mom_3                             &
    2022                      ) *                                                     &
    2023                                  ( w(k,j+2,i) - w(k,j-1,i) )                 &
    2024               +      (        ibit32 * adv_mom_5                             &
    2025                      ) *                                                     &
    2026                                  ( w(k,j+3,i) - w(k,j-2,i) )                 &
     2020          diss_n(k) = - ABS( v_comp ) * (                                     &
     2021                     ( 10.0_wp * ibit32 * adv_mom_5                           &
     2022                  +     3.0_wp * ibit31 * adv_mom_3                           &
     2023                  +              ibit30 * adv_mom_1                           &
     2024                     ) *                                                      &
     2025                                    ( w(k,j+1,i) - w(k,j,i)  )                &
     2026              -      (  5.0_wp * ibit32 * adv_mom_5                           &
     2027                  +              ibit31 * adv_mom_3                           &
     2028                     ) *                                                      &
     2029                                   ( w(k,j+2,i) - w(k,j-1,i) )                &
     2030              +      (           ibit32 * adv_mom_5                           &
     2031                     ) *                                                      &
     2032                                   ( w(k,j+3,i) - w(k,j-2,i) )                &
    20272033                                        )
    20282034!
     
    20382044
    20392045          w_comp    = w(k+1,j,i) + w(k,j,i)
    2040           flux_t(k) = w_comp  * (                                            &
    2041                      ( 37.0 * ibit35 * adv_mom_5                             &
    2042                   +     7.0 * ibit34 * adv_mom_3                             &
    2043                   +           ibit33 * adv_mom_1                             &
    2044                      ) *                                                     &
    2045                              ( w(k+1,j,i)  + w(k,j,i)     )                  &
    2046               -      (  8.0 * ibit35 * adv_mom_5                             &
    2047                   +           ibit34 * adv_mom_3                             &
    2048                      ) *                                                     &
    2049                              ( w(k_pp,j,i)  + w(k-1,j,i)  )                  &
    2050               +      (        ibit35 * adv_mom_5                             &
    2051                      ) *                                                     &
    2052                              ( w(k_ppp,j,i) + w(k_mm,j,i) )                  &
    2053                                  )
    2054 
    2055           diss_t(k) = - ABS( w_comp ) * (                                    &
    2056                      ( 10.0 * ibit35 * adv_mom_5                             &
    2057                   +     3.0 * ibit34 * adv_mom_3                             &
    2058                   +           ibit33 * adv_mom_1                             &
    2059                      ) *                                                     &
    2060                              ( w(k+1,j,i)   - w(k,j,i)    )                  &
    2061               -      (  5.0 * ibit35 * adv_mom_5                             &
    2062                   +           ibit34 * adv_mom_3                             &
    2063                      ) *                                                     &
    2064                              ( w(k_pp,j,i)  - w(k-1,j,i)  )                  &
    2065               +      (        ibit35 * adv_mom_5                             &
    2066                      ) *                                                     &
    2067                              ( w(k_ppp,j,i) - w(k_mm,j,i) )                  &
    2068                                          )
     2046          flux_t(k) = w_comp  * (                                             &
     2047                     ( 37.0_wp * ibit35 * adv_mom_5                           &
     2048                  +     7.0_wp * ibit34 * adv_mom_3                           &
     2049                  +              ibit33 * adv_mom_1                           &
     2050                     ) *                                                      &
     2051                                ( w(k+1,j,i)  + w(k,j,i)     )                &
     2052              -      (  8.0_wp * ibit35 * adv_mom_5                           &
     2053                  +              ibit34 * adv_mom_3                           &
     2054                     ) *                                                      &
     2055                                ( w(k_pp,j,i)  + w(k-1,j,i)  )                &
     2056              +      (           ibit35 * adv_mom_5                           &
     2057                     ) *                                                      &
     2058                                ( w(k_ppp,j,i) + w(k_mm,j,i) )                &
     2059                                )
     2060
     2061          diss_t(k) = - ABS( w_comp ) * (                                     &
     2062                     ( 10.0_wp * ibit35 * adv_mom_5                           &
     2063                  +     3.0_wp * ibit34 * adv_mom_3                           &
     2064                  +              ibit33 * adv_mom_1                           &
     2065                     ) *                                                      &
     2066                                ( w(k+1,j,i)   - w(k,j,i)    )                &
     2067              -      (  5.0_wp * ibit35 * adv_mom_5                           &
     2068                  +              ibit34 * adv_mom_3                           &
     2069                     ) *                                                      &
     2070                                ( w(k_pp,j,i)  - w(k-1,j,i)  )                &
     2071              +      (           ibit35 * adv_mom_5                           &
     2072                     ) *                                                      &
     2073                                ( w(k_ppp,j,i) - w(k_mm,j,i) )                &
     2074                                        )
    20692075
    20702076!
     
    20752081              +   ( v_comp + gv - ( v(k+1,j,i) + v(k,j,i)   ) ) * ddy         &
    20762082              +   ( w_comp      - ( w(k,j,i)   + w(k-1,j,i) ) ) * ddzu(k+1)   &
    2077                 ) * 0.5
     2083                ) * 0.5_wp
    20782084
    20792085          tend(k,j,i) = tend(k,j,i) - (                                       &
     
    20942100!
    20952101!--        Statistical Evaluation of w'w'.
    2096           sums_ws2_ws_l(k,tn)  = sums_ws2_ws_l(k,tn)                         &
    2097                              + ( flux_t(k) + diss_t(k) )                     &
     2102          sums_ws2_ws_l(k,tn)  = sums_ws2_ws_l(k,tn)                          &
     2103                             + ( flux_t(k) + diss_t(k) )                      &
    20982104                             *   weight_substep(intermediate_timestep_count)
    20992105
     
    21032109
    21042110          u_comp    = u(k+1,j,i+1) + u(k,j,i+1) - gu
    2105           flux_r(k) = u_comp * (                                            &
    2106                       37.0 * ( w(k,j,i+1) + w(k,j,i)   )                    &
    2107                     -  8.0 * ( w(k,j,i+2) + w(k,j,i-1) )                    &
    2108                     +        ( w(k,j,i+3) + w(k,j,i-2) ) ) * adv_mom_5
    2109 
    2110           diss_r(k) = - ABS( u_comp ) * (                                   &
    2111                       10.0 * ( w(k,j,i+1) - w(k,j,i)   )                    &
    2112                     -  5.0 * ( w(k,j,i+2) - w(k,j,i-1) )                    &
    2113                     +        ( w(k,j,i+3) - w(k,j,i-2) ) ) * adv_mom_5
     2111          flux_r(k) = u_comp * (                                              &
     2112                      37.0_wp * ( w(k,j,i+1) + w(k,j,i)   )                   &
     2113                    -  8.0_wp * ( w(k,j,i+2) + w(k,j,i-1) )                   &
     2114                    +           ( w(k,j,i+3) + w(k,j,i-2) ) ) * adv_mom_5
     2115
     2116          diss_r(k) = - ABS( u_comp ) * (                                     &
     2117                      10.0_wp * ( w(k,j,i+1) - w(k,j,i)   )                   &
     2118                    -  5.0_wp * ( w(k,j,i+2) - w(k,j,i-1) )                   &
     2119                    +           ( w(k,j,i+3) - w(k,j,i-2) ) ) * adv_mom_5
    21142120
    21152121          v_comp    = v(k+1,j+1,i) + v(k,j+1,i) - gv
    2116           flux_n(k) = v_comp * (                                            &
    2117                       37.0 * ( w(k,j+1,i) + w(k,j,i)   )                    &
    2118                     -  8.0 * ( w(k,j+2,i) + w(k,j-1,i) )                    &
    2119                     +        ( w(k,j+3,i) + w(k,j-2,i) ) ) * adv_mom_5
    2120 
    2121           diss_n(k) = - ABS( v_comp ) * (                                   &
    2122                       10.0 * ( w(k,j+1,i) - w(k,j,i)   )                    &
    2123                     -  5.0 * ( w(k,j+2,i) - w(k,j-1,i) )                    &
    2124                     +        ( w(k,j+3,i) - w(k,j-2,i) ) ) * adv_mom_5
     2122          flux_n(k) = v_comp * (                                              &
     2123                      37.0_wp * ( w(k,j+1,i) + w(k,j,i)   )                   &
     2124                    -  8.0_wp * ( w(k,j+2,i) + w(k,j-1,i) )                   &
     2125                    +           ( w(k,j+3,i) + w(k,j-2,i) ) ) * adv_mom_5
     2126
     2127          diss_n(k) = - ABS( v_comp ) * (                                     &
     2128                      10.0_wp * ( w(k,j+1,i) - w(k,j,i)   )                   &
     2129                    -  5.0_wp * ( w(k,j+2,i) - w(k,j-1,i) )                   &
     2130                    +           ( w(k,j+3,i) - w(k,j-2,i) ) ) * adv_mom_5
    21252131!
    21262132!--       k index has to be modified near bottom and top, else array
     
    21352141
    21362142          w_comp    = w(k+1,j,i) + w(k,j,i)
    2137           flux_t(k) = w_comp  * (                                            &
    2138                      ( 37.0 * ibit35 * adv_mom_5                             &
    2139                   +     7.0 * ibit34 * adv_mom_3                             &
    2140                   +           ibit33 * adv_mom_1                             &
    2141                      ) *                                                     &
    2142                              ( w(k+1,j,i)  + w(k,j,i)     )                  &
    2143               -      (  8.0 * ibit35 * adv_mom_5                             &
    2144                   +           ibit34 * adv_mom_3                             &
    2145                      ) *                                                     &
    2146                              ( w(k_pp,j,i)  + w(k-1,j,i)  )                  &
    2147               +      (        ibit35 * adv_mom_5                             &
    2148                      ) *                                                     &
    2149                              ( w(k_ppp,j,i) + w(k_mm,j,i) )                  &
    2150                                  )
    2151 
    2152           diss_t(k) = - ABS( w_comp ) * (                                    &
    2153                      ( 10.0 * ibit35 * adv_mom_5                             &
    2154                   +     3.0 * ibit34 * adv_mom_3                             &
    2155                   +           ibit33 * adv_mom_1                             &
    2156                      ) *                                                     &
    2157                              ( w(k+1,j,i)   - w(k,j,i)    )                  &
    2158               -      (  5.0 * ibit35 * adv_mom_5                             &
    2159                   +           ibit34 * adv_mom_3                             &
    2160                      ) *                                                     &
    2161                              ( w(k_pp,j,i)  - w(k-1,j,i)  )                  &
    2162               +      (        ibit35 * adv_mom_5                             &
    2163                      ) *                                                     &
    2164                              ( w(k_ppp,j,i) - w(k_mm,j,i) )                  &
    2165                                          )
     2143          flux_t(k) = w_comp  * (                                             &
     2144                     ( 37.0_wp * ibit35 * adv_mom_5                           &
     2145                  +     7.0_wp * ibit34 * adv_mom_3                           &
     2146                  +              ibit33 * adv_mom_1                           &
     2147                     ) *                                                      &
     2148                                ( w(k+1,j,i)  + w(k,j,i)     )                &
     2149              -      (  8.0_wp * ibit35 * adv_mom_5                           &
     2150                  +              ibit34 * adv_mom_3                           &
     2151                     ) *                                                      &
     2152                                ( w(k_pp,j,i)  + w(k-1,j,i)  )                &
     2153              +      (           ibit35 * adv_mom_5                           &
     2154                     ) *                                                      &
     2155                                ( w(k_ppp,j,i) + w(k_mm,j,i) )                &
     2156                                )
     2157
     2158          diss_t(k) = - ABS( w_comp ) * (                                     &
     2159                     ( 10.0_wp * ibit35 * adv_mom_5                           &
     2160                  +     3.0_wp * ibit34 * adv_mom_3                           &
     2161                  +              ibit33 * adv_mom_1                           &
     2162                     ) *                                                      &
     2163                                ( w(k+1,j,i)   - w(k,j,i)    )                &
     2164              -      (  5.0_wp * ibit35 * adv_mom_5                           &
     2165                  +              ibit34 * adv_mom_3                           &
     2166                     ) *                                                      &
     2167                                ( w(k_pp,j,i)  - w(k-1,j,i)  )                &
     2168              +      (           ibit35 * adv_mom_5                           &
     2169                     ) *                                                      &
     2170                                ( w(k_ppp,j,i) - w(k_mm,j,i) )                &
     2171                                        )
    21662172!
    21672173!--       Calculate the divergence of the velocity field. A respective
     
    21712177              +   ( v_comp + gv - ( v(k+1,j,i) + v(k,j,i)   ) ) * ddy         &
    21722178              +   ( w_comp      - ( w(k,j,i)   + w(k-1,j,i) ) ) * ddzu(k+1)   &
    2173                 ) * 0.5
     2179                ) * 0.5_wp
    21742180
    21752181          tend(k,j,i) = tend(k,j,i) - (                                       &
     
    21902196!
    21912197!--        Statistical Evaluation of w'w'.
    2192           sums_ws2_ws_l(k,tn)  = sums_ws2_ws_l(k,tn)                         &
    2193                              + ( flux_t(k) + diss_t(k) )                     &
     2198          sums_ws2_ws_l(k,tn)  = sums_ws2_ws_l(k,tn)                          &
     2199                             + ( flux_t(k) + diss_t(k) )                      &
    21942200                             *   weight_substep(intermediate_timestep_count)
    21952201
     
    22052211    SUBROUTINE advec_s_ws( sk, sk_char )
    22062212
    2207        USE arrays_3d,                                                          &
     2213       USE arrays_3d,                                                         &
    22082214           ONLY:  ddzw, tend, u, v, w
    22092215
    2210        USE constants,                                                          &
     2216       USE constants,                                                         &
    22112217           ONLY:  adv_sca_1, adv_sca_3, adv_sca_5
    22122218
    2213        USE control_parameters,                                                 &
     2219       USE control_parameters,                                                &
    22142220           ONLY:  intermediate_timestep_count, u_gtrans, v_gtrans
    22152221
    2216        USE grid_variables,                                                     &
     2222       USE grid_variables,                                                    &
    22172223           ONLY:  ddx, ddy
    22182224
    2219        USE indices,                                                            &
     2225       USE indices,                                                           &
    22202226           ONLY:  nxl, nxr, nyn, nys, nzb, nzb_max, nzt, wall_flags_0
    22212227           
    22222228       USE kinds
    22232229       
    2224        USE statistics,                                                         &
    2225            ONLY:  sums_wspts_ws_l, sums_wsqs_ws_l, sums_wssas_ws_l,            &
     2230       USE statistics,                                                        &
     2231           ONLY:  sums_wspts_ws_l, sums_wsqs_ws_l, sums_wssas_ws_l,           &
    22262232                  weight_substep
    22272233
     
    22862292             u_comp                 = u(k,j,i) - u_gtrans
    22872293             swap_flux_x_local(k,j) = u_comp * (                              &
    2288                                                   ( 37.0 * ibit2 * adv_sca_5  &
    2289                                                +     7.0 * ibit1 * adv_sca_3  &
    2290                                                +           ibit0 * adv_sca_1  &
    2291                                                   ) *                         &
    2292                                             ( sk(k,j,i)   + sk(k,j,i-1)    )  &
    2293                                            -      (  8.0 * ibit2 * adv_sca_5  &
    2294                                                +           ibit1 * adv_sca_3  &
    2295                                                   ) *                         &
    2296                                             ( sk(k,j,i+1) + sk(k,j,i-2)    )  &
    2297                                            +      (        ibit2 * adv_sca_5  &
    2298                                                   ) *                         &
    2299                                             ( sk(k,j,i+2) + sk(k,j,i-3)    )  &
     2294                                             ( 37.0_wp * ibit2 * adv_sca_5    &
     2295                                          +     7.0_wp * ibit1 * adv_sca_3    &
     2296                                          +              ibit0 * adv_sca_1    &
     2297                                             ) *                              &
     2298                                          ( sk(k,j,i)   + sk(k,j,i-1)    )    &
     2299                                      -      (  8.0_wp * ibit2 * adv_sca_5    &
     2300                                          +              ibit1 * adv_sca_3    &
     2301                                             ) *                              &
     2302                                          ( sk(k,j,i+1) + sk(k,j,i-2)    )    &
     2303                                      +      (           ibit2 * adv_sca_5    &
     2304                                             ) *                              &
     2305                                          ( sk(k,j,i+2) + sk(k,j,i-3)    )    &
    23002306                                               )
    23012307
    23022308              swap_diss_x_local(k,j) = -ABS( u_comp ) * (                     &
    2303                                                   ( 10.0 * ibit2 * adv_sca_5  &
    2304                                                +     3.0 * ibit1 * adv_sca_3  &
    2305                                                +           ibit0 * adv_sca_1  &
    2306                                                   ) *                         &
    2307                                             ( sk(k,j,i)   - sk(k,j,i-1)    )  &
    2308                                            -      (  5.0 * ibit2 * adv_sca_5  &
    2309                                                +           ibit1 * adv_sca_3  &
    2310                                                   ) *                         &
    2311                                             ( sk(k,j,i+1) - sk(k,j,i-2)  )    &
    2312                                            +      (        ibit2 * adv_sca_5  &
    2313                                                   ) *                         &
    2314                                             ( sk(k,j,i+2) - sk(k,j,i-3) )     &
     2309                                             ( 10.0_wp * ibit2 * adv_sca_5    &
     2310                                          +     3.0_wp * ibit1 * adv_sca_3    &
     2311                                          +              ibit0 * adv_sca_1    &
     2312                                             ) *                              &
     2313                                          ( sk(k,j,i)   - sk(k,j,i-1) )       &
     2314                                      -      (  5.0_wp * ibit2 * adv_sca_5    &
     2315                                          +              ibit1 * adv_sca_3    &
     2316                                             ) *                              &
     2317                                         ( sk(k,j,i+1) - sk(k,j,i-2)  )       &
     2318                                      +      (           ibit2 * adv_sca_5    &
     2319                                             ) *                              &
     2320                                          ( sk(k,j,i+2) - sk(k,j,i-3) )       &
    23152321                                                        )
    23162322
     
    23202326
    23212327             u_comp                 = u(k,j,i) - u_gtrans
    2322              swap_flux_x_local(k,j) = u_comp * (                             &
    2323                                       37.0 * ( sk(k,j,i)   + sk(k,j,i-1) )  &
    2324                                     -  8.0 * ( sk(k,j,i+1) + sk(k,j,i-2) )  &
    2325                                     +        ( sk(k,j,i+2) + sk(k,j,i-3) )  &
     2328             swap_flux_x_local(k,j) = u_comp * (                              &
     2329                                      37.0_wp * ( sk(k,j,i)   + sk(k,j,i-1) ) &
     2330                                    -  8.0_wp * ( sk(k,j,i+1) + sk(k,j,i-2) ) &
     2331                                    +           ( sk(k,j,i+2) + sk(k,j,i-3) ) &
    23262332                                               ) * adv_sca_5
    23272333
    2328              swap_diss_x_local(k,j) = -ABS( u_comp ) * (                     &
    2329                                       10.0 * ( sk(k,j,i)   - sk(k,j,i-1) )  &
    2330                                     -  5.0 * ( sk(k,j,i+1) - sk(k,j,i-2) )  &
    2331                                     +        ( sk(k,j,i+2) - sk(k,j,i-3) )  &
     2334             swap_diss_x_local(k,j) = -ABS( u_comp ) * (                      &
     2335                                      10.0_wp * ( sk(k,j,i)   - sk(k,j,i-1) ) &
     2336                                    -  5.0_wp * ( sk(k,j,i+1) - sk(k,j,i-2) ) &
     2337                                    +           ( sk(k,j,i+2) - sk(k,j,i-3) ) &
    23322338                                                       ) * adv_sca_5
    23332339
     
    23472353             v_comp               = v(k,j,i) - v_gtrans
    23482354             swap_flux_y_local(k) = v_comp * (                                &
    2349                                                   ( 37.0 * ibit5 * adv_sca_5  &
    2350                                                +     7.0 * ibit4 * adv_sca_3  &
    2351                                                +           ibit3 * adv_sca_1  &
    2352                                                   ) *                         &
    2353                                            ( sk(k,j,i)  + sk(k,j-1,i)     )   &
    2354                                             -     (  8.0 * ibit5 * adv_sca_5  &
    2355                                                +           ibit4 * adv_sca_3  &
    2356                                                    ) *                        &
    2357                                            ( sk(k,j+1,i) + sk(k,j-2,i)    )   &
    2358                                            +      (        ibit5 * adv_sca_5  &
    2359                                                   ) *                         &
    2360                                            ( sk(k,j+2,i) + sk(k,j-3,i)    )   &
     2355                                             ( 37.0_wp * ibit5 * adv_sca_5    &
     2356                                          +     7.0_wp * ibit4 * adv_sca_3    &
     2357                                          +              ibit3 * adv_sca_1    &
     2358                                             ) *                              &
     2359                                         ( sk(k,j,i)  + sk(k,j-1,i)     )     &
     2360                                       -     (  8.0_wp * ibit5 * adv_sca_5    &
     2361                                          +              ibit4 * adv_sca_3    &
     2362                                              ) *                             &
     2363                                         ( sk(k,j+1,i) + sk(k,j-2,i)    )     &
     2364                                      +      (           ibit5 * adv_sca_5    &
     2365                                             ) *                              &
     2366                                        ( sk(k,j+2,i) + sk(k,j-3,i)     )     &
    23612367                                             )
    23622368
    23632369             swap_diss_y_local(k) = -ABS( v_comp ) * (                        &
    2364                                                   ( 10.0 * ibit5 * adv_sca_5  &
    2365                                                +     3.0 * ibit4 * adv_sca_3  &
    2366                                                +           ibit3 * adv_sca_1  &
    2367                                                   ) *                         &
    2368                                             ( sk(k,j,i)   - sk(k,j-1,i)    )  &
    2369                                            -      (  5.0 * ibit5 * adv_sca_5  &
    2370                                                +           ibit4 * adv_sca_3  &
    2371                                             ) *                               &
    2372                                             ( sk(k,j+1,i) - sk(k,j-2,i)  )    &
    2373                                            +      (        ibit5 * adv_sca_5  &
    2374                                                   ) *                         &
    2375                                             ( sk(k,j+2,i) - sk(k,j-3,i) )     &
     2370                                             ( 10.0_wp * ibit5 * adv_sca_5    &
     2371                                          +     3.0_wp * ibit4 * adv_sca_3    &
     2372                                          +              ibit3 * adv_sca_1    &
     2373                                             ) *                              &
     2374                                          ( sk(k,j,i)   - sk(k,j-1,i)    )    &
     2375                                      -      (  5.0_wp * ibit5 * adv_sca_5    &
     2376                                          +              ibit4 * adv_sca_3    &
     2377                                             ) *                              &
     2378                                          ( sk(k,j+1,i) - sk(k,j-2,i)    )    &
     2379                                      +      (           ibit5 * adv_sca_5    &
     2380                                             ) *                              &
     2381                                          ( sk(k,j+2,i) - sk(k,j-3,i)    )    &
    23762382                                                     )
    23772383
     
    23832389             v_comp               = v(k,j,i) - v_gtrans
    23842390             swap_flux_y_local(k) = v_comp * (                               &
    2385                                     37.0 * ( sk(k,j,i)   + sk(k,j-1,i) )     &
    2386                                   -  8.0 * ( sk(k,j+1,i) + sk(k,j-2,i) )     &
    2387                                   +        ( sk(k,j+2,i) + sk(k,j-3,i) )     &
     2391                                    37.0_wp * ( sk(k,j,i)   + sk(k,j-1,i) )  &
     2392                                  -  8.0_wp * ( sk(k,j+1,i) + sk(k,j-2,i) )  &
     2393                                  +           ( sk(k,j+2,i) + sk(k,j-3,i) )  &
    23882394                                             ) * adv_sca_5
    23892395              swap_diss_y_local(k) = -ABS( v_comp ) * (                      &
    2390                                     10.0 * ( sk(k,j,i)   - sk(k,j-1,i) )     &
    2391                                   -  5.0 * ( sk(k,j+1,i) - sk(k,j-2,i) )     &
    2392                                   +          sk(k,j+2,i) - sk(k,j-3,i)       &
     2396                                    10.0_wp * ( sk(k,j,i)   - sk(k,j-1,i) )  &
     2397                                  -  5.0_wp * ( sk(k,j+1,i) - sk(k,j-2,i) )  &
     2398                                  +             sk(k,j+2,i) - sk(k,j-3,i)    &
    23932399                                                      ) * adv_sca_5
    23942400
     
    23972403          DO  j = nys, nyn
    23982404
    2399              flux_t(0) = 0.0
    2400              diss_t(0) = 0.0
    2401              flux_d    = 0.0
    2402              diss_d    = 0.0
     2405             flux_t(0) = 0.0_wp
     2406             diss_t(0) = 0.0_wp
     2407             flux_d    = 0.0_wp
     2408             diss_d    = 0.0_wp
    24032409
    24042410             DO  k = nzb+1, nzb_max
     
    24092415
    24102416                u_comp    = u(k,j,i+1) - u_gtrans
    2411                 flux_r(k) = u_comp * (                                      &
    2412                           ( 37.0 * ibit2 * adv_sca_5                        &
    2413                       +      7.0 * ibit1 * adv_sca_3                        &
    2414                       +           ibit0 * adv_sca_1                         &
    2415                           ) *                                               &
    2416                              ( sk(k,j,i+1) + sk(k,j,i)   )                  &
    2417                    -      (  8.0 * ibit2 * adv_sca_5                        &
    2418                        +           ibit1 * adv_sca_3                        &
    2419                           ) *                                               &
    2420                              ( sk(k,j,i+2) + sk(k,j,i-1) )                  &
    2421                    +      (        ibit2 * adv_sca_5                        &
    2422                           ) *                                               &
    2423                              ( sk(k,j,i+3) + sk(k,j,i-2) )                  &
     2417                flux_r(k) = u_comp * (                                        &
     2418                          ( 37.0_wp * ibit2 * adv_sca_5                       &
     2419                      +      7.0_wp * ibit1 * adv_sca_3                       &
     2420                      +               ibit0 * adv_sca_1                       &
     2421                          ) *                                                 &
     2422                             ( sk(k,j,i+1) + sk(k,j,i)   )                    &
     2423                   -      (  8.0_wp * ibit2 * adv_sca_5                       &
     2424                       +              ibit1 * adv_sca_3                       &
     2425                          ) *                                                 &
     2426                             ( sk(k,j,i+2) + sk(k,j,i-1) )                    &
     2427                   +      (           ibit2 * adv_sca_5                       &
     2428                          ) *                                                 &
     2429                             ( sk(k,j,i+3) + sk(k,j,i-2) )                    &
    24242430                                     )
    24252431
    2426                 diss_r(k) = -ABS( u_comp ) * (                              &
    2427                           ( 10.0 * ibit2 * adv_sca_5                        &
    2428                        +     3.0 * ibit1 * adv_sca_3                        &
    2429                        +           ibit0 * adv_sca_1                        &
    2430                           ) *                                               &
    2431                              ( sk(k,j,i+1) - sk(k,j,i)  )                   &
    2432                    -      (  5.0 * ibit2 * adv_sca_5                        &
    2433                        +           ibit1 * adv_sca_3                        &
    2434                           ) *                                               &
    2435                              ( sk(k,j,i+2) - sk(k,j,i-1) )                  &
    2436                    +      (        ibit2 * adv_sca_5                        &
    2437                           ) *                                               &
    2438                              ( sk(k,j,i+3) - sk(k,j,i-2) )                  &
     2432                diss_r(k) = -ABS( u_comp ) * (                                &
     2433                          ( 10.0_wp * ibit2 * adv_sca_5                       &
     2434                       +     3.0_wp * ibit1 * adv_sca_3                       &
     2435                       +              ibit0 * adv_sca_1                       &
     2436                          ) *                                                 &
     2437                             ( sk(k,j,i+1) - sk(k,j,i)   )                    &
     2438                   -      (  5.0_wp * ibit2 * adv_sca_5                       &
     2439                       +              ibit1 * adv_sca_3                       &
     2440                          ) *                                                 &
     2441                             ( sk(k,j,i+2) - sk(k,j,i-1) )                    &
     2442                   +      (           ibit2 * adv_sca_5                       &
     2443                          ) *                                                 &
     2444                             ( sk(k,j,i+3) - sk(k,j,i-2) )                    &
    24392445                                             )
    24402446
     
    24442450
    24452451                v_comp    = v(k,j+1,i) - v_gtrans
    2446                 flux_n(k) = v_comp * (                                      &
    2447                           ( 37.0 * ibit5 * adv_sca_5                        &
    2448                        +     7.0 * ibit4 * adv_sca_3                        &
    2449                        +           ibit3 * adv_sca_1                        &
    2450                           ) *                                               &
    2451                              ( sk(k,j+1,i) + sk(k,j,i)   )                  &
    2452                    -      (  8.0 * ibit5 * adv_sca_5                        &
    2453                        +           ibit4 * adv_sca_3                        &
    2454                           ) *                                               &
    2455                              ( sk(k,j+2,i) + sk(k,j-1,i) )                  &
    2456                    +      (        ibit5 * adv_sca_5                        &
    2457                           ) *                                               &
    2458                              ( sk(k,j+3,i) + sk(k,j-2,i) )                  &
     2452                flux_n(k) = v_comp * (                                        &
     2453                          ( 37.0_wp * ibit5 * adv_sca_5                       &
     2454                       +     7.0_wp * ibit4 * adv_sca_3                       &
     2455                       +              ibit3 * adv_sca_1                       &
     2456                          ) *                                                 &
     2457                             ( sk(k,j+1,i) + sk(k,j,i)   )                    &
     2458                   -      (  8.0_wp * ibit5 * adv_sca_5                       &
     2459                       +              ibit4 * adv_sca_3                       &
     2460                          ) *                                                 &
     2461                             ( sk(k,j+2,i) + sk(k,j-1,i) )                    &
     2462                   +      (           ibit5 * adv_sca_5                       &
     2463                          ) *                                                 &
     2464                             ( sk(k,j+3,i) + sk(k,j-2,i) )                    &
    24592465                                     )
    24602466
    2461                 diss_n(k) = -ABS( v_comp ) * (                              &
    2462                           ( 10.0 * ibit5 * adv_sca_5                        &
    2463                        +     3.0 * ibit4 * adv_sca_3                        &
    2464                        +           ibit3 * adv_sca_1                        &
    2465                           ) *                                               &
    2466                              ( sk(k,j+1,i) - sk(k,j,i)    )                 &
    2467                    -      (  5.0 * ibit5 * adv_sca_5                        &
    2468                        +           ibit4 * adv_sca_3                        &
    2469                           ) *                                               &
    2470                              ( sk(k,j+2,i) - sk(k,j-1,i)  )                 &
    2471                    +      (        ibit5 * adv_sca_5                        &
    2472                           ) *                                               &
    2473                              ( sk(k,j+3,i) - sk(k,j-2,i) )                  &
     2467                diss_n(k) = -ABS( v_comp ) * (                                &
     2468                          ( 10.0_wp * ibit5 * adv_sca_5                       &
     2469                       +     3.0_wp * ibit4 * adv_sca_3                       &
     2470                       +              ibit3 * adv_sca_1                       &
     2471                          ) *                                                 &
     2472                             ( sk(k,j+1,i) - sk(k,j,i)    )                   &
     2473                   -      (  5.0_wp * ibit5 * adv_sca_5                       &
     2474                       +              ibit4 * adv_sca_3                       &
     2475                          ) *                                                 &
     2476                             ( sk(k,j+2,i) - sk(k,j-1,i)  )                   &
     2477                   +      (           ibit5 * adv_sca_5                       &
     2478                          ) *                                                 &
     2479                             ( sk(k,j+3,i) - sk(k,j-2,i) )                    &
    24742480                                             )
    24752481!
     
    24862492
    24872493                flux_t(k) = w(k,j,i) * (                                      &
    2488                            ( 37.0 * ibit8 * adv_sca_5                         &
    2489                         +     7.0 * ibit7 * adv_sca_3                         &
     2494                           ( 37.0_wp * ibit8 * adv_sca_5                      &
     2495                        +     7.0_wp * ibit7 * adv_sca_3                      &
    24902496                        +           ibit6 * adv_sca_1                         &
    24912497                           ) *                                                &
    2492                                    ( sk(k+1,j,i)  + sk(k,j,i)   )             &
    2493                           -      (  8.0 * ibit8 * adv_sca_5                   &
    2494                         +           ibit7 * adv_sca_3                         &
     2498                                   ( sk(k+1,j,i)  + sk(k,j,i)    )            &
     2499                    -      (  8.0_wp * ibit8 * adv_sca_5                      &
     2500                        +              ibit7 * adv_sca_3                      &
    24952501                           ) *                                                &
    2496                                    ( sk(k_pp,j,i) + sk(k-1,j,i) )             &
    2497                     +      (        ibit8 * adv_sca_5                         &
     2502                                   ( sk(k_pp,j,i) + sk(k-1,j,i)  )            &
     2503                    +      (           ibit8 * adv_sca_5                      &
    24982504                           ) *     ( sk(k_ppp,j,i)+ sk(k_mm,j,i) )            &
    24992505                                       )
    25002506
    25012507                diss_t(k) = -ABS( w(k,j,i) ) * (                              &
    2502                            ( 10.0 * ibit8 * adv_sca_5                         &
    2503                         +     3.0 * ibit7 * adv_sca_3                         &
    2504                         +           ibit6 * adv_sca_1                         &
     2508                           ( 10.0_wp * ibit8 * adv_sca_5                      &
     2509                        +     3.0_wp * ibit7 * adv_sca_3                      &
     2510                        +              ibit6 * adv_sca_1                      &
    25052511                           ) *                                                &
    25062512                                   ( sk(k+1,j,i)   - sk(k,j,i)    )           &
    2507                     -      (  5.0 * ibit8 * adv_sca_5                         &
    2508                         +           ibit7 * adv_sca_3                         &
     2513                    -      (  5.0_wp * ibit8 * adv_sca_5                      &
     2514                        +              ibit7 * adv_sca_3                      &
    25092515                           ) *                                                &
    25102516                                   ( sk(k_pp,j,i)  - sk(k-1,j,i)  )           &
    2511                     +      (        ibit8 * adv_sca_5                         &
     2517                    +      (           ibit8 * adv_sca_5                      &
    25122518                           ) *                                                &
    25132519                                   ( sk(k_ppp,j,i) - sk(k_mm,j,i) )           &
    2514                                          )
     2520                                               )
    25152521!
    25162522!--             Calculate the divergence of the velocity field. A respective
     
    25422548
    25432549                u_comp    = u(k,j,i+1) - u_gtrans
    2544                 flux_r(k) = u_comp * (                                      &
    2545                       37.0 * ( sk(k,j,i+1) + sk(k,j,i)   )                  &
    2546                     -  8.0 * ( sk(k,j,i+2) + sk(k,j,i-1) )                  &
    2547                     +        ( sk(k,j,i+3) + sk(k,j,i-2) ) ) * adv_sca_5
    2548                 diss_r(k) = -ABS( u_comp ) * (                              &
    2549                       10.0 * ( sk(k,j,i+1) - sk(k,j,i)   )                  &
    2550                     -  5.0 * ( sk(k,j,i+2) - sk(k,j,i-1) )                  &
    2551                     +        ( sk(k,j,i+3) - sk(k,j,i-2) ) ) * adv_sca_5
     2550                flux_r(k) = u_comp * (                                        &
     2551                      37.0_wp * ( sk(k,j,i+1) + sk(k,j,i)   )                 &
     2552                    -  8.0_wp * ( sk(k,j,i+2) + sk(k,j,i-1) )                 &
     2553                    +           ( sk(k,j,i+3) + sk(k,j,i-2) ) ) * adv_sca_5
     2554                diss_r(k) = -ABS( u_comp ) * (                                &
     2555                      10.0_wp * ( sk(k,j,i+1) - sk(k,j,i)   )                 &
     2556                    -  5.0_wp * ( sk(k,j,i+2) - sk(k,j,i-1) )                 &
     2557                    +           ( sk(k,j,i+3) - sk(k,j,i-2) ) ) * adv_sca_5
    25522558
    25532559                v_comp    = v(k,j+1,i) - v_gtrans
    2554                 flux_n(k) = v_comp * (                                      &
    2555                       37.0 * ( sk(k,j+1,i) + sk(k,j,i)   )                  &
    2556                     -  8.0 * ( sk(k,j+2,i) + sk(k,j-1,i) )                  &
    2557                     +        ( sk(k,j+3,i) + sk(k,j-2,i) ) ) * adv_sca_5
    2558                 diss_n(k) = -ABS( v_comp ) * (                              &
    2559                       10.0 * ( sk(k,j+1,i) - sk(k,j,i)   )                  &
    2560                     -  5.0 * ( sk(k,j+2,i) - sk(k,j-1,i) )                  &
    2561                     +        ( sk(k,j+3,i) - sk(k,j-2,i) ) ) * adv_sca_5
     2560                flux_n(k) = v_comp * (                                        &
     2561                      37.0_wp * ( sk(k,j+1,i) + sk(k,j,i)   )                 &
     2562                    -  8.0_wp * ( sk(k,j+2,i) + sk(k,j-1,i) )                 &
     2563                    +           ( sk(k,j+3,i) + sk(k,j-2,i) ) ) * adv_sca_5
     2564                diss_n(k) = -ABS( v_comp ) * (                                &
     2565                      10.0_wp * ( sk(k,j+1,i) - sk(k,j,i)   )                 &
     2566                    -  5.0_wp * ( sk(k,j+2,i) - sk(k,j-1,i) )                 &
     2567                    +           ( sk(k,j+3,i) - sk(k,j-2,i) ) ) * adv_sca_5
    25622568!
    25632569!--             k index has to be modified near bottom and top, else array
     
    25732579
    25742580                flux_t(k) = w(k,j,i) * (                                      &
    2575                            ( 37.0 * ibit8 * adv_sca_5                         &
    2576                         +     7.0 * ibit7 * adv_sca_3                         &
    2577                         +           ibit6 * adv_sca_1                         &
     2581                           ( 37.0_wp * ibit8 * adv_sca_5                      &
     2582                        +     7.0_wp * ibit7 * adv_sca_3                      &
     2583                        +              ibit6 * adv_sca_1                      &
    25782584                           ) *                                                &
    2579                                    ( sk(k+1,j,i)  + sk(k,j,i)              &
    2580                           -      (  8.0 * ibit8 * adv_sca_5                   &
    2581                         +           ibit7 * adv_sca_3                         &
     2585                                   ( sk(k+1,j,i)  + sk(k,j,i)     )           &
     2586                    -      (  8.0_wp * ibit8 * adv_sca_5                      &
     2587                        +              ibit7 * adv_sca_3                      &
    25822588                           ) *                                                &
    2583                                    ( sk(k_pp,j,i) + sk(k-1,j,i)            &
    2584                     +      (        ibit8 * adv_sca_5                         &
    2585                            ) *     ( sk(k_ppp,j,i)+ sk(k_mm,j,i) )            &
     2589                                   ( sk(k_pp,j,i) + sk(k-1,j,i)   )           &
     2590                    +      (           ibit8 * adv_sca_5                      &
     2591                           ) *     ( sk(k_ppp,j,i)+ sk(k_mm,j,i)  )           &
    25862592                                       )
    25872593
    25882594                diss_t(k) = -ABS( w(k,j,i) ) * (                              &
    2589                            ( 10.0 * ibit8 * adv_sca_5                         &
    2590                         +     3.0 * ibit7 * adv_sca_3                         &
    2591                         +           ibit6 * adv_sca_1                         &
     2595                           ( 10.0_wp * ibit8 * adv_sca_5                      &
     2596                        +     3.0_wp * ibit7 * adv_sca_3                      &
     2597                        +              ibit6 * adv_sca_1                      &
    25922598                           ) *                                                &
    25932599                                   ( sk(k+1,j,i)   - sk(k,j,i)    )           &
    2594                     -      (  5.0 * ibit8 * adv_sca_5                         &
    2595                         +           ibit7 * adv_sca_3                         &
     2600                    -      (  5.0_wp * ibit8 * adv_sca_5                      &
     2601                        +              ibit7 * adv_sca_3                      &
    25962602                           ) *                                                &
    25972603                                   ( sk(k_pp,j,i)  - sk(k-1,j,i)  )           &
    2598                     +      (        ibit8 * adv_sca_5                         &
     2604                    +      (           ibit8 * adv_sca_5                      &
    25992605                           ) *                                                &
    26002606                                   ( sk(k_ppp,j,i) - sk(k_mm,j,i) )           &
    2601                                          )
     2607                                               )
    26022608!
    26032609!--             Calculate the divergence of the velocity field. A respective
     
    26612667    SUBROUTINE advec_s_ws_acc ( sk, sk_char )
    26622668
    2663        USE arrays_3d,                                                          &
     2669       USE arrays_3d,                                                         &
    26642670           ONLY:  ddzw, tend, u, v, w
    26652671
    2666        USE constants,                                                          &
     2672       USE constants,                                                         &
    26672673           ONLY:  adv_sca_1, adv_sca_3, adv_sca_5
    26682674
    2669        USE control_parameters,                                                 &
     2675       USE control_parameters,                                                &
    26702676           ONLY:  intermediate_timestep_count, u_gtrans, v_gtrans
    26712677
    2672        USE grid_variables,                                                     &
     2678       USE grid_variables,                                                    &
    26732679           ONLY:  ddx, ddy
    26742680
    2675        USE indices,                                                            &
    2676            ONLY:  i_left, i_right, j_north, j_south, nxlg, nxrg, nyng, nysg,   &
     2681       USE indices,                                                           &
     2682           ONLY:  i_left, i_right, j_north, j_south, nxlg, nxrg, nyng, nysg,  &
    26772683                  nzb, nzb_max, nzt, wall_flags_0
    26782684
     
    27352741
    27362742                u_comp              = u(k,j,i) - u_gtrans
    2737                 flux_l              = u_comp * (                           &
    2738                                                ( 37.0 * ibit2 * adv_sca_5  &
    2739                                             +     7.0 * ibit1 * adv_sca_3  &
    2740                                             +           ibit0 * adv_sca_1  &
    2741                                                ) *                         &
    2742                                          ( sk(k,j,i)   + sk(k,j,i-1)    )  &
    2743                                         -      (  8.0 * ibit2 * adv_sca_5  &
    2744                                             +           ibit1 * adv_sca_3  &
    2745                                                ) *                         &
    2746                                          ( sk(k,j,i+1) + sk(k,j,i-2)    )  &
    2747                                         +      (        ibit2 * adv_sca_5  &
    2748                                                ) *                         &
    2749                                          ( sk(k,j,i+2) + sk(k,j,i-3)    )  &
    2750                                             )
    2751 
    2752                 diss_l              = -ABS( u_comp ) * (                   &
    2753                                                ( 10.0 * ibit2 * adv_sca_5  &
    2754                                             +     3.0 * ibit1 * adv_sca_3  &
    2755                                             +           ibit0 * adv_sca_1  &
    2756                                                ) *                         &
    2757                                          ( sk(k,j,i)   - sk(k,j,i-1)    )  &
    2758                                         -      (  5.0 * ibit2 * adv_sca_5  &
    2759                                             +           ibit1 * adv_sca_3  &
    2760                                                ) *                         &
    2761                                          ( sk(k,j,i+1) - sk(k,j,i-2)  )    &
    2762                                         +      (        ibit2 * adv_sca_5  &
    2763                                                ) *                         &
    2764                                          ( sk(k,j,i+2) - sk(k,j,i-3) )     &
    2765                                                     )
     2743                flux_l              = u_comp * (                              &
     2744                                               ( 37.0_wp * ibit2 * adv_sca_5  &
     2745                                            +     7.0_wp * ibit1 * adv_sca_3  &
     2746                                            +              ibit0 * adv_sca_1  &
     2747                                               ) *                            &
     2748                                         ( sk(k,j,i)   + sk(k,j,i-1)    )     &
     2749                                        -      (  8.0_wp * ibit2 * adv_sca_5  &
     2750                                            +              ibit1 * adv_sca_3  &
     2751                                               ) *                            &
     2752                                         ( sk(k,j,i+1) + sk(k,j,i-2)    )     &
     2753                                        +      (           ibit2 * adv_sca_5  &
     2754                                               ) *                            &
     2755                                         ( sk(k,j,i+2) + sk(k,j,i-3)    )     &
     2756                                               )
     2757
     2758                diss_l              = -ABS( u_comp ) * (                      &
     2759                                               ( 10.0_wp * ibit2 * adv_sca_5  &
     2760                                            +     3.0_wp * ibit1 * adv_sca_3  &
     2761                                            +              ibit0 * adv_sca_1  &
     2762                                               ) *                            &
     2763                                         ( sk(k,j,i)   - sk(k,j,i-1)    )     &
     2764                                        -      (  5.0_wp * ibit2 * adv_sca_5  &
     2765                                            +              ibit1 * adv_sca_3  &
     2766                                               ) *                            &
     2767                                         ( sk(k,j,i+1) - sk(k,j,i-2)    )     &
     2768                                        +      (           ibit2 * adv_sca_5  &
     2769                                               ) *                            &
     2770                                         ( sk(k,j,i+2) - sk(k,j,i-3)    )     &
     2771                                                        )
    27662772
    27672773                u_comp    = u(k,j,i+1) - u_gtrans
    2768                 flux_r    = u_comp * (                                      &
    2769                           ( 37.0 * ibit2 * adv_sca_5                        &
    2770                       +      7.0 * ibit1 * adv_sca_3                        &
    2771                       +            ibit0 * adv_sca_1                        &
    2772                           ) *                                               &
    2773                              ( sk(k,j,i+1) + sk(k,j,i)   )                  &
    2774                    -      (  8.0 * ibit2 * adv_sca_5                        &
    2775                        +           ibit1 * adv_sca_3                        &
    2776                           ) *                                               &
    2777                              ( sk(k,j,i+2) + sk(k,j,i-1) )                  &
    2778                    +      (        ibit2 * adv_sca_5                        &
    2779                           ) *                                               &
    2780                              ( sk(k,j,i+3) + sk(k,j,i-2) )                  &
     2774                flux_r    = u_comp * (                                        &
     2775                          ( 37.0_wp * ibit2 * adv_sca_5                       &
     2776                      +      7.0_wp * ibit1 * adv_sca_3                       &
     2777                      +               ibit0 * adv_sca_1                       &
     2778                          ) *                                                 &
     2779                             ( sk(k,j,i+1) + sk(k,j,i)   )                    &
     2780                   -      (  8.0_wp * ibit2 * adv_sca_5                       &
     2781                       +              ibit1 * adv_sca_3                       &
     2782                          ) *                                                 &
     2783                             ( sk(k,j,i+2) + sk(k,j,i-1) )                    &
     2784                   +      (           ibit2 * adv_sca_5                       &
     2785                          ) *                                                 &
     2786                             ( sk(k,j,i+3) + sk(k,j,i-2) )                    &
    27812787                                     )
    27822788
    2783                 diss_r    = -ABS( u_comp ) * (                              &
    2784                           ( 10.0 * ibit2 * adv_sca_5                        &
    2785                        +     3.0 * ibit1 * adv_sca_3                        &
    2786                        +           ibit0 * adv_sca_1                        &
    2787                           ) *                                               &
    2788                              ( sk(k,j,i+1) - sk(k,j,i)  )                   &
    2789                    -      (  5.0 * ibit2 * adv_sca_5                        &
    2790                        +           ibit1 * adv_sca_3                        &
    2791                           ) *                                               &
    2792                              ( sk(k,j,i+2) - sk(k,j,i-1) )                  &
    2793                    +      (        ibit2 * adv_sca_5                        &
    2794                           ) *                                               &
    2795                              ( sk(k,j,i+3) - sk(k,j,i-2) )                  &
     2789                diss_r    = -ABS( u_comp ) * (                                &
     2790                          ( 10.0_wp * ibit2 * adv_sca_5                       &
     2791                       +     3.0_wp * ibit1 * adv_sca_3                       &
     2792                       +              ibit0 * adv_sca_1                       &
     2793                          ) *                                                 &
     2794                             ( sk(k,j,i+1) - sk(k,j,i)   )                    &
     2795                   -      (  5.0_wp * ibit2 * adv_sca_5                       &
     2796                       +              ibit1 * adv_sca_3                       &
     2797                          ) *                                                 &
     2798                             ( sk(k,j,i+2) - sk(k,j,i-1) )                    &
     2799                   +      (           ibit2 * adv_sca_5                       &
     2800                          ) *                                                 &
     2801                             ( sk(k,j,i+3) - sk(k,j,i-2) )                    &
    27962802                                             )
    27972803
     
    28002806                ibit3 = IBITS(wall_flags_0(k,j,i),3,1)
    28012807
    2802                 v_comp               = v(k,j,i) - v_gtrans
    2803                 flux_s               = v_comp * (                             &
    2804                                                   ( 37.0 * ibit5 * adv_sca_5  &
    2805                                                +     7.0 * ibit4 * adv_sca_3  &
    2806                                                +           ibit3 * adv_sca_1  &
    2807                                                   ) *                         &
    2808                                            ( sk(k,j,i)  + sk(k,j-1,i)     )   &
    2809                                             -     (  8.0 * ibit5 * adv_sca_5  &
    2810                                                +           ibit4 * adv_sca_3  &
    2811                                                    ) *                        &
    2812                                            ( sk(k,j+1,i) + sk(k,j-2,i)    )   &
    2813                                            +      (        ibit5 * adv_sca_5  &
    2814                                                   ) *                         &
    2815                                            ( sk(k,j+2,i) + sk(k,j-3,i)    )   &
     2808                v_comp    = v(k,j,i) - v_gtrans
     2809                flux_s    = v_comp * (                                        &
     2810                          ( 37.0_wp * ibit5 * adv_sca_5                       &
     2811                       +     7.0_wp * ibit4 * adv_sca_3                       &
     2812                       +              ibit3 * adv_sca_1                       &
     2813                          ) *                                                 &
     2814                             ( sk(k,j,i)  + sk(k,j-1,i)     )                 &
     2815                    -     (  8.0_wp * ibit5 * adv_sca_5                       &
     2816                       +              ibit4 * adv_sca_3                       &
     2817                          ) *                                                 &
     2818                             ( sk(k,j+1,i) + sk(k,j-2,i)    )                 &
     2819                   +      (           ibit5 * adv_sca_5                       &
     2820                          ) *                                                 &
     2821                             ( sk(k,j+2,i) + sk(k,j-3,i)    )                 &
     2822                                     )
     2823
     2824                diss_s    = -ABS( v_comp ) * (                                &
     2825                          ( 10.0_wp * ibit5 * adv_sca_5                       &
     2826                       +     3.0_wp * ibit4 * adv_sca_3                       &
     2827                       +              ibit3 * adv_sca_1                       &
     2828                          ) *                                                 &
     2829                             ( sk(k,j,i)   - sk(k,j-1,i)  )                   &
     2830                   -      (  5.0_wp * ibit5 * adv_sca_5                       &
     2831                       +              ibit4 * adv_sca_3                       &
     2832                          ) *                                                 &
     2833                             ( sk(k,j+1,i) - sk(k,j-2,i)  )                   &
     2834                   +      (           ibit5 * adv_sca_5                       &
     2835                          ) *                                                 &
     2836                             ( sk(k,j+2,i) - sk(k,j-3,i)  )                   &
    28162837                                             )
    28172838
    2818                 diss_s               = -ABS( v_comp ) * (                     &
    2819                                                   ( 10.0 * ibit5 * adv_sca_5  &
    2820                                                +     3.0 * ibit4 * adv_sca_3  &
    2821                                                +           ibit3 * adv_sca_1  &
    2822                                                   ) *                         &
    2823                                             ( sk(k,j,i)   - sk(k,j-1,i)    )  &
    2824                                            -      (  5.0 * ibit5 * adv_sca_5  &
    2825                                                +           ibit4 * adv_sca_3  &
    2826                                             ) *                               &
    2827                                             ( sk(k,j+1,i) - sk(k,j-2,i)  )    &
    2828                                            +      (        ibit5 * adv_sca_5  &
    2829                                                   ) *                         &
    2830                                             ( sk(k,j+2,i) - sk(k,j-3,i) )     &
    2831                                                      )
    2832 
    28332839
    28342840                v_comp    = v(k,j+1,i) - v_gtrans
    2835                 flux_n    = v_comp * (                                      &
    2836                           ( 37.0 * ibit5 * adv_sca_5                        &
    2837                        +     7.0 * ibit4 * adv_sca_3                        &
    2838                        +           ibit3 * adv_sca_1                        &
    2839                           ) *                                               &
    2840                              ( sk(k,j+1,i) + sk(k,j,i)   )                  &
    2841                    -      (  8.0 * ibit5 * adv_sca_5                        &
    2842                        +           ibit4 * adv_sca_3                        &
    2843                           ) *                                               &
    2844                              ( sk(k,j+2,i) + sk(k,j-1,i) )                  &
    2845                    +      (        ibit5 * adv_sca_5                        &
    2846                           ) *                                               &
    2847                              ( sk(k,j+3,i) + sk(k,j-2,i) )                  &
     2841                flux_n    = v_comp * (                                        &
     2842                          ( 37.0_wp * ibit5 * adv_sca_5                       &
     2843                       +     7.0_wp * ibit4 * adv_sca_3                       &
     2844                       +              ibit3 * adv_sca_1                       &
     2845                          ) *                                                 &
     2846                             ( sk(k,j+1,i) + sk(k,j,i)   )                    &
     2847                   -      (  8.0_wp * ibit5 * adv_sca_5                       &
     2848                       +              ibit4 * adv_sca_3                       &
     2849                          ) *                                                 &
     2850                             ( sk(k,j+2,i) + sk(k,j-1,i) )                    &
     2851                   +      (           ibit5 * adv_sca_5                       &
     2852                          ) *                                                 &
     2853                             ( sk(k,j+3,i) + sk(k,j-2,i) )                    &
    28482854                                     )
    28492855
    2850                 diss_n    = -ABS( v_comp ) * (                              &
    2851                           ( 10.0 * ibit5 * adv_sca_5                        &
    2852                        +     3.0 * ibit4 * adv_sca_3                        &
    2853                        +           ibit3 * adv_sca_1                        &
    2854                           ) *                                               &
    2855                              ( sk(k,j+1,i) - sk(k,j,i)    )                 &
    2856                    -      (  5.0 * ibit5 * adv_sca_5                        &
    2857                        +           ibit4 * adv_sca_3                        &
    2858                           ) *                                               &
    2859                              ( sk(k,j+2,i) - sk(k,j-1,i)  )                 &
    2860                    +      (        ibit5 * adv_sca_5                        &
    2861                           ) *                                               &
    2862                              ( sk(k,j+3,i) - sk(k,j-2,i) )                  &
     2856                diss_n    = -ABS( v_comp ) * (                                &
     2857                          ( 10.0_wp * ibit5 * adv_sca_5                       &
     2858                       +     3.0_wp * ibit4 * adv_sca_3                       &
     2859                       +              ibit3 * adv_sca_1                       &
     2860                          ) *                                                 &
     2861                             ( sk(k,j+1,i) - sk(k,j,i)    )                   &
     2862                   -      (  5.0_wp * ibit5 * adv_sca_5                       &
     2863                       +              ibit4 * adv_sca_3                       &
     2864                          ) *                                                 &
     2865                             ( sk(k,j+2,i) - sk(k,j-1,i)  )                   &
     2866                   +      (           ibit5 * adv_sca_5                       &
     2867                          ) *                                                 &
     2868                             ( sk(k,j+3,i) - sk(k,j-2,i)  )                   &
    28632869                                             )
    28642870
     
    28742880
    28752881                flux_d    = w(k-1,j,i) * (                                    &
    2876                            ( 37.0 * ibit8 * adv_sca_5                         &
    2877                         +     7.0 * ibit7 * adv_sca_3                         &
    2878                         +           ibit6 * adv_sca_1                         &
     2882                           ( 37.0_wp * ibit8 * adv_sca_5                      &
     2883                        +     7.0_wp * ibit7 * adv_sca_3                      &
     2884                        +              ibit6 * adv_sca_1                      &
    28792885                           ) *                                                &
    2880                                    ( sk(k,j,i)    + sk(k-1,j,i) )             &
    2881                           -      (  8.0 * ibit8 * adv_sca_5                   &
    2882                           +               ibit7 * adv_sca_3                   &
     2886                                   ( sk(k,j,i)    + sk(k-1,j,i)  )            &
     2887                    -      (  8.0_wp * ibit8 * adv_sca_5                      &
     2888                          +            ibit7 * adv_sca_3                      &
    28832889                           ) *                                                &
    2884                                    ( sk(k+1,j,i) + sk(k_mm,j,i) )             &
    2885                     +      (        ibit8 * adv_sca_5                         &
     2890                                   ( sk(k+1,j,i) + sk(k_mm,j,i)  )            &
     2891                    +      (           ibit8 * adv_sca_5                      &
    28862892                           ) *     ( sk(k_pp,j,i)+ sk(k_mmm,j,i) )            &
    2887                                        )
     2893                                         )
    28882894
    28892895                diss_d    = -ABS( w(k-1,j,i) ) * (                            &
    2890                            ( 10.0 * ibit8 * adv_sca_5                         &
    2891                         +     3.0 * ibit7 * adv_sca_3                         &
    2892                         +           ibit6 * adv_sca_1                         &
     2896                           ( 10.0_wp * ibit8 * adv_sca_5                      &
     2897                        +     3.0_wp * ibit7 * adv_sca_3                      &
     2898                        +              ibit6 * adv_sca_1                      &
    28932899                           ) *                                                &
    28942900                                   ( sk(k,j,i)    - sk(k-1,j,i)   )           &
    2895                     -      (  5.0 * ibit8 * adv_sca_5                         &
    2896                         +           ibit7 * adv_sca_3                         &
     2901                    -      (  5.0_wp * ibit8 * adv_sca_5                      &
     2902                        +              ibit7 * adv_sca_3                      &
    28972903                           ) *                                                &
    28982904                                   ( sk(k+1,j,i)  - sk(k_mm,j,i)  )           &
    2899                     +      (        ibit8 * adv_sca_5                         &
     2905                    +      (           ibit8 * adv_sca_5                      &
    29002906                           ) *                                                &
    29012907                                   ( sk(k_pp,j,i) - sk(k_mmm,j,i) )           &
    2902                                          )
     2908                                                 )
    29032909
    29042910                ibit8 = IBITS(wall_flags_0(k,j,i),8,1)
     
    29112917
    29122918                flux_t    = w(k,j,i) * (                                      &
    2913                            ( 37.0 * ibit8 * adv_sca_5                         &
    2914                         +     7.0 * ibit7 * adv_sca_3                         &
    2915                         +           ibit6 * adv_sca_1                         &
     2919                           ( 37.0_wp * ibit8 * adv_sca_5                      &
     2920                        +     7.0_wp * ibit7 * adv_sca_3                      &
     2921                        +              ibit6 * adv_sca_1                      &
    29162922                           ) *                                                &
    2917                                    ( sk(k+1,j,i)  + sk(k,j,i)   )             &
    2918                           -      (  8.0 * ibit8 * adv_sca_5                   &
    2919                         +                 ibit7 * adv_sca_3                   &
     2923                                   ( sk(k+1,j,i)  + sk(k,j,i)    )            &
     2924                    -      (  8.0_wp * ibit8 * adv_sca_5                      &
     2925                        +              ibit7 * adv_sca_3                      &
    29202926                           ) *                                                &
    2921                                    ( sk(k_pp,j,i) + sk(k-1,j,i) )             &
    2922                     +      (        ibit8 * adv_sca_5                         &
     2927                                   ( sk(k_pp,j,i) + sk(k-1,j,i)  )            &
     2928                    +      (           ibit8 * adv_sca_5                      &
    29232929                           ) *     ( sk(k_ppp,j,i)+ sk(k_mm,j,i) )            &
    29242930                                       )
    29252931
    29262932                diss_t    = -ABS( w(k,j,i) ) * (                              &
    2927                            ( 10.0 * ibit8 * adv_sca_5                         &
    2928                         +     3.0 * ibit7 * adv_sca_3                         &
    2929                         +           ibit6 * adv_sca_1                         &
     2933                           ( 10.0_wp * ibit8 * adv_sca_5                      &
     2934                        +     3.0_wp * ibit7 * adv_sca_3                      &
     2935                        +              ibit6 * adv_sca_1                      &
    29302936                           ) *                                                &
    29312937                                   ( sk(k+1,j,i)   - sk(k,j,i)    )           &
    2932                     -      (  5.0 * ibit8 * adv_sca_5                         &
    2933                         +           ibit7 * adv_sca_3                         &
     2938                    -      (  5.0_wp * ibit8 * adv_sca_5                      &
     2939                        +              ibit7 * adv_sca_3                      &
    29342940                           ) *                                                &
    29352941                                   ( sk(k_pp,j,i)  - sk(k-1,j,i)  )           &
    2936                     +      (        ibit8 * adv_sca_5                         &
     2942                    +      (           ibit8 * adv_sca_5                      &
    29372943                           ) *                                                &
    29382944                                   ( sk(k_ppp,j,i) - sk(k_mm,j,i) )           &
     
    30453051       REAL(wp), DIMENSION(nzb:nzt) ::  u_comp !:
    30463052 
    3047        gu = 2.0 * u_gtrans
    3048        gv = 2.0 * v_gtrans
     3053       gu = 2.0_wp * u_gtrans
     3054       gv = 2.0_wp * v_gtrans
    30493055
    30503056!
     
    30603066             u_comp(k)                = u(k,j,i) + u(k,j,i-1) - gu
    30613067             swap_flux_x_local_u(k,j) = u_comp(k) * (                          &
    3062                                        ( 37.0 * ibit11 * adv_mom_5             &
    3063                                     +     7.0 * ibit10 * adv_mom_3             &
    3064                                     +           ibit9  * adv_mom_1             &
     3068                                       ( 37.0_wp * ibit11 * adv_mom_5             &
     3069                                    +     7.0_wp * ibit10 * adv_mom_3             &
     3070                                    +              ibit9  * adv_mom_1             &
    30653071                                       ) *                                     &
    30663072                                     ( u(k,j,i)   + u(k,j,i-1) )               &
    3067                                 -      (  8.0 * ibit11 * adv_mom_5             &
    3068                                     +           ibit10 * adv_mom_3             &
     3073                                -      (  8.0_wp * ibit11 * adv_mom_5             &
     3074                                    +              ibit10 * adv_mom_3             &
    30693075                                       ) *                                     &
    30703076                                     ( u(k,j,i+1) + u(k,j,i-2) )               &
    3071                                 +      (        ibit11 * adv_mom_5             &
     3077                                +      (           ibit11 * adv_mom_5             &
    30723078                                       ) *                                     &
    30733079                                     ( u(k,j,i+2) + u(k,j,i-3) )               &
     
    30753081
    30763082              swap_diss_x_local_u(k,j) = - ABS( u_comp(k) ) * (                &
    3077                                        ( 10.0 * ibit11 * adv_mom_5             &
    3078                                     +     3.0 * ibit10 * adv_mom_3             &
    3079                                     +           ibit9  * adv_mom_1             &
     3083                                       ( 10.0_wp * ibit11 * adv_mom_5             &
     3084                                    +     3.0_wp * ibit10 * adv_mom_3             &
     3085                                    +              ibit9  * adv_mom_1             &
    30803086                                       ) *                                     &
    30813087                                     ( u(k,j,i)   - u(k,j,i-1) )               &
    3082                                 -      (  5.0 * ibit11 * adv_mom_5             &
    3083                                     +           ibit10 * adv_mom_3             &
     3088                                -      (  5.0_wp * ibit11 * adv_mom_5             &
     3089                                    +              ibit10 * adv_mom_3             &
    30843090                                       ) *                                     &
    30853091                                     ( u(k,j,i+1) - u(k,j,i-2) )               &
    3086                                 +      (        ibit11 * adv_mom_5             &
     3092                                +      (           ibit11 * adv_mom_5             &
    30873093                                       ) *                                     &
    30883094                                     ( u(k,j,i+2) - u(k,j,i-3) )               &
     
    30953101             u_comp(k)         = u(k,j,i) + u(k,j,i-1) - gu
    30963102             swap_flux_x_local_u(k,j) = u_comp(k) * (                          &
    3097                              37.0 * ( u(k,j,i) + u(k,j,i-1)   )                &
    3098                            -  8.0 * ( u(k,j,i+1) + u(k,j,i-2) )                &
    3099                            +        ( u(k,j,i+2) + u(k,j,i-3) ) ) * adv_mom_5
     3103                             37.0_wp * ( u(k,j,i) + u(k,j,i-1)   )                &
     3104                           -  8.0_wp * ( u(k,j,i+1) + u(k,j,i-2) )                &
     3105                           +           ( u(k,j,i+2) + u(k,j,i-3) ) ) * adv_mom_5
    31003106             swap_diss_x_local_u(k,j) = - ABS(u_comp(k)) * (                   &
    3101                              10.0 * ( u(k,j,i) - u(k,j,i-1)   )                &
    3102                            -  5.0 * ( u(k,j,i+1) - u(k,j,i-2) )                &
    3103                            +        ( u(k,j,i+2) - u(k,j,i-3) ) ) * adv_mom_5
     3107                             10.0_wp * ( u(k,j,i) - u(k,j,i-1)   )                &
     3108                           -  5.0_wp * ( u(k,j,i+1) - u(k,j,i-2) )                &
     3109                           +           ( u(k,j,i+2) - u(k,j,i-3) ) ) * adv_mom_5
    31043110
    31053111          ENDDO
     
    31183124             v_comp                 = v(k,j,i) + v(k,j,i-1) - gv
    31193125             swap_flux_y_local_u(k) = v_comp * (                              &
    3120                                    ( 37.0 * ibit14 * adv_mom_5                &
    3121                                 +     7.0 * ibit13 * adv_mom_3                &
    3122                                 +           ibit12 * adv_mom_1                &
     3126                                   ( 37.0_wp * ibit14 * adv_mom_5                &
     3127                                +     7.0_wp * ibit13 * adv_mom_3                &
     3128                                +              ibit12 * adv_mom_1                &
    31233129                                   ) *                                        &
    31243130                                     ( u(k,j,i)   + u(k,j-1,i) )              &
    3125                             -      (  8.0 * ibit14 * adv_mom_5                &
    3126                             +           ibit13 * adv_mom_3                    &
     3131                            -      (  8.0_wp * ibit14 * adv_mom_5                &
     3132                            +                  ibit13 * adv_mom_3                    &
    31273133                                   ) *                                        &
    31283134                                     ( u(k,j+1,i) + u(k,j-2,i) )              &
    3129                         +      (        ibit14 * adv_mom_5                    &
     3135                        +      (               ibit14 * adv_mom_5                    &
    31303136                               ) *                                            &
    31313137                                     ( u(k,j+2,i) + u(k,j-3,i) )              &
     
    31333139
    31343140             swap_diss_y_local_u(k) = - ABS ( v_comp ) * (                    &
    3135                                    ( 10.0 * ibit14 * adv_mom_5                &
    3136                                 +     3.0 * ibit13 * adv_mom_3                &
    3137                                 +           ibit12 * adv_mom_1                &
     3141                                   ( 10.0_wp * ibit14 * adv_mom_5                &
     3142                                +     3.0_wp * ibit13 * adv_mom_3                &
     3143                                +              ibit12 * adv_mom_1                &
    31383144                                   ) *                                        &
    31393145                                     ( u(k,j,i)   - u(k,j-1,i) )              &
    3140                             -      (  5.0 * ibit14 * adv_mom_5                &
    3141                                 +           ibit13 * adv_mom_3                &
     3146                            -      (  5.0_wp * ibit14 * adv_mom_5                &
     3147                                +              ibit13 * adv_mom_3                &
    31423148                                   ) *                                        &
    31433149                                     ( u(k,j+1,i) - u(k,j-2,i) )              &
    3144                             +      (        ibit14 * adv_mom_5                &
     3150                            +      (           ibit14 * adv_mom_5                &
    31453151                                   ) *                                        &
    31463152                                     ( u(k,j+2,i) - u(k,j-3,i) )              &
     
    31533159             v_comp                 = v(k,j,i) + v(k,j,i-1) - gv
    31543160             swap_flux_y_local_u(k) = v_comp * (                              &
    3155                            37.0 * ( u(k,j,i) + u(k,j-1,i)   )                 &
    3156                          -  8.0 * ( u(k,j+1,i) + u(k,j-2,i) )                 &
    3157                          +        ( u(k,j+2,i) + u(k,j-3,i) ) ) * adv_mom_5
     3161                           37.0_wp * ( u(k,j,i) + u(k,j-1,i)   )                 &
     3162                         -  8.0_wp * ( u(k,j+1,i) + u(k,j-2,i) )                 &
     3163                         +           ( u(k,j+2,i) + u(k,j-3,i) ) ) * adv_mom_5
    31583164             swap_diss_y_local_u(k) = - ABS(v_comp) * (                       &
    3159                            10.0 * ( u(k,j,i) - u(k,j-1,i)   )                 &
    3160                          -  5.0 * ( u(k,j+1,i) - u(k,j-2,i) )                 &
    3161                          +        ( u(k,j+2,i) - u(k,j-3,i) ) ) * adv_mom_5
     3165                           10.0_wp * ( u(k,j,i) - u(k,j-1,i)   )                 &
     3166                         -  5.0_wp * ( u(k,j+1,i) - u(k,j-2,i) )                 &
     3167                         +           ( u(k,j+2,i) - u(k,j-3,i) ) ) * adv_mom_5
    31623168
    31633169          ENDDO
     
    31663172          DO  j = nys, nyn
    31673173
    3168              flux_t(0) = 0.0
    3169              diss_t(0) = 0.0
    3170              flux_d    = 0.0
    3171              diss_d    = 0.0
     3174             flux_t(0) = 0.0_wp
     3175             diss_t(0) = 0.0_wp
     3176             flux_d    = 0.0_wp
     3177             diss_d    = 0.0_wp
    31723178
    31733179             DO  k = nzb+1, nzb_max
     
    31793185                u_comp(k) = u(k,j,i+1) + u(k,j,i)
    31803186                flux_r(k) = ( u_comp(k) - gu ) * (                           &
    3181                           ( 37.0 * ibit11 * adv_mom_5                        &
    3182                        +     7.0 * ibit10 * adv_mom_3                        &
    3183                        +           ibit9  * adv_mom_1                        &
     3187                          ( 37.0_wp * ibit11 * adv_mom_5                        &
     3188                       +     7.0_wp * ibit10 * adv_mom_3                        &
     3189                       +              ibit9  * adv_mom_1                        &
    31843190                          ) *                                                &
    31853191                                 ( u(k,j,i+1) + u(k,j,i)   )                 &
    3186                    -      (  8.0 * ibit11 * adv_mom_5                        &
    3187                        +           ibit10 * adv_mom_3                        &
     3192                   -      (  8.0_wp * ibit11 * adv_mom_5                        &
     3193                       +              ibit10 * adv_mom_3                        &
    31883194                          ) *                                                &
    31893195                                 ( u(k,j,i+2) + u(k,j,i-1) )                 &
    3190                    +      (        ibit11 * adv_mom_5                        &
     3196                   +      (           ibit11 * adv_mom_5                        &
    31913197                          ) *                                                &
    31923198                                 ( u(k,j,i+3) + u(k,j,i-2) )                 &
     
    31943200
    31953201                diss_r(k) = - ABS( u_comp(k) - gu ) * (                      &
    3196                           ( 10.0 * ibit11 * adv_mom_5                        &
    3197                        +     3.0 * ibit10 * adv_mom_3                        &
    3198                        +           ibit9  * adv_mom_1                        &
     3202                          ( 10.0_wp * ibit11 * adv_mom_5                        &
     3203                       +     3.0_wp * ibit10 * adv_mom_3                        &
     3204                       +              ibit9  * adv_mom_1                        &
    31993205                          ) *                                                &
    32003206                                 ( u(k,j,i+1) - u(k,j,i)  )                  &
    3201                    -      (  5.0 * ibit11 * adv_mom_5                        &
    3202                        +           ibit10 * adv_mom_3                        &
     3207                   -      (  5.0_wp * ibit11 * adv_mom_5                        &
     3208                       +              ibit10 * adv_mom_3                        &
    32033209                          ) *                                                &
    32043210                                 ( u(k,j,i+2) - u(k,j,i-1) )                 &
    3205                    +      (        ibit11 * adv_mom_5                        &
     3211                   +      (           ibit11 * adv_mom_5                        &
    32063212                          ) *                                                &
    32073213                                 ( u(k,j,i+3) - u(k,j,i-2) )                 &
     
    32143220                v_comp    = v(k,j+1,i) + v(k,j+1,i-1) - gv
    32153221                flux_n(k) = v_comp * (                                       &
    3216                           ( 37.0 * ibit14 * adv_mom_5                        &
    3217                        +     7.0 * ibit13 * adv_mom_3                        &
    3218                        +           ibit12 * adv_mom_1                        &
     3222                          ( 37.0_wp * ibit14 * adv_mom_5                        &
     3223                       +     7.0_wp * ibit13 * adv_mom_3                        &
     3224                       +              ibit12 * adv_mom_1                        &
    32193225                          ) *                                                &
    32203226                                 ( u(k,j+1,i) + u(k,j,i)   )                 &
    3221                    -      (  8.0 * ibit14 * adv_mom_5                        &
    3222                        +           ibit13 * adv_mom_3                        &
     3227                   -      (  8.0_wp * ibit14 * adv_mom_5                        &
     3228                       +              ibit13 * adv_mom_3                        &
    32233229                          ) *                                                &
    32243230                                 ( u(k,j+2,i) + u(k,j-1,i) )                 &
    3225                    +      (        ibit14 * adv_mom_5                        &
     3231                   +      (           ibit14 * adv_mom_5                        &
    32263232                          ) *                                                &
    32273233                                 ( u(k,j+3,i) + u(k,j-2,i) )                 &
     
    32293235
    32303236                diss_n(k) = - ABS ( v_comp ) * (                             &
    3231                           ( 10.0 * ibit14 * adv_mom_5                        &
    3232                        +     3.0 * ibit13 * adv_mom_3                        &
    3233                        +           ibit12 * adv_mom_1                        &
     3237                          ( 10.0_wp * ibit14 * adv_mom_5                        &
     3238                       +     3.0_wp * ibit13 * adv_mom_3                        &
     3239                       +              ibit12 * adv_mom_1                        &
    32343240                          ) *                                                &
    32353241                                 ( u(k,j+1,i) - u(k,j,i)  )                  &
    3236                    -      (  5.0 * ibit14 * adv_mom_5                        &
    3237                        +           ibit13 * adv_mom_3                        &
     3242                   -      (  5.0_wp * ibit14 * adv_mom_5                        &
     3243                       +              ibit13 * adv_mom_3                        &
    32383244                          ) *                                                &
    32393245                                 ( u(k,j+2,i) - u(k,j-1,i) )                 &
    3240                    +      (        ibit14 * adv_mom_5                        &
     3246                   +      (           ibit14 * adv_mom_5                        &
    32413247                          ) *                                                &
    32423248                                 ( u(k,j+3,i) - u(k,j-2,i) )                 &
     
    32553261                w_comp    = w(k,j,i) + w(k,j,i-1)
    32563262                flux_t(k) = w_comp  * (                                      &
    3257                           ( 37.0 * ibit17 * adv_mom_5                        &
    3258                        +     7.0 * ibit16 * adv_mom_3                        &
    3259                        +           ibit15 * adv_mom_1                        &
     3263                          ( 37.0_wp * ibit17 * adv_mom_5                        &
     3264                       +     7.0_wp * ibit16 * adv_mom_3                        &
     3265                       +              ibit15 * adv_mom_1                        &
    32603266                          ) *                                                &
    32613267                             ( u(k+1,j,i)  + u(k,j,i)     )                  &
    3262                    -      (  8.0 * ibit17 * adv_mom_5                        &
    3263                        +           ibit16 * adv_mom_3                        &
     3268                   -      (  8.0_wp * ibit17 * adv_mom_5                        &
     3269                       +              ibit16 * adv_mom_3                        &
    32643270                          ) *                                                &
    32653271                             ( u(k_pp,j,i) + u(k-1,j,i)   )                  &
    3266                    +      (        ibit17 * adv_mom_5                        &
     3272                   +      (           ibit17 * adv_mom_5                        &
    32673273                          ) *                                                &
    32683274                             ( u(k_ppp,j,i) + u(k_mm,j,i) )                  &
     
    32703276
    32713277                diss_t(k) = - ABS( w_comp ) * (                              &
    3272                           ( 10.0 * ibit17 * adv_mom_5                        &
    3273                        +     3.0 * ibit16 * adv_mom_3                        &
    3274                        +           ibit15 * adv_mom_1                        &
     3278                          ( 10.0_wp * ibit17 * adv_mom_5                        &
     3279                       +     3.0_wp * ibit16 * adv_mom_3                        &
     3280                       +              ibit15 * adv_mom_1                        &
    32753281                          ) *                                                &
    32763282                             ( u(k+1,j,i)   - u(k,j,i)    )                  &
    3277                    -      (  5.0 * ibit17 * adv_mom_5                        &
    3278                        +           ibit16 * adv_mom_3                        &
     3283                   -      (  5.0_wp * ibit17 * adv_mom_5                        &
     3284                       +              ibit16 * adv_mom_3                        &
    32793285                          ) *                                                &
    32803286                             ( u(k_pp,j,i)  - u(k-1,j,i)  )                  &
    3281                    +      (        ibit17 * adv_mom_5                        &
     3287                   +      (           ibit17 * adv_mom_5                        &
    32823288                           ) *                                               &
    32833289                             ( u(k_ppp,j,i) - u(k_mm,j,i) )                  &
     
    32913297                     +  ( w_comp      - ( w(k-1,j,i) + w(k-1,j,i-1) ) )        &
    32923298                                                                    * ddzw(k)  &
    3293                       ) * 0.5
     3299                      ) * 0.5_wp
    32943300
    32953301                tend(k,j,i) = tend(k,j,i) - (                                  &
     
    33143320                sums_us2_ws_l(k,tn) = sums_us2_ws_l(k,tn)                     &
    33153321                              + ( flux_r(k) *                                 &
    3316                                 ( u_comp(k) - 2.0 * hom(k,1,1,0) )            &
     3322                                ( u_comp(k) - 2.0_wp * hom(k,1,1,0) )            &
    33173323                              / ( u_comp(k) - gu + 1.0E-20_wp    )            &
    33183324                              +   diss_r(k) *                                 &
    3319                                   ABS( u_comp(k) - 2.0 * hom(k,1,1,0) )       &
     3325                                  ABS( u_comp(k) - 2.0_wp * hom(k,1,1,0) )       &
    33203326                              / ( ABS( u_comp(k) - gu ) + 1.0E-20_wp ) )      &
    33213327                              *   weight_substep(intermediate_timestep_count)
     
    33313337                u_comp(k) = u(k,j,i+1) + u(k,j,i)
    33323338                flux_r(k) = ( u_comp(k) - gu ) * (                            &
    3333                          37.0 * ( u(k,j,i+1) + u(k,j,i)   )                   &
    3334                        -  8.0 * ( u(k,j,i+2) + u(k,j,i-1) )                   &
    3335                        +        ( u(k,j,i+3) + u(k,j,i-2) ) ) * adv_mom_5
     3339                         37.0_wp * ( u(k,j,i+1) + u(k,j,i)   )                   &
     3340                       -  8.0_wp * ( u(k,j,i+2) + u(k,j,i-1) )                   &
     3341                       +           ( u(k,j,i+3) + u(k,j,i-2) ) ) * adv_mom_5
    33363342                diss_r(k) = - ABS( u_comp(k) - gu ) * (                       &
    3337                          10.0 * ( u(k,j,i+1) - u(k,j,i)   )                   &
    3338                        -  5.0 * ( u(k,j,i+2) - u(k,j,i-1) )                   &
    3339                        +        ( u(k,j,i+3) - u(k,j,i-2) ) ) * adv_mom_5
     3343                         10.0_wp * ( u(k,j,i+1) - u(k,j,i)   )                   &
     3344                       -  5.0_wp * ( u(k,j,i+2) - u(k,j,i-1) )                   &
     3345                       +           ( u(k,j,i+3) - u(k,j,i-2) ) ) * adv_mom_5
    33403346
    33413347                v_comp    = v(k,j+1,i) + v(k,j+1,i-1) - gv
    33423348                flux_n(k) = v_comp * (                                        &
    3343                          37.0 * ( u(k,j+1,i) + u(k,j,i)   )                   &
    3344                        -  8.0 * ( u(k,j+2,i) + u(k,j-1,i) )                   &
    3345                        +        ( u(k,j+3,i) + u(k,j-2,i) ) ) * adv_mom_5
     3349                         37.0_wp * ( u(k,j+1,i) + u(k,j,i)   )                   &
     3350                       -  8.0_wp * ( u(k,j+2,i) + u(k,j-1,i) )                   &
     3351                       +           ( u(k,j+3,i) + u(k,j-2,i) ) ) * adv_mom_5
    33463352                diss_n(k) = - ABS( v_comp ) * (                               &
    3347                          10.0 * ( u(k,j+1,i) - u(k,j,i)   )                   &
    3348                        -  5.0 * ( u(k,j+2,i) - u(k,j-1,i) )                   &
    3349                        +        ( u(k,j+3,i) - u(k,j-2,i) ) ) * adv_mom_5
     3353                         10.0_wp * ( u(k,j+1,i) - u(k,j,i)   )                   &
     3354                       -  5.0_wp * ( u(k,j+2,i) - u(k,j-1,i) )                   &
     3355                       +           ( u(k,j+3,i) - u(k,j-2,i) ) ) * adv_mom_5
    33503356!
    33513357!--             k index has to be modified near bottom and top, else array
     
    33613367                w_comp    = w(k,j,i) + w(k,j,i-1)
    33623368                flux_t(k) = w_comp  * (                                      &
    3363                           ( 37.0 * ibit17 * adv_mom_5                        &
    3364                        +     7.0 * ibit16 * adv_mom_3                        &
    3365                        +           ibit15 * adv_mom_1                        &
     3369                          ( 37.0_wp * ibit17 * adv_mom_5                        &
     3370                       +     7.0_wp * ibit16 * adv_mom_3                        &
     3371                       +              ibit15 * adv_mom_1                        &
    33663372                          ) *                                                &
    33673373                             ( u(k+1,j,i)  + u(k,j,i)     )                  &
    3368                    -      (  8.0 * ibit17 * adv_mom_5                        &
    3369                        +           ibit16 * adv_mom_3                        &
     3374                   -      (  8.0_wp * ibit17 * adv_mom_5                        &
     3375                       +              ibit16 * adv_mom_3                        &
    33703376                          ) *                                                &
    33713377                             ( u(k_pp,j,i) + u(k-1,j,i)   )                  &
    3372                    +      (        ibit17 * adv_mom_5                        &
     3378                   +      (           ibit17 * adv_mom_5                        &
    33733379                          ) *                                                &
    33743380                             ( u(k_ppp,j,i) + u(k_mm,j,i) )                  &
     
    33763382
    33773383                diss_t(k) = - ABS( w_comp ) * (                              &
    3378                           ( 10.0 * ibit17 * adv_mom_5                        &
    3379                        +     3.0 * ibit16 * adv_mom_3                        &
    3380                        +           ibit15 * adv_mom_1                        &
     3384                          ( 10.0_wp * ibit17 * adv_mom_5                        &
     3385                       +     3.0_wp * ibit16 * adv_mom_3                        &
     3386                       +              ibit15 * adv_mom_1                        &
    33813387                          ) *                                                &
    33823388                             ( u(k+1,j,i)   - u(k,j,i)    )                  &
    3383                    -      (  5.0 * ibit17 * adv_mom_5                        &
    3384                        +           ibit16 * adv_mom_3                        &
     3389                   -      (  5.0_wp * ibit17 * adv_mom_5                        &
     3390                       +              ibit16 * adv_mom_3                        &
    33853391                          ) *                                                &
    33863392                             ( u(k_pp,j,i)  - u(k-1,j,i)  )                  &
    3387                    +      (        ibit17 * adv_mom_5                        &
     3393                   +      (           ibit17 * adv_mom_5                        &
    33883394                           ) *                                               &
    33893395                             ( u(k_ppp,j,i) - u(k_mm,j,i) )                  &
     
    33973403                     +  ( w_comp      - ( w(k-1,j,i) + w(k-1,j,i-1) ) )       &
    33983404                                                                    * ddzw(k) &
    3399                       ) * 0.5
     3405                      ) * 0.5_wp
    34003406
    34013407                 tend(k,j,i) = tend(k,j,i) - (                                 &
     
    34203426                 sums_us2_ws_l(k,tn) = sums_us2_ws_l(k,tn)                    &
    34213427                              + ( flux_r(k) *                                 &
    3422                                 ( u_comp(k) - 2.0 * hom(k,1,1,0) )            &
     3428                                ( u_comp(k) - 2.0_wp * hom(k,1,1,0) )            &
    34233429                              / ( u_comp(k) - gu + 1.0E-20_wp   )             &
    34243430                              +   diss_r(k) *                                 &
    3425                                   ABS( u_comp(k) - 2.0 * hom(k,1,1,0) )       &
     3431                                  ABS( u_comp(k) - 2.0_wp * hom(k,1,1,0) )       &
    34263432                              / ( ABS( u_comp(k) - gu ) + 1.0E-20_wp ) )      &
    34273433                              *   weight_substep(intermediate_timestep_count)
     
    35083514
    35093515
    3510        gu = 2.0 * u_gtrans
    3511        gv = 2.0 * v_gtrans
     3516       gu = 2.0_wp * u_gtrans
     3517       gv = 2.0_wp * v_gtrans
    35123518
    35133519!
     
    35243530                u_comp_l           = u(k,j,i) + u(k,j,i-1) - gu
    35253531                flux_l             = u_comp_l * (                          &
    3526                                     ( 37.0 * ibit11 * adv_mom_5             &
    3527                                  +     7.0 * ibit10 * adv_mom_3             &
    3528                                  +           ibit9  * adv_mom_1             &
     3532                                    ( 37.0_wp * ibit11 * adv_mom_5             &
     3533                                 +     7.0_wp * ibit10 * adv_mom_3             &
     3534                                 +              ibit9  * adv_mom_1             &
    35293535                                    ) *                                     &
    35303536                                  ( u(k,j,i)   + u(k,j,i-1) )               &
    3531                              -      (  8.0 * ibit11 * adv_mom_5             &
    3532                                  +           ibit10 * adv_mom_3             &
     3537                             -      (  8.0_wp * ibit11 * adv_mom_5             &
     3538                                 +              ibit10 * adv_mom_3             &
    35333539                                    ) *                                     &
    35343540                                  ( u(k,j,i+1) + u(k,j,i-2) )               &
    3535                              +      (        ibit11 * adv_mom_5             &
     3541                             +      (           ibit11 * adv_mom_5             &
    35363542                                    ) *                                     &
    35373543                                  ( u(k,j,i+2) + u(k,j,i-3) )               &
     
    35393545
    35403546                diss_l             = - ABS( u_comp_l ) * (                &
    3541                                    ( 10.0 * ibit11 * adv_mom_5             &
    3542                                 +     3.0 * ibit10 * adv_mom_3             &
    3543                                 +           ibit9  * adv_mom_1             &
     3547                                   ( 10.0_wp * ibit11 * adv_mom_5             &
     3548                                +     3.0_wp * ibit10 * adv_mom_3             &
     3549                                +              ibit9  * adv_mom_1             &
    35443550                                   ) *                                     &
    35453551                                 ( u(k,j,i)   - u(k,j,i-1) )               &
    3546                             -      (  5.0 * ibit11 * adv_mom_5             &
    3547                                 +           ibit10 * adv_mom_3             &
     3552                            -      (  5.0_wp * ibit11 * adv_mom_5             &
     3553                                +              ibit10 * adv_mom_3             &
    35483554                                   ) *                                     &
    35493555                                 ( u(k,j,i+1) - u(k,j,i-2) )               &
    3550                             +      (        ibit11 * adv_mom_5             &
     3556                            +      (           ibit11 * adv_mom_5             &
    35513557                                   ) *                                     &
    35523558                                 ( u(k,j,i+2) - u(k,j,i-3) )               &
     
    35553561                u_comp    = u(k,j,i+1) + u(k,j,i)
    35563562                flux_r    = ( u_comp   - gu ) * (                           &
    3557                           ( 37.0 * ibit11 * adv_mom_5                        &
    3558                        +     7.0 * ibit10 * adv_mom_3                        &
    3559                        +           ibit9  * adv_mom_1                        &
     3563                          ( 37.0_wp * ibit11 * adv_mom_5                        &
     3564                       +     7.0_wp * ibit10 * adv_mom_3                        &
     3565                       +              ibit9  * adv_mom_1                        &
    35603566                          ) *                                                &
    35613567                                 ( u(k,j,i+1) + u(k,j,i)   )                 &
    3562                    -      (  8.0 * ibit11 * adv_mom_5                        &
    3563                        +           ibit10 * adv_mom_3                        &
     3568                   -      (  8.0_wp * ibit11 * adv_mom_5                        &
     3569                       +              ibit10 * adv_mom_3                        &
    35643570                          ) *                                                &
    35653571                                 ( u(k,j,i+2) + u(k,j,i-1) )                 &
    3566                    +      (        ibit11 * adv_mom_5                        &
     3572                   +      (           ibit11 * adv_mom_5                        &
    35673573                          ) *                                                &
    35683574                                 ( u(k,j,i+3) + u(k,j,i-2) )                 &
     
    35703576
    35713577                diss_r    = - ABS( u_comp    - gu ) * (                      &
    3572                           ( 10.0 * ibit11 * adv_mom_5                        &
    3573                        +     3.0 * ibit10 * adv_mom_3                        &
    3574                        +           ibit9  * adv_mom_1                        &
     3578                          ( 10.0_wp * ibit11 * adv_mom_5                        &
     3579                       +     3.0_wp * ibit10 * adv_mom_3                        &
     3580                       +              ibit9  * adv_mom_1                        &
    35753581                          ) *                                                &
    35763582                                 ( u(k,j,i+1) - u(k,j,i)  )                  &
    3577                    -      (  5.0 * ibit11 * adv_mom_5                        &
    3578                        +           ibit10 * adv_mom_3                        &
     3583                   -      (  5.0_wp * ibit11 * adv_mom_5                        &
     3584                       +              ibit10 * adv_mom_3                        &
    35793585                          ) *                                                &
    35803586                                 ( u(k,j,i+2) - u(k,j,i-1) )                 &
    3581                    +      (        ibit11 * adv_mom_5                        &
     3587                   +      (           ibit11 * adv_mom_5                        &
    35823588                          ) *                                                &
    35833589                                 ( u(k,j,i+3) - u(k,j,i-2) )                 &
     
    35903596                v_comp_s                 = v(k,j,i) + v(k,j,i-1) - gv
    35913597                flux_s                   = v_comp_s * (                       &
    3592                                    ( 37.0 * ibit14 * adv_mom_5                &
    3593                                 +     7.0 * ibit13 * adv_mom_3                &
    3594                                 +           ibit12 * adv_mom_1                &
    3595                                    ) *                                        &
     3598                                   ( 37.0_wp * ibit14 * adv_mom_5                &
     3599                                +     7.0_wp * ibit13 * adv_mom_3                &
     3600                                +              ibit12 * adv_mom_1                &
     3601                                   ) *                                         &
    35963602                                     ( u(k,j,i)   + u(k,j-1,i) )              &
    3597                             -      (  8.0 * ibit14 * adv_mom_5                &
    3598                             +           ibit13 * adv_mom_3                    &
     3603                            -      (  8.0_wp * ibit14 * adv_mom_5                &
     3604                            +                  ibit13 * adv_mom_3                    &
    35993605                                   ) *                                        &
    36003606                                     ( u(k,j+1,i) + u(k,j-2,i) )              &
    3601                         +      (        ibit14 * adv_mom_5                    &
     3607                        +      (               ibit14 * adv_mom_5                    &
    36023608                               ) *                                            &
    36033609                                     ( u(k,j+2,i) + u(k,j-3,i) )              &
     
    36053611
    36063612                diss_s                  = - ABS ( v_comp_s ) * (              &
    3607                                    ( 10.0 * ibit14 * adv_mom_5                &
    3608                                 +     3.0 * ibit13 * adv_mom_3                &
    3609                                 +           ibit12 * adv_mom_1                &
     3613                                   ( 10.0_wp * ibit14 * adv_mom_5                &
     3614                                +     3.0_wp * ibit13 * adv_mom_3                &
     3615                                +              ibit12 * adv_mom_1                &
    36103616                                   ) *                                        &
    36113617                                     ( u(k,j,i)   - u(k,j-1,i) )              &
    3612                             -      (  5.0 * ibit14 * adv_mom_5                &
    3613                                 +           ibit13 * adv_mom_3                &
     3618                            -      (  5.0_wp * ibit14 * adv_mom_5                &
     3619                                +              ibit13 * adv_mom_3                &
    36143620                                   ) *                                        &
    36153621                                     ( u(k,j+1,i) - u(k,j-2,i) )              &
    3616                             +      (        ibit14 * adv_mom_5                &
     3622                            +      (           ibit14 * adv_mom_5                &
    36173623                                   ) *                                        &
    36183624                                     ( u(k,j+2,i) - u(k,j-3,i) )              &
     
    36223628                v_comp    = v(k,j+1,i) + v(k,j+1,i-1) - gv
    36233629                flux_n    = v_comp * (                                       &
    3624                           ( 37.0 * ibit14 * adv_mom_5                        &
    3625                        +     7.0 * ibit13 * adv_mom_3                        &
    3626                        +           ibit12 * adv_mom_1                        &
     3630                          ( 37.0_wp * ibit14 * adv_mom_5                        &
     3631                       +     7.0_wp * ibit13 * adv_mom_3                        &
     3632                       +              ibit12 * adv_mom_1                        &
    36273633                          ) *                                                &
    36283634                                 ( u(k,j+1,i) + u(k,j,i)   )                 &
    3629                    -      (  8.0 * ibit14 * adv_mom_5                        &
    3630                        +           ibit13 * adv_mom_3                        &
     3635                   -      (  8.0_wp * ibit14 * adv_mom_5                        &
     3636                       +              ibit13 * adv_mom_3                        &
    36313637                          ) *                                                &
    36323638                                 ( u(k,j+2,i) + u(k,j-1,i) )                 &
    3633                    +      (        ibit14 * adv_mom_5                        &
     3639                   +      (           ibit14 * adv_mom_5                        &
    36343640                          ) *                                                &
    36353641                                 ( u(k,j+3,i) + u(k,j-2,i) )                 &
     
    36373643
    36383644                diss_n    = - ABS ( v_comp ) * (                             &
    3639                           ( 10.0 * ibit14 * adv_mom_5                        &
    3640                        +     3.0 * ibit13 * adv_mom_3                        &
    3641                        +           ibit12 * adv_mom_1                        &
     3645                          ( 10.0_wp * ibit14 * adv_mom_5                        &
     3646                       +     3.0_wp * ibit13 * adv_mom_3                        &
     3647                       +              ibit12 * adv_mom_1                        &
    36423648                          ) *                                                &
    36433649                                 ( u(k,j+1,i) - u(k,j,i)  )                  &
    3644                    -      (  5.0 * ibit14 * adv_mom_5                        &
    3645                        +           ibit13 * adv_mom_3                        &
     3650                   -      (  5.0_wp * ibit14 * adv_mom_5                        &
     3651                       +              ibit13 * adv_mom_3                        &
    36463652                          ) *                                                &
    36473653                                 ( u(k,j+2,i) - u(k,j-1,i) )                 &
    3648                    +      (        ibit14 * adv_mom_5                        &
     3654                   +      (           ibit14 * adv_mom_5                        &
    36493655                          ) *                                                &
    36503656                                 ( u(k,j+3,i) - u(k,j-2,i) )                 &
     
    36613667                w_comp    = w(k-1,j,i) + w(k-1,j,i-1)
    36623668                flux_d    = w_comp  * (                                      &
    3663                           ( 37.0 * ibit17 * adv_mom_5                        &
    3664                        +     7.0 * ibit16 * adv_mom_3                        &
    3665                        +           ibit15 * adv_mom_1                        &
     3669                          ( 37.0_wp * ibit17 * adv_mom_5                        &
     3670                       +     7.0_wp * ibit16 * adv_mom_3                        &
     3671                       +              ibit15 * adv_mom_1                        &
    36663672                          ) *                                                &
    36673673                             ( u(k,j,i)    + u(k-1,j,i)   )                  &
    3668                    -      (  8.0 * ibit17 * adv_mom_5                        &
    3669                        +           ibit16 * adv_mom_3                        &
     3674                   -      (  8.0_wp * ibit17 * adv_mom_5                        &
     3675                       +              ibit16 * adv_mom_3                        &
    36703676                          ) *                                                &
    36713677                             ( u(k+1,j,i) + u(k_mm,j,i)   )                  &
    3672                    +      (        ibit17 * adv_mom_5                        &
    3673                           ) *                                                &
     3678                   +      (           ibit17 * adv_mom_5                        &
     3679                          ) *                                                 &
    36743680                             ( u(k_pp,j,i) + u(k_mmm,j,i) )                  &
    36753681                                      )
    36763682
    36773683                diss_d    = - ABS( w_comp ) * (                              &
    3678                           ( 10.0 * ibit17 * adv_mom_5                        &
    3679                        +     3.0 * ibit16 * adv_mom_3                        &
    3680                        +           ibit15 * adv_mom_1                        &
     3684                          ( 10.0_wp * ibit17 * adv_mom_5                        &
     3685                       +     3.0_wp * ibit16 * adv_mom_3                        &
     3686                       +              ibit15 * adv_mom_1                        &
    36813687                          ) *                                                &
    36823688                             ( u(k,j,i)     - u(k-1,j,i)  )                  &
    3683                    -      (  5.0 * ibit17 * adv_mom_5                        &
    3684                        +           ibit16 * adv_mom_3                        &
     3689                   -      (  5.0_wp * ibit17 * adv_mom_5                        &
     3690                       +              ibit16 * adv_mom_3                        &
    36853691                          ) *                                                &
    36863692                             ( u(k+1,j,i)  - u(k_mm,j,i)  )                  &
    3687                    +      (        ibit17 * adv_mom_5                        &
     3693                   +      (           ibit17 * adv_mom_5                        &
    36883694                           ) *                                               &
    36893695                             ( u(k_pp,j,i) - u(k_mmm,j,i) )                  &
     
    37023708                w_comp    = w(k,j,i) + w(k,j,i-1)
    37033709                flux_t    = w_comp  * (                                      &
    3704                           ( 37.0 * ibit17 * adv_mom_5                        &
    3705                        +     7.0 * ibit16 * adv_mom_3                        &
    3706                        +           ibit15 * adv_mom_1                        &
     3710                          ( 37.0_wp * ibit17 * adv_mom_5                        &
     3711                       +     7.0_wp * ibit16 * adv_mom_3                        &
     3712                       +              ibit15 * adv_mom_1                        &
    37073713                          ) *                                                &
    37083714                             ( u(k+1,j,i)  + u(k,j,i)     )                  &
    3709                    -      (  8.0 * ibit17 * adv_mom_5                        &
    3710                        +           ibit16 * adv_mom_3                        &
     3715                   -      (  8.0_wp * ibit17 * adv_mom_5                        &
     3716                       +              ibit16 * adv_mom_3                        &
    37113717                          ) *                                                &
    37123718                             ( u(k_pp,j,i) + u(k-1,j,i)   )                  &
    3713                    +      (        ibit17 * adv_mom_5                        &
     3719                   +      (           ibit17 * adv_mom_5                        &
    37143720                          ) *                                                &
    37153721                             ( u(k_ppp,j,i) + u(k_mm,j,i) )                  &
     
    37173723
    37183724                diss_t    = - ABS( w_comp ) * (                              &
    3719                           ( 10.0 * ibit17 * adv_mom_5                        &
    3720                        +     3.0 * ibit16 * adv_mom_3                        &
    3721                        +           ibit15 * adv_mom_1                        &
     3725                          ( 10.0_wp * ibit17 * adv_mom_5                        &
     3726                       +     3.0_wp * ibit16 * adv_mom_3                        &
     3727                       +              ibit15 * adv_mom_1                        &
    37223728                          ) *                                                &
    37233729                             ( u(k+1,j,i)   - u(k,j,i)    )                  &
    3724                    -      (  5.0 * ibit17 * adv_mom_5                        &
    3725                        +           ibit16 * adv_mom_3                        &
     3730                   -      (  5.0_wp * ibit17 * adv_mom_5                        &
     3731                       +              ibit16 * adv_mom_3                        &
    37263732                          ) *                                                &
    37273733                             ( u(k_pp,j,i)  - u(k-1,j,i)  )                  &
    3728                    +      (        ibit17 * adv_mom_5                        &
     3734                   +      (           ibit17 * adv_mom_5                        &
    37293735                           ) *                                               &
    37303736                             ( u(k_ppp,j,i) - u(k_mm,j,i) )                  &
     
    37383744                     +  ( w_comp      - ( w(k-1,j,i) + w(k-1,j,i-1) ) )        &
    37393745                                                                    * ddzw(k)  &
    3740                       ) * 0.5
     3746                      ) * 0.5_wp
    37413747
    37423748                tend(k,j,i) = - (                                              &
     
    37513757!                sums_us2_ws_l(k,tn) = sums_us2_ws_l(k,tn)                     &
    37523758!                              + ( flux_r    *                                 &
    3753 !                                ( u_comp    - 2.0 * hom(k,1,1,0) )            &
     3759!                                ( u_comp    - 2.0_wp * hom(k,1,1,0) )            &
    37543760!                              / ( u_comp    - gu + 1.0E-20_wp   )             &
    37553761!                              +   diss_r    *                                 &
    3756 !                                  ABS( u_comp    - 2.0 * hom(k,1,1,0) )       &
     3762!                                  ABS( u_comp    - 2.0_wp * hom(k,1,1,0) )       &
    37573763!                              / ( ABS( u_comp    - gu ) + 1.0E-20_wp ) )      &
    37583764!                              *   weight_substep(intermediate_timestep_count)
     
    38403846       REAL(wp), DIMENSION(nzb:nzt) ::  v_comp !:
    38413847
    3842        gu = 2.0 * u_gtrans
    3843        gv = 2.0 * v_gtrans
     3848       gu = 2.0_wp * u_gtrans
     3849       gv = 2.0_wp * v_gtrans
    38443850!
    38453851!--    First compute the whole left boundary of the processor domain
     
    38543860             u_comp                   = u(k,j-1,i) + u(k,j,i) - gu
    38553861             swap_flux_x_local_v(k,j) = u_comp * (                             &
    3856                                       ( 37.0 * ibit20 * adv_mom_5              &
    3857                                    +     7.0 * ibit19 * adv_mom_3              &
    3858                                    +           ibit18 * adv_mom_1              &
     3862                                      ( 37.0_wp * ibit20 * adv_mom_5              &
     3863                                   +     7.0_wp * ibit19 * adv_mom_3              &
     3864                                   +              ibit18 * adv_mom_1              &
    38593865                                      ) *                                      &
    38603866                                     ( v(k,j,i)   + v(k,j,i-1) )               &
    3861                                -      (  8.0 * ibit20 * adv_mom_5              &
    3862                                    +           ibit19 * adv_mom_3              &
     3867                               -      (  8.0_wp * ibit20 * adv_mom_5              &
     3868                                   +              ibit19 * adv_mom_3              &
    38633869                                      ) *                                      &
    38643870                                     ( v(k,j,i+1) + v(k,j,i-2) )               &
    3865                                +      (        ibit20 * adv_mom_5              &
     3871                               +      (           ibit20 * adv_mom_5              &
    38663872                                      ) *                                      &
    38673873                                     ( v(k,j,i+2) + v(k,j,i-3) )               &
     
    38693875
    38703876              swap_diss_x_local_v(k,j) = - ABS( u_comp ) * (                   &
    3871                                       ( 10.0 * ibit20 * adv_mom_5              &
    3872                                    +     3.0 * ibit19 * adv_mom_3              &
    3873                                    +           ibit18 * adv_mom_1              &
     3877                                      ( 10.0_wp * ibit20 * adv_mom_5              &
     3878                                   +     3.0_wp * ibit19 * adv_mom_3              &
     3879                                   +              ibit18 * adv_mom_1              &
    38743880                                      ) *                                      &
    38753881                                     ( v(k,j,i)   - v(k,j,i-1) )               &
    3876                                -      (  5.0 * ibit20 * adv_mom_5              &
    3877                                    +           ibit19 * adv_mom_3              &
     3882                               -      (  5.0_wp * ibit20 * adv_mom_5              &
     3883                                   +              ibit19 * adv_mom_3              &
    38783884                                      ) *                                      &
    38793885                                     ( v(k,j,i+1) - v(k,j,i-2) )               &
    3880                                +      (        ibit20 * adv_mom_5              &
     3886                               +      (           ibit20 * adv_mom_5              &
    38813887                                      ) *                                      &
    38823888                                     ( v(k,j,i+2) - v(k,j,i-3) )               &
     
    38893895             u_comp                   = u(k,j-1,i) + u(k,j,i) - gu
    38903896             swap_flux_x_local_v(k,j) = u_comp * (                            &
    3891                              37.0 * ( v(k,j,i) + v(k,j,i-1)   )               &
    3892                            -  8.0 * ( v(k,j,i+1) + v(k,j,i-2) )               &
    3893                            +        ( v(k,j,i+2) + v(k,j,i-3) ) ) * adv_mom_5
     3897                             37.0_wp * ( v(k,j,i) + v(k,j,i-1)   )               &
     3898                           -  8.0_wp * ( v(k,j,i+1) + v(k,j,i-2) )               &
     3899                           +           ( v(k,j,i+2) + v(k,j,i-3) ) ) * adv_mom_5
    38943900             swap_diss_x_local_v(k,j) = - ABS( u_comp ) * (                   &
    3895                              10.0 * ( v(k,j,i) - v(k,j,i-1)   )               &
    3896                            -  5.0 * ( v(k,j,i+1) - v(k,j,i-2) )               &
    3897                            +        ( v(k,j,i+2) - v(k,j,i-3) ) ) * adv_mom_5
     3901                             10.0_wp * ( v(k,j,i) - v(k,j,i-1)   )               &
     3902                           -  5.0_wp * ( v(k,j,i+1) - v(k,j,i-2) )               &
     3903                           +           ( v(k,j,i+2) - v(k,j,i-3) ) ) * adv_mom_5
    38983904
    38993905          ENDDO
     
    39123918             v_comp(k)              = v(k,j,i) + v(k,j-1,i) - gv
    39133919             swap_flux_y_local_v(k) = v_comp(k) * (                           &
    3914                                    ( 37.0 * ibit23 * adv_mom_5                &
    3915                                 +     7.0 * ibit22 * adv_mom_3                &
    3916                                 +           ibit21 * adv_mom_1                &
     3920                                   ( 37.0_wp * ibit23 * adv_mom_5                &
     3921                                +     7.0_wp * ibit22 * adv_mom_3                &
     3922                                +              ibit21 * adv_mom_1                &
    39173923                                   ) *                                        &
    39183924                                     ( v(k,j,i)   + v(k,j-1,i) )              &
    3919                             -      (  8.0 * ibit23 * adv_mom_5                &
    3920                                 +           ibit22 * adv_mom_3                &
     3925                            -      (  8.0_wp * ibit23 * adv_mom_5                &
     3926                                +              ibit22 * adv_mom_3                &
    39213927                                   ) *                                        &
    39223928                                     ( v(k,j+1,i) + v(k,j-2,i) )              &
    3923                             +      (        ibit23 * adv_mom_5                &
     3929                            +      (           ibit23 * adv_mom_5                &
    39243930                                   ) *                                        &
    39253931                                     ( v(k,j+2,i) + v(k,j-3,i) )              &
     
    39273933
    39283934             swap_diss_y_local_v(k) = - ABS( v_comp(k) ) * (                  &
    3929                                    ( 10.0 * ibit23 * adv_mom_5                &
    3930                                 +     3.0 * ibit22 * adv_mom_3                &
    3931                                 +           ibit21 * adv_mom_1                &
     3935                                   ( 10.0_wp * ibit23 * adv_mom_5                &
     3936                                +     3.0_wp * ibit22 * adv_mom_3                &
     3937                                +              ibit21 * adv_mom_1                &
    39323938                                   ) *                                        &
    39333939                                     ( v(k,j,i)   - v(k,j-1,i) )              &
    3934                             -      (  5.0 * ibit23 * adv_mom_5                &
    3935                                 +           ibit22 * adv_mom_3                &
     3940                            -      (  5.0_wp * ibit23 * adv_mom_5                &
     3941                                +              ibit22 * adv_mom_3                &
    39363942                                   ) *                                        &
    39373943                                     ( v(k,j+1,i) - v(k,j-2,i) )              &
    3938                             +      (        ibit23 * adv_mom_5                &
     3944                            +      (           ibit23 * adv_mom_5                &
    39393945                                   ) *                                        &
    39403946                                     ( v(k,j+2,i) - v(k,j-3,i) )              &
     
    39473953             v_comp(k)              = v(k,j,i) + v(k,j-1,i) - gv
    39483954             swap_flux_y_local_v(k) = v_comp(k) * (                           &
    3949                            37.0 * ( v(k,j,i) + v(k,j-1,i)   )                 &
    3950                          -  8.0 * ( v(k,j+1,i) + v(k,j-2,i) )                 &
    3951                          +        ( v(k,j+2,i) + v(k,j-3,i) ) ) * adv_mom_5
     3955                           37.0_wp * ( v(k,j,i) + v(k,j-1,i)   )                 &
     3956                         -  8.0_wp * ( v(k,j+1,i) + v(k,j-2,i) )                 &
     3957                         +           ( v(k,j+2,i) + v(k,j-3,i) ) ) * adv_mom_5
    39523958             swap_diss_y_local_v(k) = - ABS( v_comp(k) ) * (                  &
    3953                            10.0 * ( v(k,j,i) - v(k,j-1,i)   )                 &
    3954                          -  5.0 * ( v(k,j+1,i) - v(k,j-2,i) )                 &
    3955                          +        ( v(k,j+2,i) - v(k,j-3,i) ) ) * adv_mom_5
     3959                           10.0_wp * ( v(k,j,i) - v(k,j-1,i)   )                 &
     3960                         -  5.0_wp * ( v(k,j+1,i) - v(k,j-2,i) )                 &
     3961                         +           ( v(k,j+2,i) - v(k,j-3,i) ) ) * adv_mom_5
    39563962
    39573963          ENDDO
     
    39593965          DO  j = nysv, nyn
    39603966
    3961              flux_t(0) = 0.0
    3962              diss_t(0) = 0.0
    3963              flux_d    = 0.0
    3964              diss_d    = 0.0
     3967             flux_t(0) = 0.0_wp
     3968             diss_t(0) = 0.0_wp
     3969             flux_d    = 0.0_wp
     3970             diss_d    = 0.0_wp
    39653971
    39663972             DO  k = nzb+1, nzb_max
     
    39723978                u_comp    = u(k,j-1,i+1) + u(k,j,i+1) - gu
    39733979                flux_r(k) = u_comp * (                                       &
    3974                           ( 37.0 * ibit20 * adv_mom_5                        &
    3975                        +     7.0 * ibit19 * adv_mom_3                        &
    3976                        +           ibit18 * adv_mom_1                        &
     3980                          ( 37.0_wp * ibit20 * adv_mom_5                        &
     3981                       +     7.0_wp * ibit19 * adv_mom_3                        &
     3982                       +              ibit18 * adv_mom_1                        &
    39773983                          ) *                                                &
    39783984                                 ( v(k,j,i+1) + v(k,j,i)   )                 &
    3979                    -      (  8.0 * ibit20 * adv_mom_5                        &
    3980                        +           ibit19 * adv_mom_3                        &
     3985                   -      (  8.0_wp * ibit20 * adv_mom_5                        &
     3986                       +              ibit19 * adv_mom_3                        &
    39813987                          ) *                                                &
    39823988                                 ( v(k,j,i+2) + v(k,j,i-1) )                 &
    3983                    +      (        ibit20 * adv_mom_5                        &
     3989                   +      (           ibit20 * adv_mom_5                        &
    39843990                          ) *                                                &
    39853991                                 ( v(k,j,i+3) + v(k,j,i-2) )                 &
     
    39873993
    39883994                diss_r(k) = - ABS( u_comp ) * (                              &
    3989                           ( 10.0 * ibit20 * adv_mom_5                        &
    3990                        +     3.0 * ibit19 * adv_mom_3                        &
    3991                        +           ibit18 * adv_mom_1                        &
     3995                          ( 10.0_wp * ibit20 * adv_mom_5                        &
     3996                       +     3.0_wp * ibit19 * adv_mom_3                        &
     3997                       +              ibit18 * adv_mom_1                        &
    39923998                          ) *                                                &
    39933999                                 ( v(k,j,i+1) - v(k,j,i)  )                  &
    3994                    -      (  5.0 * ibit20 * adv_mom_5                        &
    3995                        +           ibit19 * adv_mom_3                        &
     4000                   -      (  5.0_wp * ibit20 * adv_mom_5                        &
     4001                       +              ibit19 * adv_mom_3                        &
    39964002                          ) *                                                &
    39974003                                 ( v(k,j,i+2) - v(k,j,i-1) )                 &
    3998                    +      (        ibit20 * adv_mom_5                        &
     4004                   +      (           ibit20 * adv_mom_5                        &
    39994005                          ) *                                                &
    40004006                                 ( v(k,j,i+3) - v(k,j,i-2) )                 &
     
    40074013                v_comp(k) = v(k,j+1,i) + v(k,j,i)
    40084014                flux_n(k) = ( v_comp(k) - gv ) * (                           &
    4009                           ( 37.0 * ibit23 * adv_mom_5                        &
    4010                        +     7.0 * ibit22 * adv_mom_3                        &
    4011                        +           ibit21 * adv_mom_1                        &
     4015                          ( 37.0_wp * ibit23 * adv_mom_5                        &
     4016                       +     7.0_wp * ibit22 * adv_mom_3                        &
     4017                       +              ibit21 * adv_mom_1                        &
    40124018                          ) *                                                &
    40134019                                 ( v(k,j+1,i) + v(k,j,i)   )                 &
    4014                    -      (  8.0 * ibit23 * adv_mom_5                        &
    4015                        +           ibit22 * adv_mom_3                        &
     4020                   -      (  8.0_wp * ibit23 * adv_mom_5                        &
     4021                       +              ibit22 * adv_mom_3                        &
    40164022                          ) *                                                &
    40174023                                 ( v(k,j+2,i) + v(k,j-1,i) )                 &
    4018                    +      (        ibit23 * adv_mom_5                        &
     4024                   +      (           ibit23 * adv_mom_5                        &
    40194025                          ) *                                                &
    40204026                                 ( v(k,j+3,i) + v(k,j-2,i) )                 &
     
    40224028
    40234029                diss_n(k) = - ABS( v_comp(k) - gv ) * (                      &
    4024                           ( 10.0 * ibit23 * adv_mom_5                        &
    4025                        +     3.0 * ibit22 * adv_mom_3                        &
    4026                        +           ibit21 * adv_mom_1                        &
     4030                          ( 10.0_wp * ibit23 * adv_mom_5                        &
     4031                       +     3.0_wp * ibit22 * adv_mom_3                        &
     4032                       +              ibit21 * adv_mom_1                        &
    40274033                          ) *                                                &
    40284034                                 ( v(k,j+1,i) - v(k,j,i)  )                  &
    4029                    -      (  5.0 * ibit23 * adv_mom_5                        &
    4030                        +           ibit22 * adv_mom_3                        &
     4035                   -      (  5.0_wp * ibit23 * adv_mom_5                        &
     4036                       +              ibit22 * adv_mom_3                        &
    40314037                          ) *                                                &
    40324038                                 ( v(k,j+2,i) - v(k,j-1,i) )                 &
    4033                    +      (        ibit23 * adv_mom_5                        &
     4039                   +      (           ibit23 * adv_mom_5                        &
    40344040                          ) *                                                &
    40354041                                 ( v(k,j+3,i) - v(k,j-2,i) )                 &
     
    40484054                w_comp    = w(k,j-1,i) + w(k,j,i)
    40494055                flux_t(k) = w_comp  * (                                      &
    4050                           ( 37.0 * ibit26 * adv_mom_5                        &
    4051                        +     7.0 * ibit25 * adv_mom_3                        &
    4052                        +           ibit24 * adv_mom_1                        &
     4056                          ( 37.0_wp * ibit26 * adv_mom_5                        &
     4057                       +     7.0_wp * ibit25 * adv_mom_3                        &
     4058                       +              ibit24 * adv_mom_1                        &
    40534059                          ) *                                                &
    40544060                             ( v(k+1,j,i)   + v(k,j,i)    )                  &
    4055                    -      (  8.0 * ibit26 * adv_mom_5                        &
    4056                        +           ibit25 * adv_mom_3                        &
     4061                   -      (  8.0_wp * ibit26 * adv_mom_5                        &
     4062                       +              ibit25 * adv_mom_3                        &
    40574063                          ) *                                                &
    40584064                             ( v(k_pp,j,i)  + v(k-1,j,i)  )                  &
    4059                    +      (        ibit26 * adv_mom_5                        &
     4065                   +      (           ibit26 * adv_mom_5                        &
    40604066                          ) *                                                &
    40614067                             ( v(k_ppp,j,i) + v(k_mm,j,i) )                  &
     
    40634069
    40644070                diss_t(k) = - ABS( w_comp ) * (                              &
    4065                           ( 10.0 * ibit26 * adv_mom_5                        &
    4066                        +     3.0 * ibit25 * adv_mom_3                        &
    4067                        +           ibit24 * adv_mom_1                        &
     4071                          ( 10.0_wp * ibit26 * adv_mom_5                        &
     4072                       +     3.0_wp * ibit25 * adv_mom_3                        &
     4073                       +              ibit24 * adv_mom_1                        &
    40684074                          ) *                                                &
    40694075                             ( v(k+1,j,i)   - v(k,j,i)    )                  &
    4070                    -      (  5.0 * ibit26 * adv_mom_5                        &
    4071                        +           ibit25 * adv_mom_3                        &
     4076                   -      (  5.0_wp * ibit26 * adv_mom_5                        &
     4077                       +              ibit25 * adv_mom_3                        &
    40724078                          ) *                                                &
    40734079                             ( v(k_pp,j,i)  - v(k-1,j,i)  )                  &
    4074                    +      (        ibit26 * adv_mom_5                        &
     4080                   +      (           ibit26 * adv_mom_5                        &
    40754081                          ) *                                                &
    40764082                             ( v(k_ppp,j,i) - v(k_mm,j,i) )                  &
     
    40844090                     +  ( w_comp      - ( w(k-1,j-1,i) + w(k-1,j,i) )         &
    40854091                                                                  ) * ddzw(k) &
    4086                       ) * 0.5
     4092                      ) * 0.5_wp
    40874093
    40884094                tend(k,j,i) = tend(k,j,i) - (                                 &
     
    41104116                sums_vs2_ws_l(k,tn) = sums_vs2_ws_l(k,tn)                     &
    41114117                      + ( flux_n(k)                                           &
    4112                       * ( v_comp(k) - 2.0 * hom(k,1,2,0) )                    &
     4118                      * ( v_comp(k) - 2.0_wp * hom(k,1,2,0) )                    &
    41134119                      / ( v_comp(k) - gv + 1.0E-20_wp )                       &
    41144120                      +   diss_n(k)                                           &
    4115                       *   ABS( v_comp(k) - 2.0 * hom(k,1,2,0) )               &
     4121                      *   ABS( v_comp(k) - 2.0_wp * hom(k,1,2,0) )               &
    41164122                      / ( ABS( v_comp(k) - gv ) +1.0E-20_wp ) )               &
    41174123                      *   weight_substep(intermediate_timestep_count)
     
    41284134                u_comp    = u(k,j-1,i+1) + u(k,j,i+1) - gu
    41294135                flux_r(k) = u_comp * (                                        &
    4130                       37.0 * ( v(k,j,i+1) + v(k,j,i)   )                      &
    4131                     -  8.0 * ( v(k,j,i+2) + v(k,j,i-1) )                      &
    4132                     +        ( v(k,j,i+3) + v(k,j,i-2) ) ) * adv_mom_5
     4136                      37.0_wp * ( v(k,j,i+1) + v(k,j,i)   )                      &
     4137                    -  8.0_wp * ( v(k,j,i+2) + v(k,j,i-1) )                      &
     4138                    +           ( v(k,j,i+3) + v(k,j,i-2) ) ) * adv_mom_5
    41334139
    41344140                diss_r(k) = - ABS( u_comp ) * (                               &
    4135                       10.0 * ( v(k,j,i+1) - v(k,j,i) )                        &
    4136                     -  5.0 * ( v(k,j,i+2) - v(k,j,i-1) )                      &
    4137                     +        ( v(k,j,i+3) - v(k,j,i-2) ) ) * adv_mom_5
     4141                      10.0_wp * ( v(k,j,i+1) - v(k,j,i) )                        &
     4142                    -  5.0_wp * ( v(k,j,i+2) - v(k,j,i-1) )                      &
     4143                    +           ( v(k,j,i+3) - v(k,j,i-2) ) ) * adv_mom_5
    41384144
    41394145
    41404146                v_comp(k) = v(k,j+1,i) + v(k,j,i)
    41414147                flux_n(k) = ( v_comp(k) - gv ) * (                            &
    4142                       37.0 * ( v(k,j+1,i) + v(k,j,i)   )                      &
    4143                     -  8.0 * ( v(k,j+2,i) + v(k,j-1,i) )                      &
    4144                       +      ( v(k,j+3,i) + v(k,j-2,i) ) ) * adv_mom_5
     4148                      37.0_wp * ( v(k,j+1,i) + v(k,j,i)   )                      &
     4149                    -  8.0_wp * ( v(k,j+2,i) + v(k,j-1,i) )                      &
     4150                      +         ( v(k,j+3,i) + v(k,j-2,i) ) ) * adv_mom_5
    41454151
    41464152                diss_n(k) = - ABS( v_comp(k) - gv ) * (                       &
    4147                       10.0 * ( v(k,j+1,i) - v(k,j,i)   )                      &
    4148                     -  5.0 * ( v(k,j+2,i) - v(k,j-1,i) )                      &
    4149                     +        ( v(k,j+3,i) - v(k,j-2,i) ) ) * adv_mom_5
     4153                      10.0_wp * ( v(k,j+1,i) - v(k,j,i)   )                      &
     4154                    -  5.0_wp * ( v(k,j+2,i) - v(k,j-1,i) )                      &
     4155                    +           ( v(k,j+3,i) - v(k,j-2,i) ) ) * adv_mom_5
    41504156!
    41514157!--             k index has to be modified near bottom and top, else array
     
    41614167                w_comp    = w(k,j-1,i) + w(k,j,i)
    41624168                flux_t(k) = w_comp  * (                                      &
    4163                           ( 37.0 * ibit26 * adv_mom_5                        &
    4164                        +     7.0 * ibit25 * adv_mom_3                        &
    4165                        +           ibit24 * adv_mom_1                        &
     4169                          ( 37.0_wp * ibit26 * adv_mom_5                        &
     4170                       +     7.0_wp * ibit25 * adv_mom_3                        &
     4171                       +              ibit24 * adv_mom_1                        &
    41664172                          ) *                                                &
    41674173                             ( v(k+1,j,i)   + v(k,j,i)    )                  &
    4168                    -      (  8.0 * ibit26 * adv_mom_5                        &
    4169                        +           ibit25 * adv_mom_3                        &
     4174                   -      (  8.0_wp * ibit26 * adv_mom_5                        &
     4175                       +              ibit25 * adv_mom_3                        &
    41704176                          ) *                                                &
    41714177                             ( v(k_pp,j,i)  + v(k-1,j,i)  )                  &
    4172                    +      (        ibit26 * adv_mom_5                        &
     4178                   +      (           ibit26 * adv_mom_5                        &
    41734179                          ) *                                                &
    41744180                             ( v(k_ppp,j,i) + v(k_mm,j,i) )                  &
     
    41764182
    41774183                diss_t(k) = - ABS( w_comp ) * (                              &
    4178                           ( 10.0 * ibit26 * adv_mom_5                        &
    4179                        +     3.0 * ibit25 * adv_mom_3                        &
    4180                        +           ibit24 * adv_mom_1                        &
     4184                          ( 10.0_wp * ibit26 * adv_mom_5                        &
     4185                       +     3.0_wp * ibit25 * adv_mom_3                        &
     4186                       +              ibit24 * adv_mom_1                        &
    41814187                          ) *                                                &
    41824188                             ( v(k+1,j,i)   - v(k,j,i)    )                  &
    4183                    -      (  5.0 * ibit26 * adv_mom_5                        &
    4184                        +           ibit25 * adv_mom_3                        &
     4189                   -      (  5.0_wp * ibit26 * adv_mom_5                        &
     4190                       +              ibit25 * adv_mom_3                        &
    41854191                          ) *                                                &
    41864192                             ( v(k_pp,j,i)  - v(k-1,j,i)  )                  &
    4187                    +      (        ibit26 * adv_mom_5                        &
     4193                   +      (           ibit26 * adv_mom_5                        &
    41884194                          ) *                                                &
    41894195                             ( v(k_ppp,j,i) - v(k_mm,j,i) )                  &
     
    41974203                     +  ( w_comp      - ( w(k-1,j-1,i) + w(k-1,j,i) ) )       &
    41984204                                                                    * ddzw(k) &
    4199                       ) * 0.5
     4205                      ) * 0.5_wp
    42004206 
    42014207                tend(k,j,i) = tend(k,j,i) - (                                 &
     
    42234229                sums_vs2_ws_l(k,tn) = sums_vs2_ws_l(k,tn)                     &
    42244230                         + ( flux_n(k)                                        &
    4225                          * ( v_comp(k) - 2.0 * hom(k,1,2,0) )                 &
     4231                         * ( v_comp(k) - 2.0_wp * hom(k,1,2,0) )                 &
    42264232                         / ( v_comp(k) - gv + 1.0E-20_wp )                    &
    42274233                         +   diss_n(k)                                        &
    4228                          *   ABS( v_comp(k) - 2.0 * hom(k,1,2,0) )            &
     4234                         *   ABS( v_comp(k) - 2.0_wp * hom(k,1,2,0) )            &
    42294235                         / ( ABS( v_comp(k) - gv ) +1.0E-20_wp ) )            &
    42304236                         *   weight_substep(intermediate_timestep_count)
     
    43124318       REAL(wp)    ::  w_comp   !:
    43134319
    4314        gu = 2.0 * u_gtrans
    4315        gv = 2.0 * v_gtrans
     4320       gu = 2.0_wp * u_gtrans
     4321       gv = 2.0_wp * v_gtrans
    43164322
    43174323!
     
    43284334                u_comp_l                 = u(k,j-1,i) + u(k,j,i) - gu
    43294335                flux_l                   = u_comp_l * (                          &
    4330                                       ( 37.0 * ibit20 * adv_mom_5              &
    4331                                    +     7.0 * ibit19 * adv_mom_3              &
    4332                                    +           ibit18 * adv_mom_1              &
     4336                                      ( 37.0_wp * ibit20 * adv_mom_5              &
     4337                                   +     7.0_wp * ibit19 * adv_mom_3              &
     4338                                   +              ibit18 * adv_mom_1              &
    43334339                                      ) *                                      &
    43344340                                     ( v(k,j,i)   + v(k,j,i-1) )               &
    4335                                -      (  8.0 * ibit20 * adv_mom_5              &
    4336                                    +           ibit19 * adv_mom_3              &
     4341                               -      (  8.0_wp * ibit20 * adv_mom_5              &
     4342                                   +              ibit19 * adv_mom_3              &
    43374343                                      ) *                                      &
    43384344                                     ( v(k,j,i+1) + v(k,j,i-2) )               &
    4339                                +      (        ibit20 * adv_mom_5              &
     4345                               +      (           ibit20 * adv_mom_5              &
    43404346                                      ) *                                      &
    43414347                                     ( v(k,j,i+2) + v(k,j,i-3) )               &
     
    43434349
    43444350                diss_l                   = - ABS( u_comp_l ) * (                 &
    4345                                       ( 10.0 * ibit20 * adv_mom_5              &
    4346                                    +     3.0 * ibit19 * adv_mom_3              &
    4347                                    +           ibit18 * adv_mom_1              &
     4351                                      ( 10.0_wp * ibit20 * adv_mom_5              &
     4352                                   +     3.0_wp * ibit19 * adv_mom_3              &
     4353                                   +              ibit18 * adv_mom_1              &
    43484354                                      ) *                                      &
    43494355                                     ( v(k,j,i)   - v(k,j,i-1) )               &
    4350                                -      (  5.0 * ibit20 * adv_mom_5              &
    4351                                    +           ibit19 * adv_mom_3              &
     4356                               -      (  5.0_wp * ibit20 * adv_mom_5              &
     4357                                   +              ibit19 * adv_mom_3              &
    43524358                                      ) *                                      &
    43534359                                     ( v(k,j,i+1) - v(k,j,i-2) )               &
    4354                                +      (        ibit20 * adv_mom_5              &
     4360                               +      (           ibit20 * adv_mom_5              &
    43554361                                      ) *                                      &
    43564362                                     ( v(k,j,i+2) - v(k,j,i-3) )               &
     
    43594365                u_comp    = u(k,j-1,i+1) + u(k,j,i+1) - gu
    43604366                flux_r    = u_comp * (                                       &
    4361                           ( 37.0 * ibit20 * adv_mom_5                        &
    4362                        +     7.0 * ibit19 * adv_mom_3                        &
    4363                        +           ibit18 * adv_mom_1                        &
     4367                          ( 37.0_wp * ibit20 * adv_mom_5                        &
     4368                       +     7.0_wp * ibit19 * adv_mom_3                        &
     4369                       +              ibit18 * adv_mom_1                        &
    43644370                          ) *                                                &
    43654371                                 ( v(k,j,i+1) + v(k,j,i)   )                 &
    4366                    -      (  8.0 * ibit20 * adv_mom_5                        &
    4367                        +           ibit19 * adv_mom_3                        &
     4372                   -      (  8.0_wp * ibit20 * adv_mom_5                        &
     4373                       +              ibit19 * adv_mom_3                        &
    43684374                          ) *                                                &
    43694375                                 ( v(k,j,i+2) + v(k,j,i-1) )                 &
    4370                    +      (        ibit20 * adv_mom_5                        &
     4376                   +      (           ibit20 * adv_mom_5                        &
    43714377                          ) *                                                &
    43724378                                 ( v(k,j,i+3) + v(k,j,i-2) )                 &
     
    43744380
    43754381                diss_r    = - ABS( u_comp ) * (                              &
    4376                           ( 10.0 * ibit20 * adv_mom_5                        &
    4377                        +     3.0 * ibit19 * adv_mom_3                        &
    4378                        +           ibit18 * adv_mom_1                        &
     4382                          ( 10.0_wp * ibit20 * adv_mom_5                        &
     4383                       +     3.0_wp * ibit19 * adv_mom_3                        &
     4384                       +              ibit18 * adv_mom_1                        &
    43794385                          ) *                                                &
    43804386                                 ( v(k,j,i+1) - v(k,j,i)  )                  &
    4381                    -      (  5.0 * ibit20 * adv_mom_5                        &
    4382                        +           ibit19 * adv_mom_3                        &
     4387                   -      (  5.0_wp * ibit20 * adv_mom_5                        &
     4388                       +              ibit19 * adv_mom_3                        &
    43834389                          ) *                                                &
    43844390                                 ( v(k,j,i+2) - v(k,j,i-1) )                 &
    4385                    +      (        ibit20 * adv_mom_5                        &
     4391                   +      (           ibit20 * adv_mom_5                        &
    43864392                          ) *                                                &
    43874393                                 ( v(k,j,i+3) - v(k,j,i-2) )                 &
     
    43954401                v_comp_s              = v(k,j,i) + v(k,j-1,i) - gv
    43964402                flux_s                = v_comp_s    * (                       &
    4397                                    ( 37.0 * ibit23 * adv_mom_5                &
    4398                                 +     7.0 * ibit22 * adv_mom_3                &
    4399                                 +           ibit21 * adv_mom_1                &
     4403                                   ( 37.0_wp * ibit23 * adv_mom_5                &
     4404                                +     7.0_wp * ibit22 * adv_mom_3                &
     4405                                +              ibit21 * adv_mom_1                &
    44004406                                   ) *                                        &
    44014407                                     ( v(k,j,i)   + v(k,j-1,i) )              &
    4402                             -      (  8.0 * ibit23 * adv_mom_5                &
    4403                                 +           ibit22 * adv_mom_3                &
     4408                            -      (  8.0_wp * ibit23 * adv_mom_5                &
     4409                                +              ibit22 * adv_mom_3                &
    44044410                                   ) *                                        &
    44054411                                     ( v(k,j+1,i) + v(k,j-2,i) )              &
    4406                             +      (        ibit23 * adv_mom_5                &
     4412                            +      (           ibit23 * adv_mom_5                &
    44074413                                   ) *                                        &
    44084414                                     ( v(k,j+2,i) + v(k,j-3,i) )              &
     
    44104416
    44114417                diss_s                = - ABS( v_comp_s ) * (                 &
    4412                                    ( 10.0 * ibit23 * adv_mom_5                &
    4413                                 +     3.0 * ibit22 * adv_mom_3                &
    4414                                 +           ibit21 * adv_mom_1                &
     4418                                   ( 10.0_wp * ibit23 * adv_mom_5                &
     4419                                +     3.0_wp * ibit22 * adv_mom_3                &
     4420                                +              ibit21 * adv_mom_1                &
    44154421                                   ) *                                        &
    44164422                                     ( v(k,j,i)   - v(k,j-1,i) )              &
    4417                             -      (  5.0 * ibit23 * adv_mom_5                &
    4418                                 +           ibit22 * adv_mom_3                &
     4423                            -      (  5.0_wp * ibit23 * adv_mom_5                &
     4424                                +              ibit22 * adv_mom_3                &
    44194425                                   ) *                                        &
    44204426                                     ( v(k,j+1,i) - v(k,j-2,i) )              &
    4421                             +      (        ibit23 * adv_mom_5                &
     4427                            +      (           ibit23 * adv_mom_5                &
    44224428                                   ) *                                        &
    44234429                                     ( v(k,j+2,i) - v(k,j-3,i) )              &
     
    44264432                v_comp = v(k,j+1,i) + v(k,j,i)
    44274433                flux_n = ( v_comp - gv ) * (                                 &
    4428                           ( 37.0 * ibit23 * adv_mom_5                        &
    4429                        +     7.0 * ibit22 * adv_mom_3                        &
    4430                        +           ibit21 * adv_mom_1                        &
     4434                          ( 37.0_wp * ibit23 * adv_mom_5                        &
     4435                       +     7.0_wp * ibit22 * adv_mom_3                        &
     4436                       +              ibit21 * adv_mom_1                        &
    44314437                          ) *                                                &
    44324438                                 ( v(k,j+1,i) + v(k,j,i)   )                 &
    4433                    -      (  8.0 * ibit23 * adv_mom_5                        &
    4434                        +           ibit22 * adv_mom_3                        &
     4439                   -      (  8.0_wp * ibit23 * adv_mom_5                        &
     4440                       +              ibit22 * adv_mom_3                        &
    44354441                          ) *                                                &
    44364442                                 ( v(k,j+2,i) + v(k,j-1,i) )                 &
    4437                    +      (        ibit23 * adv_mom_5                        &
     4443                   +      (           ibit23 * adv_mom_5                        &
    44384444                          ) *                                                &
    44394445                                 ( v(k,j+3,i) + v(k,j-2,i) )                 &
     
    44414447
    44424448                diss_n = - ABS( v_comp - gv ) * (                         &
    4443                           ( 10.0 * ibit23 * adv_mom_5                        &
    4444                        +     3.0 * ibit22 * adv_mom_3                        &
    4445                        +           ibit21 * adv_mom_1                        &
     4449                          ( 10.0_wp * ibit23 * adv_mom_5                        &
     4450                       +     3.0_wp * ibit22 * adv_mom_3                        &
     4451                       +              ibit21 * adv_mom_1                        &
    44464452                          ) *                                                &
    44474453                                 ( v(k,j+1,i) - v(k,j,i)  )                  &
    4448                    -      (  5.0 * ibit23 * adv_mom_5                        &
    4449                        +           ibit22 * adv_mom_3                        &
     4454                   -      (  5.0_wp * ibit23 * adv_mom_5                        &
     4455                       +              ibit22 * adv_mom_3                        &
    44504456                          ) *                                                &
    44514457                                 ( v(k,j+2,i) - v(k,j-1,i) )                 &
    4452                    +      (        ibit23 * adv_mom_5                        &
     4458                   +      (           ibit23 * adv_mom_5                        &
    44534459                          ) *                                                &
    44544460                                 ( v(k,j+3,i) - v(k,j-2,i) )                 &
     
    44654471                w_comp    = w(k-1,j-1,i) + w(k-1,j,i)
    44664472                flux_d    = w_comp  * (                                      &
    4467                           ( 37.0 * ibit26 * adv_mom_5                        &
    4468                        +     7.0 * ibit25 * adv_mom_3                        &
    4469                        +           ibit24 * adv_mom_1                        &
     4473                          ( 37.0_wp * ibit26 * adv_mom_5                        &
     4474                       +     7.0_wp * ibit25 * adv_mom_3                        &
     4475                       +              ibit24 * adv_mom_1                        &
    44704476                          ) *                                                &
    44714477                             ( v(k,j,i)     + v(k-1,j,i)  )                  &
    4472                    -      (  8.0 * ibit26 * adv_mom_5                        &
    4473                        +           ibit25 * adv_mom_3                        &
     4478                   -      (  8.0_wp * ibit26 * adv_mom_5                        &
     4479                       +              ibit25 * adv_mom_3                        &
    44744480                          ) *                                                &
    44754481                             ( v(k+1,j,i)  + v(k_mm,j,i)  )                  &
    4476                    +      (        ibit26 * adv_mom_5                        &
     4482                   +      (           ibit26 * adv_mom_5                        &
    44774483                          ) *                                                &
    44784484                             ( v(k_pp,j,i) + v(k_mmm,j,i) )                  &
     
    44804486
    44814487                diss_d    = - ABS( w_comp ) * (                              &
    4482                           ( 10.0 * ibit26 * adv_mom_5                        &
    4483                        +     3.0 * ibit25 * adv_mom_3                        &
    4484                        +           ibit24 * adv_mom_1                        &
     4488                          ( 10.0_wp * ibit26 * adv_mom_5                        &
     4489                       +     3.0_wp * ibit25 * adv_mom_3                        &
     4490                       +              ibit24 * adv_mom_1                        &
    44854491                          ) *                                                &
    44864492                             ( v(k,j,i)     - v(k-1,j,i)  )                  &
    4487                    -      (  5.0 * ibit26 * adv_mom_5                        &
    4488                        +           ibit25 * adv_mom_3                        &
     4493                   -      (  5.0_wp * ibit26 * adv_mom_5                        &
     4494                       +              ibit25 * adv_mom_3                        &
    44894495                          ) *                                                &
    44904496                             ( v(k+1,j,i)  - v(k_mm,j,i)  )                  &
    4491                    +      (        ibit26 * adv_mom_5                        &
     4497                   +      (           ibit26 * adv_mom_5                        &
    44924498                          ) *                                                &
    44934499                             ( v(k_pp,j,i) - v(k_mmm,j,i) )                  &
     
    45064512                w_comp    = w(k,j-1,i) + w(k,j,i)
    45074513                flux_t    = w_comp  * (                                      &
    4508                           ( 37.0 * ibit26 * adv_mom_5                        &
    4509                        +     7.0 * ibit25 * adv_mom_3                        &
    4510                        +           ibit24 * adv_mom_1                        &
     4514                          ( 37.0_wp * ibit26 * adv_mom_5                        &
     4515                       +     7.0_wp * ibit25 * adv_mom_3                        &
     4516                       +              ibit24 * adv_mom_1                        &
    45114517                          ) *                                                &
    45124518                             ( v(k+1,j,i)   + v(k,j,i)    )                  &
    4513                    -      (  8.0 * ibit26 * adv_mom_5                        &
    4514                        +           ibit25 * adv_mom_3                        &
     4519                   -      (  8.0_wp * ibit26 * adv_mom_5                        &
     4520                       +              ibit25 * adv_mom_3                        &
    45154521                          ) *                                                &
    45164522                             ( v(k_pp,j,i)  + v(k-1,j,i)  )                  &
    4517                    +      (        ibit26 * adv_mom_5                        &
     4523                   +      (           ibit26 * adv_mom_5                        &
    45184524                          ) *                                                &
    45194525                             ( v(k_ppp,j,i) + v(k_mm,j,i) )                  &
     
    45214527
    45224528                diss_t    = - ABS( w_comp ) * (                              &
    4523                           ( 10.0 * ibit26 * adv_mom_5                        &
    4524                        +     3.0 * ibit25 * adv_mom_3                        &
    4525                        +           ibit24 * adv_mom_1                        &
     4529                          ( 10.0_wp * ibit26 * adv_mom_5                        &
     4530                       +     3.0_wp * ibit25 * adv_mom_3                        &
     4531                       +              ibit24 * adv_mom_1                        &
    45264532                          ) *                                                &
    45274533                             ( v(k+1,j,i)   - v(k,j,i)    )                  &
    4528                    -      (  5.0 * ibit26 * adv_mom_5                        &
    4529                        +           ibit25 * adv_mom_3                        &
     4534                   -      (  5.0_wp * ibit26 * adv_mom_5                        &
     4535                       +              ibit25 * adv_mom_3                        &
    45304536                          ) *                                                &
    45314537                             ( v(k_pp,j,i)  - v(k-1,j,i)  )                  &
    4532                    +      (        ibit26 * adv_mom_5                        &
     4538                   +      (           ibit26 * adv_mom_5                        &
    45334539                          ) *                                                &
    45344540                             ( v(k_ppp,j,i) - v(k_mm,j,i) )                  &
     
    45424548                     +  ( w_comp      - ( w(k-1,j-1,i) + w(k-1,j,i) )         &
    45434549                                                                  ) * ddzw(k) &
    4544                       ) * 0.5
     4550                      ) * 0.5_wp
    45454551
    45464552                tend(k,j,i) = - (                                              &
     
    45564562!                sums_vs2_ws_l(k,tn) = sums_vs2_ws_l(k,tn)                  &
    45574563!                      + ( flux_n                                           &
    4558 !                      * ( v_comp - 2.0 * hom(k,1,2,0) )                    &
     4564!                      * ( v_comp - 2.0_wp * hom(k,1,2,0) )                    &
    45594565!                      / ( v_comp - gv + 1.0E-20_wp )                       &
    45604566!                      +   diss_n                                           &
    4561 !                      *   ABS( v_comp - 2.0 * hom(k,1,2,0) )               &
     4567!                      *   ABS( v_comp - 2.0_wp * hom(k,1,2,0) )               &
    45624568!                      / ( ABS( v_comp - gv ) +1.0E-20_wp ) )               &
    45634569!                      *   weight_substep(intermediate_timestep_count)
     
    46464652       REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn) ::  swap_flux_x_local_w !:
    46474653 
    4648        gu = 2.0 * u_gtrans
    4649        gv = 2.0 * v_gtrans
     4654       gu = 2.0_wp * u_gtrans
     4655       gv = 2.0_wp * v_gtrans
    46504656!
    46514657!--   compute the whole left boundary of the processor domain
     
    46604666             u_comp                   = u(k+1,j,i) + u(k,j,i) - gu
    46614667             swap_flux_x_local_w(k,j) = u_comp * (                             &
    4662                                       ( 37.0 * ibit29 * adv_mom_5              &
    4663                                    +     7.0 * ibit28 * adv_mom_3              &
    4664                                    +           ibit27 * adv_mom_1              &
     4668                                      ( 37.0_wp * ibit29 * adv_mom_5              &
     4669                                   +     7.0_wp * ibit28 * adv_mom_3              &
     4670                                   +              ibit27 * adv_mom_1              &
    46654671                                      ) *                                      &
    46664672                                     ( w(k,j,i)   + w(k,j,i-1) )               &
    4667                                -      (  8.0 * ibit29 * adv_mom_5              &
    4668                                    +           ibit28 * adv_mom_3              &
     4673                               -      (  8.0_wp * ibit29 * adv_mom_5              &
     4674                                   +              ibit28 * adv_mom_3              &
    46694675                                      ) *                                      &
    46704676                                     ( w(k,j,i+1) + w(k,j,i-2) )               &
    4671                                +      (        ibit29 * adv_mom_5              &
     4677                               +      (           ibit29 * adv_mom_5              &
    46724678                                      ) *                                      &
    46734679                                     ( w(k,j,i+2) + w(k,j,i-3) )               &
     
    46754681
    46764682               swap_diss_x_local_w(k,j) = - ABS( u_comp ) * (                  &
    4677                                         ( 10.0 * ibit29 * adv_mom_5            &
    4678                                      +     3.0 * ibit28 * adv_mom_3            &
    4679                                      +           ibit27 * adv_mom_1            &
     4683                                        ( 10.0_wp * ibit29 * adv_mom_5            &
     4684                                     +     3.0_wp * ibit28 * adv_mom_3            &
     4685                                     +              ibit27 * adv_mom_1            &
    46804686                                        ) *                                    &
    46814687                                     ( w(k,j,i)   - w(k,j,i-1) )               &
    4682                                  -      (  5.0 * ibit29 * adv_mom_5            &
    4683                                      +           ibit28 * adv_mom_3            &
     4688                                 -      (  5.0_wp * ibit29 * adv_mom_5            &
     4689                                     +              ibit28 * adv_mom_3            &
    46844690                                        ) *                                    &
    46854691                                     ( w(k,j,i+1) - w(k,j,i-2) )               &
    4686                                  +      (        ibit29 * adv_mom_5            &
     4692                                 +      (           ibit29 * adv_mom_5            &
    46874693                                        ) *                                    &
    46884694                                     ( w(k,j,i+2) - w(k,j,i-3) )               &
     
    46954701             u_comp                   = u(k+1,j,i) + u(k,j,i) - gu
    46964702             swap_flux_x_local_w(k,j) = u_comp * (                             &
    4697                             37.0 * ( w(k,j,i) + w(k,j,i-1)   )                 &
    4698                           -  8.0 * ( w(k,j,i+1) + w(k,j,i-2) )                 &
    4699                           +        ( w(k,j,i+2) + w(k,j,i-3) ) ) * adv_mom_5
     4703                            37.0_wp * ( w(k,j,i) + w(k,j,i-1)   )                 &
     4704                          -  8.0_wp * ( w(k,j,i+1) + w(k,j,i-2) )                 &
     4705                          +           ( w(k,j,i+2) + w(k,j,i-3) ) ) * adv_mom_5
    47004706             swap_diss_x_local_w(k,j) = - ABS( u_comp ) * (                    &
    4701                             10.0 * ( w(k,j,i) - w(k,j,i-1)   )                 &
    4702                           -  5.0 * ( w(k,j,i+1) - w(k,j,i-2) )                 &
    4703                           +        ( w(k,j,i+2) - w(k,j,i-3) ) ) * adv_mom_5
     4707                            10.0_wp * ( w(k,j,i) - w(k,j,i-1)   )                 &
     4708                          -  5.0_wp * ( w(k,j,i+1) - w(k,j,i-2) )                 &
     4709                          +           ( w(k,j,i+2) - w(k,j,i-3) ) ) * adv_mom_5
    47044710
    47054711          ENDDO
     
    47184724             v_comp                 = v(k+1,j,i) + v(k,j,i) - gv
    47194725             swap_flux_y_local_w(k) = v_comp * (                              &
    4720                                     ( 37.0 * ibit32 * adv_mom_5               &
    4721                                  +     7.0 * ibit31 * adv_mom_3               &
    4722                                  +           ibit30 * adv_mom_1               &
    4723                                     ) *                                       &
     4726                                    ( 37.0_wp * ibit32 * adv_mom_5               &
     4727                                 +     7.0_wp * ibit31 * adv_mom_3               &
     4728                                 +              ibit30 * adv_mom_1               &
     4729                                    ) *                                        &
    47244730                                     ( w(k,j,i)   + w(k,j-1,i) )              &
    4725                              -      (  8.0 * ibit32 * adv_mom_5               &
    4726                                  +           ibit31 * adv_mom_3               &
     4731                             -      (  8.0_wp * ibit32 * adv_mom_5               &
     4732                                 +              ibit31 * adv_mom_3               &
    47274733                                    ) *                                       &
    47284734                                     ( w(k,j+1,i) + w(k,j-2,i) )              &
    4729                              +      (        ibit32 * adv_mom_5               &
     4735                             +      (           ibit32 * adv_mom_5               &
    47304736                                    ) *                                       &
    47314737                                     ( w(k,j+2,i) + w(k,j-3,i) )              &
     
    47334739
    47344740             swap_diss_y_local_w(k) = - ABS( v_comp ) * (                     &
    4735                                     ( 10.0 * ibit32 * adv_mom_5               &
    4736                                  +     3.0 * ibit31 * adv_mom_3               &
    4737                                  +           ibit30 * adv_mom_1               &
     4741                                    ( 10.0_wp * ibit32 * adv_mom_5               &
     4742                                 +     3.0_wp * ibit31 * adv_mom_3               &
     4743                                 +              ibit30 * adv_mom_1               &
    47384744                                    ) *                                       &
    47394745                                     ( w(k,j,i)   - w(k,j-1,i) )              &
    4740                              -      (  5.0 * ibit32 * adv_mom_5               &
    4741                                  +           ibit31 * adv_mom_3               &
     4746                             -      (  5.0_wp * ibit32 * adv_mom_5               &
     4747                                 +              ibit31 * adv_mom_3               &
    47424748                                    ) *                                       &
    47434749                                     ( w(k,j+1,i) - w(k,j-2,i) )              &
    4744                              +      (        ibit32 * adv_mom_5               &
     4750                             +      (           ibit32 * adv_mom_5               &
    47454751                                    ) *                                       &
    47464752                                     ( w(k,j+2,i) - w(k,j-3,i) )              &
     
    47534759             v_comp                 = v(k+1,j,i) + v(k,j,i) - gv
    47544760             swap_flux_y_local_w(k) = v_comp * (                              &
    4755                            37.0 * ( w(k,j,i) + w(k,j-1,i)   )                 &
    4756                          -  8.0 * ( w(k,j+1,i) +w(k,j-2,i)  )                 &
    4757                          +        ( w(k,j+2,i) + w(k,j-3,i) ) ) * adv_mom_5
     4761                           37.0_wp * ( w(k,j,i) + w(k,j-1,i)   )                 &
     4762                         -  8.0_wp * ( w(k,j+1,i) +w(k,j-2,i)  )                 &
     4763                         +           ( w(k,j+2,i) + w(k,j-3,i) ) ) * adv_mom_5
    47584764             swap_diss_y_local_w(k) = - ABS( v_comp ) * (                     &
    4759                            10.0 * ( w(k,j,i) - w(k,j-1,i)   )                 &
    4760                          -  5.0 * ( w(k,j+1,i) - w(k,j-2,i) )                 &
    4761                          +        ( w(k,j+2,i) - w(k,j-3,i) ) ) * adv_mom_5
     4765                           10.0_wp * ( w(k,j,i) - w(k,j-1,i)   )                 &
     4766                         -  5.0_wp * ( w(k,j+1,i) - w(k,j-2,i) )                 &
     4767                         +           ( w(k,j+2,i) - w(k,j-3,i) ) ) * adv_mom_5
    47624768
    47634769          ENDDO
     
    47844790                u_comp    = u(k+1,j,i+1) + u(k,j,i+1) - gu
    47854791                flux_r(k) = u_comp * (                                       &
    4786                           ( 37.0 * ibit29 * adv_mom_5                        &
    4787                        +     7.0 * ibit28 * adv_mom_3                        &
    4788                        +           ibit27 * adv_mom_1                        &
     4792                          ( 37.0_wp * ibit29 * adv_mom_5                        &
     4793                       +     7.0_wp * ibit28 * adv_mom_3                        &
     4794                       +              ibit27 * adv_mom_1                        &
    47894795                          ) *                                                &
    47904796                                 ( w(k,j,i+1) + w(k,j,i)   )                 &
    4791                    -      (  8.0 * ibit29 * adv_mom_5                        &
    4792                        +           ibit28 * adv_mom_3                        &
     4797                   -      (  8.0_wp * ibit29 * adv_mom_5                        &
     4798                       +              ibit28 * adv_mom_3                        &
    47934799                          ) *                                                &
    47944800                                 ( w(k,j,i+2) + w(k,j,i-1) )                 &
    4795                    +      (        ibit29 * adv_mom_5                        &
     4801                   +      (           ibit29 * adv_mom_5                        &
    47964802                          ) *                                                &
    47974803                                 ( w(k,j,i+3) + w(k,j,i-2) )                 &
     
    47994805
    48004806                diss_r(k) = - ABS( u_comp ) * (                              &
    4801                           ( 10.0 * ibit29 * adv_mom_5                        &
    4802                        +     3.0 * ibit28 * adv_mom_3                        &
    4803                        +           ibit27 * adv_mom_1                        &
     4807                          ( 10.0_wp * ibit29 * adv_mom_5                        &
     4808                       +     3.0_wp * ibit28 * adv_mom_3                        &
     4809                       +              ibit27 * adv_mom_1                        &
    48044810                          ) *                                                &
    48054811                                 ( w(k,j,i+1) - w(k,j,i)  )                  &
    4806                    -      (  5.0 * ibit29 * adv_mom_5                        &
    4807                        +           ibit28 * adv_mom_3                        &
     4812                   -      (  5.0_wp * ibit29 * adv_mom_5                        &
     4813                       +              ibit28 * adv_mom_3                        &
    48084814                          ) *                                                &
    48094815                                 ( w(k,j,i+2) - w(k,j,i-1) )                 &
    4810                    +      (        ibit29 * adv_mom_5                        &
     4816                   +      (           ibit29 * adv_mom_5                        &
    48114817                          ) *                                                &
    48124818                                 ( w(k,j,i+3) - w(k,j,i-2) )                 &
     
    48194825                v_comp    = v(k+1,j+1,i) + v(k,j+1,i) - gv
    48204826                flux_n(k) = v_comp * (                                       &
    4821                           ( 37.0 * ibit32 * adv_mom_5                        &
    4822                        +     7.0 * ibit31 * adv_mom_3                        &
    4823                        +           ibit30 * adv_mom_1                        &
     4827                          ( 37.0_wp * ibit32 * adv_mom_5                        &
     4828                       +     7.0_wp * ibit31 * adv_mom_3                        &
     4829                       +              ibit30 * adv_mom_1                        &
    48244830                          ) *                                                &
    48254831                                 ( w(k,j+1,i) + w(k,j,i)   )                 &
    4826                    -      (  8.0 * ibit32 * adv_mom_5                        &
    4827                        +           ibit31 * adv_mom_3                        &
    4828                           ) *                                                &
     4832                   -      (  8.0_wp * ibit32 * adv_mom_5                        &
     4833                       +              ibit31 * adv_mom_3                        &
     4834                          ) *                                                 &
    48294835                                 ( w(k,j+2,i) + w(k,j-1,i) )                 &
    4830                    +      (        ibit32 * adv_mom_5                        &
     4836                   +      (           ibit32 * adv_mom_5                        &
    48314837                          ) *                                                &
    48324838                                 ( w(k,j+3,i) + w(k,j-2,i) )                 &
     
    48344840
    48354841                diss_n(k) = - ABS( v_comp ) * (                              &
    4836                           ( 10.0 * ibit32 * adv_mom_5                        &
    4837                        +     3.0 * ibit31 * adv_mom_3                        &
    4838                        +           ibit30 * adv_mom_1                        &
     4842                          ( 10.0_wp * ibit32 * adv_mom_5                        &
     4843                       +     3.0_wp * ibit31 * adv_mom_3                        &
     4844                       +              ibit30 * adv_mom_1                        &
    48394845                          ) *                                                &
    48404846                                 ( w(k,j+1,i) - w(k,j,i)  )                  &
    4841                    -      (  5.0 * ibit32 * adv_mom_5                        &
    4842                        +           ibit31 * adv_mom_3                        &
     4847                   -      (  5.0_wp * ibit32 * adv_mom_5                        &
     4848                       +              ibit31 * adv_mom_3                        &
    48434849                          ) *                                                &
    48444850                                 ( w(k,j+2,i) - w(k,j-1,i) )                 &
    4845                    +      (        ibit32 * adv_mom_5                        &
     4851                   +      (           ibit32 * adv_mom_5                        &
    48464852                          ) *                                                &
    48474853                                 ( w(k,j+3,i) - w(k,j-2,i) )                 &
     
    48604866                w_comp    = w(k+1,j,i) + w(k,j,i)
    48614867                flux_t(k) = w_comp  * (                                      &
    4862                           ( 37.0 * ibit35 * adv_mom_5                        &
    4863                        +     7.0 * ibit34 * adv_mom_3                        &
    4864                        +           ibit33 * adv_mom_1                        &
     4868                          ( 37.0_wp * ibit35 * adv_mom_5                        &
     4869                       +     7.0_wp * ibit34 * adv_mom_3                        &
     4870                       +              ibit33 * adv_mom_1                        &
    48654871                          ) *                                                &
    48664872                             ( w(k+1,j,i)  + w(k,j,i)     )                  &
    4867                    -      (  8.0 * ibit35 * adv_mom_5                        &
    4868                        +           ibit34 * adv_mom_3                        &
     4873                   -      (  8.0_wp * ibit35 * adv_mom_5                        &
     4874                       +              ibit34 * adv_mom_3                        &
    48694875                          ) *                                                &
    48704876                             ( w(k_pp,j,i)  + w(k-1,j,i)  )                  &
    4871                    +      (        ibit35 * adv_mom_5                        &
     4877                   +      (           ibit35 * adv_mom_5                        &
    48724878                          ) *                                                &
    48734879                             ( w(k_ppp,j,i) + w(k_mm,j,i) )                  &
     
    48754881
    48764882                diss_t(k) = - ABS( w_comp ) * (                              &
    4877                           ( 10.0 * ibit35 * adv_mom_5                        &
    4878                        +     3.0 * ibit34 * adv_mom_3                        &
    4879                        +           ibit33 * adv_mom_1                        &
     4883                          ( 10.0_wp * ibit35 * adv_mom_5                        &
     4884                       +     3.0_wp * ibit34 * adv_mom_3                        &
     4885                       +              ibit33 * adv_mom_1                        &
    48804886                          ) *                                                &
    48814887                             ( w(k+1,j,i)   - w(k,j,i)    )                  &
    4882                    -      (  5.0 * ibit35 * adv_mom_5                        &
    4883                        +           ibit34 * adv_mom_3                        &
     4888                   -      (  5.0_wp * ibit35 * adv_mom_5                        &
     4889                       +              ibit34 * adv_mom_3                        &
    48844890                          ) *                                                &
    48854891                             ( w(k_pp,j,i)  - w(k-1,j,i)  )                  &
    4886                    +      (        ibit35 * adv_mom_5                        &
     4892                   +      (           ibit35 * adv_mom_5                        &
    48874893                          ) *                                                &
    48884894                             ( w(k_ppp,j,i) - w(k_mm,j,i) )                  &
     
    48964902                    +   ( w_comp      - ( w(k,j,i)   + w(k-1,j,i) ) )        &
    48974903                                                                 * ddzu(k+1) &
    4898                       ) * 0.5
     4904                      ) * 0.5_wp
    48994905
    49004906                tend(k,j,i) = tend(k,j,i) - (                                 &
     
    49274933                u_comp    = u(k+1,j,i+1) + u(k,j,i+1) - gu
    49284934                flux_r(k) = u_comp * (                                      &
    4929                       37.0 * ( w(k,j,i+1) + w(k,j,i)   )                    &
    4930                     -  8.0 * ( w(k,j,i+2) + w(k,j,i-1) )                    &
    4931                     +        ( w(k,j,i+3) + w(k,j,i-2) ) ) * adv_mom_5
     4935                      37.0_wp * ( w(k,j,i+1) + w(k,j,i)   )                    &
     4936                    -  8.0_wp * ( w(k,j,i+2) + w(k,j,i-1) )                    &
     4937                    +           ( w(k,j,i+3) + w(k,j,i-2) ) ) * adv_mom_5
    49324938
    49334939                diss_r(k) = - ABS( u_comp ) * (                             &
    4934                       10.0 * ( w(k,j,i+1) - w(k,j,i)   )                    &
    4935                     -  5.0 * ( w(k,j,i+2) - w(k,j,i-1) )                    &
    4936                     +        ( w(k,j,i+3) - w(k,j,i-2) ) ) * adv_mom_5
     4940                      10.0_wp * ( w(k,j,i+1) - w(k,j,i)   )                    &
     4941                    -  5.0_wp * ( w(k,j,i+2) - w(k,j,i-1) )                    &
     4942                    +           ( w(k,j,i+3) - w(k,j,i-2) ) ) * adv_mom_5
    49374943
    49384944                v_comp    = v(k+1,j+1,i) + v(k,j+1,i) - gv
    49394945                flux_n(k) = v_comp * (                                      &
    4940                       37.0 * ( w(k,j+1,i) + w(k,j,i)   )                    &
    4941                     -  8.0 * ( w(k,j+2,i) + w(k,j-1,i) )                    &
    4942                     +        ( w(k,j+3,i) + w(k,j-2,i) ) ) * adv_mom_5
     4946                      37.0_wp * ( w(k,j+1,i) + w(k,j,i)   )                    &
     4947                    -  8.0_wp * ( w(k,j+2,i) + w(k,j-1,i) )                    &
     4948                    +           ( w(k,j+3,i) + w(k,j-2,i) ) ) * adv_mom_5
    49434949
    49444950                diss_n(k) = - ABS( v_comp ) * (                             &
    4945                       10.0 * ( w(k,j+1,i) - w(k,j,i)   )                    &
    4946                     -  5.0 * ( w(k,j+2,i) - w(k,j-1,i) )                    &
    4947                     +        ( w(k,j+3,i) - w(k,j-2,i) ) ) * adv_mom_5
     4951                      10.0_wp * ( w(k,j+1,i) - w(k,j,i)   )                    &
     4952                    -  5.0_wp * ( w(k,j+2,i) - w(k,j-1,i) )                    &
     4953                    +           ( w(k,j+3,i) - w(k,j-2,i) ) ) * adv_mom_5
    49484954!
    49494955!--             k index has to be modified near bottom and top, else array
     
    49594965                w_comp    = w(k+1,j,i) + w(k,j,i)
    49604966                flux_t(k) = w_comp  * (                                      &
    4961                           ( 37.0 * ibit35 * adv_mom_5                        &
    4962                        +     7.0 * ibit34 * adv_mom_3                        &
    4963                        +           ibit33 * adv_mom_1                        &
     4967                          ( 37.0_wp * ibit35 * adv_mom_5                        &
     4968                       +     7.0_wp * ibit34 * adv_mom_3                        &
     4969                       +              ibit33 * adv_mom_1                        &
    49644970                          ) *                                                &
    49654971                             ( w(k+1,j,i)  + w(k,j,i)     )                  &
    4966                    -      (  8.0 * ibit35 * adv_mom_5                        &
    4967                        +           ibit34 * adv_mom_3                        &
     4972                   -      (  8.0_wp * ibit35 * adv_mom_5                        &
     4973                       +              ibit34 * adv_mom_3                        &
    49684974                          ) *                                                &
    49694975                             ( w(k_pp,j,i)  + w(k-1,j,i)  )                  &
    4970                    +      (        ibit35 * adv_mom_5                        &
     4976                   +      (           ibit35 * adv_mom_5                        &
    49714977                          ) *                                                &
    49724978                             ( w(k_ppp,j,i) + w(k_mm,j,i) )                  &
     
    49744980
    49754981                diss_t(k) = - ABS( w_comp ) * (                              &
    4976                           ( 10.0 * ibit35 * adv_mom_5                        &
    4977                        +     3.0 * ibit34 * adv_mom_3                        &
    4978                        +           ibit33 * adv_mom_1                        &
     4982                          ( 10.0_wp * ibit35 * adv_mom_5                        &
     4983                       +     3.0_wp * ibit34 * adv_mom_3                        &
     4984                       +              ibit33 * adv_mom_1                        &
    49794985                          ) *                                                &
    49804986                             ( w(k+1,j,i)   - w(k,j,i)    )                  &
    4981                    -      (  5.0 * ibit35 * adv_mom_5                        &
    4982                        +           ibit34 * adv_mom_3                        &
     4987                   -      (  5.0_wp * ibit35 * adv_mom_5                        &
     4988                       +              ibit34 * adv_mom_3                        &
    49834989                          ) *                                                &
    49844990                             ( w(k_pp,j,i)  - w(k-1,j,i)  )                  &
    4985                    +      (        ibit35 * adv_mom_5                        &
     4991                   +      (           ibit35 * adv_mom_5                        &
    49864992                          ) *                                                &
    49874993                             ( w(k_ppp,j,i) - w(k_mm,j,i) )                  &
     
    49955001                    +   ( w_comp      - ( w(k,j,i)   + w(k-1,j,i) ) )        &
    49965002                                                                 * ddzu(k+1) &
    4997                       ) * 0.5
     5003                      ) * 0.5_wp
    49985004
    49995005                tend(k,j,i) = tend(k,j,i) - (                                 &
     
    50945100       REAL(wp)    ::  w_comp   !:
    50955101
    5096        gu = 2.0 * u_gtrans
    5097        gv = 2.0 * v_gtrans
     5102       gu = 2.0_wp * u_gtrans
     5103       gv = 2.0_wp * v_gtrans
    50985104
    50995105
     
    51115117                u_comp_l                 = u(k+1,j,i) + u(k,j,i) - gu
    51125118                flux_l                   = u_comp_l * (                        &
    5113                                       ( 37.0 * ibit29 * adv_mom_5              &
    5114                                    +     7.0 * ibit28 * adv_mom_3              &
    5115                                    +           ibit27 * adv_mom_1              &
     5119                                      ( 37.0_wp * ibit29 * adv_mom_5              &
     5120                                   +     7.0_wp * ibit28 * adv_mom_3              &
     5121                                   +              ibit27 * adv_mom_1              &
    51165122                                      ) *                                      &
    51175123                                     ( w(k,j,i)   + w(k,j,i-1) )               &
    5118                                -      (  8.0 * ibit29 * adv_mom_5              &
    5119                                    +           ibit28 * adv_mom_3              &
     5124                               -      (  8.0_wp * ibit29 * adv_mom_5              &
     5125                                   +              ibit28 * adv_mom_3              &
    51205126                                      ) *                                      &
    51215127                                     ( w(k,j,i+1) + w(k,j,i-2) )               &
    5122                                +      (        ibit29 * adv_mom_5              &
     5128                               +      (           ibit29 * adv_mom_5              &
    51235129                                      ) *                                      &
    51245130                                     ( w(k,j,i+2) + w(k,j,i-3) )               &
     
    51265132
    51275133                diss_l                    = - ABS( u_comp_l ) * (              &
    5128                                         ( 10.0 * ibit29 * adv_mom_5            &
    5129                                      +     3.0 * ibit28 * adv_mom_3            &
    5130                                      +           ibit27 * adv_mom_1            &
     5134                                        ( 10.0_wp * ibit29 * adv_mom_5            &
     5135                                     +     3.0_wp * ibit28 * adv_mom_3            &
     5136                                     +              ibit27 * adv_mom_1            &
    51315137                                        ) *                                    &
    51325138                                     ( w(k,j,i)   - w(k,j,i-1) )               &
    5133                                  -      (  5.0 * ibit29 * adv_mom_5            &
    5134                                      +           ibit28 * adv_mom_3            &
     5139                                 -      (  5.0_wp * ibit29 * adv_mom_5            &
     5140                                     +              ibit28 * adv_mom_3            &
    51355141                                        ) *                                    &
    51365142                                     ( w(k,j,i+1) - w(k,j,i-2) )               &
    5137                                  +      (        ibit29 * adv_mom_5            &
     5143                                 +      (           ibit29 * adv_mom_5            &
    51385144                                        ) *                                    &
    51395145                                     ( w(k,j,i+2) - w(k,j,i-3) )               &
     
    51425148                u_comp    = u(k+1,j,i+1) + u(k,j,i+1) - gu
    51435149                flux_r    = u_comp * (                                       &
    5144                           ( 37.0 * ibit29 * adv_mom_5                        &
    5145                        +     7.0 * ibit28 * adv_mom_3                        &
    5146                        +           ibit27 * adv_mom_1                        &
     5150                          ( 37.0_wp * ibit29 * adv_mom_5                        &
     5151                       +     7.0_wp * ibit28 * adv_mom_3                        &
     5152                       +              ibit27 * adv_mom_1                        &
    51475153                          ) *                                                &
    51485154                                 ( w(k,j,i+1) + w(k,j,i)   )                 &
    5149                    -      (  8.0 * ibit29 * adv_mom_5                        &
    5150                        +           ibit28 * adv_mom_3                        &
     5155                   -      (  8.0_wp * ibit29 * adv_mom_5                        &
     5156                       +              ibit28 * adv_mom_3                        &
    51515157                          ) *                                                &
    51525158                                 ( w(k,j,i+2) + w(k,j,i-1) )                 &
    5153                    +      (        ibit29 * adv_mom_5                        &
     5159                   +      (           ibit29 * adv_mom_5                        &
    51545160                          ) *                                                &
    51555161                                 ( w(k,j,i+3) + w(k,j,i-2) )                 &
     
    51575163
    51585164                diss_r    = - ABS( u_comp ) * (                              &
    5159                           ( 10.0 * ibit29 * adv_mom_5                        &
    5160                        +     3.0 * ibit28 * adv_mom_3                        &
    5161                        +           ibit27 * adv_mom_1                        &
     5165                          ( 10.0_wp * ibit29 * adv_mom_5                        &
     5166                       +     3.0_wp * ibit28 * adv_mom_3                        &
     5167                       +              ibit27 * adv_mom_1                        &
    51625168                          ) *                                                &
    51635169                                 ( w(k,j,i+1) - w(k,j,i)  )                  &
    5164                    -      (  5.0 * ibit29 * adv_mom_5                        &
    5165                        +           ibit28 * adv_mom_3                        &
     5170                   -      (  5.0_wp * ibit29 * adv_mom_5                        &
     5171                       +              ibit28 * adv_mom_3                        &
    51665172                          ) *                                                &
    51675173                                 ( w(k,j,i+2) - w(k,j,i-1) )                 &
    5168                    +      (        ibit29 * adv_mom_5                        &
     5174                   +      (           ibit29 * adv_mom_5                        &
    51695175                          ) *                                                &
    51705176                                 ( w(k,j,i+3) - w(k,j,i-2) )                 &
     
    51765182                v_comp_s               = v(k+1,j,i) + v(k,j,i) - gv
    51775183                flux_s                 = v_comp_s * (                         &
    5178                                     ( 37.0 * ibit32 * adv_mom_5               &
    5179                                  +     7.0 * ibit31 * adv_mom_3               &
    5180                                  +           ibit30 * adv_mom_1               &
     5184                                    ( 37.0_wp * ibit32 * adv_mom_5               &
     5185                                 +     7.0_wp * ibit31 * adv_mom_3               &
     5186                                 +              ibit30 * adv_mom_1               &
    51815187                                    ) *                                       &
    51825188                                     ( w(k,j,i)   + w(k,j-1,i) )              &
    5183                              -      (  8.0 * ibit32 * adv_mom_5               &
    5184                                  +           ibit31 * adv_mom_3               &
     5189                             -      (  8.0_wp * ibit32 * adv_mom_5               &
     5190                                 +              ibit31 * adv_mom_3               &
    51855191                                    ) *                                       &
    51865192                                     ( w(k,j+1,i) + w(k,j-2,i) )              &
    5187                              +      (        ibit32 * adv_mom_5               &
     5193                             +      (           ibit32 * adv_mom_5               &
    51885194                                    ) *                                       &
    51895195                                     ( w(k,j+2,i) + w(k,j-3,i) )              &
     
    51915197
    51925198                diss_s                 = - ABS( v_comp_s ) * (                &
    5193                                     ( 10.0 * ibit32 * adv_mom_5               &
    5194                                  +     3.0 * ibit31 * adv_mom_3               &
    5195                                  +           ibit30 * adv_mom_1               &
     5199                                    ( 10.0_wp * ibit32 * adv_mom_5               &
     5200                                 +     3.0_wp * ibit31 * adv_mom_3               &
     5201                                 +              ibit30 * adv_mom_1               &
    51965202                                    ) *                                       &
    51975203                                     ( w(k,j,i)   - w(k,j-1,i) )              &
    5198                              -      (  5.0 * ibit32 * adv_mom_5               &
    5199                                  +           ibit31 * adv_mom_3               &
     5204                             -      (  5.0_wp * ibit32 * adv_mom_5               &
     5205                                 +              ibit31 * adv_mom_3               &
    52005206                                    ) *                                       &
    52015207                                     ( w(k,j+1,i) - w(k,j-2,i) )              &
    5202                              +      (        ibit32 * adv_mom_5               &
     5208                             +      (           ibit32 * adv_mom_5               &
    52035209                                    ) *                                       &
    52045210                                     ( w(k,j+2,i) - w(k,j-3,i) )              &
     
    52075213                v_comp    = v(k+1,j+1,i) + v(k,j+1,i) - gv
    52085214                flux_n    = v_comp * (                                       &
    5209                           ( 37.0 * ibit32 * adv_mom_5                        &
    5210                        +     7.0 * ibit31 * adv_mom_3                        &
    5211                        +           ibit30 * adv_mom_1                        &
    5212                           ) *                                                &
     5215                          ( 37.0_wp * ibit32 * adv_mom_5                        &
     5216                       +     7.0_wp * ibit31 * adv_mom_3                        &
     5217                       +              ibit30 * adv_mom_1                        &
     5218                          ) *                                                 &
    52135219                                 ( w(k,j+1,i) + w(k,j,i)   )                 &
    5214                    -      (  8.0 * ibit32 * adv_mom_5                        &
    5215                        +           ibit31 * adv_mom_3                        &
     5220                   -      (  8.0_wp * ibit32 * adv_mom_5                        &
     5221                       +              ibit31 * adv_mom_3                        &
    52165222                          ) *                                                &
    52175223                                 ( w(k,j+2,i) + w(k,j-1,i) )                 &
    5218                    +      (        ibit32 * adv_mom_5                        &
     5224                   +      (           ibit32 * adv_mom_5                        &
    52195225                          ) *                                                &
    52205226                                 ( w(k,j+3,i) + w(k,j-2,i) )                 &
     
    52225228
    52235229                diss_n    = - ABS( v_comp ) * (                              &
    5224                           ( 10.0 * ibit32 * adv_mom_5                        &
    5225                        +     3.0 * ibit31 * adv_mom_3                        &
    5226                        +           ibit30 * adv_mom_1                        &
     5230                          ( 10.0_wp * ibit32 * adv_mom_5                        &
     5231                       +     3.0_wp * ibit31 * adv_mom_3                        &
     5232                       +              ibit30 * adv_mom_1                        &
    52275233                          ) *                                                &
    52285234                                 ( w(k,j+1,i) - w(k,j,i)  )                  &
    5229                    -      (  5.0 * ibit32 * adv_mom_5                        &
    5230                        +           ibit31 * adv_mom_3                        &
     5235                   -      (  5.0_wp * ibit32 * adv_mom_5                        &
     5236                       +              ibit31 * adv_mom_3                        &
    52315237                          ) *                                                &
    52325238                                 ( w(k,j+2,i) - w(k,j-1,i) )                 &
    5233                    +      (        ibit32 * adv_mom_5                        &
     5239                   +      (           ibit32 * adv_mom_5                        &
    52345240                          ) *                                                &
    52355241                                 ( w(k,j+3,i) - w(k,j-2,i) )                 &
     
    52465252                w_comp    = w(k,j,i) + w(k-1,j,i)
    52475253                flux_d    = w_comp  * (                                      &
    5248                           ( 37.0 * ibit35 * adv_mom_5                        &
    5249                        +     7.0 * ibit34 * adv_mom_3                        &
    5250                        +           ibit33 * adv_mom_1                        &
     5254                          ( 37.0_wp * ibit35 * adv_mom_5                        &
     5255                       +     7.0_wp * ibit34 * adv_mom_3                        &
     5256                       +              ibit33 * adv_mom_1                        &
    52515257                          ) *                                                &
    52525258                             ( w(k,j,i)    + w(k-1,j,i)   )                  &
    5253                    -      (  8.0 * ibit35 * adv_mom_5                        &
    5254                        +           ibit34 * adv_mom_3                        &
     5259                   -      (  8.0_wp * ibit35 * adv_mom_5                        &
     5260                       +              ibit34 * adv_mom_3                        &
    52555261                          ) *                                                &
    52565262                             ( w(k+1,j,i)  + w(k_mm,j,i)  )                  &
    5257                    +      (        ibit35 * adv_mom_5                        &
     5263                   +      (           ibit35 * adv_mom_5                        &
    52585264                          ) *                                                &
    52595265                             ( w(k_pp,j,i) + w(k_mmm,j,i) )                  &
     
    52615267
    52625268                diss_d    = - ABS( w_comp ) * (                              &
    5263                           ( 10.0 * ibit35 * adv_mom_5                        &
    5264                        +     3.0 * ibit34 * adv_mom_3                        &
    5265                        +           ibit33 * adv_mom_1                        &
     5269                          ( 10.0_wp * ibit35 * adv_mom_5                        &
     5270                       +     3.0_wp * ibit34 * adv_mom_3                        &
     5271                       +              ibit33 * adv_mom_1                        &
    52665272                          ) *                                                &
    52675273                             ( w(k,j,i)    - w(k-1,j,i)   )                  &
    5268                    -      (  5.0 * ibit35 * adv_mom_5                        &
    5269                        +           ibit34 * adv_mom_3                        &
     5274                   -      (  5.0_wp * ibit35 * adv_mom_5                        &
     5275                       +              ibit34 * adv_mom_3                        &
    52705276                          ) *                                                &
    52715277                             ( w(k+1,j,i)  - w(k_mm,j,i)  )                  &
    5272                    +      (        ibit35 * adv_mom_5                        &
     5278                   +      (           ibit35 * adv_mom_5                        &
    52735279                          ) *                                                &
    52745280                             ( w(k_pp,j,i) - w(k_mmm,j,i) )                  &
     
    52885294                w_comp    = w(k+1,j,i) + w(k,j,i)
    52895295                flux_t    = w_comp  * (                                      &
    5290                           ( 37.0 * ibit35 * adv_mom_5                        &
    5291                        +     7.0 * ibit34 * adv_mom_3                        &
    5292                        +           ibit33 * adv_mom_1                        &
     5296                          ( 37.0_wp * ibit35 * adv_mom_5                        &
     5297                       +     7.0_wp * ibit34 * adv_mom_3                        &
     5298                       +              ibit33 * adv_mom_1                        &
    52935299                          ) *                                                &
    52945300                             ( w(k+1,j,i)  + w(k,j,i)     )                  &
    5295                    -      (  8.0 * ibit35 * adv_mom_5                        &
    5296                        +           ibit34 * adv_mom_3                        &
     5301                   -      (  8.0_wp * ibit35 * adv_mom_5                        &
     5302                       +              ibit34 * adv_mom_3                        &
    52975303                          ) *                                                &
    52985304                             ( w(k_pp,j,i)  + w(k-1,j,i)  )                  &
    5299                    +      (        ibit35 * adv_mom_5                        &
     5305                   +      (           ibit35 * adv_mom_5                        &
    53005306                          ) *                                                &
    53015307                             ( w(k_ppp,j,i) + w(k_mm,j,i) )                  &
     
    53035309
    53045310                diss_t    = - ABS( w_comp ) * (                              &
    5305                           ( 10.0 * ibit35 * adv_mom_5                        &
    5306                        +     3.0 * ibit34 * adv_mom_3                        &
    5307                        +           ibit33 * adv_mom_1                        &
     5311                          ( 10.0_wp * ibit35 * adv_mom_5                        &
     5312                       +     3.0_wp * ibit34 * adv_mom_3                        &
     5313                       +              ibit33 * adv_mom_1                        &
    53085314                          ) *                                                &
    53095315                             ( w(k+1,j,i)   - w(k,j,i)    )                  &
    5310                    -      (  5.0 * ibit35 * adv_mom_5                        &
    5311                        +           ibit34 * adv_mom_3                        &
     5316                   -      (  5.0_wp * ibit35 * adv_mom_5                        &
     5317                       +              ibit34 * adv_mom_3                        &
    53125318                          ) *                                                &
    53135319                             ( w(k_pp,j,i)  - w(k-1,j,i)  )                  &
    5314                    +      (        ibit35 * adv_mom_5                        &
     5320                   +      (           ibit35 * adv_mom_5                        &
    53155321                          ) *                                                &
    53165322                             ( w(k_ppp,j,i) - w(k_mm,j,i) )                  &
     
    53245330                    +   ( w_comp      - ( w(k,j,i)   + w(k-1,j,i) ) )        &
    53255331                                                                 * ddzu(k+1) &
    5326                       ) * 0.5
     5332                      ) * 0.5_wp
    53275333
    53285334                tend(k,j,i) = - (                                                &
Note: See TracChangeset for help on using the changeset viewer.