Changeset 4346 for palm/trunk/SOURCE/flow_statistics.f90
- Timestamp:
- Dec 18, 2019 11:55:56 AM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/flow_statistics.f90
r4329 r4346 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Introduction of wall_flags_total_0, which currently sets bits based on static 28 ! topography information used in wall_flags_static_0 29 ! 30 ! 4329 2019-12-10 15:46:36Z motisi 27 31 ! Renamed wall_flags_0 to wall_flags_static_0 28 32 ! … … 95 99 ONLY: ngp_2dh, ngp_2dh_s_inner, ngp_3d, ngp_3d_inner, ngp_sums, & 96 100 ngp_sums_ls, nxl, nxr, nyn, nys, nzb, nzt, topo_min_level, & 97 wall_flags_ static_0101 wall_flags_total_0 98 102 99 103 USE kinds … … 257 261 !$OMP DO 258 262 !$ACC PARALLEL LOOP COLLAPSE(3) PRIVATE(i, j, k, flag) & 259 !$ACC PRESENT(wall_flags_ static_0, u, v, pt, rmask, sums_l)263 !$ACC PRESENT(wall_flags_total_0, u, v, pt, rmask, sums_l) 260 264 DO i = nxl, nxr 261 265 DO j = nys, nyn 262 266 DO k = nzb, nzt+1 263 flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_ static_0(k,j,i), 22 ) )267 flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j,i), 22 ) ) 264 268 !$ACC ATOMIC 265 269 sums_l(k,1,tn) = sums_l(k,1,tn) + u(k,j,i) * rmask(j,i,sr) & … … 286 290 * rmask(j,i,sr) & 287 291 * MERGE( 1.0_wp, 0.0_wp, & 288 BTEST( wall_flags_ static_0(k,j,i), 22 ) )292 BTEST( wall_flags_total_0(k,j,i), 22 ) ) 289 293 ENDDO 290 294 ENDDO … … 301 305 DO j = nys, nyn 302 306 DO k = nzb, nzt+1 303 flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_ static_0(k,j,i), 22 ) )307 flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j,i), 22 ) ) 304 308 sums_l(k,44,tn) = sums_l(k,44,tn) + & 305 309 vpt(k,j,i) * rmask(j,i,sr) * flag … … 314 318 DO j = nys, nyn 315 319 DO k = nzb, nzt+1 316 flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_ static_0(k,j,i), 22 ) )320 flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j,i), 22 ) ) 317 321 sums_l(k,42,tn) = sums_l(k,42,tn) + & 318 322 ( q(k,j,i) - ql(k,j,i) ) * rmask(j,i,sr) & … … 338 342 * rmask(j,i,sr) & 339 343 * MERGE( 1.0_wp, 0.0_wp, & 340 BTEST( wall_flags_ static_0(k,j,i), 22 ) )344 BTEST( wall_flags_total_0(k,j,i), 22 ) ) 341 345 ENDDO 342 346 ENDDO … … 479 483 !$ACC PARALLEL LOOP COLLAPSE(2) PRIVATE(i, j, k, m) & 480 484 !$ACC PRIVATE(sums_l_etot, flag) & 481 !$ACC PRESENT(wall_flags_ static_0, rmask, momentumflux_output_conversion) &485 !$ACC PRESENT(wall_flags_total_0, rmask, momentumflux_output_conversion) & 482 486 !$ACC PRESENT(hom(:,1,4,sr)) & 483 487 !$ACC PRESENT(e, u, v, w, km, kh, p, pt) & … … 488 492 sums_l_etot = 0.0_wp 489 493 DO k = nzb, nzt+1 490 flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_ static_0(k,j,i), 22 ) )494 flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j,i), 22 ) ) 491 495 ! 492 496 !-- Prognostic and diagnostic variables … … 656 660 DO j = nys, nyn 657 661 DO k = nzb, nzt+1 658 flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_ static_0(k,j,i), 22 ) )662 flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j,i), 22 ) ) 659 663 660 664 u2 = u(k,j,i)**2 … … 688 692 !$OMP DO 689 693 !$ACC PARALLEL LOOP COLLAPSE(3) PRIVATE(i, j, k, flag, w2, ust2, vst2) & 690 !$ACC PRESENT(wall_flags_ static_0, u, v, w, rmask, hom(:,1,1:2,sr)) &694 !$ACC PRESENT(wall_flags_total_0, u, v, w, rmask, hom(:,1,1:2,sr)) & 691 695 !$ACC PRESENT(sums_l) 692 696 DO i = nxl, nxr 693 697 DO j = nys, nyn 694 698 DO k = nzb, nzt+1 695 flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_ static_0(k,j,i), 22 ) )699 flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j,i), 22 ) ) 696 700 697 701 w2 = w(k,j,i)**2 … … 717 721 !$ACC PRIVATE(ki, flag, ust, vst, pts) & 718 722 !$ACC PRESENT(kh, km, u, v, w, pt) & 719 !$ACC PRESENT(wall_flags_ static_0, rmask, ddzu, rho_air_zw, hom(:,1,1:4,sr)) &723 !$ACC PRESENT(wall_flags_total_0, rmask, ddzu, rho_air_zw, hom(:,1,1:4,sr)) & 720 724 !$ACC PRESENT(heatflux_output_conversion, momentumflux_output_conversion) & 721 725 !$ACC PRESENT(surf_def_h(0:2), surf_lsm_h, surf_usm_h) & … … 735 739 DO k = nzb, nzt 736 740 flag = MERGE( 1.0_wp, 0.0_wp, & 737 BTEST( wall_flags_ static_0(k,j,i), 23 ) ) *&741 BTEST( wall_flags_total_0(k,j,i), 23 ) ) * & 738 742 MERGE( 1.0_wp, 0.0_wp, & 739 BTEST( wall_flags_ static_0(k,j,i), 9 ) )743 BTEST( wall_flags_total_0(k,j,i), 9 ) ) 740 744 ! 741 745 !-- Momentum flux w"u" … … 1209 1213 !-- rearranged according to the staggered grid. 1210 1214 DO k = nzb, nzt 1211 flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_ static_0(k,j,i), 22 ) )1215 flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j,i), 22 ) ) 1212 1216 ust = 0.5_wp * ( u(k,j,i) - hom(k,1,1,sr) + & 1213 1217 u(k+1,j,i) - hom(k+1,1,1,sr) ) … … 1398 1402 !-- fluxes, which are added further below. 1399 1403 flag = MERGE( 1.0_wp, 0.0_wp, & 1400 BTEST( wall_flags_ static_0(k,j,i), 23 ) ) *&1404 BTEST( wall_flags_total_0(k,j,i), 23 ) ) * & 1401 1405 MERGE( 1.0_wp, 0.0_wp, & 1402 BTEST( wall_flags_ static_0(k,j,i), 9 ) )1406 BTEST( wall_flags_total_0(k,j,i), 9 ) ) 1403 1407 1404 1408 ust = 0.5_wp * ( u(k,j,i) - hom(k,1,1,sr) + & … … 1433 1437 DO k = nzb, nzt 1434 1438 flag = MERGE( 1.0_wp, 0.0_wp, & 1435 BTEST( wall_flags_ static_0(k,j,i), 23 ) ) *&1439 BTEST( wall_flags_total_0(k,j,i), 23 ) ) * & 1436 1440 MERGE( 1.0_wp, 0.0_wp, & 1437 BTEST( wall_flags_ static_0(k,j,i), 9 ) )1441 BTEST( wall_flags_total_0(k,j,i), 9 ) ) 1438 1442 ! 1439 1443 !-- Vertical heat flux … … 1484 1488 DO j = nys, nyn 1485 1489 DO k = nzb+1, nzt 1486 flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_ static_0(k,j,i), 0 ) )1490 flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j,i), 0 ) ) 1487 1491 1488 1492 sums_ll(k,1) = sums_ll(k,1) + 0.5_wp * w(k,j,i) * ( & … … 1526 1530 DO k = nzb+1, nzt 1527 1531 1528 flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_ static_0(k,j,i), 0 ) )1532 flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j,i), 0 ) ) 1529 1533 1530 1534 sums_l(k,57,tn) = sums_l(k,57,tn) - 0.5_wp * ( & … … 1555 1559 DO j = nys, nyn 1556 1560 DO k = nzb+1, nzt 1557 flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_ static_0(k,j,i), 0 ) )1561 flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j,i), 0 ) ) 1558 1562 ! 1559 1563 !-- Subgrid horizontal heat fluxes u"pt", v"pt" … … 1653 1657 DO j = nys, nyn 1654 1658 DO k = nzb+1, nzt+1 1655 flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_ static_0(k,j,i), 0 ) )1659 flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j,i), 0 ) ) 1656 1660 1657 1661 sums_l(k,100,tn) = sums_l(k,100,tn) + rad_lw_in(k,j,i) &
Note: See TracChangeset
for help on using the changeset viewer.