Changeset 3157 for palm/trunk


Ignore:
Timestamp:
Jul 19, 2018 9:08:49 PM (6 years ago)
Author:
maronga
Message:

added local free convection velocity scale in calculation of horizontal wind at first grid level

Location:
palm/trunk/SOURCE
Files:
3 edited

Legend:

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

    r3129 r3157  
    2525! -----------------
    2626! $Id$
     27! added use_free_convection_scaling
     28!
     29! 3129 2018-07-16 07:45:13Z gronemeier
    2730! add target attribute to km and kh, necessary for output in tcm_data_output_3d
    2831!
     
    13591362    LOGICAL ::  urban_surface = .FALSE.                          !< use urban surface model?
    13601363    LOGICAL ::  use_cmax = .TRUE.                                !< namelist parameter
     1364    LOGICAL ::  use_free_convection_scaling = .FALSE.            !< namelist parameter to switch on free convection velocity scale in calculation of horizontal wind speed (surface_layer_fluxes)
    13611365    LOGICAL ::  use_initial_profile_as_reference = .FALSE.       !< use of initial profiles as reference state?
    13621366    LOGICAL ::  use_prescribed_profile_data = .FALSE.            !< use of prescribed wind profiles?
  • palm/trunk/SOURCE/parin.f90

    r3083 r3157  
    2525! -----------------
    2626! $Id$
     27! added use_free_convection_scaling
     28!
     29! 3083 2018-06-19 14:03:12Z gronemeier
    2730! Added rans_const_c and rans_const_sigma as input parameters (TG)
    2831!
     
    558561             turbulent_inflow, turbulent_outflow,                              &
    559562             use_subsidence_tendencies, ug_surface, ug_vertical_gradient,      &
     563             use_free_convection_scaling,                                      &
    560564             ug_vertical_gradient_level, use_surface_fluxes, use_cmax,         &
    561565             use_top_fluxes, use_ug_for_galilei_tr, use_upstream_for_tke,      &
     
    631635             ug_vertical_gradient_level, use_surface_fluxes, use_cmax,         &
    632636             use_top_fluxes, use_ug_for_galilei_tr, use_upstream_for_tke,      &
     637             use_free_convection_scaling,                                      &
    633638             uv_heights, u_bulk, u_profile, vg_surface, vg_vertical_gradient,  &
    634639             vg_vertical_gradient_level, v_bulk, v_profile, ventilation_effect,&
  • palm/trunk/SOURCE/surface_layer_fluxes_mod.f90

    r3152 r3157  
    2626! -----------------
    2727! $Id$
     28! Added local free convection velocity scale w_lfc in calculation of uvw_abs.
     29! This can be switche on/off by the user via the flag namelist parameter
     30! use_free_convection_scaling
     31!
     32! 3152 2018-07-19 13:26:52Z suehring
    2833! q_surface is now part of surface structure
    2934!
     
    246251               most_method, neutral, passive_scalar, pt_surface, q_surface,    &
    247252               run_coupled, surface_pressure, simulated_time, terminate_run,   &
    248                time_since_reference_point, urban_surface, zeta_max, zeta_min
     253               time_since_reference_point, urban_surface,                      &
     254               use_free_convection_scaling, zeta_max, zeta_min
    249255
    250256    USE grid_variables,                                                        &
     
    952958!------------------------------------------------------------------------------!
    953959    SUBROUTINE calc_uvw_abs
    954 
     960   
    955961       IMPLICIT NONE
    956962
     
    961967       INTEGER(iwp) ::  m             !< running index surface elements
    962968
     969       REAL(wp)     :: w_lfc          !< local free convection velocity scale
    963970!
    964971!--    ibit is 1 for upward-facing surfaces, zero for downward-facing surfaces.
     
    970977          j   = surf%j(m)
    971978          k   = surf%k(m)
     979       
     980!
     981!--       Calculate free convection velocity scale w_lfc is
     982!--       use_free_convection_scaling = .T.. This will maintain a horizontal
     983!--       velocity even for very weak wind convective conditions. SIGN is used
     984!--       to set w_lfc to zero under stable conditions.
     985          IF ( use_free_convection_scaling )  THEN
     986             w_lfc = ABS(g / surf%pt1(m) * surf%z_mo(m) * surf%shf(m))
     987             w_lfc = ( 0.5_wp * ( w_lfc + SIGN(w_lfc,surf%shf(m)) ) )**(0.33333_wp)
     988          ELSE
     989             w_lfc = 0.0_wp
     990          ENDIF
     991
    972992!
    973993!--       Compute the absolute value of the horizontal velocity.
     
    9911011                                           ) * ibit                            &
    9921012                                         )                                     &
    993                               )**2                                             &
     1013                              )**2  + w_lfc**2                                 &
    9941014                                )
    9951015
Note: See TracChangeset for help on using the changeset viewer.