Changeset 3136 for palm/trunk/SOURCE/land_surface_model_mod.f90
- Timestamp:
- Jul 16, 2018 2:48:21 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/land_surface_model_mod.f90
r3133 r3136 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Limit also roughness length for heat and moisture where necessary; 28 ! Limit surface resistance to positive values 29 ! 30 ! 3133 2018-07-16 11:46:50Z maronga 27 31 ! Bugfix for last commit. 28 32 ! 29 ! 3127 2018-07-15 08:01:25Z maronga30 33 ! Some adjustments for pavement parameters 31 34 ! Limit magnus formula to avoid negative q_s (leads to model crash) … … 2150 2153 (surf%qsws(m) + 1.0E-20) - surf%r_a(m) 2151 2154 ENDIF 2152 2155 ! 2156 !-- Limit resistance resistance 2157 surf%r_s(m) = MAX( surf%r_s(m), 1.0_wp ) 2153 2158 ! 2154 2159 !-- Calculate change in liquid water reservoir due to dew fall or … … 4531 4536 ENDDO 4532 4537 ! 4533 !-- Check if roughness length exceed surface-layer height and decrease 4534 !-- local roughness length where necessary. 4538 !-- Check if roughness length for momentum, heat, or moisture exceed 4539 !-- surface-layer height and decrease local roughness length where 4540 !-- necessary. 4535 4541 DO m = 1, surf_lsm_h%ns 4536 4542 IF ( surf_lsm_h%z0(m) >= surf_lsm_h%z_mo(m) ) THEN … … 4543 4549 surf_lsm_h%i(m), surf_lsm_h%j(m) 4544 4550 CALL message( 'land_surface_model_mod', 'PA0503', & 4551 0, 0, 0, 6, 0 ) 4552 ENDIF 4553 IF ( surf_lsm_h%z0h(m) >= surf_lsm_h%z_mo(m) ) THEN 4554 4555 surf_lsm_h%z0h(m) = 0.9_wp * surf_lsm_h%z_mo(m) 4556 surf_lsm_h%z0q(m) = 0.9_wp * surf_lsm_h%z_mo(m) 4557 4558 WRITE( message_string, * ) 'z0h exceeds surface-layer height ' // & 4559 'at horizontal natural surface and is ' // & 4560 'decreased appropriately at grid point (i,j) = ', & 4561 surf_lsm_h%i(m), surf_lsm_h%j(m) 4562 CALL message( 'land_surface_model_mod', 'PA0507', & 4545 4563 0, 0, 0, 6, 0 ) 4546 4564 ENDIF … … 4561 4579 0, 0, 0, 6, 0 ) 4562 4580 ENDIF 4581 IF ( surf_lsm_v(l)%z0h(m) >= surf_lsm_v(l)%z_mo(m) ) THEN 4582 4583 surf_lsm_v(l)%z0h(m) = 0.9_wp * surf_lsm_v(l)%z_mo(m) 4584 surf_lsm_v(l)%z0q(m) = 0.9_wp * surf_lsm_v(l)%z_mo(m) 4585 4586 WRITE( message_string, * ) 'z0h exceeds surface-layer height '//& 4587 'at vertical natural surface and is ' // & 4588 'decreased appropriately at grid point (i,j) = ', & 4589 surf_lsm_v(l)%i(m)+surf_lsm_v(l)%ioff, & 4590 surf_lsm_v(l)%j(m)+surf_lsm_v(l)%joff 4591 CALL message( 'land_surface_model_mod', 'PA0507', & 4592 0, 0, 0, 6, 0 ) 4593 ENDIF 4563 4594 ENDDO 4564 4595 ENDDO 4565 4566 4567 4596 4568 4597 END SUBROUTINE lsm_init
Note: See TracChangeset
for help on using the changeset viewer.