Changeset 4346 for palm/trunk/SOURCE/pres.f90
- Timestamp:
- Dec 18, 2019 11:55:56 AM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/pres.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 ! … … 72 76 ONLY: nbgp, ngp_2dh_outer, nx, nxl, nxlg, nxl_mg, nxr, nxrg, nxr_mg, & 73 77 ny, nys, nysg, nys_mg, nyn, nyng, nyn_mg, nzb, nzt, nzt_mg, & 74 wall_flags_ static_078 wall_flags_total_0 75 79 76 80 USE kinds … … 190 194 volume_flow_l(1) = volume_flow_l(1) + u(k,j,i) * dzw(k) & 191 195 * MERGE( 1.0_wp, 0.0_wp, & 192 BTEST( wall_flags_static_0(k,j,i), 1 ) &196 BTEST( wall_flags_total_0(k,j,i), 1 ) & 193 197 ) 194 198 ENDDO … … 209 213 u(k,j,i) = u(k,j,i) + volume_flow_offset(1) & 210 214 * MERGE( 1.0_wp, 0.0_wp, & 211 BTEST( wall_flags_static_0(k,j,i), 1 ) &215 BTEST( wall_flags_total_0(k,j,i), 1 ) & 212 216 ) 213 217 ENDDO … … 235 239 volume_flow_l(2) = volume_flow_l(2) + v(k,j,i) * dzw(k) & 236 240 * MERGE( 1.0_wp, 0.0_wp, & 237 BTEST( wall_flags_static_0(k,j,i), 2 ) &241 BTEST( wall_flags_total_0(k,j,i), 2 ) & 238 242 ) 239 243 ENDDO … … 254 258 v(k,j,i) = v(k,j,i) + volume_flow_offset(2) & 255 259 * MERGE( 1.0_wp, 0.0_wp, & 256 BTEST( wall_flags_static_0(k,j,i), 2 ) &260 BTEST( wall_flags_total_0(k,j,i), 2 ) & 257 261 ) 258 262 ENDDO … … 283 287 DO k = nzb+1, nzt 284 288 w_l_l(k) = w_l_l(k) + w(k,j,i) & 285 * MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_ static_0(k,j,i), 3 ) )289 * MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j,i), 3 ) ) 286 290 ENDDO 287 291 ENDDO … … 300 304 DO k = nzb+1, nzt 301 305 w(k,j,i) = w(k,j,i) - w_l(k) & 302 * MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_ static_0(k,j,i), 3 ) )306 * MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j,i), 3 ) ) 303 307 ENDDO 304 308 ENDDO … … 347 351 ) * ddt_3d * d_weight_pres & 348 352 * MERGE( 1.0_wp, 0.0_wp, & 349 BTEST( wall_flags_static_0(k,j,i), 0 ) &353 BTEST( wall_flags_total_0(k,j,i), 0 ) & 350 354 ) 351 355 ENDDO … … 355 359 threadsum = threadsum + ABS( d(k,j,i) ) & 356 360 * MERGE( 1.0_wp, 0.0_wp, & 357 BTEST( wall_flags_static_0(k,j,i), 0 ) &361 BTEST( wall_flags_total_0(k,j,i), 0 ) & 358 362 ) 359 363 ENDDO … … 372 376 !$OMP DO SCHEDULE( STATIC ) 373 377 !$ACC PARALLEL LOOP COLLAPSE(3) PRIVATE(i, j, k) & 374 !$ACC PRESENT(u, v, w, rho_air, rho_air_zw, ddzw, wall_flags_ static_0) &378 !$ACC PRESENT(u, v, w, rho_air, rho_air_zw, ddzw, wall_flags_total_0) & 375 379 !$ACC PRESENT(d) 376 380 DO i = nxl, nxr … … 383 387 ) * ddt_3d * d_weight_pres & 384 388 * MERGE( 1.0_wp, 0.0_wp, & 385 BTEST( wall_flags_static_0(k,j,i), 0 ) &389 BTEST( wall_flags_total_0(k,j,i), 0 ) & 386 390 ) 387 391 ENDDO … … 633 637 !$OMP DO 634 638 !$ACC PARALLEL LOOP COLLAPSE(2) PRIVATE(i, j, k) & 635 !$ACC PRESENT(u, v, w, tend, ddzu, wall_flags_ static_0)639 !$ACC PRESENT(u, v, w, tend, ddzu, wall_flags_total_0) 636 640 DO i = nxl, nxr 637 641 DO j = nys, nyn … … 642 646 * weight_pres_l & 643 647 * MERGE( 1.0_wp, 0.0_wp, & 644 BTEST( wall_flags_static_0(k,j,i), 3 ) &648 BTEST( wall_flags_total_0(k,j,i), 3 ) & 645 649 ) 646 650 ENDDO … … 651 655 * weight_pres_l & 652 656 * MERGE( 1.0_wp, 0.0_wp, & 653 BTEST( wall_flags_static_0(k,j,i), 1 ) &657 BTEST( wall_flags_total_0(k,j,i), 1 ) & 654 658 ) 655 659 ENDDO … … 660 664 * weight_pres_l & 661 665 * MERGE( 1.0_wp, 0.0_wp, & 662 BTEST( wall_flags_static_0(k,j,i), 2 ) &666 BTEST( wall_flags_total_0(k,j,i), 2 ) & 663 667 ) 664 668 ENDDO … … 691 695 volume_flow_l(1) = volume_flow_l(1) + u(k,j,nxr) * dzw(k) & 692 696 * MERGE( 1.0_wp, 0.0_wp, & 693 BTEST( wall_flags_static_0(k,j,nxr), 1 )&697 BTEST( wall_flags_total_0(k,j,nxr), 1 )& 694 698 ) 695 699 ENDDO … … 710 714 volume_flow_l(2) = volume_flow_l(2) + v(k,nyn,i) * dzw(k) & 711 715 * MERGE( 1.0_wp, 0.0_wp, & 712 BTEST( wall_flags_static_0(k,nyn,i), 2 )&716 BTEST( wall_flags_total_0(k,nyn,i), 2 )& 713 717 ) 714 718 ENDDO … … 741 745 u(k,j,i) = u(k,j,i) + volume_flow_offset(1) & 742 746 * MERGE( 1.0_wp, 0.0_wp, & 743 BTEST( wall_flags_static_0(k,j,i), 1 ) &747 BTEST( wall_flags_total_0(k,j,i), 1 ) & 744 748 ) 745 749 ENDDO … … 747 751 v(k,j,i) = v(k,j,i) + volume_flow_offset(2) & 748 752 * MERGE( 1.0_wp, 0.0_wp, & 749 BTEST( wall_flags_static_0(k,j,i), 2 ) &753 BTEST( wall_flags_total_0(k,j,i), 2 ) & 750 754 ) 751 755 ENDDO … … 791 795 w(k-1,j,i) * rho_air_zw(k-1) ) * ddzw(k) & 792 796 ) * MERGE( 1.0_wp, 0.0_wp, & 793 BTEST( wall_flags_static_0(k,j,i), 0 ) &797 BTEST( wall_flags_total_0(k,j,i), 0 ) & 794 798 ) 795 799 ENDDO … … 802 806 !$OMP DO SCHEDULE( STATIC ) 803 807 !$ACC PARALLEL LOOP COLLAPSE(3) PRIVATE(i, j, k) & 804 !$ACC PRESENT(u, v, w, rho_air, rho_air_zw, ddzw, wall_flags_ static_0) &808 !$ACC PRESENT(u, v, w, rho_air, rho_air_zw, ddzw, wall_flags_total_0) & 805 809 !$ACC PRESENT(d) 806 810 DO i = nxl, nxr … … 812 816 w(k-1,j,i) * rho_air_zw(k-1) ) * ddzw(k) & 813 817 ) * MERGE( 1.0_wp, 0.0_wp, & 814 BTEST( wall_flags_static_0(k,j,i), 0 ) &818 BTEST( wall_flags_total_0(k,j,i), 0 ) & 815 819 ) 816 820 ENDDO
Note: See TracChangeset
for help on using the changeset viewer.