Changeset 4478


Ignore:
Timestamp:
Mar 27, 2020 2:06:23 PM (13 months ago)
Author:
monakurppa
Message:

Bug fixes in salsa_mod.f90 and update of urban_environment_salsa

Location:
palm/trunk
Files:
5 edited

Legend:

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

    r4457 r4478  
    2626! -----------------
    2727! $Id$
     28! Bug fixes:
     29! - call salsa_driver in salsa_init also for the ghost points
     30! - decycle flags missing from advec_s_ws call in salsa_tendency
     31!
     32! 4457 2020-03-11 14:20:43Z raasch
    2833! use statement for exchange horiz added
    2934!
     
    18101815
    18111816!-- Initalisation run of SALSA + calculate the vertical top index of the topography
    1812     DO  i = nxl, nxr
    1813        DO  j = nys, nyn
     1817    DO  i = nxlg, nxrg
     1818       DO  j = nysg, nyng
    18141819
    18151820          k_topo_top(j,i) = MAXLOC( MERGE( 1, 0, BTEST( wall_flags_total_0(:,j,i), 12 ) ), &
     
    80958100    IF ( timestep_scheme(1:5) == 'runge' )  THEN
    80968101       IF ( ws_scheme_sca )  THEN
    8097           CALL advec_s_ws( salsa_advc_flags_s, i, j, rs, id, flux_s, diss_s, flux_l, diss_l,       &
    8098                            i_omp_start, tn, bc_dirichlet_l  .OR.  bc_radiation_l,                  &
    8099                            bc_dirichlet_n  .OR.  bc_radiation_n,                                   &
    8100                            bc_dirichlet_r  .OR.  bc_radiation_r,                                   &
    8101                            bc_dirichlet_s  .OR.  bc_radiation_s, monotonic_limiter_z )
     8102          CALL advec_s_ws( salsa_advc_flags_s, i, j, rs, id,                                       &
     8103                           flux_s, diss_s, flux_l, diss_l, i_omp_start, tn,                        &
     8104                           bc_dirichlet_l  .OR.  bc_radiation_l  .OR.  decycle_salsa_lr,           &
     8105                           bc_dirichlet_n  .OR.  bc_radiation_n  .OR.  decycle_salsa_ns,           &
     8106                           bc_dirichlet_r  .OR.  bc_radiation_r  .OR.  decycle_salsa_lr,           &
     8107                           bc_dirichlet_s  .OR.  bc_radiation_s  .OR.  decycle_salsa_ns )
    81028108       ELSE
    81038109          CALL advec_s_pw( i, j, rs )
     
    82308236    IF ( timestep_scheme(1:5) == 'runge' )  THEN
    82318237       IF ( ws_scheme_sca )  THEN
    8232           CALL advec_s_ws( salsa_advc_flags_s, rs, id, bc_dirichlet_l  .OR.  bc_radiation_l,       &
    8233                            bc_dirichlet_n  .OR.  bc_radiation_n,                                   &
    8234                            bc_dirichlet_r  .OR.  bc_radiation_r,                                   &
    8235                            bc_dirichlet_s  .OR.  bc_radiation_s )
     8238          CALL advec_s_ws( salsa_advc_flags_s, rs, id,                                             &
     8239                           bc_dirichlet_l  .OR.  bc_radiation_l  .OR.  decycle_salsa_lr,           &
     8240                           bc_dirichlet_n  .OR.  bc_radiation_n  .OR.  decycle_salsa_ns,           &
     8241                           bc_dirichlet_r  .OR.  bc_radiation_r  .OR.  decycle_salsa_lr,           &
     8242                           bc_dirichlet_s  .OR.  bc_radiation_s  .OR.  decycle_salsa_ns )
    82368243       ELSE
    82378244          CALL advec_s_pw( rs )
  • palm/trunk/TESTS/cases/urban_environment_salsa/INPUT/urban_environment_salsa_p3d

    r4342 r4478  
    2020!------------------------------------------------------------------------------
    2121    fft_method           = 'fftw',
    22     monotonic_limiter_z  = .T., 
     22    monotonic_limiter_z  = .T.,
    2323!
    2424!-- Mode
    25 !------------------------------------------------------------------------------     
     25!------------------------------------------------------------------------------
    2626    humidity             = .T.,
    2727    q_surface            = 0.001,
     
    3030!-- Initialization
    3131!------------------------------------------------------------------------------
    32     initializing_actions = 'inifor set_constant_profiles',   !'set_constant_profiles', or 'inifor', 
     32    initializing_actions = 'inifor set_constant_profiles',   !'set_constant_profiles', or 'inifor',
    3333                                                             ! or both (met. from inifor, chem constant profiles)
    3434
     
    4141!
    4242!-- Wall/soil spinup
    43 !------------------------------------------------------------------------------   
     43!------------------------------------------------------------------------------
    4444    spinup_time         = 1200.0,
    4545    spinup_pt_mean      = 284.15,
     
    5050!
    5151!-- Topography
    52 !------------------------------------------------------------------------------   
     52!------------------------------------------------------------------------------
    5353    topography           = 'read_from_file',
    5454
     
    9595                            'e', 'e*', '#km', '#l',
    9696                            '#t_soil', '#m_soil', 'rad_lw_in', 'rad_lw_out',
    97                             'salsa_Ntot', 'salsa_N_UFP', 'salsa_LDSA', 
    98                             'salsa_PM0.1', 'salsa_PM2.5', 'salsa_PM10', 
     97                            'salsa_Ntot', 'salsa_N_UFP', 'salsa_LDSA',
     98                            'salsa_PM0.1', 'salsa_PM2.5', 'salsa_PM10',
    9999!
    100100!-- 2D/3D output settings
    101101!------------------------------------------------------------------------------
    102     do3d_at_begin      = .T., 
     102    do3d_at_begin      = .T.,
    103103    do2d_at_begin      = .T.,
    104104
    105     dt_data_output     = 60.0, 
     105    dt_data_output     = 60.0,
    106106    dt_data_output_av  = 60.0,
    107107    averaging_interval = 60.0,
     
    113113!                   'Ntot', 'PM2.5', 'LDSA',
    114114!                   's_OC','g_OCNV','g_OCSV',
    115 !                   'N_bin3', 'm_bin4', 
     115!                   'N_bin3', 'm_bin4',
    116116
    117117
     
    143143!-- LAND SURFACE MODEL PARAMETER NAMELIST
    144144!   Documentation: https://palm.muk.uni-hannover.de/trac/wiki/doc/app/lsmpar
    145 !------------------------------------------------------------------------------- 
    146  &land_surface_parameters 
     145!-------------------------------------------------------------------------------
     146 &land_surface_parameters
    147147
    148148    constant_roughness     = .T.,
     
    154154
    155155    root_fraction          = 0.49, 0.26, 0.25, 0.0, 0.0, 0.0, 0.0, 0.0,
    156     soil_temperature       = 277.15, 277.0, 277.0, 277.0, 277.0, 277.0, 277.0, 277.0, 
     156    soil_temperature       = 277.15, 277.0, 277.0, 277.0, 277.0, 277.0, 277.0, 277.0,
    157157    soil_moisture          = 0.30,   0.30,  0.30,  0.30,  0.30, 0.30,  0.30,  0.30,
    158158    deep_soil_temperature  = 277.0,
    159    
     159
    160160 / ! end of lsm_par namelist
    161161
     
    171171
    172172 / ! end of urban_surface_par namelist
    173  
     173
    174174
    175175!-------------------------------------------------------------------------------
     
    178178!-------------------------------------------------------------------------------
    179179 &plant_canopy_parameters
    180  
     180
    181181    canopy_mode       = 'read_from_file',
    182182    canopy_drag_coeff = 0.3,
    183      
     183
    184184 / ! end of canopy_par namelist
    185  
     185
    186186
    187187!-------------------------------------------------------------------------------
    188188!-- SALSA PARAMETER NAMELIST
    189189!-------------------------------------------------------------------------------
    190  &salsa_parameters 
     190 &salsa_parameters
    191191
    192192!
     
    196196
    197197!
    198 !-- If initializing_actions includes 'set_constant_profiles' , 
     198!-- If initializing_actions includes 'set_constant_profiles' ,
    199199!-- define the initial aerosol size distribution by dpg, sigmag and n_lognorm
    200200    dpg                  = 13.5E-9, 54.0E-9, 864.1E-9, ! mean diameter per mode (in metres)
    201     sigmag               =     1.8,    2.16,     2.21, ! standard deviation per mode 
     201    sigmag               =     1.8,    2.16,     2.21, ! standard deviation per mode
    202202    n_lognorm            =  1.43E9,  4.45E8,    7.0E4, ! number concentration per mode (#/m3)
    203203
    204204!
    205 !-- If initializing_actions includes 'set_constant_profiles', apply these initial gas concentrations                   
     205!-- If initializing_actions includes 'set_constant_profiles', apply these initial gas concentrations
    206206    H2SO4_init           = 5.0E12, ! sulphuric acid (#/m3)
    207207    HNO3_init            = 3.0E12, ! nitric acid (#/m3)
    208     NH3_init             = 6.0E12, ! ammonia (#/m3)       
     208    NH3_init             = 6.0E12, ! ammonia (#/m3)
    209209    OCNV_init            = 1.0E12, ! non-volatile organic gases (#/m3)
    210210    OCSV_init            = 1.0E12, ! non-volatile organic gases (#/m3)
    211211
    212212!
    213 !-- List of activated chemical components: 
     213!-- List of activated chemical components:
    214214!-- NOTE! Chemical species have to be activated here even if they are not initially present!
    215     listspec             = 'OC','NO','NH','','','','',       
    216     ! listspec             = 'SO4','OC','BC','DU','SS','NO','NH', 
     215    listspec             = 'OC','NO','NH','','','','',
     216    ! listspec             = 'SO4','OC','BC','DU','SS','NO','NH',
    217217
    218218!
    219219!-- Sectional presentation of the particle size distribution
    220220    reglim               = 3.0E-9, 1.0E-8, 2.5E-6, ! limits of the subranges (m)
    221     nbin                 = 1, 7,                   ! number of bins per subrange 
     221    nbin                 = 1, 7,                   ! number of bins per subrange
    222222!-- NOTE! Subrange 1 consists only of H2SO4 and/or OC
    223     nf2a                 = 1.0,                    ! Number fraction allocated to subrange 2a
     223    nf2a                 = 1.0,                    ! Number fraction allocated to subrange 2a
    224224
    225225!
    226226!-- Aerosol emissions:
    227227    salsa_emission_mode  = 'read_from_file', ! 'no_emission','uniform' or 'read_from_file'
    228 !-- NOTE! chemical components of the source have to be activated in 'listspec' 
     228!-- NOTE! chemical components of the source have to be activated in 'listspec'
    229229!--       and have to be in the same order
    230230
     
    237237!
    238238!-- Boundary conditions
    239 !-- Decycle at the left & right boundaries: initial concentration 
    240 !--   is copied to ghost and first three layers at both boundaries at the left boundary
    241 !--   and a zero gradient is set at the right boundary
    242 !-- Decycle at the north & south boundaries: initial concentration 
    243 !--   is copied to ghost and first three layers at both boundaries
    244     decycle_salsa_lr     = .T.,         
     239!-- Decycle at the left & right boundaries:
     240    decycle_salsa_lr     = .T.,
    245241    decycle_salsa_ns     = .F.,
    246     decycle_method_salsa = 'dirichlet','dirichlet','dirichlet','dirichlet', 
     242    decycle_method_salsa = 'dirichlet','dirichlet','dirichlet','dirichlet',
    247243    bc_salsa_b           = 'neumann',    ! surface flux requires 'neumann'
    248244    bc_salsa_t           = 'dirichlet',  ! top
    249                                                                                            
     245
    250246!
    251247!-- Switches for aerosol processes:
     
    259255    nlcoag               = .F., ! Coagulation master switch
    260256    nsnucl               =  0,  ! Nucleation scheme (0 = off)
    261     nj3                  =  1,  ! J3 parametrization for nucleation 
     257    nj3                  =  1,  ! J3 parametrization for nucleation
    262258
    263259!
     
    265261    depo_pcm_par         = 'zhang2001',  ! plant canopy
    266262    depo_surf_par        = 'zhang2001',  ! ground, roofs and walls
    267     season_z01           = 5             ! Season for zhang2001, 
     263    season_z01           = 5             ! Season for zhang2001,
    268264                                         ! 1 = summer, 2 = autumn, 3 = late autumn
    269265                                         ! 4 = winter, 5 = transitional spring
    270266!
    271267!-- Other switches:
    272     advect_particle_water   = .T.,   ! particle water: advect or calculate at each dt_salsa 
     268    advect_particle_water   = .T.,   ! particle water: advect or calculate at each dt_salsa
    273269    feedback_to_palm        = .F.,   ! feedback to flow due to condensation of water
    274270    nesting_salsa           = .F.,   ! apply self-nesting for salsa variables
     
    276272    write_binary_salsa      = .F.,   ! skip writing restart data even if it's done for the flow
    277273    nesting_offline_salsa   = .F.,   ! apply offline nesting for salsa
    278          
     274
    279275 / ! end of salsa_par namelist
    280 
    281  
  • palm/trunk/TESTS/cases/urban_environment_salsa/MONITORING/urban_environment_salsa_rc.000

    r4446 r4478  
    11
    22 ******************************    --------------------------------------------
    3  * PALM 6.0  Rev: 4379M       *    atmosphere - run without 1D - prerun
     3 * PALM 6.0  Rev: 4477M       *    atmosphere - run without 1D - prerun
    44 ******************************    --------------------------------------------
    55
    6  Date:               2020-01-17    Run:       urban_environment_salsa           
    7  Time:                 18:25:39    Run-No.:   00
     6 Date:               2020-03-27    Run:       urban_environment_salsa           
     7 Time:                 15:56:23    Run-No.:   00
    88 Run on host:           default
    99 Number of PEs:               4    Processor grid (x,y): (   2,   2) calculated
     
    1313 -----------------
    1414
    15  --> Use the Moeng_Wyngaard turbulence closure (LES mode).
     15 --> Use the 1.5-order turbulence closure (LES mode).
    1616 --> Use the boussinesq approximation for the model equations.
    1717 --> Solve perturbation pressure via FFT using fftw routines
     
    190190 ---------------------------
    191191
    192     Mixing length is limited to 1.80 * z
     192    Mixing length is limited close to surfaces
    193193
    194194
Note: See TracChangeset for help on using the changeset viewer.