Changeset 4630 for palm/trunk/SOURCE/urban_surface_mod.f90
- Timestamp:
- Jul 30, 2020 2:54:34 PM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/urban_surface_mod.f90
r4602 r4630 27 27 ! ----------------- 28 28 ! $Id$ 29 ! - Bugfix in resistance calculation - avoid potential divisions by zero 30 ! - Minor formatting adjustment 31 ! 32 ! 4602 2020-07-14 14:49:45Z suehring 29 33 ! Add missing initialization of albedo type with values given from static input file 30 34 ! … … 463 467 INTEGER(iwp) :: wall_category = 2 !< default category for wall surface over pedestrian zone 464 468 469 REAL(wp) :: d_roughness_concrete !< inverse roughness length of average concrete surface 465 470 REAL(wp) :: roughness_concrete = 0.001_wp !< roughness length of average concrete surface 466 471 … … 3583 3588 ENDIF 3584 3589 ! 3590 !-- Calculate constant values 3591 d_roughness_concrete = 1.0_wp / roughness_concrete 3592 ! 3585 3593 !-- Flag surface elements belonging to the ground floor level. Therefore, use terrain height array 3586 3594 !-- from file, if available. This flag is later used to control initialization of surface attributes. … … 7539 7547 q_s, & !< saturation specific humidity 7540 7548 rho_lv, & !< frequently used parameter for green layers 7541 tend !< tendency 7549 tend, & !< tendency 7550 ueff !< limited near-surface wind speed - used for calculation of resistance 7542 7551 7543 7552 … … 8046 8055 !-- normal component is obtained by simple linear interpolation. (An alternative would be an 8047 8056 !-- logarithmic interpolation.) Parameter roughness_concrete (default value = 0.001) is used 8048 !-- to calculation of roughness relative to concrete 8049 surf_usm_v(l)%r_a(m) = rho_cp / ( surf_usm_v(l)%z0(m) / roughness_concrete & 8050 * ( 11.8_wp + 4.2_wp & 8051 * SQRT( MAX( ( ( u(k,j,i) + u(k,j,i+1) ) * 0.5_wp )**2 + & 8052 ( ( v(k,j,i) + v(k,j+1,i) ) * 0.5_wp )**2 + & 8053 ( ( w(k,j,i) + w(k-1,j,i) ) * 0.5_wp )**2, 0.01_wp ) ) & 8054 ) - 4.0_wp ) 8057 !-- to calculation of roughness relative to concrete. Note, wind velocity is limited 8058 !-- to avoid division by zero. The nominator can become <= 0.0 for values z0 < 3*10E-4. 8059 ueff = MAX ( SQRT( ( ( u(k,j,i) + u(k,j,i+1) ) * 0.5_wp )**2 + & 8060 ( ( v(k,j,i) + v(k,j+1,i) ) * 0.5_wp )**2 + & 8061 ( ( w(k,j,i) + w(k-1,j,i) ) * 0.5_wp )**2 ), & 8062 1.0_wp / 4.2_wp & 8063 * ( 4.0_wp / ( surf_usm_v(l)%z0(m) * d_roughness_concrete ) & 8064 - 11.8_wp ), & 8065 0.1_wp & 8066 ) 8067 8068 surf_usm_v(l)%r_a(m) = rho_cp / ( surf_usm_v(l)%z0(m) * d_roughness_concrete & 8069 * ( 11.8_wp + 4.2_wp * ueff ) - 4.0_wp ) 8055 8070 ! 8056 8071 !-- Limit aerodynamic resistance
Note: See TracChangeset
for help on using the changeset viewer.