Ignore:
Timestamp:
Oct 7, 2015 11:56:08 PM (9 years ago)
Author:
knoop
Message:

Code annotations made doxygen readable

File:
1 edited

Legend:

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

    r1640 r1682  
    1  MODULE advec_ws
    2 
     1!> @file advec_ws.f90
    32!--------------------------------------------------------------------------------!
    43! This file is part of PALM.
     
    2019! Current revisions:
    2120! ------------------
    22 !
     21! Code annotations made doxygen readable
    2322!
    2423! Former revisions:
     
    136135! Description:
    137136! ------------
    138 ! Advection scheme for scalars and momentum using the flux formulation of
    139 ! Wicker and Skamarock 5th order. Additionally the module contains of a
    140 ! routine using for initialisation and steering of the statical evaluation.
    141 ! The computation of turbulent fluxes takes place inside the advection
    142 ! routines.
    143 ! Near non-cyclic boundaries the order of the applied advection scheme is
    144 ! degraded.
    145 ! A divergence correction is applied. It is necessary for topography, since
    146 ! the divergence is not sufficiently reduced, resulting in erroneous fluxes and
    147 ! partly numerical instabilities.
     137!> Advection scheme for scalars and momentum using the flux formulation of
     138!> Wicker and Skamarock 5th order. Additionally the module contains of a
     139!> routine using for initialisation and steering of the statical evaluation.
     140!> The computation of turbulent fluxes takes place inside the advection
     141!> routines.
     142!> Near non-cyclic boundaries the order of the applied advection scheme is
     143!> degraded.
     144!> A divergence correction is applied. It is necessary for topography, since
     145!> the divergence is not sufficiently reduced, resulting in erroneous fluxes and
     146!> partly numerical instabilities.
    148147!-----------------------------------------------------------------------------!
     148 MODULE advec_ws
     149
     150 
    149151
    150152    PRIVATE
     
    197199
    198200!------------------------------------------------------------------------------!
    199 ! Initialization of WS-scheme
     201! Description:
     202! ------------
     203!> Initialization of WS-scheme
    200204!------------------------------------------------------------------------------!
    201205    SUBROUTINE ws_init
     
    351355
    352356!------------------------------------------------------------------------------!
    353 ! Initialize variables used for storing statistic quantities (fluxes, variances)
     357! Description:
     358! ------------
     359!> Initialize variables used for storing statistic quantities (fluxes, variances)
    354360!------------------------------------------------------------------------------!
    355361    SUBROUTINE ws_statistics
     
    395401
    396402!------------------------------------------------------------------------------!
    397 ! Scalar advection - Call for grid point i,j
     403! Description:
     404! ------------
     405!> Scalar advection - Call for grid point i,j
    398406!------------------------------------------------------------------------------!
    399407    SUBROUTINE advec_s_ws_ij( i, j, sk, sk_char, swap_flux_y_local,            &
     
    428436       IMPLICIT NONE
    429437
    430        CHARACTER (LEN = *), INTENT(IN) ::  sk_char !:
     438       CHARACTER (LEN = *), INTENT(IN) ::  sk_char !<
    431439       
    432        INTEGER(iwp) ::  i     !:
    433        INTEGER(iwp) ::  ibit0 !:
    434        INTEGER(iwp) ::  ibit1 !:
    435        INTEGER(iwp) ::  ibit2 !:
    436        INTEGER(iwp) ::  ibit3 !:
    437        INTEGER(iwp) ::  ibit4 !:
    438        INTEGER(iwp) ::  ibit5 !:
    439        INTEGER(iwp) ::  ibit6 !:
    440        INTEGER(iwp) ::  ibit7 !:
    441        INTEGER(iwp) ::  ibit8 !:
    442        INTEGER(iwp) ::  i_omp !:
    443        INTEGER(iwp) ::  j     !:
    444        INTEGER(iwp) ::  k     !:
    445        INTEGER(iwp) ::  k_mm  !:
    446        INTEGER(iwp) ::  k_mmm !:
    447        INTEGER(iwp) ::  k_pp  !:
    448        INTEGER(iwp) ::  k_ppp !:
    449        INTEGER(iwp) ::  tn    !:
     440       INTEGER(iwp) ::  i     !<
     441       INTEGER(iwp) ::  ibit0 !<
     442       INTEGER(iwp) ::  ibit1 !<
     443       INTEGER(iwp) ::  ibit2 !<
     444       INTEGER(iwp) ::  ibit3 !<
     445       INTEGER(iwp) ::  ibit4 !<
     446       INTEGER(iwp) ::  ibit5 !<
     447       INTEGER(iwp) ::  ibit6 !<
     448       INTEGER(iwp) ::  ibit7 !<
     449       INTEGER(iwp) ::  ibit8 !<
     450       INTEGER(iwp) ::  i_omp !<
     451       INTEGER(iwp) ::  j     !<
     452       INTEGER(iwp) ::  k     !<
     453       INTEGER(iwp) ::  k_mm  !<
     454       INTEGER(iwp) ::  k_mmm !<
     455       INTEGER(iwp) ::  k_pp  !<
     456       INTEGER(iwp) ::  k_ppp !<
     457       INTEGER(iwp) ::  tn    !<
    450458       
    451        REAL(wp)     ::  diss_d !:
    452        REAL(wp)     ::  div    !:
    453        REAL(wp)     ::  flux_d !:
    454        REAL(wp)     ::  fd_1   !:
    455        REAL(wp)     ::  fl_1   !:
    456        REAL(wp)     ::  fn_1   !:
    457        REAL(wp)     ::  fr_1   !:
    458        REAL(wp)     ::  fs_1   !:
    459        REAL(wp)     ::  ft_1   !:
    460        REAL(wp)     ::  phi_d  !:
    461        REAL(wp)     ::  phi_l  !:
    462        REAL(wp)     ::  phi_n  !:
    463        REAL(wp)     ::  phi_r  !:
    464        REAL(wp)     ::  phi_s  !:
    465        REAL(wp)     ::  phi_t  !:
    466        REAL(wp)     ::  rd     !:
    467        REAL(wp)     ::  rl     !:
    468        REAL(wp)     ::  rn     !:
    469        REAL(wp)     ::  rr     !:
    470        REAL(wp)     ::  rs     !:
    471        REAL(wp)     ::  rt     !:
    472        REAL(wp)     ::  u_comp !:
    473        REAL(wp)     ::  v_comp !:
     459       REAL(wp)     ::  diss_d !<
     460       REAL(wp)     ::  div    !<
     461       REAL(wp)     ::  flux_d !<
     462       REAL(wp)     ::  fd_1   !<
     463       REAL(wp)     ::  fl_1   !<
     464       REAL(wp)     ::  fn_1   !<
     465       REAL(wp)     ::  fr_1   !<
     466       REAL(wp)     ::  fs_1   !<
     467       REAL(wp)     ::  ft_1   !<
     468       REAL(wp)     ::  phi_d  !<
     469       REAL(wp)     ::  phi_l  !<
     470       REAL(wp)     ::  phi_n  !<
     471       REAL(wp)     ::  phi_r  !<
     472       REAL(wp)     ::  phi_s  !<
     473       REAL(wp)     ::  phi_t  !<
     474       REAL(wp)     ::  rd     !<
     475       REAL(wp)     ::  rl     !<
     476       REAL(wp)     ::  rn     !<
     477       REAL(wp)     ::  rr     !<
     478       REAL(wp)     ::  rs     !<
     479       REAL(wp)     ::  rt     !<
     480       REAL(wp)     ::  u_comp !<
     481       REAL(wp)     ::  v_comp !<
    474482       
    475483#if defined( __nopointer )
    476        REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  sk !:
     484       REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  sk !<
    477485#else
    478        REAL(wp), DIMENSION(:,:,:), POINTER    ::  sk     !:
     486       REAL(wp), DIMENSION(:,:,:), POINTER    ::  sk     !<
    479487#endif
    480        REAL(wp), DIMENSION(nzb:nzt+1)         ::  diss_n !:
    481        REAL(wp), DIMENSION(nzb:nzt+1)         ::  diss_r !:
    482        REAL(wp), DIMENSION(nzb:nzt+1)         ::  diss_t !:
    483        REAL(wp), DIMENSION(nzb:nzt+1)         ::  flux_n !:
    484        REAL(wp), DIMENSION(nzb:nzt+1)         ::  flux_r !:
    485        REAL(wp), DIMENSION(nzb:nzt+1)         ::  flux_t !:
     488       REAL(wp), DIMENSION(nzb:nzt+1)         ::  diss_n !<
     489       REAL(wp), DIMENSION(nzb:nzt+1)         ::  diss_r !<
     490       REAL(wp), DIMENSION(nzb:nzt+1)         ::  diss_t !<
     491       REAL(wp), DIMENSION(nzb:nzt+1)         ::  flux_n !<
     492       REAL(wp), DIMENSION(nzb:nzt+1)         ::  flux_r !<
     493       REAL(wp), DIMENSION(nzb:nzt+1)         ::  flux_t !<
    486494       
    487        REAL(wp), DIMENSION(nzb+1:nzt,0:threads_per_task-1) ::  swap_diss_y_local !:
    488        REAL(wp), DIMENSION(nzb+1:nzt,0:threads_per_task-1) ::  swap_flux_y_local !:
     495       REAL(wp), DIMENSION(nzb+1:nzt,0:threads_per_task-1) ::  swap_diss_y_local !<
     496       REAL(wp), DIMENSION(nzb+1:nzt,0:threads_per_task-1) ::  swap_flux_y_local !<
    489497       
    490        REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn,0:threads_per_task-1) ::  swap_diss_x_local !:
    491        REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn,0:threads_per_task-1) ::  swap_flux_x_local !:
     498       REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn,0:threads_per_task-1) ::  swap_diss_x_local !<
     499       REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn,0:threads_per_task-1) ::  swap_flux_x_local !<
    492500       
    493501
     
    12001208
    12011209!------------------------------------------------------------------------------!
    1202 ! Advection of u-component - Call for grid point i,j
     1210! Description:
     1211! ------------
     1212!> Advection of u-component - Call for grid point i,j
    12031213!------------------------------------------------------------------------------!
    12041214    SUBROUTINE advec_u_ws_ij( i, j, i_omp, tn )
     
    12261236       IMPLICIT NONE
    12271237
    1228        INTEGER(iwp) ::  i      !:
    1229        INTEGER(iwp) ::  ibit9  !:
    1230        INTEGER(iwp) ::  ibit10 !:
    1231        INTEGER(iwp) ::  ibit11 !:
    1232        INTEGER(iwp) ::  ibit12 !:
    1233        INTEGER(iwp) ::  ibit13 !:
    1234        INTEGER(iwp) ::  ibit14 !:
    1235        INTEGER(iwp) ::  ibit15 !:
    1236        INTEGER(iwp) ::  ibit16 !:
    1237        INTEGER(iwp) ::  ibit17 !:
    1238        INTEGER(iwp) ::  i_omp  !:
    1239        INTEGER(iwp) ::  j      !:
    1240        INTEGER(iwp) ::  k      !:
    1241        INTEGER(iwp) ::  k_mm   !:
    1242        INTEGER(iwp) ::  k_pp   !:
    1243        INTEGER(iwp) ::  k_ppp  !:
    1244        INTEGER(iwp) ::  tn     !:
     1238       INTEGER(iwp) ::  i      !<
     1239       INTEGER(iwp) ::  ibit9  !<
     1240       INTEGER(iwp) ::  ibit10 !<
     1241       INTEGER(iwp) ::  ibit11 !<
     1242       INTEGER(iwp) ::  ibit12 !<
     1243       INTEGER(iwp) ::  ibit13 !<
     1244       INTEGER(iwp) ::  ibit14 !<
     1245       INTEGER(iwp) ::  ibit15 !<
     1246       INTEGER(iwp) ::  ibit16 !<
     1247       INTEGER(iwp) ::  ibit17 !<
     1248       INTEGER(iwp) ::  i_omp  !<
     1249       INTEGER(iwp) ::  j      !<
     1250       INTEGER(iwp) ::  k      !<
     1251       INTEGER(iwp) ::  k_mm   !<
     1252       INTEGER(iwp) ::  k_pp   !<
     1253       INTEGER(iwp) ::  k_ppp  !<
     1254       INTEGER(iwp) ::  tn     !<
    12451255       
    1246        REAL(wp)    ::  diss_d   !:
    1247        REAL(wp)    ::  div      !:
    1248        REAL(wp)    ::  flux_d   !:
    1249        REAL(wp)    ::  gu       !:
    1250        REAL(wp)    ::  gv       !:
    1251        REAL(wp)    ::  u_comp_l !:
    1252        REAL(wp)    ::  v_comp   !:
    1253        REAL(wp)    ::  w_comp   !:
     1256       REAL(wp)    ::  diss_d   !<
     1257       REAL(wp)    ::  div      !<
     1258       REAL(wp)    ::  flux_d   !<
     1259       REAL(wp)    ::  gu       !<
     1260       REAL(wp)    ::  gv       !<
     1261       REAL(wp)    ::  u_comp_l !<
     1262       REAL(wp)    ::  v_comp   !<
     1263       REAL(wp)    ::  w_comp   !<
    12541264       
    1255        REAL(wp), DIMENSION(nzb:nzt+1) ::  diss_n !:
    1256        REAL(wp), DIMENSION(nzb:nzt+1) ::  diss_r !:
    1257        REAL(wp), DIMENSION(nzb:nzt+1) ::  diss_t !:
    1258        REAL(wp), DIMENSION(nzb:nzt+1) ::  flux_n !:
    1259        REAL(wp), DIMENSION(nzb:nzt+1) ::  flux_r !:
    1260        REAL(wp), DIMENSION(nzb:nzt+1) ::  flux_t !:
    1261        REAL(wp), DIMENSION(nzb:nzt+1) ::  u_comp !:
     1265       REAL(wp), DIMENSION(nzb:nzt+1) ::  diss_n !<
     1266       REAL(wp), DIMENSION(nzb:nzt+1) ::  diss_r !<
     1267       REAL(wp), DIMENSION(nzb:nzt+1) ::  diss_t !<
     1268       REAL(wp), DIMENSION(nzb:nzt+1) ::  flux_n !<
     1269       REAL(wp), DIMENSION(nzb:nzt+1) ::  flux_r !<
     1270       REAL(wp), DIMENSION(nzb:nzt+1) ::  flux_t !<
     1271       REAL(wp), DIMENSION(nzb:nzt+1) ::  u_comp !<
    12621272
    12631273       gu = 2.0_wp * u_gtrans
     
    16731683
    16741684!-----------------------------------------------------------------------------!
    1675 ! Advection of v-component - Call for grid point i,j
     1685! Description:
     1686! ------------
     1687!> Advection of v-component - Call for grid point i,j
    16761688!-----------------------------------------------------------------------------!
    16771689   SUBROUTINE advec_v_ws_ij( i, j, i_omp, tn )
     
    16991711       IMPLICIT NONE
    17001712
    1701        INTEGER(iwp)  ::  i      !:
    1702        INTEGER(iwp)  ::  ibit18 !:
    1703        INTEGER(iwp)  ::  ibit19 !:
    1704        INTEGER(iwp)  ::  ibit20 !:
    1705        INTEGER(iwp)  ::  ibit21 !:
    1706        INTEGER(iwp)  ::  ibit22 !:
    1707        INTEGER(iwp)  ::  ibit23 !:
    1708        INTEGER(iwp)  ::  ibit24 !:
    1709        INTEGER(iwp)  ::  ibit25 !:
    1710        INTEGER(iwp)  ::  ibit26 !:
    1711        INTEGER(iwp)  ::  i_omp  !:
    1712        INTEGER(iwp)  ::  j      !:
    1713        INTEGER(iwp)  ::  k      !:
    1714        INTEGER(iwp)  ::  k_mm   !:
    1715        INTEGER(iwp)  ::  k_pp   !:
    1716        INTEGER(iwp)  ::  k_ppp  !:
    1717        INTEGER(iwp)  ::  tn     !:
     1713       INTEGER(iwp)  ::  i      !<
     1714       INTEGER(iwp)  ::  ibit18 !<
     1715       INTEGER(iwp)  ::  ibit19 !<
     1716       INTEGER(iwp)  ::  ibit20 !<
     1717       INTEGER(iwp)  ::  ibit21 !<
     1718       INTEGER(iwp)  ::  ibit22 !<
     1719       INTEGER(iwp)  ::  ibit23 !<
     1720       INTEGER(iwp)  ::  ibit24 !<
     1721       INTEGER(iwp)  ::  ibit25 !<
     1722       INTEGER(iwp)  ::  ibit26 !<
     1723       INTEGER(iwp)  ::  i_omp  !<
     1724       INTEGER(iwp)  ::  j      !<
     1725       INTEGER(iwp)  ::  k      !<
     1726       INTEGER(iwp)  ::  k_mm   !<
     1727       INTEGER(iwp)  ::  k_pp   !<
     1728       INTEGER(iwp)  ::  k_ppp  !<
     1729       INTEGER(iwp)  ::  tn     !<
    17181730       
    1719        REAL(wp)     ::  diss_d   !:
    1720        REAL(wp)     ::  div      !:
    1721        REAL(wp)     ::  flux_d   !:
    1722        REAL(wp)     ::  gu       !:
    1723        REAL(wp)     ::  gv       !:
    1724        REAL(wp)     ::  u_comp   !:
    1725        REAL(wp)     ::  v_comp_l !:
    1726        REAL(wp)     ::  w_comp   !:
     1731       REAL(wp)     ::  diss_d   !<
     1732       REAL(wp)     ::  div      !<
     1733       REAL(wp)     ::  flux_d   !<
     1734       REAL(wp)     ::  gu       !<
     1735       REAL(wp)     ::  gv       !<
     1736       REAL(wp)     ::  u_comp   !<
     1737       REAL(wp)     ::  v_comp_l !<
     1738       REAL(wp)     ::  w_comp   !<
    17271739       
    1728        REAL(wp), DIMENSION(nzb:nzt+1)  ::  diss_n !:
    1729        REAL(wp), DIMENSION(nzb:nzt+1)  ::  diss_r !:
    1730        REAL(wp), DIMENSION(nzb:nzt+1)  ::  diss_t !:
    1731        REAL(wp), DIMENSION(nzb:nzt+1)  ::  flux_n !:
    1732        REAL(wp), DIMENSION(nzb:nzt+1)  ::  flux_r !:
    1733        REAL(wp), DIMENSION(nzb:nzt+1)  ::  flux_t !:
    1734        REAL(wp), DIMENSION(nzb:nzt+1)  ::  v_comp !:
     1740       REAL(wp), DIMENSION(nzb:nzt+1)  ::  diss_n !<
     1741       REAL(wp), DIMENSION(nzb:nzt+1)  ::  diss_r !<
     1742       REAL(wp), DIMENSION(nzb:nzt+1)  ::  diss_t !<
     1743       REAL(wp), DIMENSION(nzb:nzt+1)  ::  flux_n !<
     1744       REAL(wp), DIMENSION(nzb:nzt+1)  ::  flux_r !<
     1745       REAL(wp), DIMENSION(nzb:nzt+1)  ::  flux_t !<
     1746       REAL(wp), DIMENSION(nzb:nzt+1)  ::  v_comp !<
    17351747
    17361748       gu = 2.0_wp * u_gtrans
     
    21562168
    21572169!------------------------------------------------------------------------------!
    2158 ! Advection of w-component - Call for grid point i,j
     2170! Description:
     2171! ------------
     2172!> Advection of w-component - Call for grid point i,j
    21592173!------------------------------------------------------------------------------!
    21602174    SUBROUTINE advec_w_ws_ij( i, j, i_omp, tn )
     
    21832197       IMPLICIT NONE
    21842198
    2185        INTEGER(iwp) ::  i      !:
    2186        INTEGER(iwp) ::  ibit27 !:
    2187        INTEGER(iwp) ::  ibit28 !:
    2188        INTEGER(iwp) ::  ibit29 !:
    2189        INTEGER(iwp) ::  ibit30 !:
    2190        INTEGER(iwp) ::  ibit31 !:
    2191        INTEGER(iwp) ::  ibit32 !:
    2192        INTEGER(iwp) ::  ibit33 !:
    2193        INTEGER(iwp) ::  ibit34 !:
    2194        INTEGER(iwp) ::  ibit35 !:
    2195        INTEGER(iwp) ::  i_omp  !:
    2196        INTEGER(iwp) ::  j      !:
    2197        INTEGER(iwp) ::  k      !:
    2198        INTEGER(iwp) ::  k_mm   !:
    2199        INTEGER(iwp) ::  k_pp   !:
    2200        INTEGER(iwp) ::  k_ppp  !:
    2201        INTEGER(iwp) ::  tn     !:
     2199       INTEGER(iwp) ::  i      !<
     2200       INTEGER(iwp) ::  ibit27 !<
     2201       INTEGER(iwp) ::  ibit28 !<
     2202       INTEGER(iwp) ::  ibit29 !<
     2203       INTEGER(iwp) ::  ibit30 !<
     2204       INTEGER(iwp) ::  ibit31 !<
     2205       INTEGER(iwp) ::  ibit32 !<
     2206       INTEGER(iwp) ::  ibit33 !<
     2207       INTEGER(iwp) ::  ibit34 !<
     2208       INTEGER(iwp) ::  ibit35 !<
     2209       INTEGER(iwp) ::  i_omp  !<
     2210       INTEGER(iwp) ::  j      !<
     2211       INTEGER(iwp) ::  k      !<
     2212       INTEGER(iwp) ::  k_mm   !<
     2213       INTEGER(iwp) ::  k_pp   !<
     2214       INTEGER(iwp) ::  k_ppp  !<
     2215       INTEGER(iwp) ::  tn     !<
    22022216       
    2203        REAL(wp)    ::  diss_d  !:
    2204        REAL(wp)    ::  div     !:
    2205        REAL(wp)    ::  flux_d  !:
    2206        REAL(wp)    ::  gu      !:
    2207        REAL(wp)    ::  gv      !:
    2208        REAL(wp)    ::  u_comp  !:
    2209        REAL(wp)    ::  v_comp  !:
    2210        REAL(wp)    ::  w_comp  !:
     2217       REAL(wp)    ::  diss_d  !<
     2218       REAL(wp)    ::  div     !<
     2219       REAL(wp)    ::  flux_d  !<
     2220       REAL(wp)    ::  gu      !<
     2221       REAL(wp)    ::  gv      !<
     2222       REAL(wp)    ::  u_comp  !<
     2223       REAL(wp)    ::  v_comp  !<
     2224       REAL(wp)    ::  w_comp  !<
    22112225       
    2212        REAL(wp), DIMENSION(nzb:nzt+1)  ::  diss_n !:
    2213        REAL(wp), DIMENSION(nzb:nzt+1)  ::  diss_r !:
    2214        REAL(wp), DIMENSION(nzb:nzt+1)  ::  diss_t !:
    2215        REAL(wp), DIMENSION(nzb:nzt+1)  ::  flux_n !:
    2216        REAL(wp), DIMENSION(nzb:nzt+1)  ::  flux_r !:
    2217        REAL(wp), DIMENSION(nzb:nzt+1)  ::  flux_t !:
     2226       REAL(wp), DIMENSION(nzb:nzt+1)  ::  diss_n !<
     2227       REAL(wp), DIMENSION(nzb:nzt+1)  ::  diss_r !<
     2228       REAL(wp), DIMENSION(nzb:nzt+1)  ::  diss_t !<
     2229       REAL(wp), DIMENSION(nzb:nzt+1)  ::  flux_n !<
     2230       REAL(wp), DIMENSION(nzb:nzt+1)  ::  flux_r !<
     2231       REAL(wp), DIMENSION(nzb:nzt+1)  ::  flux_t !<
    22182232
    22192233       gu = 2.0_wp * u_gtrans
     
    26132627
    26142628!------------------------------------------------------------------------------!
    2615 ! Scalar advection - Call for all grid points
     2629! Description:
     2630! ------------
     2631!> Scalar advection - Call for all grid points
    26162632!------------------------------------------------------------------------------!
    26172633    SUBROUTINE advec_s_ws( sk, sk_char )
     
    26422658       IMPLICIT NONE
    26432659
    2644        CHARACTER (LEN = *), INTENT(IN)    ::  sk_char !:
     2660       CHARACTER (LEN = *), INTENT(IN)    ::  sk_char !<
    26452661       
    2646        INTEGER(iwp) ::  i      !:
    2647        INTEGER(iwp) ::  ibit0  !:
    2648        INTEGER(iwp) ::  ibit1  !:
    2649        INTEGER(iwp) ::  ibit2  !:
    2650        INTEGER(iwp) ::  ibit3  !:
    2651        INTEGER(iwp) ::  ibit4  !:
    2652        INTEGER(iwp) ::  ibit5  !:
    2653        INTEGER(iwp) ::  ibit6  !:
    2654        INTEGER(iwp) ::  ibit7  !:
    2655        INTEGER(iwp) ::  ibit8  !:
    2656        INTEGER(iwp) ::  j      !:
    2657        INTEGER(iwp) ::  k      !:
    2658        INTEGER(iwp) ::  k_mm   !:
    2659        INTEGER(iwp) ::  k_mmm  !:
    2660        INTEGER(iwp) ::  k_pp   !:
    2661        INTEGER(iwp) ::  k_ppp  !:
    2662        INTEGER(iwp) ::  tn = 0 !:
     2662       INTEGER(iwp) ::  i      !<
     2663       INTEGER(iwp) ::  ibit0  !<
     2664       INTEGER(iwp) ::  ibit1  !<
     2665       INTEGER(iwp) ::  ibit2  !<
     2666       INTEGER(iwp) ::  ibit3  !<
     2667       INTEGER(iwp) ::  ibit4  !<
     2668       INTEGER(iwp) ::  ibit5  !<
     2669       INTEGER(iwp) ::  ibit6  !<
     2670       INTEGER(iwp) ::  ibit7  !<
     2671       INTEGER(iwp) ::  ibit8  !<
     2672       INTEGER(iwp) ::  j      !<
     2673       INTEGER(iwp) ::  k      !<
     2674       INTEGER(iwp) ::  k_mm   !<
     2675       INTEGER(iwp) ::  k_mmm  !<
     2676       INTEGER(iwp) ::  k_pp   !<
     2677       INTEGER(iwp) ::  k_ppp  !<
     2678       INTEGER(iwp) ::  tn = 0 !<
    26632679       
    26642680#if defined( __nopointer )
    2665        REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  sk !:
     2681       REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  sk !<
    26662682#else
    2667        REAL(wp), DIMENSION(:,:,:), POINTER ::  sk !:
     2683       REAL(wp), DIMENSION(:,:,:), POINTER ::  sk !<
    26682684#endif
    26692685
    2670        REAL(wp) ::  diss_d !:
    2671        REAL(wp) ::  div    !:
    2672        REAL(wp) ::  flux_d !:
    2673        REAL(wp) ::  fd_1   !:
    2674        REAL(wp) ::  fl_1   !:
    2675        REAL(wp) ::  fn_1   !:
    2676        REAL(wp) ::  fr_1   !:
    2677        REAL(wp) ::  fs_1   !:
    2678        REAL(wp) ::  ft_1   !:
    2679        REAL(wp) ::  phi_d  !:
    2680        REAL(wp) ::  phi_l  !:
    2681        REAL(wp) ::  phi_n  !:
    2682        REAL(wp) ::  phi_r  !:
    2683        REAL(wp) ::  phi_s  !:
    2684        REAL(wp) ::  phi_t  !:
    2685        REAL(wp) ::  rd     !:
    2686        REAL(wp) ::  rl     !:
    2687        REAL(wp) ::  rn     !:
    2688        REAL(wp) ::  rr     !:
    2689        REAL(wp) ::  rs     !:
    2690        REAL(wp) ::  rt     !:
    2691        REAL(wp) ::  u_comp !:
    2692        REAL(wp) ::  v_comp !:
     2686       REAL(wp) ::  diss_d !<
     2687       REAL(wp) ::  div    !<
     2688       REAL(wp) ::  flux_d !<
     2689       REAL(wp) ::  fd_1   !<
     2690       REAL(wp) ::  fl_1   !<
     2691       REAL(wp) ::  fn_1   !<
     2692       REAL(wp) ::  fr_1   !<
     2693       REAL(wp) ::  fs_1   !<
     2694       REAL(wp) ::  ft_1   !<
     2695       REAL(wp) ::  phi_d  !<
     2696       REAL(wp) ::  phi_l  !<
     2697       REAL(wp) ::  phi_n  !<
     2698       REAL(wp) ::  phi_r  !<
     2699       REAL(wp) ::  phi_s  !<
     2700       REAL(wp) ::  phi_t  !<
     2701       REAL(wp) ::  rd     !<
     2702       REAL(wp) ::  rl     !<
     2703       REAL(wp) ::  rn     !<
     2704       REAL(wp) ::  rr     !<
     2705       REAL(wp) ::  rs     !<
     2706       REAL(wp) ::  rt     !<
     2707       REAL(wp) ::  u_comp !<
     2708       REAL(wp) ::  v_comp !<
    26932709       
    2694        REAL(wp), DIMENSION(nzb:nzt)   ::  diss_n !:
    2695        REAL(wp), DIMENSION(nzb:nzt)   ::  diss_r !:
    2696        REAL(wp), DIMENSION(nzb:nzt)   ::  diss_t !:
    2697        REAL(wp), DIMENSION(nzb:nzt)   ::  flux_n !:
    2698        REAL(wp), DIMENSION(nzb:nzt)   ::  flux_r !:
    2699        REAL(wp), DIMENSION(nzb:nzt)   ::  flux_t !:
     2710       REAL(wp), DIMENSION(nzb:nzt)   ::  diss_n !<
     2711       REAL(wp), DIMENSION(nzb:nzt)   ::  diss_r !<
     2712       REAL(wp), DIMENSION(nzb:nzt)   ::  diss_t !<
     2713       REAL(wp), DIMENSION(nzb:nzt)   ::  flux_n !<
     2714       REAL(wp), DIMENSION(nzb:nzt)   ::  flux_r !<
     2715       REAL(wp), DIMENSION(nzb:nzt)   ::  flux_t !<
    27002716       
    2701        REAL(wp), DIMENSION(nzb+1:nzt) ::  swap_diss_y_local !:
    2702        REAL(wp), DIMENSION(nzb+1:nzt) ::  swap_flux_y_local !:
     2717       REAL(wp), DIMENSION(nzb+1:nzt) ::  swap_diss_y_local !<
     2718       REAL(wp), DIMENSION(nzb+1:nzt) ::  swap_flux_y_local !<
    27032719       
    2704        REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn) ::  swap_diss_x_local !:
    2705        REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn) ::  swap_flux_x_local !:
     2720       REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn) ::  swap_diss_x_local !<
     2721       REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn) ::  swap_flux_x_local !<
    27062722       
    27072723
     
    33943410
    33953411!------------------------------------------------------------------------------!
    3396 ! Scalar advection - Call for all grid points - accelerator version
     3412! Description:
     3413! ------------
     3414!> Scalar advection - Call for all grid points - accelerator version
    33973415!------------------------------------------------------------------------------!
    33983416    SUBROUTINE advec_s_ws_acc ( sk, sk_char )
     
    34233441       IMPLICIT NONE
    34243442
    3425        CHARACTER (LEN = *), INTENT(IN)    :: sk_char !:
    3426 
    3427        INTEGER(iwp) ::  i      !:
    3428        INTEGER(iwp) ::  ibit0  !:
    3429        INTEGER(iwp) ::  ibit1  !:
    3430        INTEGER(iwp) ::  ibit2  !:
    3431        INTEGER(iwp) ::  ibit3  !:
    3432        INTEGER(iwp) ::  ibit4  !:
    3433        INTEGER(iwp) ::  ibit5  !:
    3434        INTEGER(iwp) ::  ibit6  !:
    3435        INTEGER(iwp) ::  ibit7  !:
    3436        INTEGER(iwp) ::  ibit8  !:
    3437        INTEGER(iwp) ::  j      !:
    3438        INTEGER(iwp) ::  k      !:
    3439        INTEGER(iwp) ::  k_mm   !:
    3440        INTEGER(iwp) ::  k_mmm  !:
    3441        INTEGER(iwp) ::  k_pp   !:
    3442        INTEGER(iwp) ::  k_ppp  !:
    3443        INTEGER(iwp) ::  tn = 0 !:
    3444 
    3445        REAL(wp)    ::  diss_d !:
    3446        REAL(wp)    ::  diss_l !:
    3447        REAL(wp)    ::  diss_n !:
    3448        REAL(wp)    ::  diss_r !:
    3449        REAL(wp)    ::  diss_s !:
    3450        REAL(wp)    ::  diss_t !:
    3451        REAL(wp)    ::  div    !:
    3452        REAL(wp)    ::  flux_d !:
    3453        REAL(wp)    ::  flux_l !:
    3454        REAL(wp)    ::  flux_n !:
    3455        REAL(wp)    ::  flux_r !:
    3456        REAL(wp)    ::  flux_s !:
    3457        REAL(wp)    ::  flux_t !:
    3458        REAL(wp)    ::  fd_1   !:
    3459        REAL(wp)    ::  fl_1   !:
    3460        REAL(wp)    ::  fn_1   !:
    3461        REAL(wp)    ::  fr_1   !:
    3462        REAL(wp)    ::  fs_1   !:
    3463        REAL(wp)    ::  ft_1   !:
    3464        REAL(wp)    ::  phi_d  !:
    3465        REAL(wp)    ::  phi_l  !:
    3466        REAL(wp)    ::  phi_n  !:
    3467        REAL(wp)    ::  phi_r  !:
    3468        REAL(wp)    ::  phi_s  !:
    3469        REAL(wp)    ::  phi_t  !:
    3470        REAL(wp)    ::  rd     !:
    3471        REAL(wp)    ::  rl     !:
    3472        REAL(wp)    ::  rn     !:
    3473        REAL(wp)    ::  rr     !:
    3474        REAL(wp)    ::  rs     !:
    3475        REAL(wp)    ::  rt     !:
    3476        REAL(wp)    ::  u_comp !:
    3477        REAL(wp)    ::  v_comp !:
    3478 
    3479        REAL(wp), INTENT(IN), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg)  ::  sk !:
     3443       CHARACTER (LEN = *), INTENT(IN)    :: sk_char !<
     3444
     3445       INTEGER(iwp) ::  i      !<
     3446       INTEGER(iwp) ::  ibit0  !<
     3447       INTEGER(iwp) ::  ibit1  !<
     3448       INTEGER(iwp) ::  ibit2  !<
     3449       INTEGER(iwp) ::  ibit3  !<
     3450       INTEGER(iwp) ::  ibit4  !<
     3451       INTEGER(iwp) ::  ibit5  !<
     3452       INTEGER(iwp) ::  ibit6  !<
     3453       INTEGER(iwp) ::  ibit7  !<
     3454       INTEGER(iwp) ::  ibit8  !<
     3455       INTEGER(iwp) ::  j      !<
     3456       INTEGER(iwp) ::  k      !<
     3457       INTEGER(iwp) ::  k_mm   !<
     3458       INTEGER(iwp) ::  k_mmm  !<
     3459       INTEGER(iwp) ::  k_pp   !<
     3460       INTEGER(iwp) ::  k_ppp  !<
     3461       INTEGER(iwp) ::  tn = 0 !<
     3462
     3463       REAL(wp)    ::  diss_d !<
     3464       REAL(wp)    ::  diss_l !<
     3465       REAL(wp)    ::  diss_n !<
     3466       REAL(wp)    ::  diss_r !<
     3467       REAL(wp)    ::  diss_s !<
     3468       REAL(wp)    ::  diss_t !<
     3469       REAL(wp)    ::  div    !<
     3470       REAL(wp)    ::  flux_d !<
     3471       REAL(wp)    ::  flux_l !<
     3472       REAL(wp)    ::  flux_n !<
     3473       REAL(wp)    ::  flux_r !<
     3474       REAL(wp)    ::  flux_s !<
     3475       REAL(wp)    ::  flux_t !<
     3476       REAL(wp)    ::  fd_1   !<
     3477       REAL(wp)    ::  fl_1   !<
     3478       REAL(wp)    ::  fn_1   !<
     3479       REAL(wp)    ::  fr_1   !<
     3480       REAL(wp)    ::  fs_1   !<
     3481       REAL(wp)    ::  ft_1   !<
     3482       REAL(wp)    ::  phi_d  !<
     3483       REAL(wp)    ::  phi_l  !<
     3484       REAL(wp)    ::  phi_n  !<
     3485       REAL(wp)    ::  phi_r  !<
     3486       REAL(wp)    ::  phi_s  !<
     3487       REAL(wp)    ::  phi_t  !<
     3488       REAL(wp)    ::  rd     !<
     3489       REAL(wp)    ::  rl     !<
     3490       REAL(wp)    ::  rn     !<
     3491       REAL(wp)    ::  rr     !<
     3492       REAL(wp)    ::  rs     !<
     3493       REAL(wp)    ::  rt     !<
     3494       REAL(wp)    ::  u_comp !<
     3495       REAL(wp)    ::  v_comp !<
     3496
     3497       REAL(wp), INTENT(IN), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg)  ::  sk !<
    34803498
    34813499!
     
    38993917
    39003918!------------------------------------------------------------------------------!
    3901 ! Advection of u - Call for all grid points
     3919! Description:
     3920! ------------
     3921!> Advection of u - Call for all grid points
    39023922!------------------------------------------------------------------------------!
    39033923    SUBROUTINE advec_u_ws
     
    39253945       IMPLICIT NONE
    39263946
    3927        INTEGER(iwp) ::  i      !:
    3928        INTEGER(iwp) ::  ibit9  !:
    3929        INTEGER(iwp) ::  ibit10 !:
    3930        INTEGER(iwp) ::  ibit11 !:
    3931        INTEGER(iwp) ::  ibit12 !:
    3932        INTEGER(iwp) ::  ibit13 !:
    3933        INTEGER(iwp) ::  ibit14 !:
    3934        INTEGER(iwp) ::  ibit15 !:
    3935        INTEGER(iwp) ::  ibit16 !:
    3936        INTEGER(iwp) ::  ibit17 !:
    3937        INTEGER(iwp) ::  j      !:
    3938        INTEGER(iwp) ::  k      !:
    3939        INTEGER(iwp) ::  k_mm   !:
    3940        INTEGER(iwp) ::  k_pp   !:
    3941        INTEGER(iwp) ::  k_ppp  !:
    3942        INTEGER(iwp) ::  tn = 0 !:
     3947       INTEGER(iwp) ::  i      !<
     3948       INTEGER(iwp) ::  ibit9  !<
     3949       INTEGER(iwp) ::  ibit10 !<
     3950       INTEGER(iwp) ::  ibit11 !<
     3951       INTEGER(iwp) ::  ibit12 !<
     3952       INTEGER(iwp) ::  ibit13 !<
     3953       INTEGER(iwp) ::  ibit14 !<
     3954       INTEGER(iwp) ::  ibit15 !<
     3955       INTEGER(iwp) ::  ibit16 !<
     3956       INTEGER(iwp) ::  ibit17 !<
     3957       INTEGER(iwp) ::  j      !<
     3958       INTEGER(iwp) ::  k      !<
     3959       INTEGER(iwp) ::  k_mm   !<
     3960       INTEGER(iwp) ::  k_pp   !<
     3961       INTEGER(iwp) ::  k_ppp  !<
     3962       INTEGER(iwp) ::  tn = 0 !<
    39433963       
    3944        REAL(wp)    ::  diss_d !:
    3945        REAL(wp)    ::  div    !:
    3946        REAL(wp)    ::  flux_d !:
    3947        REAL(wp)    ::  gu     !:
    3948        REAL(wp)    ::  gv     !:
    3949        REAL(wp)    ::  v_comp !:
    3950        REAL(wp)    ::  w_comp !:
     3964       REAL(wp)    ::  diss_d !<
     3965       REAL(wp)    ::  div    !<
     3966       REAL(wp)    ::  flux_d !<
     3967       REAL(wp)    ::  gu     !<
     3968       REAL(wp)    ::  gv     !<
     3969       REAL(wp)    ::  v_comp !<
     3970       REAL(wp)    ::  w_comp !<
    39513971       
    3952        REAL(wp), DIMENSION(nzb+1:nzt) ::  swap_diss_y_local_u !:
    3953        REAL(wp), DIMENSION(nzb+1:nzt) ::  swap_flux_y_local_u !:
     3972       REAL(wp), DIMENSION(nzb+1:nzt) ::  swap_diss_y_local_u !<
     3973       REAL(wp), DIMENSION(nzb+1:nzt) ::  swap_flux_y_local_u !<
    39543974       
    3955        REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn) ::  swap_diss_x_local_u !:
    3956        REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn) ::  swap_flux_x_local_u !:
     3975       REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn) ::  swap_diss_x_local_u !<
     3976       REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn) ::  swap_flux_x_local_u !<
    39573977       
    3958        REAL(wp), DIMENSION(nzb:nzt) ::  diss_n !:
    3959        REAL(wp), DIMENSION(nzb:nzt) ::  diss_r !:
    3960        REAL(wp), DIMENSION(nzb:nzt) ::  diss_t !:
    3961        REAL(wp), DIMENSION(nzb:nzt) ::  flux_n !:
    3962        REAL(wp), DIMENSION(nzb:nzt) ::  flux_r !:
    3963        REAL(wp), DIMENSION(nzb:nzt) ::  flux_t !:
    3964        REAL(wp), DIMENSION(nzb:nzt) ::  u_comp !:
     3978       REAL(wp), DIMENSION(nzb:nzt) ::  diss_n !<
     3979       REAL(wp), DIMENSION(nzb:nzt) ::  diss_r !<
     3980       REAL(wp), DIMENSION(nzb:nzt) ::  diss_t !<
     3981       REAL(wp), DIMENSION(nzb:nzt) ::  flux_n !<
     3982       REAL(wp), DIMENSION(nzb:nzt) ::  flux_r !<
     3983       REAL(wp), DIMENSION(nzb:nzt) ::  flux_t !<
     3984       REAL(wp), DIMENSION(nzb:nzt) ::  u_comp !<
    39653985 
    39663986       gu = 2.0_wp * u_gtrans
     
    43794399   
    43804400!------------------------------------------------------------------------------!
    4381 ! Advection of u - Call for all grid points - accelerator version
     4401! Description:
     4402! ------------
     4403!> Advection of u - Call for all grid points - accelerator version
    43824404!------------------------------------------------------------------------------!
    43834405    SUBROUTINE advec_u_ws_acc
     
    44064428       IMPLICIT NONE
    44074429
    4408        INTEGER(iwp) ::  i      !:
    4409        INTEGER(iwp) ::  ibit9  !:
    4410        INTEGER(iwp) ::  ibit10 !:
    4411        INTEGER(iwp) ::  ibit11 !:
    4412        INTEGER(iwp) ::  ibit12 !:
    4413        INTEGER(iwp) ::  ibit13 !:
    4414        INTEGER(iwp) ::  ibit14 !:
    4415        INTEGER(iwp) ::  ibit15 !:
    4416        INTEGER(iwp) ::  ibit16 !:
    4417        INTEGER(iwp) ::  ibit17 !:
    4418        INTEGER(iwp) ::  j      !:
    4419        INTEGER(iwp) ::  k      !:
    4420        INTEGER(iwp) ::  k_mmm  !:
    4421        INTEGER(iwp) ::  k_mm   !:
    4422        INTEGER(iwp) ::  k_pp   !:
    4423        INTEGER(iwp) ::  k_ppp  !:
    4424        INTEGER(iwp) ::  tn = 0 !:
    4425 
    4426        REAL(wp)    ::  diss_d   !:
    4427        REAL(wp)    ::  diss_l   !:
    4428        REAL(wp)    ::  diss_n   !:
    4429        REAL(wp)    ::  diss_r   !:
    4430        REAL(wp)    ::  diss_s   !:
    4431        REAL(wp)    ::  diss_t   !:
    4432        REAL(wp)    ::  div      !:
    4433        REAL(wp)    ::  flux_d   !:
    4434        REAL(wp)    ::  flux_l   !:
    4435        REAL(wp)    ::  flux_n   !:
    4436        REAL(wp)    ::  flux_r   !:
    4437        REAL(wp)    ::  flux_s   !:
    4438        REAL(wp)    ::  flux_t   !:
    4439        REAL(wp)    ::  gu       !:
    4440        REAL(wp)    ::  gv       !:
    4441        REAL(wp)    ::  u_comp   !:
    4442        REAL(wp)    ::  u_comp_l !:
    4443        REAL(wp)    ::  v_comp   !:
    4444        REAL(wp)    ::  v_comp_s !:
    4445        REAL(wp)    ::  w_comp   !:
     4430       INTEGER(iwp) ::  i      !<
     4431       INTEGER(iwp) ::  ibit9  !<
     4432       INTEGER(iwp) ::  ibit10 !<
     4433       INTEGER(iwp) ::  ibit11 !<
     4434       INTEGER(iwp) ::  ibit12 !<
     4435       INTEGER(iwp) ::  ibit13 !<
     4436       INTEGER(iwp) ::  ibit14 !<
     4437       INTEGER(iwp) ::  ibit15 !<
     4438       INTEGER(iwp) ::  ibit16 !<
     4439       INTEGER(iwp) ::  ibit17 !<
     4440       INTEGER(iwp) ::  j      !<
     4441       INTEGER(iwp) ::  k      !<
     4442       INTEGER(iwp) ::  k_mmm  !<
     4443       INTEGER(iwp) ::  k_mm   !<
     4444       INTEGER(iwp) ::  k_pp   !<
     4445       INTEGER(iwp) ::  k_ppp  !<
     4446       INTEGER(iwp) ::  tn = 0 !<
     4447
     4448       REAL(wp)    ::  diss_d   !<
     4449       REAL(wp)    ::  diss_l   !<
     4450       REAL(wp)    ::  diss_n   !<
     4451       REAL(wp)    ::  diss_r   !<
     4452       REAL(wp)    ::  diss_s   !<
     4453       REAL(wp)    ::  diss_t   !<
     4454       REAL(wp)    ::  div      !<
     4455       REAL(wp)    ::  flux_d   !<
     4456       REAL(wp)    ::  flux_l   !<
     4457       REAL(wp)    ::  flux_n   !<
     4458       REAL(wp)    ::  flux_r   !<
     4459       REAL(wp)    ::  flux_s   !<
     4460       REAL(wp)    ::  flux_t   !<
     4461       REAL(wp)    ::  gu       !<
     4462       REAL(wp)    ::  gv       !<
     4463       REAL(wp)    ::  u_comp   !<
     4464       REAL(wp)    ::  u_comp_l !<
     4465       REAL(wp)    ::  v_comp   !<
     4466       REAL(wp)    ::  v_comp_s !<
     4467       REAL(wp)    ::  w_comp   !<
    44464468
    44474469
     
    47384760
    47394761!------------------------------------------------------------------------------!
    4740 ! Advection of v - Call for all grid points
     4762! Description:
     4763! ------------
     4764!> Advection of v - Call for all grid points
    47414765!------------------------------------------------------------------------------!
    47424766    SUBROUTINE advec_v_ws
     
    47654789
    47664790
    4767        INTEGER(iwp) ::  i      !:
    4768        INTEGER(iwp) ::  ibit18 !:
    4769        INTEGER(iwp) ::  ibit19 !:
    4770        INTEGER(iwp) ::  ibit20 !:
    4771        INTEGER(iwp) ::  ibit21 !:
    4772        INTEGER(iwp) ::  ibit22 !:
    4773        INTEGER(iwp) ::  ibit23 !:
    4774        INTEGER(iwp) ::  ibit24 !:
    4775        INTEGER(iwp) ::  ibit25 !:
    4776        INTEGER(iwp) ::  ibit26 !:
    4777        INTEGER(iwp) ::  j      !:
    4778        INTEGER(iwp) ::  k      !:
    4779        INTEGER(iwp) ::  k_mm   !:
    4780        INTEGER(iwp) ::  k_pp   !:
    4781        INTEGER(iwp) ::  k_ppp  !:
    4782        INTEGER(iwp) ::  tn = 0 !:
     4791       INTEGER(iwp) ::  i      !<
     4792       INTEGER(iwp) ::  ibit18 !<
     4793       INTEGER(iwp) ::  ibit19 !<
     4794       INTEGER(iwp) ::  ibit20 !<
     4795       INTEGER(iwp) ::  ibit21 !<
     4796       INTEGER(iwp) ::  ibit22 !<
     4797       INTEGER(iwp) ::  ibit23 !<
     4798       INTEGER(iwp) ::  ibit24 !<
     4799       INTEGER(iwp) ::  ibit25 !<
     4800       INTEGER(iwp) ::  ibit26 !<
     4801       INTEGER(iwp) ::  j      !<
     4802       INTEGER(iwp) ::  k      !<
     4803       INTEGER(iwp) ::  k_mm   !<
     4804       INTEGER(iwp) ::  k_pp   !<
     4805       INTEGER(iwp) ::  k_ppp  !<
     4806       INTEGER(iwp) ::  tn = 0 !<
    47834807       
    4784        REAL(wp)    ::  diss_d !:
    4785        REAL(wp)    ::  div    !:
    4786        REAL(wp)    ::  flux_d !:
    4787        REAL(wp)    ::  gu     !:
    4788        REAL(wp)    ::  gv     !:
    4789        REAL(wp)    ::  u_comp !:
    4790        REAL(wp)    ::  w_comp !:
     4808       REAL(wp)    ::  diss_d !<
     4809       REAL(wp)    ::  div    !<
     4810       REAL(wp)    ::  flux_d !<
     4811       REAL(wp)    ::  gu     !<
     4812       REAL(wp)    ::  gv     !<
     4813       REAL(wp)    ::  u_comp !<
     4814       REAL(wp)    ::  w_comp !<
    47914815       
    4792        REAL(wp), DIMENSION(nzb+1:nzt) ::  swap_diss_y_local_v !:
    4793        REAL(wp), DIMENSION(nzb+1:nzt) ::  swap_flux_y_local_v !:
     4816       REAL(wp), DIMENSION(nzb+1:nzt) ::  swap_diss_y_local_v !<
     4817       REAL(wp), DIMENSION(nzb+1:nzt) ::  swap_flux_y_local_v !<
    47944818       
    4795        REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn) ::  swap_diss_x_local_v !:
    4796        REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn) ::  swap_flux_x_local_v !:
     4819       REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn) ::  swap_diss_x_local_v !<
     4820       REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn) ::  swap_flux_x_local_v !<
    47974821       
    4798        REAL(wp), DIMENSION(nzb:nzt) ::  diss_n !:
    4799        REAL(wp), DIMENSION(nzb:nzt) ::  diss_r !:
    4800        REAL(wp), DIMENSION(nzb:nzt) ::  diss_t !:
    4801        REAL(wp), DIMENSION(nzb:nzt) ::  flux_n !:
    4802        REAL(wp), DIMENSION(nzb:nzt) ::  flux_r !:
    4803        REAL(wp), DIMENSION(nzb:nzt) ::  flux_t !:
    4804        REAL(wp), DIMENSION(nzb:nzt) ::  v_comp !:
     4822       REAL(wp), DIMENSION(nzb:nzt) ::  diss_n !<
     4823       REAL(wp), DIMENSION(nzb:nzt) ::  diss_r !<
     4824       REAL(wp), DIMENSION(nzb:nzt) ::  diss_t !<
     4825       REAL(wp), DIMENSION(nzb:nzt) ::  flux_n !<
     4826       REAL(wp), DIMENSION(nzb:nzt) ::  flux_r !<
     4827       REAL(wp), DIMENSION(nzb:nzt) ::  flux_t !<
     4828       REAL(wp), DIMENSION(nzb:nzt) ::  v_comp !<
    48054829
    48064830       gu = 2.0_wp * u_gtrans
     
    52305254   
    52315255!------------------------------------------------------------------------------!
    5232 ! Advection of v - Call for all grid points - accelerator version
     5256! Description:
     5257! ------------
     5258!> Advection of v - Call for all grid points - accelerator version
    52335259!------------------------------------------------------------------------------!
    52345260    SUBROUTINE advec_v_ws_acc
     
    52585284
    52595285
    5260        INTEGER(iwp) ::  i      !:
    5261        INTEGER(iwp) ::  ibit18 !:
    5262        INTEGER(iwp) ::  ibit19 !:
    5263        INTEGER(iwp) ::  ibit20 !:
    5264        INTEGER(iwp) ::  ibit21 !:
    5265        INTEGER(iwp) ::  ibit22 !:
    5266        INTEGER(iwp) ::  ibit23 !:
    5267        INTEGER(iwp) ::  ibit24 !:
    5268        INTEGER(iwp) ::  ibit25 !:
    5269        INTEGER(iwp) ::  ibit26 !:
    5270        INTEGER(iwp) ::  j      !:
    5271        INTEGER(iwp) ::  k      !:
    5272        INTEGER(iwp) ::  k_mm   !:
    5273        INTEGER(iwp) ::  k_mmm  !:
    5274        INTEGER(iwp) ::  k_pp   !:
    5275        INTEGER(iwp) ::  k_ppp  !:
    5276        INTEGER(iwp) ::  tn = 0 !:
    5277 
    5278        REAL(wp)    ::  diss_d   !:
    5279        REAL(wp)    ::  diss_l   !:
    5280        REAL(wp)    ::  diss_n   !:
    5281        REAL(wp)    ::  diss_r   !:
    5282        REAL(wp)    ::  diss_s   !:
    5283        REAL(wp)    ::  diss_t   !:
    5284        REAL(wp)    ::  div      !:
    5285        REAL(wp)    ::  flux_d   !:
    5286        REAL(wp)    ::  flux_l   !:
    5287        REAL(wp)    ::  flux_n   !:
    5288        REAL(wp)    ::  flux_r   !:
    5289        REAL(wp)    ::  flux_s   !:
    5290        REAL(wp)    ::  flux_t   !:
    5291        REAL(wp)    ::  gu       !:
    5292        REAL(wp)    ::  gv       !:
    5293        REAL(wp)    ::  u_comp   !:
    5294        REAL(wp)    ::  u_comp_l !:
    5295        REAL(wp)    ::  v_comp   !:
    5296        REAL(wp)    ::  v_comp_s !:
    5297        REAL(wp)    ::  w_comp   !:
     5286       INTEGER(iwp) ::  i      !<
     5287       INTEGER(iwp) ::  ibit18 !<
     5288       INTEGER(iwp) ::  ibit19 !<
     5289       INTEGER(iwp) ::  ibit20 !<
     5290       INTEGER(iwp) ::  ibit21 !<
     5291       INTEGER(iwp) ::  ibit22 !<
     5292       INTEGER(iwp) ::  ibit23 !<
     5293       INTEGER(iwp) ::  ibit24 !<
     5294       INTEGER(iwp) ::  ibit25 !<
     5295       INTEGER(iwp) ::  ibit26 !<
     5296       INTEGER(iwp) ::  j      !<
     5297       INTEGER(iwp) ::  k      !<
     5298       INTEGER(iwp) ::  k_mm   !<
     5299       INTEGER(iwp) ::  k_mmm  !<
     5300       INTEGER(iwp) ::  k_pp   !<
     5301       INTEGER(iwp) ::  k_ppp  !<
     5302       INTEGER(iwp) ::  tn = 0 !<
     5303
     5304       REAL(wp)    ::  diss_d   !<
     5305       REAL(wp)    ::  diss_l   !<
     5306       REAL(wp)    ::  diss_n   !<
     5307       REAL(wp)    ::  diss_r   !<
     5308       REAL(wp)    ::  diss_s   !<
     5309       REAL(wp)    ::  diss_t   !<
     5310       REAL(wp)    ::  div      !<
     5311       REAL(wp)    ::  flux_d   !<
     5312       REAL(wp)    ::  flux_l   !<
     5313       REAL(wp)    ::  flux_n   !<
     5314       REAL(wp)    ::  flux_r   !<
     5315       REAL(wp)    ::  flux_s   !<
     5316       REAL(wp)    ::  flux_t   !<
     5317       REAL(wp)    ::  gu       !<
     5318       REAL(wp)    ::  gv       !<
     5319       REAL(wp)    ::  u_comp   !<
     5320       REAL(wp)    ::  u_comp_l !<
     5321       REAL(wp)    ::  v_comp   !<
     5322       REAL(wp)    ::  v_comp_s !<
     5323       REAL(wp)    ::  w_comp   !<
    52985324
    52995325       gu = 2.0_wp * u_gtrans
     
    55945620   
    55955621!------------------------------------------------------------------------------!
    5596 ! Advection of w - Call for all grid points
     5622! Description:
     5623! ------------
     5624!> Advection of w - Call for all grid points
    55975625!------------------------------------------------------------------------------!
    55985626    SUBROUTINE advec_w_ws
     
    56215649       IMPLICIT NONE
    56225650
    5623        INTEGER(iwp) ::  i      !:
    5624        INTEGER(iwp) ::  ibit27 !:
    5625        INTEGER(iwp) ::  ibit28 !:
    5626        INTEGER(iwp) ::  ibit29 !:
    5627        INTEGER(iwp) ::  ibit30 !:
    5628        INTEGER(iwp) ::  ibit31 !:
    5629        INTEGER(iwp) ::  ibit32 !:
    5630        INTEGER(iwp) ::  ibit33 !:
    5631        INTEGER(iwp) ::  ibit34 !:
    5632        INTEGER(iwp) ::  ibit35 !:
    5633        INTEGER(iwp) ::  j      !:
    5634        INTEGER(iwp) ::  k      !:
    5635        INTEGER(iwp) ::  k_mm   !:
    5636        INTEGER(iwp) ::  k_pp   !:
    5637        INTEGER(iwp) ::  k_ppp  !:
    5638        INTEGER(iwp) ::  tn = 0 !:
     5651       INTEGER(iwp) ::  i      !<
     5652       INTEGER(iwp) ::  ibit27 !<
     5653       INTEGER(iwp) ::  ibit28 !<
     5654       INTEGER(iwp) ::  ibit29 !<
     5655       INTEGER(iwp) ::  ibit30 !<
     5656       INTEGER(iwp) ::  ibit31 !<
     5657       INTEGER(iwp) ::  ibit32 !<
     5658       INTEGER(iwp) ::  ibit33 !<
     5659       INTEGER(iwp) ::  ibit34 !<
     5660       INTEGER(iwp) ::  ibit35 !<
     5661       INTEGER(iwp) ::  j      !<
     5662       INTEGER(iwp) ::  k      !<
     5663       INTEGER(iwp) ::  k_mm   !<
     5664       INTEGER(iwp) ::  k_pp   !<
     5665       INTEGER(iwp) ::  k_ppp  !<
     5666       INTEGER(iwp) ::  tn = 0 !<
    56395667       
    5640        REAL(wp)    ::  diss_d !:
    5641        REAL(wp)    ::  div    !:
    5642        REAL(wp)    ::  flux_d !:
    5643        REAL(wp)    ::  gu     !:
    5644        REAL(wp)    ::  gv     !:
    5645        REAL(wp)    ::  u_comp !:
    5646        REAL(wp)    ::  v_comp !:
    5647        REAL(wp)    ::  w_comp !:
     5668       REAL(wp)    ::  diss_d !<
     5669       REAL(wp)    ::  div    !<
     5670       REAL(wp)    ::  flux_d !<
     5671       REAL(wp)    ::  gu     !<
     5672       REAL(wp)    ::  gv     !<
     5673       REAL(wp)    ::  u_comp !<
     5674       REAL(wp)    ::  v_comp !<
     5675       REAL(wp)    ::  w_comp !<
    56485676       
    5649        REAL(wp), DIMENSION(nzb:nzt)    ::  diss_t !:
    5650        REAL(wp), DIMENSION(nzb:nzt)    ::  flux_t !:
     5677       REAL(wp), DIMENSION(nzb:nzt)    ::  diss_t !<
     5678       REAL(wp), DIMENSION(nzb:nzt)    ::  flux_t !<
    56515679       
    5652        REAL(wp), DIMENSION(nzb+1:nzt)  ::  diss_n !:
    5653        REAL(wp), DIMENSION(nzb+1:nzt)  ::  diss_r !:
    5654        REAL(wp), DIMENSION(nzb+1:nzt)  ::  flux_n !:
    5655        REAL(wp), DIMENSION(nzb+1:nzt)  ::  flux_r !:
    5656        REAL(wp), DIMENSION(nzb+1:nzt)  ::  swap_diss_y_local_w !:
    5657        REAL(wp), DIMENSION(nzb+1:nzt)  ::  swap_flux_y_local_w !:
     5680       REAL(wp), DIMENSION(nzb+1:nzt)  ::  diss_n !<
     5681       REAL(wp), DIMENSION(nzb+1:nzt)  ::  diss_r !<
     5682       REAL(wp), DIMENSION(nzb+1:nzt)  ::  flux_n !<
     5683       REAL(wp), DIMENSION(nzb+1:nzt)  ::  flux_r !<
     5684       REAL(wp), DIMENSION(nzb+1:nzt)  ::  swap_diss_y_local_w !<
     5685       REAL(wp), DIMENSION(nzb+1:nzt)  ::  swap_flux_y_local_w !<
    56585686       
    5659        REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn) ::  swap_diss_x_local_w !:
    5660        REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn) ::  swap_flux_x_local_w !:
     5687       REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn) ::  swap_diss_x_local_w !<
     5688       REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn) ::  swap_flux_x_local_w !<
    56615689 
    56625690       gu = 2.0_wp * u_gtrans
     
    60616089
    60626090!------------------------------------------------------------------------------!
    6063 ! Advection of w - Call for all grid points - accelerator version
     6091! Description:
     6092! ------------
     6093!> Advection of w - Call for all grid points - accelerator version
    60646094!------------------------------------------------------------------------------!
    60656095    SUBROUTINE advec_w_ws_acc
     
    60886118       IMPLICIT NONE
    60896119
    6090        INTEGER(iwp) ::  i      !:
    6091        INTEGER(iwp) ::  ibit27 !:
    6092        INTEGER(iwp) ::  ibit28 !:
    6093        INTEGER(iwp) ::  ibit29 !:
    6094        INTEGER(iwp) ::  ibit30 !:
    6095        INTEGER(iwp) ::  ibit31 !:
    6096        INTEGER(iwp) ::  ibit32 !:
    6097        INTEGER(iwp) ::  ibit33 !:
    6098        INTEGER(iwp) ::  ibit34 !:
    6099        INTEGER(iwp) ::  ibit35 !:
    6100        INTEGER(iwp) ::  j      !:
    6101        INTEGER(iwp) ::  k      !:
    6102        INTEGER(iwp) ::  k_mmm  !:
    6103        INTEGER(iwp) ::  k_mm   !:
    6104        INTEGER(iwp) ::  k_pp   !:
    6105        INTEGER(iwp) ::  k_ppp  !:
    6106        INTEGER(iwp) ::  tn = 0 !:
    6107 
    6108        REAL(wp)    ::  diss_d   !:
    6109        REAL(wp)    ::  diss_l   !:
    6110        REAL(wp)    ::  diss_n   !:
    6111        REAL(wp)    ::  diss_r   !:
    6112        REAL(wp)    ::  diss_s   !:
    6113        REAL(wp)    ::  diss_t   !:
    6114        REAL(wp)    ::  div      !:
    6115        REAL(wp)    ::  flux_d   !:
    6116        REAL(wp)    ::  flux_l   !:
    6117        REAL(wp)    ::  flux_n   !:
    6118        REAL(wp)    ::  flux_r   !:
    6119        REAL(wp)    ::  flux_s   !:
    6120        REAL(wp)    ::  flux_t   !:
    6121        REAL(wp)    ::  gu       !:
    6122        REAL(wp)    ::  gv       !:
    6123        REAL(wp)    ::  u_comp   !:
    6124        REAL(wp)    ::  u_comp_l !:
    6125        REAL(wp)    ::  v_comp   !:
    6126        REAL(wp)    ::  v_comp_s !:
    6127        REAL(wp)    ::  w_comp   !:
     6120       INTEGER(iwp) ::  i      !<
     6121       INTEGER(iwp) ::  ibit27 !<
     6122       INTEGER(iwp) ::  ibit28 !<
     6123       INTEGER(iwp) ::  ibit29 !<
     6124       INTEGER(iwp) ::  ibit30 !<
     6125       INTEGER(iwp) ::  ibit31 !<
     6126       INTEGER(iwp) ::  ibit32 !<
     6127       INTEGER(iwp) ::  ibit33 !<
     6128       INTEGER(iwp) ::  ibit34 !<
     6129       INTEGER(iwp) ::  ibit35 !<
     6130       INTEGER(iwp) ::  j      !<
     6131       INTEGER(iwp) ::  k      !<
     6132       INTEGER(iwp) ::  k_mmm  !<
     6133       INTEGER(iwp) ::  k_mm   !<
     6134       INTEGER(iwp) ::  k_pp   !<
     6135       INTEGER(iwp) ::  k_ppp  !<
     6136       INTEGER(iwp) ::  tn = 0 !<
     6137
     6138       REAL(wp)    ::  diss_d   !<
     6139       REAL(wp)    ::  diss_l   !<
     6140       REAL(wp)    ::  diss_n   !<
     6141       REAL(wp)    ::  diss_r   !<
     6142       REAL(wp)    ::  diss_s   !<
     6143       REAL(wp)    ::  diss_t   !<
     6144       REAL(wp)    ::  div      !<
     6145       REAL(wp)    ::  flux_d   !<
     6146       REAL(wp)    ::  flux_l   !<
     6147       REAL(wp)    ::  flux_n   !<
     6148       REAL(wp)    ::  flux_r   !<
     6149       REAL(wp)    ::  flux_s   !<
     6150       REAL(wp)    ::  flux_t   !<
     6151       REAL(wp)    ::  gu       !<
     6152       REAL(wp)    ::  gv       !<
     6153       REAL(wp)    ::  u_comp   !<
     6154       REAL(wp)    ::  u_comp_l !<
     6155       REAL(wp)    ::  v_comp   !<
     6156       REAL(wp)    ::  v_comp_s !<
     6157       REAL(wp)    ::  w_comp   !<
    61286158
    61296159       gu = 2.0_wp * u_gtrans
Note: See TracChangeset for help on using the changeset viewer.