Ignore:
Timestamp:
Jun 28, 2018 4:20:35 PM (3 years ago)
Author:
suehring
Message:

Limit aerodynamic resistance at vertial building walls; check for roughness not exceeding surface-layer height

File:
1 edited

Legend:

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

    r3051 r3091  
    2525! -----------------
    2626! $Id$
     27! Add check for local roughness length not exceeding surface-layer height and
     28! limit roughness length where necessary.
     29!
     30! 3051 2018-05-30 17:43:55Z suehring
    2731! Bugfix in surface-element loops for pavement surfaces
    2832!
     
    44994503!
    45004504!--    Finally, make some consistency checks.
    4501 !--    Ceck for eck for illegal combination of LAI and vegetation coverage.
     4505!--    Ceck for illegal combination of LAI and vegetation coverage.
    45024506       IF ( ANY( .NOT. surf_lsm_h%pavement_surface  .AND.                      &
    45034507                 surf_lsm_h%lai == 0.0_wp  .AND.  surf_lsm_h%c_veg == 1.0_wp ) &
     
    45174521          ENDIF
    45184522       ENDDO
     4523!
     4524!--    Check if roughness length exceed surface-layer height and decrease
     4525!--    local roughness length where necessary.
     4526       DO  m = 1, surf_lsm_h%ns
     4527          IF ( surf_lsm_h%z0(m) >= surf_lsm_h%z_mo(m) )  THEN
     4528         
     4529             surf_lsm_h%z0(m) = 0.9_wp * surf_lsm_h%z_mo(m)
     4530             
     4531             WRITE( message_string, * ) 'z0 exceeds surface-layer height ' //  &
     4532                            'at horizontal natural surface and is ' //         &
     4533                            'decreased appropriately at grid point (i,j) = ',  &
     4534                            surf_lsm_h%i(m), surf_lsm_h%j(m)
     4535             CALL message( 'land_surface_model_mod', 'PA0503',                 &
     4536                            0, 0, 0, 6, 0 )
     4537          ENDIF
     4538       ENDDO
     4539       
     4540       DO  l = 0, 3
     4541          DO  m = 1, surf_lsm_v(l)%ns
     4542             IF ( surf_lsm_v(l)%z0(m) >= surf_lsm_v(l)%z_mo(m) )  THEN
     4543         
     4544                surf_lsm_v(l)%z0(m) = 0.9_wp * surf_lsm_v(l)%z_mo(m)
     4545             
     4546                WRITE( message_string, * ) 'z0 exceeds surface-layer height '//&
     4547                            'at vertical natural surface and is ' //           &
     4548                            'decreased appropriately at grid point (i,j) = ',  &
     4549                            surf_lsm_v(l)%i(m)+surf_lsm_v(l)%ioff,             &
     4550                            surf_lsm_v(l)%j(m)+surf_lsm_v(l)%joff
     4551                CALL message( 'land_surface_model_mod', 'PA0503',              &
     4552                            0, 0, 0, 6, 0 )
     4553             ENDIF
     4554          ENDDO
     4555       ENDDO     
    45194556
    45204557
Note: See TracChangeset for help on using the changeset viewer.