Changeset 1221 for palm/trunk/SOURCE/init_grid.f90
- Timestamp:
- Sep 10, 2013 8:59:13 AM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/init_grid.f90
r1093 r1221 20 20 ! Current revisions: 21 21 ! ----------------- 22 ! 22 ! wall_flags_00 introduced to hold bits 32-63, 23 ! additional 3D-flag arrays for replacing the 2D-index array nzb_s_inner in 24 ! loops optimized for openACC (pres + flow_statistics) 23 25 ! 24 26 ! Former revisions: … … 387 389 nzb_diff_v(nysg:nyng,nxlg:nxrg), & 388 390 nzb_2d(nysg:nyng,nxlg:nxrg), & 391 rflags_s_inner(nzb:nzt+2,nysg:nyng,nxlg:nxrg), & 392 rflags_invers(nysg:nyng,nxlg:nxrg,nzb:nzt+2), & 389 393 wall_e_x(nysg:nyng,nxlg:nxrg), & 390 394 wall_e_y(nysg:nyng,nxlg:nxrg), & … … 403 407 nzb_v_inner = nzb; nzb_v_outer = nzb 404 408 nzb_w_inner = nzb; nzb_w_outer = nzb 409 410 rflags_s_inner = 1.0 411 rflags_invers = 1.0 405 412 406 413 ! … … 854 861 855 862 ENDIF 863 ! 864 !-- Set flag arrays to be used for masking of grid points 865 DO i = nxlg, nxrg 866 DO j = nysg, nyng 867 DO k = nzb, nzt+1 868 IF ( k <= nzb_s_inner(j,i) ) rflags_s_inner(k,j,i) = 0.0 869 IF ( k <= nzb_s_inner(j,i) ) rflags_invers(j,i,k) = 0.0 870 ENDDO 871 ENDDO 872 ENDDO 856 873 #endif 857 874 ENDIF … … 1107 1124 ! 1108 1125 !-- Allocate flags needed for masking walls. 1109 ALLOCATE( wall_flags_0(nzb:nzt,nys:nyn,nxl:nxr) ) 1110 wall_flags_0 = 0 1126 ALLOCATE( wall_flags_0(nzb:nzt,nys:nyn,nxl:nxr), & 1127 wall_flags_00(nzb:nzt,nys:nyn,nxl:nxr) ) 1128 wall_flags_0 = 0 1129 wall_flags_00 = 0 1111 1130 1112 1131 IF ( scalar_advec == 'ws-scheme' ) THEN … … 1311 1330 wall_flags_0(k,j,i) = IBSET( wall_flags_0(k,j,i), 31 ) 1312 1331 ELSE 1313 wall_flags_0 (k,j,i) = IBSET( wall_flags_0(k,j,i), 32)1332 wall_flags_00(k,j,i) = IBSET( wall_flags_00(k,j,i), 0 ) 1314 1333 ENDIF 1315 1334 ! … … 1325 1344 !-- because flux_t(nzb_w_inner(j,i)) is used for the tendency 1326 1345 !-- at k == nzb_w_inner(j,i)+1. 1327 wall_flags_0 (k,j,i) = IBSET( wall_flags_0(k,j,i), 33)1346 wall_flags_00(k,j,i) = IBSET( wall_flags_00(k,j,i), 1 ) 1328 1347 flag_set = .TRUE. 1329 1348 ELSEIF ( k == nzb_w_inner(j,i) + 2 .OR. k == nzt - 1 ) THEN 1330 wall_flags_0 (k,j,i) = IBSET( wall_flags_0(k,j,i), 34)1349 wall_flags_00(k,j,i) = IBSET( wall_flags_00(k,j,i), 2 ) 1331 1350 flag_set = .TRUE. 1332 1351 ELSEIF ( k > nzb_w_inner(j,i) .AND. .NOT. flag_set ) THEN 1333 wall_flags_0 (k,j,i) = IBSET( wall_flags_0(k,j,i), 35)1352 wall_flags_00(k,j,i) = IBSET( wall_flags_00(k,j,i), 3 ) 1334 1353 ENDIF 1335 1354
Note: See TracChangeset
for help on using the changeset viewer.