Changeset 1682 for palm/trunk/SOURCE/advec_ws.f90
- Timestamp:
- Oct 7, 2015 11:56:08 PM (9 years ago)
- 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 3 2 !--------------------------------------------------------------------------------! 4 3 ! This file is part of PALM. … … 20 19 ! Current revisions: 21 20 ! ------------------ 22 ! 21 ! Code annotations made doxygen readable 23 22 ! 24 23 ! Former revisions: … … 136 135 ! Description: 137 136 ! ------------ 138 ! Advection scheme for scalars and momentum using the flux formulation of139 ! Wicker and Skamarock 5th order. Additionally the module contains of a140 ! routine using for initialisation and steering of the statical evaluation.141 ! The computation of turbulent fluxes takes place inside the advection142 ! routines.143 ! Near non-cyclic boundaries the order of the applied advection scheme is144 ! degraded.145 ! A divergence correction is applied. It is necessary for topography, since146 ! the divergence is not sufficiently reduced, resulting in erroneous fluxes and147 ! 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. 148 147 !-----------------------------------------------------------------------------! 148 MODULE advec_ws 149 150 149 151 150 152 PRIVATE … … 197 199 198 200 !------------------------------------------------------------------------------! 199 ! Initialization of WS-scheme 201 ! Description: 202 ! ------------ 203 !> Initialization of WS-scheme 200 204 !------------------------------------------------------------------------------! 201 205 SUBROUTINE ws_init … … 351 355 352 356 !------------------------------------------------------------------------------! 353 ! Initialize variables used for storing statistic quantities (fluxes, variances) 357 ! Description: 358 ! ------------ 359 !> Initialize variables used for storing statistic quantities (fluxes, variances) 354 360 !------------------------------------------------------------------------------! 355 361 SUBROUTINE ws_statistics … … 395 401 396 402 !------------------------------------------------------------------------------! 397 ! Scalar advection - Call for grid point i,j 403 ! Description: 404 ! ------------ 405 !> Scalar advection - Call for grid point i,j 398 406 !------------------------------------------------------------------------------! 399 407 SUBROUTINE advec_s_ws_ij( i, j, sk, sk_char, swap_flux_y_local, & … … 428 436 IMPLICIT NONE 429 437 430 CHARACTER (LEN = *), INTENT(IN) :: sk_char ! :438 CHARACTER (LEN = *), INTENT(IN) :: sk_char !< 431 439 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 !< 450 458 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 !< 474 482 475 483 #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 !< 477 485 #else 478 REAL(wp), DIMENSION(:,:,:), POINTER :: sk ! :486 REAL(wp), DIMENSION(:,:,:), POINTER :: sk !< 479 487 #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 !< 486 494 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 !< 489 497 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 !< 492 500 493 501 … … 1200 1208 1201 1209 !------------------------------------------------------------------------------! 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 1203 1213 !------------------------------------------------------------------------------! 1204 1214 SUBROUTINE advec_u_ws_ij( i, j, i_omp, tn ) … … 1226 1236 IMPLICIT NONE 1227 1237 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 !< 1245 1255 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 !< 1254 1264 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 !< 1262 1272 1263 1273 gu = 2.0_wp * u_gtrans … … 1673 1683 1674 1684 !-----------------------------------------------------------------------------! 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 1676 1688 !-----------------------------------------------------------------------------! 1677 1689 SUBROUTINE advec_v_ws_ij( i, j, i_omp, tn ) … … 1699 1711 IMPLICIT NONE 1700 1712 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 !< 1718 1730 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 !< 1727 1739 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 !< 1735 1747 1736 1748 gu = 2.0_wp * u_gtrans … … 2156 2168 2157 2169 !------------------------------------------------------------------------------! 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 2159 2173 !------------------------------------------------------------------------------! 2160 2174 SUBROUTINE advec_w_ws_ij( i, j, i_omp, tn ) … … 2183 2197 IMPLICIT NONE 2184 2198 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 !< 2202 2216 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 !< 2211 2225 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 !< 2218 2232 2219 2233 gu = 2.0_wp * u_gtrans … … 2613 2627 2614 2628 !------------------------------------------------------------------------------! 2615 ! Scalar advection - Call for all grid points 2629 ! Description: 2630 ! ------------ 2631 !> Scalar advection - Call for all grid points 2616 2632 !------------------------------------------------------------------------------! 2617 2633 SUBROUTINE advec_s_ws( sk, sk_char ) … … 2642 2658 IMPLICIT NONE 2643 2659 2644 CHARACTER (LEN = *), INTENT(IN) :: sk_char ! :2660 CHARACTER (LEN = *), INTENT(IN) :: sk_char !< 2645 2661 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 !< 2663 2679 2664 2680 #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 !< 2666 2682 #else 2667 REAL(wp), DIMENSION(:,:,:), POINTER :: sk ! :2683 REAL(wp), DIMENSION(:,:,:), POINTER :: sk !< 2668 2684 #endif 2669 2685 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 !< 2693 2709 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 !< 2700 2716 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 !< 2703 2719 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 !< 2706 2722 2707 2723 … … 3394 3410 3395 3411 !------------------------------------------------------------------------------! 3396 ! Scalar advection - Call for all grid points - accelerator version 3412 ! Description: 3413 ! ------------ 3414 !> Scalar advection - Call for all grid points - accelerator version 3397 3415 !------------------------------------------------------------------------------! 3398 3416 SUBROUTINE advec_s_ws_acc ( sk, sk_char ) … … 3423 3441 IMPLICIT NONE 3424 3442 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 !< 3480 3498 3481 3499 ! … … 3899 3917 3900 3918 !------------------------------------------------------------------------------! 3901 ! Advection of u - Call for all grid points 3919 ! Description: 3920 ! ------------ 3921 !> Advection of u - Call for all grid points 3902 3922 !------------------------------------------------------------------------------! 3903 3923 SUBROUTINE advec_u_ws … … 3925 3945 IMPLICIT NONE 3926 3946 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 !< 3943 3963 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 !< 3951 3971 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 !< 3954 3974 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 !< 3957 3977 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 !< 3965 3985 3966 3986 gu = 2.0_wp * u_gtrans … … 4379 4399 4380 4400 !------------------------------------------------------------------------------! 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 4382 4404 !------------------------------------------------------------------------------! 4383 4405 SUBROUTINE advec_u_ws_acc … … 4406 4428 IMPLICIT NONE 4407 4429 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 !< 4446 4468 4447 4469 … … 4738 4760 4739 4761 !------------------------------------------------------------------------------! 4740 ! Advection of v - Call for all grid points 4762 ! Description: 4763 ! ------------ 4764 !> Advection of v - Call for all grid points 4741 4765 !------------------------------------------------------------------------------! 4742 4766 SUBROUTINE advec_v_ws … … 4765 4789 4766 4790 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 !< 4783 4807 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 !< 4791 4815 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 !< 4794 4818 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 !< 4797 4821 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 !< 4805 4829 4806 4830 gu = 2.0_wp * u_gtrans … … 5230 5254 5231 5255 !------------------------------------------------------------------------------! 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 5233 5259 !------------------------------------------------------------------------------! 5234 5260 SUBROUTINE advec_v_ws_acc … … 5258 5284 5259 5285 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 !< 5298 5324 5299 5325 gu = 2.0_wp * u_gtrans … … 5594 5620 5595 5621 !------------------------------------------------------------------------------! 5596 ! Advection of w - Call for all grid points 5622 ! Description: 5623 ! ------------ 5624 !> Advection of w - Call for all grid points 5597 5625 !------------------------------------------------------------------------------! 5598 5626 SUBROUTINE advec_w_ws … … 5621 5649 IMPLICIT NONE 5622 5650 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 !< 5639 5667 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 !< 5648 5676 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 !< 5651 5679 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 !< 5658 5686 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 !< 5661 5689 5662 5690 gu = 2.0_wp * u_gtrans … … 6061 6089 6062 6090 !------------------------------------------------------------------------------! 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 6064 6094 !------------------------------------------------------------------------------! 6065 6095 SUBROUTINE advec_w_ws_acc … … 6088 6118 IMPLICIT NONE 6089 6119 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 !< 6128 6158 6129 6159 gu = 2.0_wp * u_gtrans
Note: See TracChangeset
for help on using the changeset viewer.