source: palm/trunk/EXAMPLES/test_salsa/test_salsa_p3d @ 3864

Last change on this file since 3864 was 3864, checked in by monakurppa, 2 years ago

major changes in salsa: data input, format and performance

  • Time-dependent emissions enabled: lod=1 for yearly PM emissions that are normalised depending on the time, and lod=2 for preprocessed emissions (similar to the chemistry module).
  • Additionally, 'uniform' emissions allowed. This emission is set constant on all horisontal upward facing surfaces and it is created based on parameters surface_aerosol_flux, aerosol_flux_dpg/sigmag/mass_fracs_a/mass_fracs_b.
  • All emissions are now implemented as surface fluxes! No 3D sources anymore.
  • Update the emission information by calling salsa_emission_update if skip_time_do_salsa >= time_since_reference_point and next_aero_emission_update <= time_since_reference_point
  • Aerosol background concentrations read from PIDS_DYNAMIC. The vertical grid must match the one applied in the model.
  • Gas emissions and background concentrations can be also read in in salsa_mod if the chemistry module is not applied.
  • In deposition, information on the land use type can be now imported from the land use model
  • Use SI units in PARIN, i.e. n_lognorm given in #/m3 and dpg in metres.
  • Apply 100 character line limit
  • Change all variable names from capital to lowercase letter
  • Change real exponents to integer if possible. If not, precalculate the value of exponent
  • Rename in1a to start_subrange_1a, fn2a to end_subrange_1a etc.
  • Rename nbins --> nbins_aerosol, ncc_tot --> ncomponents_mass and ngast --> ngases_salsa
  • Rename ibc to index_bc, idu to index_du etc.
  • Renamed loop indices b, c and sg to ib, ic and ig
  • run_salsa subroutine removed
  • Corrected a bud in salsa_driver: falsely applied ino instead of inh
  • Call salsa_tendency within salsa_prognostic_equations which is called in module_interface_mod instead of prognostic_equations_mod
  • Removed tailing white spaces and unused variables
  • Change error message to start by PA instead of SA
