Changeset 3138 for palm/trunk/SOURCE


Ignore:
Timestamp:
Jul 17, 2018 8:21:20 AM (6 years ago)
Author:
maronga
Message:

bugfix for sea surfaces with constant_roughness = .F.

File:
1 edited

Legend:

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

    r3136 r3138  
    2525! -----------------
    2626! $Id$
     27! Bugfix: limit roughness lengths in case of sea surface with constant_roughness
     28! = .F.
     29!
     30! 3136 2018-07-16 14:48:21Z suehring
    2731! Limit also roughness length for heat and moisture where necessary;
    2832! Limit surface resistance to positive values
     
    68996903
    69006904       USE control_parameters,                                                 &
    6901            ONLY: g, kappa, molecular_viscosity
     6905           ONLY: g, kappa, message_string, molecular_viscosity
    69026906
    69036907       IMPLICIT NONE
     
    69526956                                 surf_lsm_h%us(m)
    69536957
     6958 
     6959             IF ( surf_lsm_h%z0(m) >= surf_lsm_h%z_mo(m) )  THEN
     6960 
     6961                surf_lsm_h%z0(m) = 0.9_wp * surf_lsm_h%z_mo(m)
     6962             
     6963                WRITE( message_string, * ) 'z0 exceeds surface-layer height' //&
     6964                            ' at horizontal sea surface and is ' //            &
     6965                            'decreased appropriately at grid point (i,j) = ',  &
     6966                            surf_lsm_h%i(m), surf_lsm_h%j(m)
     6967                CALL message( 'land_surface_model_mod', 'PA0508',              &
     6968                              0, 0, 0, 6, 0 )
     6969             ENDIF
     6970 
     6971             IF ( surf_lsm_h%z0h(m) >= surf_lsm_h%z_mo(m) )  THEN
     6972 
     6973                surf_lsm_h%z0h(m) = 0.9_wp * surf_lsm_h%z_mo(m)
     6974             
     6975                WRITE( message_string, * ) 'z0h exceeds surface-layer height'//&
     6976                            ' at horizontal sea surface and is ' //            &
     6977                            'decreased appropriately at grid point (i,j) = ',  &
     6978                            surf_lsm_h%i(m), surf_lsm_h%j(m)
     6979                CALL message( 'land_surface_model_mod', 'PA0508',              &
     6980                              0, 0, 0, 6, 0 )
     6981             ENDIF
     6982             
     6983             IF ( surf_lsm_h%z0(m) >= surf_lsm_h%z_mo(m) )  THEN
     6984 
     6985                surf_lsm_h%z0q(m) = 0.9_wp * surf_lsm_h%z_mo(m)
     6986             
     6987                WRITE( message_string, * ) 'z0q exceeds surface-layer height'//&
     6988                            ' at horizontal sea surface and is ' //            &
     6989                            'decreased appropriately at grid point (i,j) = ',  &
     6990                            surf_lsm_h%i(m), surf_lsm_h%j(m)
     6991                CALL message( 'land_surface_model_mod', 'PA0508',              &
     6992                              0, 0, 0, 6, 0 )
     6993             ENDIF
     6994 
     6995                                 
    69546996          ENDIF
    69556997       ENDDO
Note: See TracChangeset for help on using the changeset viewer.