Changeset 4194 for palm/trunk


Ignore:
Timestamp:
Aug 28, 2019 8:09:44 AM (5 years ago)
Author:
suehring
Message:

In case z0 exceeds the surface-layer height at water surfaces, apply more strict limitation of z0, in order to avoid instabilities when friction velocity is almost zero.

File:
1 edited

Legend:

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

    r4188 r4194  
    2525! -----------------
    2626! $Id$
     27! Apply more strict limitation of z0 over water surfaces in case it exceeds the
     28! surface-layer height, in order to avoid instabilities.
     29!
     30! 4188 2019-08-26 14:15:47Z suehring
    2731! Minor adjustment in error numbers, typos corrected
    2832!
     
    69796983
    69806984 
    6981              IF ( surf_lsm_h%z0(m) >= surf_lsm_h%z_mo(m) )  THEN
     6985             IF ( surf_lsm_h%z0(m) > 0.1_wp * surf_lsm_h%z_mo(m) )  THEN
    69826986 
    6983                 surf_lsm_h%z0(m) = 0.9_wp * surf_lsm_h%z_mo(m)
     6987                surf_lsm_h%z0(m) = 0.1_wp * surf_lsm_h%z_mo(m)
    69846988             
    69856989                WRITE( message_string, * ) 'z0 exceeds surface-layer height' //&
     
    69916995             ENDIF
    69926996 
    6993              IF ( surf_lsm_h%z0h(m) >= surf_lsm_h%z_mo(m) )  THEN
     6997             IF ( surf_lsm_h%z0h(m) >= 0.1_wp * surf_lsm_h%z_mo(m) )  THEN
    69946998 
    6995                 surf_lsm_h%z0h(m) = 0.9_wp * surf_lsm_h%z_mo(m)
     6999                surf_lsm_h%z0h(m) = 0.1_wp * surf_lsm_h%z_mo(m)
    69967000             
    69977001                WRITE( message_string, * ) 'z0h exceeds surface-layer height'//&
     
    70037007             ENDIF
    70047008             
    7005              IF ( surf_lsm_h%z0q(m) >= surf_lsm_h%z_mo(m) )  THEN
     7009             IF ( surf_lsm_h%z0q(m) >= 0.1_wp * surf_lsm_h%z_mo(m) )  THEN
    70067010 
    7007                 surf_lsm_h%z0q(m) = 0.9_wp * surf_lsm_h%z_mo(m)
     7011                surf_lsm_h%z0q(m) = 0.1_wp * surf_lsm_h%z_mo(m)
    70087012             
    70097013                WRITE( message_string, * ) 'z0q exceeds surface-layer height'//&
Note: See TracChangeset for help on using the changeset viewer.