Ignore:
Timestamp:
Apr 8, 2019 11:52:36 AM (5 years ago)
Author:
suehring
Message:

More strict limitation of roughness length when it is in the order of the vertical grid spacing

File:
1 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SOURCE/land_surface_model_mod.f90

    r3856 r3868  
    2525! -----------------
    2626! $Id$
     27! More strict limitation of roughness length when it is in the order of the
     28! vertical grid spacing
     29!
     30! 3856 2019-04-03 11:06:59Z suehring
    2731! Bugfix in lsm_init in case no surface-fractions are provided
    2832!
     
    48794883!--    necessary.
    48804884       DO  m = 1, surf_lsm_h%ns
    4881           IF ( surf_lsm_h%z0(m) >= surf_lsm_h%z_mo(m) )  THEN
     4885          IF ( surf_lsm_h%z0(m) > 0.5_wp * surf_lsm_h%z_mo(m) )  THEN
    48824886         
    4883              surf_lsm_h%z0(m) = 0.9_wp * surf_lsm_h%z_mo(m)
     4887             surf_lsm_h%z0(m) = 0.5_wp * surf_lsm_h%z_mo(m)
    48844888             
    48854889             WRITE( message_string, * ) 'z0 exceeds surface-layer height ' //  &
     
    48904894                            0, 0, 0, 6, 0 )
    48914895          ENDIF
    4892           IF ( surf_lsm_h%z0h(m) >= surf_lsm_h%z_mo(m) )  THEN
     4896          IF ( surf_lsm_h%z0h(m) > 0.5_wp * surf_lsm_h%z_mo(m) )  THEN
    48934897         
    4894              surf_lsm_h%z0h(m) = 0.9_wp * surf_lsm_h%z_mo(m)
    4895              surf_lsm_h%z0q(m) = 0.9_wp * surf_lsm_h%z_mo(m)
     4898             surf_lsm_h%z0h(m) = 0.5_wp * surf_lsm_h%z_mo(m)
     4899             surf_lsm_h%z0q(m) = 0.5_wp * surf_lsm_h%z_mo(m)
    48964900             
    48974901             WRITE( message_string, * ) 'z0h exceeds surface-layer height ' // &
     
    49064910       DO  l = 0, 3
    49074911          DO  m = 1, surf_lsm_v(l)%ns
    4908              IF ( surf_lsm_v(l)%z0(m) >= surf_lsm_v(l)%z_mo(m) )  THEN
     4912             IF ( surf_lsm_v(l)%z0(m) > 0.5_wp * surf_lsm_v(l)%z_mo(m) )  THEN
    49094913         
    4910                 surf_lsm_v(l)%z0(m) = 0.9_wp * surf_lsm_v(l)%z_mo(m)
     4914                surf_lsm_v(l)%z0(m) = 0.5_wp * surf_lsm_v(l)%z_mo(m)
    49114915             
    49124916                WRITE( message_string, * ) 'z0 exceeds surface-layer height '//&
     
    49184922                            0, 0, 0, 6, 0 )
    49194923             ENDIF
    4920              IF ( surf_lsm_v(l)%z0h(m) >= surf_lsm_v(l)%z_mo(m) )  THEN
     4924             IF ( surf_lsm_v(l)%z0h(m) > 0.5_wp * surf_lsm_v(l)%z_mo(m) )  THEN
    49214925         
    4922                 surf_lsm_v(l)%z0h(m) = 0.9_wp * surf_lsm_v(l)%z_mo(m)
    4923                 surf_lsm_v(l)%z0q(m) = 0.9_wp * surf_lsm_v(l)%z_mo(m)
     4926                surf_lsm_v(l)%z0h(m) = 0.5_wp * surf_lsm_v(l)%z_mo(m)
     4927                surf_lsm_v(l)%z0q(m) = 0.5_wp * surf_lsm_v(l)%z_mo(m)
    49244928             
    49254929                WRITE( message_string, * ) 'z0h exceeds surface-layer height '//&
Note: See TracChangeset for help on using the changeset viewer.