Changeset 4340 for palm/trunk/SOURCE/advec_ws.f90
- Timestamp:
- Dec 16, 2019 8:17:03 AM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/advec_ws.f90
r4330 r4340 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Topography closed channel flow with symmetric boundaries implemented 28 ! 29 ! 4330 2019-12-10 16:16:33Z knoop 27 30 ! Bugix: removed syntax error introduced by last commit 28 31 ! … … 166 169 salsa, & 167 170 scalar_advec, & 171 symmetry_flag, & 168 172 intermediate_timestep_count, & 169 173 u_gtrans, & … … 502 506 BTEST(wall_flags_static_0(k+1,j,i),1) .AND. & 503 507 BTEST(wall_flags_static_0(k,j,i),1) ) .OR. & 504 k == nzt )&508 ( k == nzt .AND. symmetry_flag == 0 ) ) & 505 509 THEN 506 510 advc_flags_m(k,j,i) = IBSET( advc_flags_m(k,j,i), 6 ) … … 512 516 BTEST(wall_flags_static_0(k+1,j,i),1) .AND. & 513 517 BTEST(wall_flags_static_0(k_pp,j,i),1) .AND. & 514 .NOT. flag_set .OR.&515 k == nzt - 1 )&518 .NOT. flag_set .OR. & 519 ( k == nzt - 1 .AND. symmetry_flag == 0 ) ) & 516 520 THEN 517 521 advc_flags_m(k,j,i) = IBSET( advc_flags_m(k,j,i), 7 ) … … 635 639 BTEST(wall_flags_static_0(k+1,j,i),2) .AND. & 636 640 BTEST(wall_flags_static_0(k,j,i),2) ) .OR. & 637 k == nzt )&641 ( k == nzt .AND. symmetry_flag == 0 ) ) & 638 642 THEN 639 643 advc_flags_m(k,j,i) = IBSET( advc_flags_m(k,j,i), 15 ) … … 646 650 BTEST(wall_flags_static_0(k_pp,j,i),2) .AND. & 647 651 .NOT. flag_set .OR. & 648 k == nzt - 1 )&652 ( k == nzt - 1 .AND. symmetry_flag == 0 ) ) & 649 653 THEN 650 654 advc_flags_m(k,j,i) = IBSET( advc_flags_m(k,j,i), 16 ) … … 1082 1086 1083 1087 flag_set = .FALSE. 1084 IF ( .NOT. BTEST(wall_flags_static_0(k-1,j,i),0) .AND. & 1085 BTEST(wall_flags_static_0(k,j,i),0) .OR. & 1086 .NOT. BTEST(wall_flags_static_0(k_pp,j,i),0) .AND. & 1087 BTEST(wall_flags_static_0(k,j,i),0) .OR. & 1088 k == nzt ) & 1088 IF ( ( .NOT. BTEST(wall_flags_static_0(k-1,j,i),0) .AND. & 1089 BTEST(wall_flags_static_0(k,j,i),0) .AND. & 1090 BTEST(wall_flags_static_0(k+1,j,i),0) ) .OR. & 1091 ( .NOT. BTEST(wall_flags_static_0(k_pp,j,i),0) .AND. & 1092 BTEST(wall_flags_static_0(k+1,j,i),0) .AND. & 1093 BTEST(wall_flags_static_0(k,j,i),0) ) .OR. & 1094 ( k == nzt .AND. symmetry_flag == 0 ) ) & 1089 1095 THEN 1090 1096 advc_flag(k,j,i) = IBSET( advc_flag(k,j,i), 6 ) … … 1096 1102 BTEST(wall_flags_static_0(k+1,j,i),0) .AND. & 1097 1103 BTEST(wall_flags_static_0(k_pp,j,i),0) .AND. & 1098 .NOT. flag_set .OR. &1099 k == nzt - 1 )&1104 .NOT. flag_set .OR. & 1105 ( k == nzt - 1 .AND. symmetry_flag == 0 ) ) & 1100 1106 THEN 1101 1107 advc_flag(k,j,i) = IBSET( advc_flag(k,j,i), 7 ) … … 1595 1601 ENDDO 1596 1602 1597 DO k = nzt-1, nzt 1603 DO k = nzt-1, nzt-symmetry_flag 1598 1604 ibit8 = REAL( IBITS(advc_flag(k,j,i),8,1), KIND = wp ) 1599 1605 ibit7 = REAL( IBITS(advc_flag(k,j,i),7,1), KIND = wp ) … … 1638 1644 1639 1645 ! 1640 !-- Set resolved/turbulent flux at model top to zero (w-level) 1646 !-- Set resolved/turbulent flux at model top to zero (w-level). In case that 1647 !-- a symmetric behavior between bottom and top shall be guaranteed (closed 1648 !-- channel flow), the flux at nzt is also set to zero. 1649 IF ( symmetry_flag == 1 ) THEN 1650 flux_t(nzt) = 0.0_wp 1651 diss_t(nzt) = 0.0_wp 1652 ENDIF 1641 1653 flux_t(nzt+1) = 0.0_wp 1642 1654 diss_t(nzt+1) = 0.0_wp 1655 1643 1656 1644 1657 IF ( limiter ) THEN … … 2323 2336 ENDDO 2324 2337 2325 DO k = nzt-1, nzt 2338 DO k = nzt-1, nzt-symmetry_flag 2326 2339 ! 2327 2340 !-- k index has to be modified near bottom and top, else array … … 2368 2381 2369 2382 ! 2370 !-- Set resolved/turbulent flux at model top to zero (w-level) 2383 !-- Set resolved/turbulent flux at model top to zero (w-level). In case that 2384 !-- a symmetric behavior between bottom and top shall be guaranteed (closed 2385 !-- channel flow), the flux at nzt is also set to zero. 2386 IF ( symmetry_flag == 1 ) THEN 2387 flux_t(nzt) = 0.0_wp 2388 diss_t(nzt) = 0.0_wp 2389 w_comp(nzt) = 0.0_wp 2390 ENDIF 2371 2391 flux_t(nzt+1) = 0.0_wp 2372 2392 diss_t(nzt+1) = 0.0_wp … … 2887 2907 ENDDO 2888 2908 2889 DO k = nzt-1, nzt 2909 DO k = nzt-1, nzt-symmetry_flag 2890 2910 ! 2891 2911 !-- k index has to be modified near bottom and top, else array … … 2932 2952 2933 2953 ! 2934 !-- Set resolved/turbulent flux at model top to zero (w-level) 2954 !-- Set resolved/turbulent flux at model top to zero (w-level). In case that 2955 !-- a symmetric behavior between bottom and top shall be guaranteed (closed 2956 !-- channel flow), the flux at nzt is also set to zero. 2957 IF ( symmetry_flag == 1 ) THEN 2958 flux_t(nzt) = 0.0_wp 2959 diss_t(nzt) = 0.0_wp 2960 w_comp(nzt) = 0.0_wp 2961 ENDIF 2935 2962 flux_t(nzt+1) = 0.0_wp 2936 2963 diss_t(nzt+1) = 0.0_wp
Note: See TracChangeset
for help on using the changeset viewer.