File size: 9.1 KB
Line 
1!-------------------------------------------------------------------------------
2!-- INITIALIZATION PARAMETER NAMELIST
3!   Documentation: https://palm.muk.uni-hannover.de/trac/wiki/doc/app/inipar
4!-------------------------------------------------------------------------------
5 &initialization_parameters
6
7!
8!-- Grid
9!------------------------------------------------------------------------------
10    nx                   = 19,
11    ny                   = 19,
12    nz                   = 60,
13
14    dx                   = 2.0,
15    dy                   = 2.0,
16    dz                   = 2.0,
17
18!
19!-- Numerics
20!------------------------------------------------------------------------------
21    psolver              = 'multigrid',
22    momentum_advec       = 'ws-scheme',  ! default advection scheme
23    scalar_advec         = 'ws-scheme',
24    conserve_volume_flow = .T.,
25
26!
27!-- Mode
28!------------------------------------------------------------------------------     
29    humidity             = .T.,
30    q_surface            = 0.008,
31
32!
33!-- Initialization
34!------------------------------------------------------------------------------
35    initializing_actions = 'set_constant_profiles',
36
37    pt_surface           = 293.15,
38    ug_surface           = 1.0,
39    vg_surface           = 0.0,
40
41    roughness_length     = 0.05,
42    neutral              = .T.,
43   
44    day_of_year_init     =  65,          ! March 06, to avoid extreme temperatures
45    time_utc_init        = 71700.0,      !(19:55, UTC in seconds)
46
47!
48!-- Boundary conditions
49!------------------------------------------------------------------------------
50    bc_lr                = 'cyclic',
51    bc_ns                = 'cyclic',
52    bc_uv_t              = 'dirichlet',  ! channel flow boundary condition
53
54!
55!-- Topography
56!------------------------------------------------------------------------------   
57    topography           = 'read_from_file',
58
59!
60!-- Physics
61!------------------------------------------------------------------------------
62    longitude            = 13.4,         ! Berlin longitude
63    latitude             = 52.5,         ! Berlin latitude
64     
65 / ! end of inipar namelist
66
67
68!-------------------------------------------------------------------------------
69!-- RUNTIME PARAMETER NAMELIST
70!   Documentation: https://palm.muk.uni-hannover.de/trac/wiki/doc/app/d3par
71!-------------------------------------------------------------------------------
72 &runtime_parameters
73
74!
75!-- Run steering
76!------------------------------------------------------------------------------
77    end_time              = 1000.0,
78    create_disturbances   = .T.,
79
80!
81!-- General output settings
82!------------------------------------------------------------------------------
83    netcdf_data_format    = 4,           ! use NetCDF4
84
85!
86!-- Run-control/timeseries output settings
87!------------------------------------------------------------------------------
88    dt_run_control        =  0.0,
89    dt_dots               =  0.0,
90
91!
92!-- Profile output settings
93!------------------------------------------------------------------------------
94    skip_time_dopr        =   0.0,
95    dt_dopr               = 500.0,
96    averaging_interval_pr = 500.0,
97    dt_averaging_input_pr =   0.0,
98
99    data_output_pr        = '#u',  'u*2',  'wu',  'w*u*',  'w"u"',
100                            '#v',  'v*2',  'wv',  'w*v*',  'w"v"',
101                            'w',   'w*2',
102
103!
104!-- 2D/3D output settings
105!------------------------------------------------------------------------------
106    do3d_at_begin      = .T.,
107    do2d_at_begin      = .T.,
108
109    dt_data_output     = 50.0,
110
111
112    data_output = 'u', 'v', 'w',
113                  'Ntot', 'LDSA', 'PM2.5',
114                  's_SO4', 's_OC', 's_BC', 's_NH', 's_NO',
115                  'g_H2SO4','g_HNO3','g_NH3','g_OCNV','g_OCSV',
116                  'N_bin3', 'm_bin4',
117
118 / ! end of d3par namelist
119
120
121!-------------------------------------------------------------------------------
122!-- PLANT CANOPY MODEL PARAMETER NAMELIST
123!   Documentation: https://palm.muk.uni-hannover.de/trac/wiki/doc/app/canpar
124!-------------------------------------------------------------------------------
125 &plant_canopy_parameters
126 
127    canopy_mode       = 'read_from_file_3d',
128    canopy_drag_coeff = 0.5,
129     
130 / ! end of canopy_par namelist
131
132
133!-------------------------------------------------------------------------------
134!-- SALSA PARAMETER NAMELIST
135!-------------------------------------------------------------------------------
136 &salsa_parameters 
137
138!
139!-- Time stepping
140    dt_salsa           =   4.0, ! time step for calculating aerosol processes (s)
141    skip_time_do_salsa = 100.0, ! starting time of SALSA (s)
142
143!
144!-- Concentration initial types: 0 = based on the parameter file, 1 = read from a NetCDF file
145    isdtyp    = 1, ! size distribution
146    igctyp    = 1, ! gases
147
148!
149!-- If isdtyp = 0, define the initial aerosol size distribution by dpg, sigmag and n_lognorm
150 !   dpg       = 13.5E-9, 54.0E-9, 864.1E-9, ! mean diameter per mode (in metres)
151 !   sigmag    =     1.8,    2.16,     2.21, ! standard deviation per mode
152 !   n_lognorm =  1.43E9,  4.45E8,    7.0E4, ! number concentration per mode (#/m3)
153
154!
155!-- If igctyp = 0, apply these initial gas concentrations                       
156 !   H2SO4_init = 5.0E12, ! sulphuric acid (#/m3)
157 !   HNO3_init  = 3.0E15, ! nitric acid (#/m3)
158 !   NH3_init   = 6.0E15, ! ammonia (#/m3)       
159 !   OCNV_init  = 1.0E14, ! non-volatile organic gases (#/m3)
160 !   OCSV_init  = 1.0E14, ! non-volatile organic gases (#/m3)
161
162!
163!-- List of activated chemical components:
164!-- NOTE! Chemical species have to be activated here even if they are not initially present!
165    listspec = 'SO4','OC','BC','NH','NO','','',  ! List of actived aerosols       
166    ! listspec = 'SO4','OC','BC','DU','SS','NO','NH',
167
168!
169!-- If isdtyp = 0, set the chemical composition of the initial particle size distribution
170 !   mass_fracs_a = 0.1, 0.4, 0.3, 0.1, 0.1, 0.0, 0.0, ! mass fractions of chemical components: soluble
171 !   mass_fracs_b = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ! mass fractions of chemical components: insoluble
172!-- NOTE! Set everyhing to zero in mass_fracs_b if you do not want include insoluble species (default)
173
174!
175!-- Sectional presentation of the particle size distribution
176    reglim = 3.0E-9, 1.0E-8, 2.5E-6, ! limits of the subranges (m)
177    nbin   = 1, 7,                   ! number of bins per subrange
178!-- NOTE! Subrange 1 consists only of H2SO4 and/or OC
179    nf2a   = 1.0,                    ! Number fraction allocated to subrange 2a (b-bins will get 1-nf2a)
180
181!
182!-- Aerosol emissions:
183    salsa_emission_mode = 'read_from_file', ! 'no_emission','uniform' or 'read_from_file'
184
185!-- If salsa_source_mode = 'uniform', set emissions based on the variables below:
186 !   aerosol_flux_dpg     = 8.0E-9, 60.0E-9, 1000.0E-9,  ! mean diameter per mode (metres)
187 !   aerosol_flux_sigmag  =    1.8,    2.16,      2.21,  ! standard deviation per mode
188 !   surface_aerosol_flux = 1.0E8,  1.0E9,       1.0E5,  ! number concentration per mode (#/m3)
189 !   aerosol_flux_mass_fracs_a = 0.3, 0.0, 0.6, 0.0, 0.0, 0.0, 0.0,  ! order: listspec
190 !   aerosol_flux_mass_fracs_b = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,  ! order: listspec
191
192!-- NOTE! chemical components of the source have to be activated in 'listspec'
193!--       and have to be in the same order
194
195!
196!-- Boundary conditions
197!-- Decycle at the left & right boundaries: initial concentration 
198!--   is copied to ghost and first three layers at both boundaries at the left boundary
199!--   and a zero gradient is set at the right boundary
200!-- Decycle at the north & south boundaries: initial concentration 
201!--   is copied to ghost and first three layers at both boundaries
202    decycle_lr     = .T.,         
203    decycle_ns     = .F.,
204    decycle_method = 'dirichlet','dirichlet','dirichlet','dirichlet', 
205    bc_salsa_b     = 'neumann', !'dirichlet',  ! surface flux requires 'neumann'
206    bc_salsa_t     = 'dirichlet',  ! top
207                                                                                           
208!
209!-- Switches for aerosol processes:
210    nldistupdate = .T., ! update aerosol size distribution
211    nldepo       = .T., ! Deposition master switch
212    nldepo_pcm   = .T., ! Deposition on vegetation
213    nldepo_surf  = .T., ! Deposition on walls
214    nlcnd        = .F., ! Condensation master switch
215    nlcndgas     = .F., ! Condensation of precursor gases
216    nlcndh2oae   = .F., ! Condensation of H2O on aerosols                         
217    nlcoag       = .F., ! Coagulation master switch
218    nsnucl       =  0,  ! Nucleation scheme (0 = off)
219    nj3          =  1,  ! J3 parametrization for nucleation
220!
221!-- Deposition on vegetation (pcm = plant canopy model)
222    depo_pcm_par = 'zhang2001',  ! or 'petroff2010'
223!
224!-- Deposition on on ground, walls and roofs
225    depo_surf_par = 'zhang2001', ! or 'petroff2010'
226
227!
228!-- Other switches:
229    advect_particle_water   = .T.,   ! particle water: advect or calculate at each dt_salsa
230    feedback_to_palm        = .F.,   ! feedback to flow due to condensation of water
231    nest_salsa              = .F.,   ! apply nesting for salsa
232    read_restart_data_salsa = .F.,   ! skip reading restart data even if it's done for the flow
233    write_binary_salsa      = .F.,   ! skip writing restart data even if it's done for the flow
234         
235 / ! end of salsa_par namelist
236
237 
Note: See TracBrowser for help on using the repository browser.