Changes between Version 273 and Version 274 of doc/app/initialization_parameters
- Timestamp:
- Apr 6, 2016 3:28:54 PM (9 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
doc/app/initialization_parameters
v273 v274 29 29 }}} 30 30 {{{#!td 31 Parameter to switch on usage of cloud droplets.\\\\32 Cloud droplets require to use particles (i.e. the NAMELIST group [../parpar particles_par] has to be included in the parameter file). Then each particle is arepresentative for a certain number of droplets. The droplet features (number of droplets, initial radius, etc.) can be steered with the respective particle parameters (see e.g. [../parpar#radius radius]). The real number of initial droplets in a grid cell is equal to the initial number of droplets (defined by the particle source parameters [../parpar#pst pst], [../parpar#psl psl], [../parpar#psr psr], [../parpar#pss pss], [../parpar#psn psn], [../parpar#psb psb], [../parpar#pdx pdx], [../parpar#pdy pdy] and [../parpar#pdz pdz]) times the [../parpar#initial_weighting_factor initial_weighting_factor].\\\\31 Parameter to switch on the usage of cloud droplets.\\\\ 32 Cloud droplets require using particles (i.e. the NAMELIST group [../parpar particles_par] has to be included in the parameter file). Then each particle representative for a certain number of droplets. The droplet features (number of droplets, initial radius, etc.) can be steered with the respective particle parameters (see e.g. [../parpar#radius radius]). The real number of initial droplets in a grid cell is equal to the initial number of droplets (defined by the particle source parameters [../parpar#pst pst], [../parpar#psl psl], [../parpar#psr psr], [../parpar#pss pss], [../parpar#psn psn], [../parpar#psb psb], [../parpar#pdx pdx], [../parpar#pdy pdy] and [../parpar#pdz pdz]) times the [../parpar#initial_weighting_factor initial_weighting_factor].\\\\ 33 33 In case of using cloud droplets, the default condensation scheme in PALM cannot be used, i.e. [#cloud_physics cloud_physics] must be set ''.F.''. 34 34 }}} … … 45 45 {{{#!td 46 46 Parameter to switch on the condensation scheme.\\\\ 47 For '''cloud_physics''' = ''.T.'', equations for the total water content and the liquid water potential temperature are solved instead of those for specific humidity and potential temperature. Note that a grid volume is assumed to be either completely saturated or completely unsaturated (0%-or-100%-scheme). Precipitation can additionally be switched on with parameter [#precipitation precipitation]. The parameterization of cloud and precipitation physics can be steered with [#cloud_scheme cloud_scheme]. Also cloud-top cooling by longwave radiation can be utilized (see [#cloud_top_radiation cloud_top_radiation]).\\\\47 For '''cloud_physics''' = ''.T.'', equations for the total water content and the liquid water potential temperature are solved instead of those for specific humidity and potential temperature. Note that a grid volume is assumed to be either completely saturated or completely unsaturated (0%-or-100%-scheme). Precipitation can additionally be switched on with parameter [#precipitation precipitation]. The parameterization of cloud and precipitation physics can be steered with [#cloud_scheme cloud_scheme]. Also, cloud-top cooling by longwave radiation can be utilized (see [#cloud_top_radiation cloud_top_radiation]).\\\\ 48 48 '''cloud_physics''' = ''.T.'' requires [#humidity humidity] = ''.T.''.\\\\ 49 49 Detailed information about the condensation scheme is given in the description of the [[cloud physics module]] (pdf-file).\\\\ … … 110 110 }}} 111 111 {{{#!td 112 Mod usof volume flow conservation.\\\\112 Mode of volume flow conservation.\\\\ 113 113 The following values are allowed:\\\\ 114 114 '' 'default' ''\\\\ … … 117 117 The target volume flow is calculated at t=0 from the initial profiles of u and v. This option is also standard for non-cyclic lateral boundary conditions ([#bc_lr bc_lr] /= '' 'cyclic' '' or [#bc_ns bc_ns] /= '' 'cyclic{{{'}}}'') because the (spanwise averaged) inflow profiles do not vary with time and are identical with the initial profiles.\\\\ 118 118 '' 'inflow_profile' ''\\\\ 119 The target volume flow is calculated at every time step from the inflow profile of u or v, respectively. This setting is only allowed for non-cyclic lateral boundary conditions ([#bc_lr bc_lr] /= '' 'cyclic' '' or [#bc_ns bc_ns] /= '' 'cyclic{{{'}}}''). '''This option is not implemented so far, because at this time (spanwise averaged) inflow profiles do not vary with time in the standard code.'''\\\\119 The target volume flow is calculated at every time step from the inflow profile of u or v, respectively. This setting is only allowed for non-cyclic lateral boundary conditions ([#bc_lr bc_lr] /= '' 'cyclic' '' or [#bc_ns bc_ns] /= '' 'cyclic{{{'}}}''). '''This option is not implemented so far, because at this time (spanwise averaged) inflow profiles do not vary with time in the standard code.'''\\\\ 120 120 '' 'bulk_velocity' ''\\\\ 121 121 The target volume flow is calculated from a predefined bulk velocity (see [#u_bulk u_bulk] and [#v_bulk v_bulk]). This setting is only allowed for cyclic lateral boundary conditions .\\\\ … … 234 234 {{{#!td 235 235 Application of a Galilei-transformation to the coordinate system of the model.\\\\ 236 With '''galilei_transformation''' = ''.T.,'' a so-called Galilei-transformation is switched on which ensures that the coordinate system of the model is moved along with the geostrophic al wind. Alternatively, the model domain can be moved along with the averaged horizontal wind (see [#use_ug_for_galilei_tr use_ug_for_galilei_tr], this can and will naturally change in time). With this method, numerical inaccuracies of the Piacsek - Williams - scheme (concerns in particular the momentum advection) are minimized. Beyond that, in the majority of cases the lower relative velocities in the moved system permit a larger time step ([#dt dt]). Switching the transformation on is only worthwhile if the geostrophicalwind (ug, vg) and the averaged horizontal wind clearly deviate from the value 0. In each case, the distance the coordinate system has been moved is written to the file [../iofiles#RUN_CONTROL RUN_CONTROL].\\\\237 Non-cyclic lateral boundary conditions (see [#bc_lr bc_lr] and [#bc_ns bc_ns]), the specification of a ge strophic wind that is not constant with height as well as e.g. stationary inhomogeneities at the bottom boundary do not allow the use of this transformation.236 With '''galilei_transformation''' = ''.T.,'' a so-called Galilei-transformation is switched on which ensures that the coordinate system of the model is moved along with the geostrophic wind. Alternatively, the model domain can be moved along with the averaged horizontal wind (see [#use_ug_for_galilei_tr use_ug_for_galilei_tr], this can and will naturally change in time). With this method, numerical inaccuracies of the Piacsek - Williams - scheme (concerns, in particular, the momentum advection) are minimized. Beyond that, in the majority of cases, the lower relative velocities in the moved system permit a larger time step ([#dt dt]). Switching the transformation on is only worthwhile if the geostrophic wind (ug, vg) and the averaged horizontal wind clearly deviate from the value 0. In each case, the distance the coordinate system has been moved is written to the file [../iofiles#RUN_CONTROL RUN_CONTROL].\\\\ 237 Non-cyclic lateral boundary conditions (see [#bc_lr bc_lr] and [#bc_ns bc_ns]), the specification of a geostrophic wind that is not constant with height as well as e.g. stationary inhomogeneities at the bottom boundary do not allow the use of this transformation. 238 238 }}} 239 239 |---------------- … … 277 277 }}} 278 278 {{{#!td 279 Parameter to choose large scale forcing from an external file. By means of '''large_scale_forcing''' = ''.T.'' the time-dependent surface heat flux '''shf''', surface water flux '''qsws''', surface temperature '''pt_surface''', surface humidity and surface pressure '''surface_pressure''' as well as vertical profiles of the geostrophic wind components '''ug''' and '''vg''', the large scale vertical subsidence profile '''w_subs''', the horizontal large scale advection tendencies of temperature '''td_lsa_lpt''' and humidity '''td_lsa_q''' and the largescale subsidence tendencies of temperature '''td_sub_lpt''' and humidity '''td_sub_q''' are provided in the simulation. An example can be found [../examples/lsf here].\\280 281 '''large_scale_forcing''' = ''.T.'' requires [#humidity humidity] = .T.. It is not implemented for [#ocean ocean] runs, and it does also not work for non 282 283 This mode requires the input file [../iofiles#LSF_DATA LSF_DATA]. This file has to contain two kinds of information: time-dependent surface values and time-dependent profile information which can be provided by measurements or larger scale models.\\284 285 In case large scale forcing shall be used without nudging ([#nudging nudging] = .F.) initial profiles of potential temperature, humidityand horizontal wind components have to be provided by means of [#pt_surface pt_surface], [#pt_vertical_gradient pt_vertical_gradient], [#pt_vertical_gradient_level pt_vertical_gradient_level] and so forth.279 Parameter to choose large-scale forcing from an external file. By means of '''large_scale_forcing''' = ''.T.'' the time-dependent surface heat flux '''shf''', surface water flux '''qsws''', surface temperature '''pt_surface''', surface humidity and surface pressure '''surface_pressure''' as well as vertical profiles of the geostrophic wind components '''ug''' and '''vg''', the large-scale vertical subsidence profile '''w_subs''', the horizontal large-scale advection tendencies of temperature '''td_lsa_lpt''' and humidity '''td_lsa_q''' and the large-scale subsidence tendencies of temperature '''td_sub_lpt''' and humidity '''td_sub_q''' are provided in the simulation. An example can be found [../examples/lsf here].\\ 280 281 '''large_scale_forcing''' = ''.T.'' requires [#humidity humidity] = .T.. It is not implemented for [#ocean ocean] runs, and it does also not work for non-cyclic lateral boundary conditions and non-flat topography. It is possible to drive the simulations either by means of surface fluxes or by means of prescribed surface values for temperature and humidity. \\ 282 283 If '''large_scale_forcing''' is set to ''.T.'' the input file [../iofiles#LSF_DATA LSF_DATA] is required. This file has to contain two kinds of information: time-dependent surface values and time-dependent profile information which can be provided by measurements or larger scale models.\\ 284 285 In case large-scale forcing shall be used without nudging ([#nudging nudging] = .F.) initial profiles of potential temperature, humidity, and horizontal wind components have to be provided by means of [#pt_surface pt_surface], [#pt_vertical_gradient pt_vertical_gradient], [#pt_vertical_gradient_level pt_vertical_gradient_level] and so forth. 286 286 }}} 287 287 |---------------- … … 296 296 }}} 297 297 {{{#!td 298 Parameter to enable large 299 300 The profile for the subsidence velocity w_subs can either be set via [#subs_vertical_gradient subs_vertical_gradient] and [#subs_vertical_gradient_level subs_vertical_gradient_level] or by reading it from the large 301 302 If [#use_subsidence_tendencies use_subsidence_tendencies] is set to .T., the subsidence velocity w_subs is not used. Instead, subsidence tendencies for temperature and humidity are read in from the large 298 Parameter to enable large-scale subsidence/ascent for atmospheric simulations. With '''large_scale_subsidence''' = ''.T.'', an additional tendency term, tend_subs, is calculated for the scalar quantities, e.g. for potential temperature it is tend_subs(k,j,i) = - w_subs(k)* dpt(k,j,i) / dz. \\ 299 300 The profile for the subsidence velocity w_subs can either be set via [#subs_vertical_gradient subs_vertical_gradient] and [#subs_vertical_gradient_level subs_vertical_gradient_level] or by reading it from the large-scale forcing data set [../iofiles#LSF_DATA LSF_DATA]. \\ 301 302 If [#use_subsidence_tendencies use_subsidence_tendencies] is set to .T., the subsidence velocity w_subs is not used. Instead, subsidence tendencies for temperature and humidity are read in from the large-scale forcing data set [../iofiles#LSF_DATA LSF_DATA] and applied to the prognostic variables in the subroutine {{{ls_advec}}}. 303 303 304 304 '''large_scale_subsidence''' is not implemented for ocean runs. \\ 305 305 306 306 '''Attention:'''\\ 307 The large scale vertical motion is only applied to the prognostic equation for the scalar quantities (potential temperature, humidity if [#humidity humidity] = ''.T.'' or passive scalar if [#passive_scalar passive_scalar] = ''.T.''). It should not be applied to the momentum equations due to incompressibility. Applying it also to the horizontal velocity components would resultsin mass inconsistencies.307 The large-scale vertical motion is only applied to the prognostic equation for the scalar quantities (potential temperature, humidity if [#humidity humidity] = ''.T.'' or passive scalar if [#passive_scalar passive_scalar] = ''.T.''). It should not be applied to the momentum equations due to incompressibility. Applying it also to the horizontal velocity components would result in mass inconsistencies. 308 308 }}} 309 309 |---------------- … … 320 320 Parameter to switch off calculation of temperature equation. 321 321 322 For simulating flows with pure neutral stratification, sol ution of the temperature equation can be switched off with '''neutral''' = ''.T.'' in order to save cpu-time. Additionally, this will also switch offcalculation of all buoyancy related terms. \\\\ In case of '''neutral''' = ''.T.'' non-zero values for parameters [#surface_heatflux surface_heatflux] and [#top_heatflux top_heatflux] are not allowed.322 For simulating flows with pure neutral stratification, solving the temperature equation can be switched off with '''neutral''' = ''.T.'' in order to save CPU time. Additionally, this will also switch off the calculation of all buoyancy related terms. \\\\ In case of '''neutral''' = ''.T.'' non-zero values for parameters [#surface_heatflux surface_heatflux] and [#top_heatflux top_heatflux] are not allowed. 323 323 }}} 324 324 |---------------- … … 333 333 }}} 334 334 {{{#!td 335 Parameter to choose nudging. Nudging is a relaxation technique which adjusts the large-eddy simulation to a given, larger scale flow situation. It can for examplebe used to simulate an observed situation. Further information can be found [../../tec/nudging here]. \\\\336 337 With '''nudging''' = ''.T.'', additional tendencies are calculated for the prognostic variable u, v, pt and q. It requires [#humidity humidity] = .T. as well as [#large_scale_forcing large_scale forcing] = .T.. So far, it is not implemented for [#ocean ocean] runs and noncyclic lateral boundary conditions. An example can be found [../examples/lsf here]. \\\\338 339 Additionally, this mode requiresthe input file [../iofiles#NUDGING_DATA NUDGING_DATA]. This file contains profile information at several time steps about the relaxation time scale tau and the prognostic variables u, v, w, pt, q which must be provided by a larger scale model or by measurements.335 Parameter to choose nudging. Nudging is a relaxation technique which adjusts the large-eddy simulation to a given, larger scale flow situation. It can, for example, be used to simulate an observed situation. Further information can be found [../../tec/nudging here]. \\\\ 336 337 With '''nudging''' = ''.T.'', additional tendencies are calculated for the prognostic variable u, v, pt, and q. It requires [#humidity humidity] = .T. as well as [#large_scale_forcing large_scale forcing] = .T.. So far, it is not implemented for [#ocean ocean] runs and non-cyclic lateral boundary conditions. An example can be found [../examples/lsf here]. \\\\ 338 339 Additionally, if ''nudging''' is set to ''.T.'', the input file [../iofiles#NUDGING_DATA NUDGING_DATA]. This file contains profile information at several time steps about the relaxation time scale tau and the prognostic variables u, v, w, pt, q which must be provided by a larger scale model or by measurements. 340 340 }}} 341 341 |---------------- … … 354 354 * An additional prognostic equation for salinity is solved.[[BR]] 355 355 356 * Potential temperature in buoyancy and stability-related terms is replaced by potential density.[[BR]]357 358 * Potential density is calculated from the equation of state for seawater after each time step, using the algorithm proposed by Jackett et al. (2006, J. Atmos. Oceanic Technol., 23, 1709-1728).[[BR]]356 * The potential temperature in buoyancy and stability-related terms is replaced by potential density.[[BR]] 357 358 * Potential density is calculated from the equation of state for seawater after each time step, using the algorithm proposed by Jackett et al. (2006, J. Atmos. Oceanic Technol., 23, 1709-1728).[[BR]] 359 359 360 360 So far, only the initial hydrostatic pressure is entered into this equation.[[BR]] … … 368 368 * If switched on, random perturbations are by default imposed to the upper model domain from zu(nzt*2/3) to zu(nzt-3).\\\\ 369 369 Relevant parameters to be exclusively used for steering ocean runs are [#bc_sa_t bc_sa_t], [#bottom_salinityflux bottom_salinityflux], [#sa_surface sa_surface], [#sa_vertical_gradient sa_vertical_gradient], [#sa_vertical_gradient_level sa_vertical_gradient_level], and [#top_salinityflux top_salinityflux].\\\\ 370 Section [[4.4.2]] gives an example for appropriate settings of these and other parameters nec cessary for ocean runs.370 Section [[4.4.2]] gives an example for appropriate settings of these and other parameters necessary for ocean runs. 371 371 }}} 372 372 |---------------- … … 398 398 {{{#!td 399 399 Parameter to switch on the precipitation scheme.\\\\ 400 For precipitation processes PALM uses a simplified Kessler scheme. This scheme only considers the so-called autoconversion, that means the generation of rain water by coagulation of cloud drops among themselves. Precipitation begins and is immediately removed from the flow as soon as the liquid water content exceeds the critical value of 0.5 g/kg.\\\\400 For precipitation processes, PALM uses a simplified Kessler scheme. This scheme only considers the so-called autoconversion, that means the generation of rain water by coagulation of cloud drops among themselves. Precipitation begins and is immediately removed from the flow as soon as the liquid water content exceeds the critical value of 0.5 g/kg.\\\\ 401 401 The precipitation rate and amount can be output by assigning the runtime parameter [../d3par#data_output data_output] = '' 'prr*' '' or '' 'pra*','' respectively. The time interval on which the precipitation amount is defined can be controlled via runtime parameter [../d3par#precipitation_amount_interval precipitation_amount_interval]. 402 402 }}} … … 429 429 {{{#!td 430 430 Parameter to impose random perturbations on the internal two-dimensional near surface heat flux field '''shf'''.\\\\ 431 If a near surface heat flux is used as bottom boundary condition (see [#surface_heatflux surface_heatflux]), it is by default assumed to be horizontally homogeneous. Random perturbations can be imposed on the internal two-dimensional heat flux field '''shf''' by assigning '''random_heatflux''' = ''.T.''. The disturbed heat flux field is calculated by multiplying the values at each mesh point with a normally distributed random number with a mean value and standard deviation of 1. This is repeated after every timestep.\\\\431 If a near surface heat flux is used as a bottom boundary condition (see [#surface_heatflux surface_heatflux]), it is by default assumed to be horizontally homogeneous. Random perturbations can be imposed on the internal two-dimensional heat flux field '''shf''' by assigning '''random_heatflux''' = ''.T.''. The disturbed heat flux field is calculated by multiplying the values at each mesh point with a normally distributed random number with a mean value and standard deviation of 1. This is repeated after every time step.\\\\ 432 432 In case of a non-flat topography, assigning '''random_heatflux''' = ''.T.'' imposes random perturbations on the combined heat flux field '''shf''' composed of surface_heatflux at the bottom surface and [#wall_heatflux wall_heatflux](0) at the topography top face. 433 433 }}} … … 477 477 }}} 478 478 {{{#!td 479 Gradient(s) of the profile for the large 479 Gradient(s) of the profile for the large-scale subsidence/ascent velocity (in (m/s) / 100 m).\\\\ 480 480 This gradient holds starting from the height level defined by [#subs_vertical_gradient_level subs_vertical_gradient_level] (precisely: for all uv levels k where zu(k) > subs_vertical_gradient_level, '''w_subs'''(k) is set: w_subs(k) = w_subs(k-1) + dzu(k) * '''subs_vertical_gradient''') up to the top boundary or up to the next height level defined by subs_vertical_gradient_level. A total of 10 different gradients for 11 height intervals (10 intervals if subs_vertical_gradient_level(1) = 0.0) can be assigned.\\\\ 481 481 '''Example:'''\\\\ … … 483 483 [#subs_vertical_gradient_level subs_vertical_gradient_level] = ''0.0,'' ''1000.0,''\\\\ 484 484 That defines the subsidence/ascent profile to be linear up to z = 1000.0 m with a surface value of 0 m/s. Due to the gradient of -0.002 (m/s) / 100 m the subsidence velocity has a value of -0.02 m/s in z = 1000.0 m. For z > 1000.0 m up to the top boundary the gradient is 0.0 (m/s) / 100 m (it is assumed that the assigned height levels correspond with uv levels). This results in a subsidence velocity of -0.02 m/s at the top boundary.\\\\ 485 With an appropriate construction of '''w_subs''' the height of the boundary layer ''z_i'' can be kept approximately constant.485 With an appropriate construction of '''w_subs''', the height of the boundary layer ''z_i'' can be kept approximately constant. 486 486 }}} 487 487 |---------------- … … 525 525 {{{#!td 526 526 527 This control parameter determines how the large scale subsidence is computed for runs with largescale forcing.528 If it is set to .F., the large 527 This control parameter determines how the large-scale subsidence is computed for runs with large-scale forcing. 528 If it is set to .F., the large-scale subsidence velocity w_subs is used to advect the prognostic variables (subroutine {{{subsidence}}}). 529 529 If it is set to .T., the subroutine {{{subsidence}}} is not called and the subsidence tendencies from [../../app/iofiles#LSF_DATA LSF_DATA] are applied to the prognostic variables in the new subroutine {{{ls_advec}}}. 530 530 The usage of use_subsidence_tendencies requires [wiki:doc/app/inipar#large_scale_forcing large_scale_forcing] = .T. as well as [wiki:doc/app/inipar#large_scale_subsidence large_scale_subsidence] = .T.. … … 543 543 Switch to determine the translation velocity in case that a Galilean transformation is used.\\\\ 544 544 In case of a Galilean transformation (see [#galilei_transformation galilei_transformation]), '''use_ug_for_galilei_tr''' = ''.T.'' ensures that the coordinate system is translated with the geostrophic windspeed.\\\\ 545 Alternatively, with '''use_ug_for_galilei_tr''' = ''.F.,'' the geostrophic wind can be replaced as translation speed by the (volume) averaged velocity. However, in this case the user must be aware of fast growing gravity waves, so this choice is usually not recommended!545 Alternatively, with '''use_ug_for_galilei_tr''' = ''.F.,'' the geostrophic wind can be replaced as translation speed by the (volume) averaged velocity. However, in this case, the user must be aware of fast growing gravity waves, so this choice is usually not recommended! 546 546 }}} 547 547 |---------------- … … 575 575 {{{#!td 576 576 Horizontal grid spacing along the x-direction (in m).\\\\ 577 Along x-direction only a constant grid spacing is allowed.\\\\578 For coupled runs ([../examples/coupled see details]) the product of '''dx''' and '''nx''' in both parameter files [../iofiles#PARIN PARIN] and [../iofiles#PARIN_O PARIN_O] has to be same (same model domain length in x-direction).577 Along x-direction, only a constant grid spacing is allowed.\\\\ 578 For coupled runs ([../examples/coupled see details]) the product of '''dx''' and '''nx''' in both parameter files [../iofiles#PARIN PARIN] and [../iofiles#PARIN_O PARIN_O] has to be the same (same model domain length in x-direction). 579 579 }}} 580 580 |---------------- … … 590 590 {{{#!td 591 591 Horizontal grid spacing along the y-direction (in m).\\\\ 592 Along y-direction only a constant grid spacing is allowed.\\\\593 For coupled runs ([../examples/coupled see details]) the product of '''dy''' and '''ny''' in both parameter files [../iofiles#PARIN PARIN] and [../iofiles#PARIN_O PARIN_O] has to be same (same model domain length in y-direction).592 Along y-direction, only a constant grid spacing is allowed.\\\\ 593 For coupled runs ([../examples/coupled see details]) the product of '''dy''' and '''ny''' in both parameter files [../iofiles#PARIN PARIN] and [../iofiles#PARIN_O PARIN_O] has to be the same (same model domain length in y-direction). 594 594 }}} 595 595 |---------------- … … 605 605 {{{#!td 606 606 Vertical grid spacing (in m).\\\\ 607 This parameter must be assigned by the user ,because no default value is given.\\\\608 By default, the model uses constant grid spacing along z-direction, but it can be stretched using the parameters [#dz_stretch_level dz_stretch_level] and [#dz_stretch_factor dz_stretch_factor]. In case of stretching, a maximum allowed grid spacing can be given by [#dz_max dz_max].\\\\607 This parameter must be assigned by the user because no default value is given.\\\\ 608 By default, the model uses constant grid spacing along the z-direction, but it can be stretched using the parameters [#dz_stretch_level dz_stretch_level] and [#dz_stretch_factor dz_stretch_factor]. In case of stretching, a maximum allowed grid spacing can be given by [#dz_max dz_max].\\\\ 609 609 Assuming a constant '''dz''', the scalar levels (zu) are calculated directly by:\\\\ 610 610 zu(0) = - '''dz''' * 0.5\\\\ … … 641 641 {{{#!td 642 642 Stretch factor for a vertically stretched grid (see [#dz_stretch_level dz_stretch_level]).\\\\ 643 The stretch factor should not exceed a value of approx. ''1.10 - 1.12'', otherwise the discretization errors due to the stretched grid are not negligible any 643 The stretch factor should not exceed a value of approx. ''1.10 - 1.12'', otherwise the discretization errors due to the stretched grid are not negligible anymore. (refer Kalnay de Rivas) 644 644 }}} 645 645 |---------------- … … 709 709 Number of grid points in z-direction.\\\\ 710 710 A value for this parameter must be assigned. Since the lower array bound in PALM starts with k = 0 and since one additional grid point is added at the top boundary (k = '''nz+1'''), the actual number of grid points is '''nz+2'''. However, the prognostic equations are only solved up to '''nz''' (u, v, scalar quantities) or up to '''nz-1''' (w). The top boundary for u, v and scalar quantities is at k = '''nz+1''' (u, v) while at k = '''nz''' for w.\\\\ 711 For parallel runs '''nz''' must be an integral multiple of the number of processors in x-direction (due to data transposition restrictions).711 For parallel runs, '''nz''' must be an integral multiple of the number of processors in x-direction (due to data transposition restrictions). 712 712 }}} 713 713 … … 729 729 {{{#!td 730 730 Switch to steer the call of the pressure solver.\\\\ 731 In order to speed-up performance, the Poisson equation for perturbation pressure (see [#psolver psolver]) can be called only at the last substep of multistep Runge-Kutta time step schemes (see [#timestep_scheme timestep_scheme]) by setting '''call_psolver_at_all_substeps''' = ''.F.''. In many cases, this sufficiently reduces the divergence of the velocity field. Nevertheless, small-scale ripples (2-delta-x) may occur. In this case and in case of non-cyclic lateral boundary conditions, the default value '''call_psolver_at_all_substeps''' = ''.T.'' should be used.731 In order to speed-up performance, the Poisson equation for perturbation pressure (see [#psolver psolver]) can be called only at the last substep of multistep Runge-Kutta time step schemes (see [#timestep_scheme timestep_scheme]) by setting '''call_psolver_at_all_substeps''' = ''.F.''. In many cases, this sufficiently reduces the divergence of the velocity field. Nevertheless, small-scale ripples (2-delta-x) may occur. In this case and in case of non-cyclic lateral boundary conditions, the default value '''call_psolver_at_all_substeps''' = ''.T.'' should be used. 732 732 }}} 733 733 |---------------- … … 743 743 {{{#!td 744 744 Time step limiting factor.\\\\ 745 In the model, the maximum allowed time step according to CFL and diffusion-criterion [../d3par#dt_max dt_max] is reduced by [#dt dt] = dt_max * '''cfl_factor''' in order to avoid stability problems which may arise in the vicinity of the maximum allowed time step. The condition ''0.0'' < '''cfl_factor''' < ''1.0'' applies.\\\\745 In the model, the maximum allowed time step according to CFL and diffusion-criterion [../d3par#dt_max dt_max] is reduced by [#dt dt] = dt_max * '''cfl_factor''' in order to avoid stability problems which may arise in the vicinity of the maximum allowed time step. The condition ''0.0'' < '''cfl_factor''' < ''1.0'' applies.\\\\ 746 746 The default value of '''cfl_factor''' depends on the [#timestep_scheme timestep_scheme] used:\\\\ 747 747 For the third order Runge-Kutta scheme it is '''cfl_factor''' = ''0.9.'', for the second-order Runge-Kutta scheme a value of ''0.8'' is applied.\\\\ … … 760 760 {{{#!td 761 761 Set barriers in front of collective MPI operations.\\\\ 762 Depending on the communication network in use, setting of barriers (MPI_BARRIER) in front of collective MPI operations (MPI_ALLTOALL, MPI_ALLREDUCE) may speed up the code, e.g. by a few percent on SGI-ICE-systems with Infiniband fat tree, but only for a larger number of PEs (>= 2048) and if dual rail mode is switched on (default on SGI-systems at HLRN). Therefore, {{{collective_wait}}} is {{{.TRUE.}}} by default on SGI-systems (if hostname(3:5) = "{{{sgi}}}", given with '''mrun'''-option {{{-h}}}), but {{{.FALSE.}}} on all other systems.762 Depending on the communication network in use, setting of barriers (MPI_BARRIER) in front of collective MPI operations (MPI_ALLTOALL, MPI_ALLREDUCE) may speed up the code, e.g. by a few percent on SGI-ICE-systems with Infiniband fat tree, but only for a larger number of PEs (>= 2048) and if dual rail mode is switched on (default on SGI-systems at HLRN). Therefore, {{{collective_wait}}} is {{{.TRUE.}}} by default on SGI-systems (if hostname(3:5) = "{{{sgi}}}", given with '''mrun'''-option {{{-h}}}), but {{{.FALSE.}}} on all other systems. 763 763 }}} 764 764 |---------------- … … 773 773 }}} 774 774 {{{#!td 775 Type of cycle to be used with the multi -grid method.\\\\776 This parameter determines which type of cycle is applied in the multi -grid method used for solving the Poisson equation for perturbation pressure (see [#psolver psolver]). It defines in which way it is switched between the fine and coarse grids. So-called v- and w-cycles are realized (i.e. '''cycle_mg''' may be assigned the values '' 'v' '' or '' 'w' ''). The computational cost of w-cycles is much higher than that of v-cycles, however, w-cycles give a much better convergence.775 Type of cycle to be used with the multigrid method.\\\\ 776 This parameter determines which type of cycle is applied in the multigrid method used for solving the Poisson equation for perturbation pressure (see [#psolver psolver]). It defines in which way it is switched between the fine and coarse grids. So-called v- and w-cycles are realized (i.e. '''cycle_mg''' may be assigned the values '' 'v' '' or '' 'w' ''). The computational cost of w-cycles is much higher than that of v-cycles, however, w-cycles give a much better convergence. 777 777 }}} 778 778 |---------------- … … 788 788 {{{#!td 789 789 FFT-method to be used.\\\\ 790 The fast fourier transformation (FFT) is used for solving the perturbation pressure equation with a direct method (see [#psolver psolver]) and for calculating power spectra (see [../packages optional software packages]).\\\\791 By default, system-specific, optimized routines from external vendor libraries are used. However, these are available only on certain computers and there are sometimes more or less severe restrictions concerning the number of grid points to be used with them.\\\\790 The fast Fourier transformation (FFT) is used for solving the perturbation pressure equation with a direct method (see [#psolver psolver]) and for calculating power spectra (see [../packages optional software packages]).\\\\ 791 By default, system-specific, optimized routines from external vendor libraries are used. However, these are available only on certain computers and there are sometimes more or less severe restrictions concerning the number of grid points to be used with them.\\\\ 792 792 There are two other PALM internal methods available on every machine (their respective source code is part of the PALM source code):\\\\ 793 1.: The '''Temperton'''-method from Clive Temperton (ECMWF) which is computationally very fast and switched on with '''fft_method''' = '' 'temperton-algorithm'.'' The number of horizontal grid points ([#nx nx]+1, [#ny ny]+1) to be used with this method must be composed of prime factors 2, 3 and 5.\\\\794 2.: The '''Singleton'''-method which is very slow but has no restrictions concerning the number of grid points to be used with, switched on with '''fft_method''' = '' 'singleton-algorithm'.''\\\\793 1.: The '''Temperton'''-method from Clive Temperton (ECMWF) which is computationally very fast and switched on with '''fft_method''' = '' 'temperton-algorithm'.'' The number of horizontal grid points ([#nx nx]+1, [#ny ny]+1) to be used with this method must be composed of prime factors 2, 3 and 5.\\\\ 794 2.: The '''Singleton'''-method which is very slow but has no restrictions concerning the number of grid points to be used with, switched on with '''fft_method''' = '' 'singleton-algorithm'.''\\\\ 795 795 Furthermore, the fftw (see http://www.fftw.org ) can be used by setting '''fft_method''' = '' 'fftw' ''. This also requires to set the cpp-preprocessor switch {{{-D__fftw}}} in the {{{%cpp_options}}}-line of the configuration file, and to give the paths to the respective fftw include file and library by a {{{%fftw_inc}}} and {{{%fftw_lib}}} line, respectively. The fftw-routines are more than two times faster than the Temperton-fft. 796 796 }}} … … 807 807 {{{#!td 808 808 Method used to optimize loops for solving the prognostic equations.\\\\ 809 By default, the optimization method depends on the host on which PALM is running. On machines with vector-type CPUs, single 3d-loops are used to calculate each tendency term of each prognostic equation, while on all other machines, all prognostic equations are solved within one big loop over the two horizontal indices {{{i}}} and {{{j}}} (giving a good cache u itilization).\\\\810 The default behavio ur can be changed by setting either '''loop_optimization''' = '' 'vector' '' or '''loop_optimization''' = '' 'cache'.''809 By default, the optimization method depends on the host on which PALM is running. On machines with vector-type CPUs, single 3d-loops are used to calculate each tendency term of each prognostic equation, while on all other machines, all prognostic equations are solved within one big loop over the two horizontal indices {{{i}}} and {{{j}}} (giving a good cache utilization).\\\\ 810 The default behavior can be changed by setting either '''loop_optimization''' = '' 'vector' '' or '''loop_optimization''' = '' 'cache'.'' 811 811 }}} 812 812 |---------------- … … 822 822 {{{#!td 823 823 Switch for topography boundary conditions in multigrid solver.\\\\ 824 By default, Neumann boundary conditions for perturbation pressure are used in the multigrid -solver at all wall boundaries. In case of '''masking_method''' = ''.TRUE.'', the masking method is used instead (i.e. the solver runs through the topography).824 By default, Neumann boundary conditions for perturbation pressure are used in the multigrid solver at all wall boundaries. In case of '''masking_method''' = ''.TRUE.'', the masking method is used instead (i.e. the solver runs through the topography). 825 825 }}} 826 826 |---------------- … … 835 835 }}} 836 836 {{{#!td 837 Number of cycles to be used with the multi -grid scheme.\\\\838 This parameter determines the number of cycles to be carried out in the multi -grid method used for solving the Poisson equation for perturbation pressure (see [#psolver psolver]). The type of the cycles can be set with [#cycle_mg cycle_mg].\\\\839 By default ('''mg_cyles''' = -''1''), the number of cycles depends on the requested accuracy of the scheme (see [#residual_limit residual_limit]) and may vary from time step to time step. In this case, the CPU time for a run will be difficult to estimate ,since it heavily depends on the total number of the cycles to be carried out.\\\\837 Number of cycles to be used with the multigrid scheme.\\\\ 838 This parameter determines the number of cycles to be carried out in the multigrid method used for solving the Poisson equation for perturbation pressure (see [#psolver psolver]). The type of the cycles can be set with [#cycle_mg cycle_mg].\\\\ 839 By default ('''mg_cyles''' = -''1''), the number of cycles depends on the requested accuracy of the scheme (see [#residual_limit residual_limit]) and may vary from time step to time step. In this case, the CPU time for a run will be difficult to estimate since it heavily depends on the total number of the cycles to be carried out.\\\\ 840 840 By assigning '''mg_cycles''' a value (>= ''1''), the number of cycles can be fixed so that the CPU time can be clearly estimated.\\\\ 841 841 '''Note:'''\\ … … 850 850 }}} 851 851 {{{#!td style="vertical-align:top" 852 0 (automatic \\ detection) 852 853 853 }}} 854 854 {{{#!td 855 855 Grid level at which data shall be gathered on PE0.\\\\ 856 In case of a run using several PEs and the multigrid method for solving the Poisson equation for perturbation pressure (see [#psolver psolver]), the value of this parameter defines on which grid level the data are gathered on PE0 in order to allow for a further coarsening of the grid. The finest grid defines the largest grid level. By default, the gathering level is determined automatically and displayed in file [../iofiles#RUN_CONTROL RUN_CONTROL]. It is only possible to gather data from a level larger than the one determined automatically. A test run may be nec cessary to determine this level.\\\\856 In case of a run using several PEs and the multigrid method for solving the Poisson equation for perturbation pressure (see [#psolver psolver]), the value of this parameter defines on which grid level the data are gathered on PE0 in order to allow for a further coarsening of the grid. The finest grid defines the largest grid level. By default, the gathering level is determined automatically and displayed in file [../iofiles#RUN_CONTROL RUN_CONTROL]. It is only possible to gather data from a level larger than the one determined automatically. A test run may be necessary to determine this level.\\\\ 857 857 Setting of '''mg_switch_to_pe0_level''' = -''1'' prevents that data are collected on PE0 at all, i.e. coarsening of grids is limited by the subdomains. 858 858 }}} … … 875 875 The computation of turbulent fluxes takes place inside the advection routines to get a statistical evaluation consistent to the numerical solution. 876 876 877 '''Important''': The number of ghost layers for 2d and 3d arrays changed. This affects also the user interface. Please adapt the allocation of 2d and 3d arrays in your user interface like [../userint/output#Allocate here]. Furthermore the exchange of ghost layers for 3d variables changed, so calls of exchange_horiz in the user interface have to be modified. Here an example for the u-component of the velocity: CALL exchange_horiz( u , nbgp ). \\\\877 '''Important''': The number of ghost layers for 2d and 3d arrays changed. This affects also the user interface. Please adapt the allocation of 2d and 3d arrays in your user interface like [../userint/output#Allocate here]. Furthermore, the exchange of ghost layers for 3d variables changed, so calls of exchange_horiz in the user interface have to be modified. Here an example for the u-component of the velocity: CALL exchange_horiz( u , nbgp ). \\\\ 878 878 '' 'pw-scheme' ''\\\\ 879 879 The scheme of Piacsek and Williams (1970, J. Comp. Phys., 6, 392-405) with central differences in the form C3 is used. … … 891 891 {{{#!td 892 892 Number of Gauss-Seidel iterations to be carried out on each grid level of the multigrid Poisson solver.\\\\ 893 In case of using the multigrid method for solving the Poisson equation for perturbation pressure (see [#psolver psolver]), this parameter defines the number of Gauss-Seidel iterations to be carried out on each grid level. High numbers give better convergence. The d afault value of ''2'' reduces the divergence of the preliminary velocity field by about 1-2 orders of magnitude, which is sufficient in most cases. The value of '''ngsrb''' has a significant effect on the cpurequirement of the run.893 In case of using the multigrid method for solving the Poisson equation for perturbation pressure (see [#psolver psolver]), this parameter defines the number of Gauss-Seidel iterations to be carried out on each grid level. High numbers give better convergence. The default value of ''2'' reduces the divergence of the preliminary velocity field by about 1-2 orders of magnitude, which is sufficient in most cases. The value of '''ngsrb''' has a significant effect on the CPU requirement of the run. 894 894 }}} 895 895 |---------------- … … 919 919 {{{#!td 920 920 Initial number of iterations with the SOR algorithm.\\\\ 921 This parameter is only effective if the SOR algorithm was selected as the pressure solver scheme ([#psolver psolver] = '' 'sor' '') and specifies the number of initial iterations of the SOR scheme (at t = 0). The number of subsequent iterations at the following time steps is determined with the parameter [#nsor nsor]. Usually nsor < '''nsor_ini''', since in each case subsequent calls to [#psolver psolver] use the solution of the previous call asinitial value. Suitable test runs should determine whether sufficient convergence of the solution is obtained with the default value and if necessary the value of '''nsor_ini''' should be changed.921 This parameter is only effective if the SOR algorithm was selected as the pressure solver scheme ([#psolver psolver] = '' 'sor' '') and specifies the number of initial iterations of the SOR scheme (at t = 0). The number of subsequent iterations at the following time steps is determined with the parameter [#nsor nsor]. Usually, nsor < '''nsor_ini''', since in each case subsequent calls to [#psolver psolver] use the solution of the previous call as the initial value. Suitable test runs should determine whether sufficient convergence of the solution is obtained with the default value and if necessary the value of '''nsor_ini''' should be changed. 922 922 }}} 923 923 |---------------- … … 932 932 }}} 933 933 {{{#!td 934 Convergence factor to be used with the theSOR-scheme.\\\\935 If the SOR-scheme is selected ([#psolver psolver] = '' 'sor' ''), this parameter determines the value of the convergence factor, where ''1.0'' <= '''omega_sor''' < ''2.0.'' The optimum value of '''omega_sor''' depends on the number of grid points along the different directions in space. For non-equidistant grids it can only be determined by appropriate test runs.934 Convergence factor to be used with the SOR-scheme.\\\\ 935 If the SOR-scheme is selected ([#psolver psolver] = '' 'sor' ''), this parameter determines the value of the convergence factor, where ''1.0'' <= '''omega_sor''' < ''2.0.'' The optimum value of '''omega_sor''' depends on the number of grid points along the different directions in space. For non-equidistant grids, it can only be determined by appropriate test runs. 936 936 }}} 937 937 |---------------- … … 952 952 This solver is specially optimized for 1d domain decompositions. Vectorization is optimized for domain decompositions along x only.\\\\ 953 953 '' 'multigrid' ''\\\\ 954 Multi -grid scheme (see [[Diplomarbeit J. Uhlenbrock]], in German only). v- and w-cycles (see [#cycle_mg cycle_mg]) are implemented. The convergence of the iterative scheme can be steered by the number of v-/w-cycles to be carried out for each call of the scheme ([#mg_cycles mg_cycles]) and by the number of Gauss-Seidel iterations (see [#ngsrb ngsrb]) to be carried out on each grid level. Instead the requested accuracy can be given via [#residual_limit residual_limit]. This is the default! The smaller this limit is, the more cycles have to be carried out in this case and the number of cycles may vary from timestep to timestep.\\\\955 If [#mg_cycles mg_cycles] is set to its optimal value, the computing time of the multi -grid scheme amounts approximately to that of the direct solver '' 'poisfft','' as long as the number of grid points in the three directions of space corresponds to a power-of-two (2^n^) where ''n'' >= 5 must hold. With large ''n'', the multi-grid scheme can even be faster than the direct solver (although its accuracy is several orders of magnitude worse, but this does not affect the accuracy of the simulation). Nevertheless, the user should always carry out some test runs in order to find out the optimum value for [#mg_cycles mg_cycles], because the CPU time of a run very critically depends on this parameter.\\\\956 This scheme requires that the number of grid points of the subdomains (or of the total domain, if only one PE is u esd) along each of the directions can at least be devided once by 2 without rest.\\\\954 Multigrid scheme (see [[Diplomarbeit J. Uhlenbrock]], in German only). v- and w-cycles (see [#cycle_mg cycle_mg]) are implemented. The convergence of the iterative scheme can be steered by the number of v-/w-cycles to be carried out for each call of the scheme ([#mg_cycles mg_cycles]) and by the number of Gauss-Seidel iterations (see [#ngsrb ngsrb]) to be carried out on each grid level. Instead, the requested accuracy can be given via [#residual_limit residual_limit]. This is the default! The smaller this limit is, the more cycles have to be carried out in this case and the number of cycles may vary from time step to time step.\\\\ 955 If [#mg_cycles mg_cycles] is set to its optimal value, the computing time of the multigrid scheme amounts approximately to that of the direct solver '' 'poisfft','' as long as the number of grid points in the three directions of space corresponds to a power-of-two (2^n^) where ''n'' >= 5 must hold. With large ''n'', the multigrid scheme can even be faster than the direct solver (although its accuracy is several orders of magnitude worse, but this does not affect the accuracy of the simulation). Nevertheless, the user should always carry out some test runs in order to find out the optimum value for [#mg_cycles mg_cycles], because the CPU time of a run very critically depends on this parameter.\\\\ 956 This scheme requires that the number of grid points of the subdomains (or of the total domain, if only one PE is used) along each of the directions can, at least, be divided once by 2 without rest.\\\\ 957 957 With parallel runs, starting from a certain grid level the data of the subdomains are possibly gathered on PE0 in order to allow for a further coarsening of the grid. The grid level for gathering can be manually set by [#mg_switch_to_pe0_level mg_switch_to_pe0_level].\\\\ 958 958 By default, Neumann boundary conditions for the perturbation pressure are used at all wall boundaries. In case of [#masking_method masking_method] = ''.TRUE.'', the masking method is used instead (i.e. the solver ''runs'' through the topography).\\\\ 959 959 '' 'multigrid_fast' ''\\\\ 960 Same as '' 'multigrid' '' but optimized for better performance. Data along the {{{k}}} index (vertical direction) is sorted from alternate even and odd indices into two blocks of completely even and odd indices respectively, which allows vectorization on INTEL processors of loops in the red/black scheme. Additionally, topography flags are completely ignored (i.e. not used) in case of [#masking_method masking_method] switched on. On fine grid levels only even or odd data are send for the lateral ghost point exchange. Speedup of the multigrid solver for medium sized cases (1024*1024*192 grid points) can be about 40%.960 Same as '' 'multigrid' '' but optimized for better performance. Data along the {{{k}}} index (vertical direction) is sorted from alternate even and odd indices into two blocks of completely even and odd indices respectively, which allows vectorization on INTEL processors of loops in the red/black scheme. Additionally, topography flags are completely ignored (i.e. not used) in case of [#masking_method masking_method] switched on. On fine grid levels only even or odd data are send for the lateral ghost point exchange. Speedup of the multigrid solver for medium sized cases (1024*1024*192 grid points) can be about 40%. 961 961 '' 'sor' ''\\\\ 962 Successive over 963 Compared to the direct method and the multi -grid method, this scheme needs substantially more computing time. It should only be used for test runs, e.g. to compare results with the other pressure solver methods.\\\\964 In case of using a multistep Runge-Kutta time step scheme (see [#timestep_scheme timestep_scheme]), the Poisson equation is by default solved after each of the substeps. In order to speed-up performance, the Poisson equation may be solved only for the last substep (see [#call_psolver_at_all_substeps call_psolver_at_all_substeps]).962 Successive over-relaxation method (SOR). The convergence of this iterative scheme is steered with the parameters [#omega_sor omega_sor], [#nsor_ini nsor_ini] and [#nsor nsor].\\ 963 Compared to the direct method and the multigrid method, this scheme needs substantially more computing time. It should only be used for test runs, e.g. to compare results with the other pressure solver methods.\\\\ 964 In case of using a multistep Runge-Kutta time step scheme (see [#timestep_scheme timestep_scheme]), the Poisson equation is by default solved after each of the substeps. In order to speed-up performance, the Poisson equation may be solved only for the last substep (see [#call_psolver_at_all_substeps call_psolver_at_all_substeps]). 965 965 }}} 966 966 |---------------- … … 977 977 Factor for damping the potential temperature.\\\\ 978 978 In case of non-cyclic lateral boundary conditions (see [#bc_lr bc_lr] or [#bc_ns bc_ns]), a damping is applied to the potential temperature if a non-zero value is assigned to '''pt_damping_factor'''. 979 If switched on, t emperature is forced towards the value of their respectivebasic state (defined by the initial profile of the temperature).979 If switched on, the temperature is forced towards the value of its basic state (defined by the initial profile of the temperature). 980 980 The intensity of damping is controlled by the value '''pt_damping_factor'''. The damping starts weakly at a distance from the inflow boundary 981 981 defined by [#pt_damping_width pt_damping_width] and rises according to a sin^2^-function to its maximum value at the inflow.\\\\ … … 1033 1033 {{{#!td 1034 1034 Factor for Rayleigh damping.\\\\ 1035 A so-called Rayleigh damping is applied to all prognostic variables if a non-zero value is assigned to '''rayleigh_damping_factor'''. If switched on, horizontal velocities, temperature, humidity/scalar (if switched on) and salinity (in case of ocean) are forced towards the value of their respective basic states (defined by the initial profiles of the geostrophic wind, temperature, etc.). In case of large 1035 A so-called Rayleigh damping is applied to all prognostic variables if a non-zero value is assigned to '''rayleigh_damping_factor'''. If switched on, horizontal velocities, temperature, humidity/scalar (if switched on) and salinity (in case of ocean) are forced towards the value of their respective basic states (defined by the initial profiles of the geostrophic wind, temperature, etc.). In case of large-scale subsidence (see [#subs_vertical_gradient subs_vertical_gradient]) the basic state of temperature and humidity is adjusted with respect to the subsidence. Scalar quantities can be excluded from the damping (see [#scalar_rayleigh_damping scalar_rayleigh_damping]). The intensity of damping is controlled by the value the '''rayleigh_damping_factor''' is assigned to. The damping starts weakly at a height defined by [#rayleigh_damping_height rayleigh_damping_height] and rises according to a sin^2^-function to its maximum value at the top (ocean: bottom) boundary.\\\\ 1036 1036 This method effectively damps gravity waves, caused by boundary layer convection, which may spread out vertically in the inversion layer and which are reflected at the top (ocean: bottom) boundary.\\\\ 1037 1037 The Rayleigh damping factor must hold the condition ''0.0'' <= '''rayleigh_damping_factor''' <= ''1.0.'' Large values (close to 1.0) can cause numerical instabilities. … … 1064 1064 }}} 1065 1065 {{{#!td 1066 Largest residual permitted for the multi -grid scheme (in s^-2^m^-3^).\\\\1067 This is a parameter to steer the accuracy of the multi -grid scheme (see [#psolver psolver]). The assigned cycle (v- or w-cycle, see [#mg_cycles mg_cycles]) is passed through until the residual falls below the limit given by '''residual_limit'''. If this is not the case after 1000 cycles, the PALM aborts with a corresponding error message.\\\\1068 The reciprocal value of this parameter can be interpreted as a factor by the divergence of the provisional velocity field is approximately reduced after the multi -grid scheme has been applied (thusthe default value causes a reduction of the divergence by approx. 6 orders of magnitude).1066 Largest residual permitted for the multigrid scheme (in s^-2^m^-3^).\\\\ 1067 This is a parameter to steer the accuracy of the multigrid scheme (see [#psolver psolver]). The assigned cycle (v- or w-cycle, see [#mg_cycles mg_cycles]) is passed through until the residual falls below the limit given by '''residual_limit'''. If this is not the case after 1000 cycles, the PALM aborts with a corresponding error message.\\\\ 1068 The reciprocal value of this parameter can be interpreted as a factor by the divergence of the provisional velocity field is approximately reduced after the multigrid scheme has been applied (thus, the default value causes a reduction of the divergence by approx. 6 orders of magnitude). 1069 1069 }}} 1070 1070 |---------------- … … 1086 1086 The computation of turbulent fluxes takes place inside the advection routines to get a statistical evaluation consistent to the numerical solution. \\\\ 1087 1087 '' 'ws-scheme-mono' ''\\\\ 1088 Monotone scheme combining the 5th order upwind scheme of Wicker and Skamarock with 1st order upwind scheme using a monotonic limiter. Please note that due to the large numerical dissipation error this scheme is very diffusive,while the numerical dissipation can be even larger than the physical dissipation provided by the subgrid model. Moreover, even though the scheme prevents non-physical numerical oscillations in case of strong gradients, the numerical dispersion might be very large, particularly in regions where strong gradients occur. For these reasons, simulation results should be always interpreted carefully. \\\\1088 Monotone scheme combining the 5th order upwind scheme of Wicker and Skamarock with a 1st order upwind scheme using a monotonic limiter. Please note that due to the large numerical dissipation error this scheme is very diffusive while the numerical dissipation can be even larger than the physical dissipation provided by the subgrid model. Moreover, even though the scheme prevents non-physical numerical oscillations in case of strong gradients, the numerical dispersion might be very large, particularly in regions where strong gradients occur. For these reasons, simulation results should be always interpreted carefully. \\\\ 1089 1089 '' 'pw-scheme' ''\\\\ 1090 1090 The scheme of Piacsek and Williams (1970, J. Comp. Phys., 6, 392-405) with central differences in the form C3 is used.\\\\ 1091 1091 '' 'bc-scheme' ''\\\\ 1092 The Bott scheme modified by Chlond (1994, Mon. Wea. Rev., 122, 111-125). This is a conservative monotonous scheme with very small numerical diffusion and therefore very good conservation of scalar flow features. The scheme however, is computationally very expensive both because it is expensive itself and because it does (so far) not allow specific code optimizations (e.g. cache optimization). Choice of this scheme forces the Euler timestep scheme to be used for the scalar quantities. For output of horizontally averaged profiles of the resolved / total heat flux, [../d3par#data_output_pr data_output_pr] = '' 'w*pt*BC' '' / '' 'wptBC' '' should be used, instead of the standard profiles ('' 'w*pt*' '' and '' 'wpt' '') because these are too inaccurate with this scheme. However, for subdomain analysis (see [#statistic_regions statistic_regions]) exactly the reverse holds: here '' 'w*pt*BC' '' and '' 'wptBC' '' show very large errors and should not be used.\\\\1092 The Bott scheme modified by Chlond (1994, Mon. Wea. Rev., 122, 111-125). This is a conservative monotonous scheme with very small numerical diffusion and therefore very good conservation of scalar flow features. The scheme, however, is computationally very expensive both because it is expensive itself and because it does (so far) not allow specific code optimizations (e.g. cache optimization). Choice of this scheme forces the Euler time step scheme to be used for the scalar quantities. For output of horizontally averaged profiles of the resolved / total heat flux, [../d3par#data_output_pr data_output_pr] = '' 'w*pt*BC' '' / '' 'wptBC' '' should be used, instead of the standard profiles ('' 'w*pt*' '' and '' 'wpt' '') because these are too inaccurate with this scheme. However, for subdomain analysis (see [#statistic_regions statistic_regions]) exactly the reverse holds: here '' 'w*pt*BC' '' and '' 'wptBC' '' show very large errors and should not be used.\\\\ 1093 1093 This scheme is not allowed for non-cyclic lateral boundary conditions (see [#bc_lr bc_lr] and [#bc_ns bc_ns]) and requires that [#loop_optimization loop_optimization] = '' 'vector' '' is set.\\\\ 1094 1094 A differing advection scheme can be chosen for the subgrid-scale TKE using parameter [#use_upstream_for_tke use_upstream_for_tke]. … … 1131 1131 '' 'euler' ''\\\\ 1132 1132 First order Euler scheme.\\\\ 1133 A differing time step scheme can be chosen for the subgrid-scale TKE using parameter [#use_upstream_for_tke use_upstream_for_tke].1133 A differing time step scheme can be chosen for the subgrid-scale TKE using parameter [#use_upstream_for_tke use_upstream_for_tke]. 1134 1134 }}} 1135 1135 |---------------- … … 1158 1158 }}} 1159 1159 {{{#!td 1160 Parameter to choose the advection/time step scheme to be used for the subgrid-scale TKE.\\\\1161 By default, the advection scheme and the time step scheme to be used for the subgrid-scale TKE are set by the initialization parameters [#scalar_advec scalar_advec] and [#timestep_scheme timestep_scheme], respectively. '''use_upstream_for_tke''' = ''.T.'' forces the Euler-scheme and the upstream-scheme to be used as timestep scheme and advection scheme, respectively. By these methods, strong artificial near-surface vertical gradients of the subgrid-scale TKE, as they will be caused by non-diffusive advection schemes, are avoided. '''use_upstream_for_tke''' = ''.T.'' is required when subgrid-scale velocities are used for advection of particles (see particle package parameter [../parpar#use_sgs_for_particles use_sgs_for_particles]) and [#scalar_advec scalar_advec] /= 'ws-scheme'.1160 Parameter to choose the advection/time step scheme to be used for the subgrid-scale TKE.\\\\ 1161 By default, the advection scheme and the time step scheme to be used for the subgrid-scale TKE are set by the initialization parameters [#scalar_advec scalar_advec] and [#timestep_scheme timestep_scheme], respectively. '''use_upstream_for_tke''' = ''.T.'' forces the Euler-scheme and the upstream-scheme to be used as time step scheme and advection scheme, respectively. By these methods, strong artificial near-surface vertical gradients of the subgrid-scale TKE, as they will be caused by non-diffusive advection schemes, are avoided. '''use_upstream_for_tke''' = ''.T.'' is required when subgrid-scale velocities are used for advection of particles (see particle package parameter [../parpar#use_sgs_for_particles use_sgs_for_particles]) and [#scalar_advec scalar_advec] /= 'ws-scheme'. 1162 1162 }}} 1163 1163 … … 1242 1242 Boundary condition along x (for all quantities).\\\\ 1243 1243 By default, a cyclic boundary condition is used along x.\\\\ 1244 '''bc_lr''' may also be assigned the values '' 'dirichlet/radiation' '' (inflow from left, outflow to the right) or '' 'radiation/dirichlet' '' (inflow from right, outflow to the left). This requires the multi -grid method to be used for solving the Poisson equation for perturbation pressure (see [#psolver psolver]) and it also requires cyclic boundary conditions along y (see [#bc_ns bc_ns]).\\\\1244 '''bc_lr''' may also be assigned the values '' 'dirichlet/radiation' '' (inflow from left, outflow to the right) or '' 'radiation/dirichlet' '' (inflow from right, outflow to the left). This requires the multigrid method to be used for solving the Poisson equation for perturbation pressure (see [#psolver psolver]) and it also requires cyclic boundary conditions along y (see [#bc_ns bc_ns]).\\\\ 1245 1245 In case of these non-cyclic lateral boundaries, a Dirichlet condition is used at the inflow for all quantities (initial vertical profiles - see [#initializing_actions initializing_actions] - are fixed during the run) except e, to which a Neumann (zero gradient) condition is applied. At the outflow, a radiation condition is used for all velocity components and the calculation method of the required phase velocity is controlled by the parameter [#use_cmax use_cmax]. 1246 1246 For scalars, a Neumann condition is used. For the perturbation pressure, Neumann conditions are assumed both at the inflow and at the outflow.\\\\ 1247 In order to maintain a turbulent state of the flow, it may be nec cessary to continuously impose perturbations on the horizontal velocity field in the vicinity of the inflow throughout the whole run. This can be switched on using [../d3par#create_disturbances create_disturbances]. The horizontal range to which these perturbations are applied is controlled by the parameters [#inflow_disturbance_begin inflow_disturbance_begin] and [#inflow_disturbance_end inflow_disturbance_end]. The vertical range and the perturbation amplitude are given by [../d3par#disturbance_level_b disturbance_level_b], [../d3par#disturbance_level_t disturbance_level_t], and [../d3par#disturbance_amplitude disturbance_amplitude]. The time interval at which perturbations are to be imposed is set by [../d3par#dt_disturb dt_disturb]. Note that these inflow perturbances are added '''in addition''' to the standard perturbances that are activated with [../d3par#create_disturbances create_disturbances]. The standard perturbances can be deactivated by setting the d3par-parameter [../d3par#disturbance_energy_limit disturbance_energy_limit] = 0.0 .\\\\1247 In order to maintain a turbulent state of the flow, it may be necessary to continuously impose perturbations on the horizontal velocity field in the vicinity of the inflow throughout the whole run. This can be switched on using [../d3par#create_disturbances create_disturbances]. The horizontal range to which these perturbations are applied is controlled by the parameters [#inflow_disturbance_begin inflow_disturbance_begin] and [#inflow_disturbance_end inflow_disturbance_end]. The vertical range and the perturbation amplitude are given by [../d3par#disturbance_level_b disturbance_level_b], [../d3par#disturbance_level_t disturbance_level_t], and [../d3par#disturbance_amplitude disturbance_amplitude]. The time interval at which perturbations are to be imposed is set by [../d3par#dt_disturb dt_disturb]. Note that these inflow perturbances are added '''in addition''' to the standard perturbances that are activated with [../d3par#create_disturbances create_disturbances]. The standard perturbances can be deactivated by setting the d3par-parameter [../d3par#disturbance_energy_limit disturbance_energy_limit] = 0.0 .\\\\ 1248 1248 In case of non-cyclic horizontal boundaries [#call_psolver_at_all_substeps call_psolver_at_all_substeps] = ''.T.'' should be used.\\\\ 1249 1249 '''Note:'''\\ … … 1265 1265 Boundary condition along y (for all quantities).\\\\ 1266 1266 By default, a cyclic boundary condition is used along y.\\\\ 1267 '''bc_ns''' may also be assigned the values '' 'dirichlet/radiation' '' (inflow from rear ("north"), outflow to the front ("south")) or '' 'radiation/dirichlet' '' (inflow from front ("south"), outflow to the rear ("north")). This requires the multi -grid method to be used for solving the Poisson equation for perturbation pressure (see [#psolver psolver]) and it also requires cyclic boundary conditions along x (see1267 '''bc_ns''' may also be assigned the values '' 'dirichlet/radiation' '' (inflow from rear ("north"), outflow to the front ("south")) or '' 'radiation/dirichlet' '' (inflow from front ("south"), outflow to the rear ("north")). This requires the multigrid method to be used for solving the Poisson equation for perturbation pressure (see [#psolver psolver]) and it also requires cyclic boundary conditions along x (see 1268 1268 [#bc_lr bc_lr]).\\\\ 1269 1269 In case of these non-cyclic lateral boundaries, a Dirichlet condition is used at the inflow for all quantities (initial vertical profiles - see [#initializing_actions initializing_actions] - are fixed during the run) except e, to which a Neumann (zero gradient) condition is applied. At the outflow, a radiation condition is used for all velocity components and the calculation method of the required phase velocity is controlled by the parameter [#use_cmax use_cmax]. … … 1299 1299 Top boundary condition of the perturbation pressure.\\\\ 1300 1300 Allowed values are '' 'dirichlet' '' (p(k=nz+1)= 0.0) or '' 'neumann' '' (p(k=nz+1)=p(k=nz)).\\\\ 1301 Simultaneous use of Neumann boundary conditions both at the top and bottom boundary ([#bc_p_b bc_p_b]) yields no consistent solution for the perturbation pressure in case that the multigrid method is used for solving the Poisson equation (see [#psolver psolver]), and should be avoided. Since at the bottom boundary the Neumann condition is a good choice (see [#bc_p_b bc_p_b]), in that case a Dirichlet condition should be set at the top boundary.1301 Simultaneous use of Neumann boundary conditions both at the top and bottom boundary ([#bc_p_b bc_p_b]) yields no consistent solution for the perturbation pressure in case that the multigrid method is used for solving the Poisson equation (see [#psolver psolver]), and should be avoided. Since at the bottom boundary the Neumann condition is a good choice (see [#bc_p_b bc_p_b]), in that case, a Dirichlet condition should be set at the top boundary. 1302 1302 }}} 1303 1303 |---------------- … … 1496 1496 {{{#!td 1497 1497 Height below which the turbulence signal is used for turbulence recycling (in m).\\\\ 1498 In case of a turbulent inflow (see [#turbulent_inflow turbulent_inflow]), this parameter defines the vertical thickness of the turbulent layer up to which the turbulence extracted at the recycling plane (see [#recycling_width recycling_width]) shall be imposed to the inflow. Above this level the turbulence signal is linearly damped to zero. The transition range within which the signal falls to zero is given by the parameter [#inflow_damping_width inflow_damping_width].\\\\1498 In case of a turbulent inflow (see [#turbulent_inflow turbulent_inflow]), this parameter defines the vertical thickness of the turbulent layer up to which the turbulence extracted at the recycling plane (see [#recycling_width recycling_width]) shall be imposed to the inflow. Above this level, the turbulence signal is linearly damped to zero. The transition range within which the signal falls to zero is given by the parameter [#inflow_damping_width inflow_damping_width].\\\\ 1499 1499 By default, this height is set as the height of the convective boundary layer as calculated from a precursor run. Information about proper settings for getting this CBL height from a precursor run can be found [../examples/turbinf here]. 1500 1500 }}} … … 1512 1512 {{{#!td 1513 1513 Transition range within which the turbulence signal is damped to zero (in m).\\\\ 1514 See [#inflow_damping_height inflow_damping_height] for explanation.1514 See [#inflow_damping_height inflow_damping_height] for an explanation. 1515 1515 }}} 1516 1516 |---------------- … … 1525 1525 }}} 1526 1526 {{{#!td 1527 Lower limit of the horizontal range for which random perturbations are to be imposed on the horizontal velocity field (grid points).\\\\1528 If non-cyclic lateral boundary conditions are used (see [#bc_lr bc_lr] or [#bc_ns bc_ns]), this parameter gives the grid point number (counted horizontally from the inflow) from which on perturbations are imposed on the horizontal velocity field. Perturbations must be switched on with parameter [../d3par#create_disturbances create_disturbances]. Note that these inflow perturbances are added '''in addition''' to the standard perturbances that are activated with [../d3par#create_disturbances create_disturbances].1527 Lower limit of the horizontal range for which random perturbations are to be imposed on the horizontal velocity field (grid points).\\\\ 1528 If non-cyclic lateral boundary conditions are used (see [#bc_lr bc_lr] or [#bc_ns bc_ns]), this parameter gives the grid point number (counted horizontally from the inflow) from which on perturbations are imposed on the horizontal velocity field. Perturbations must be switched on with parameter [../d3par#create_disturbances create_disturbances]. Note that these inflow perturbances are added '''in addition''' to the standard perturbances that are activated with [../d3par#create_disturbances create_disturbances]. 1529 1529 }}} 1530 1530 |---------------- … … 1539 1539 }}} 1540 1540 {{{#!td 1541 Upper limit of the horizontal range for which random perturbations are to be imposed on the horizontal velocity field (grid points).\\\\1542 If non-cyclic lateral boundary conditions are used (see [#bc_lr bc_lr] or [#bc_ns bc_ns]), this parameter gives the grid point number (counted horizontally from the inflow) up to which perturbations are imposed on the horizontal velocity field. Perturbations must be switched on with parameter [../d3par#create_disturbances create_disturbances].1541 Upper limit of the horizontal range for which random perturbations are to be imposed on the horizontal velocity field (grid points).\\\\ 1542 If non-cyclic lateral boundary conditions are used (see [#bc_lr bc_lr] or [#bc_ns bc_ns]), this parameter gives the grid point number (counted horizontally from the inflow) up to which perturbations are imposed on the horizontal velocity field. Perturbations must be switched on with parameter [../d3par#create_disturbances create_disturbances]. 1543 1543 }}} 1544 1544 |---------------- … … 1555 1555 Parameter that defines how the Obukhov length is calculated when a [#constant_flux_layer constant_flux_layer] is switched on. Available methods are:\\\\ 1556 1556 * ''''circular'''': A fast method that was the previous default in PALM. Here, the Obukhov length is calculated based on the values of t* (and q*) calculated from the previous time step. This circular calculation leads to a time lag in the Obukhov length and is thus inaccurate.\\\\ 1557 * ''''newton'''': The Obukhov length is calculated by means of the Richardson number and a Newton iteration algorithm. This method yields correct values of the Obukhov length, but it is slower than the 'circular' and 'lookup' methods. Furthermore it cannot be vectorized.\\\\1558 * ''''lookup'''': This method is similar to the Newton iteration method, but the iteration is avoided by creating a lookup table of the Obukhov length against Richardson number at model start. This method yields accurate values of the Obukhov length while being less computationally expensive compared to the Newton iteration method. However, it cannot be used in case of varying roughness lengths (unless the roughness lengths are locally homogeneous on each processor domain).1557 * ''''newton'''': The Obukhov length is calculated by means of the Richardson number and a Newton iteration algorithm. This method yields correct values of the Obukhov length, but it is slower than the 'circular' and 'lookup' methods. Furthermore, it cannot be vectorized.\\\\ 1558 * ''''lookup'''': This method is similar to the Newton iteration method, but the iteration is avoided by creating a lookup table of the Obukhov length against Richardson number at the beginning of the simulation. This method yields accurate values of the Obukhov length while being less computationally expensive compared to the Newton iteration method. However, it cannot be used in case of varying roughness lengths (unless the roughness lengths are locally homogeneous on each processor domain). 1559 1559 \\\\ 1560 1560 }}} … … 1651 1651 {{{#!td 1652 1652 Kinematic sensible heat flux at the bottom surface (in K m/s).\\\\ 1653 If a value is assigned to this parameter, the internal two-dimensional surface heat flux field '''shf''' is initialized with the value of '''surface_heatflux''' as bottom (horizontally homogeneous) boundary condition for the temperature equation. This additionally requires that a Neumann condition must be used for the potential temperature (see [#bc_pt_b bc_pt_b]), because otherwise the resolved scale may contribute to the surface flux so that a constant value cannot be guaranteed. Also, changes of the surface temperature (see [#pt_surface_initial_change pt_surface_initial_change]) are not allowed. The parameter [#random_heatflux random_heatflux] can be used to impose random perturbations on the (homogeneous) surface heat flux field '''shf'''.\\\\1653 If a value is assigned to this parameter, the internal two-dimensional surface heat flux field '''shf''' is initialized with the value of '''surface_heatflux''' as the bottom (horizontally homogeneous) boundary condition for the temperature equation. This additionally requires that a Neumann condition must be used for the potential temperature (see [#bc_pt_b bc_pt_b]), because otherwise the resolved scale may contribute to the surface flux so that a constant value cannot be guaranteed. Also, changes of the surface temperature (see [#pt_surface_initial_change pt_surface_initial_change]) are not allowed. The parameter [#random_heatflux random_heatflux] can be used to impose random perturbations on the (homogeneous) surface heat flux field '''shf'''.\\\\ 1654 1654 '''Attention:'''\\ 1655 1655 Setting of '''surface_heatflux''' requires setting of [#use_surface_fluxes use_surface_fluxes] = ''.T.,'' if the constant flux layer is switched off ([#constant_flux_layer constant_flux_layer] = ''.F.'').\\\\ 1656 1656 In case of a non-flat topography, the internal two-dimensional surface heat flux field '''shf''' is initialized with the value of '''surface_heatflux''' at the bottom surface and [#wall_heatflux wall_heatflux](0) at the topography top face. The parameter random_heatflux can be used to impose random perturbations on this combined surface heat flux field '''shf'''.\\\\ 1657 If no surface heat flux is assigned, '''shf''' is calculated at each time step by u,,*,, {{{*}}} theta,,*,, (of course only with [#constant_flux_layer constant_flux_layer] switched on). Here, u,,*,, and theta,,*,, are calculated from Monin-Obukhov similarity theory assuming logarithmic wind and temperature profiles between k=0 and k=1. In this casea Dirichlet condition (see [#bc_pt_b bc_pt_b]) must be used as bottom boundary condition for the potential temperature.\\\\1657 If no surface heat flux is assigned, '''shf''' is calculated at each time step by u,,*,, {{{*}}} theta,,*,, (of course only with [#constant_flux_layer constant_flux_layer] switched on). Here, u,,*,, and theta,,*,, are calculated from Monin-Obukhov similarity theory assuming logarithmic wind and temperature profiles between k=0 and k=1. In this case, a Dirichlet condition (see [#bc_pt_b bc_pt_b]) must be used as bottom boundary condition for the potential temperature.\\\\ 1658 1658 Non-zero values must not be given for '''surface_heatflux''' in case of simulations with pure neutral stratification (see parameter [#neutral neutral]).\\\\ 1659 1659 See also [#top_heatflux top_heatflux]. … … 1673 1673 Scalar flux at the surface (in kg/(m^2^ s)).\\\\ 1674 1674 If a non-zero value is assigned to this parameter, the respective scalar flux value is used as bottom (horizontally homogeneous) boundary condition for the scalar concentration equation. This additionally requires that a Neumann condition must be used for the scalar concentration (see [#bc_s_b bc_s_b]), because otherwise the resolved scale may contribute to the surface flux so that a constant value cannot be guaranteed. Also, changes of the surface scalar concentration (see [#s_surface_initial_change s_surface_initial_change]) are not allowed.\\\\ 1675 If no surface scalar flux is assigned ('''surface_scalarflux''' = ''0.0''), it is calculated at each time step by u,,*,, {{{*}}} s,,*,, (of course only with [#constant_flux_layer constant_flux_layer] switched on). Here, s,,*,, is calculated from Monin-Obukhov similarity theory assuming a logarithmic scalar concentration profile between k=0 and k=1. In this casea Dirichlet condition (see bc_s_b) must be used as bottom boundary condition for the scalar concentration.1675 If no surface scalar flux is assigned ('''surface_scalarflux''' = ''0.0''), it is calculated at each time step by u,,*,, {{{*}}} s,,*,, (of course only with [#constant_flux_layer constant_flux_layer] switched on). Here, s,,*,, is calculated from Monin-Obukhov similarity theory assuming a logarithmic scalar concentration profile between k=0 and k=1. In this case, a Dirichlet condition (see bc_s_b) must be used as bottom boundary condition for the scalar concentration. 1676 1676 }}} 1677 1677 |---------------- … … 1689 1689 Kinematic water flux near the surface (in m/s).\\\\ 1690 1690 If a non-zero value is assigned to this parameter, the respective water flux value is used as bottom (horizontally homogeneous) boundary condition for the humidity equation. This additionally requires that a Neumann condition must be used for the specific humidity / total water content (see [#bc_q_b bc_q_b]), because otherwise the resolved scale may contribute to the surface flux so that a constant value cannot be guaranteed. Also, changes of the surface humidity (see [#q_surface_initial_change q_surface_initial_change]) are not allowed.\\\\ 1691 If no surface water flux is assigned ('''surface_waterflux''' = ''0.0''), it is calculated at each time step by u,,*,, {{{*}}} q,,*,, (of course only with a constant flux layer switched on). Here, q,,*,, is calculated from Monin-Obukhov similarity theory assuming a logarithmic temperature profile between k=0 and k=1. In this casea Dirichlet condition (see bc_q_b) must be used as the bottom boundary condition for the humidity.1691 If no surface water flux is assigned ('''surface_waterflux''' = ''0.0''), it is calculated at each time step by u,,*,, {{{*}}} q,,*,, (of course only with a constant flux layer switched on). Here, q,,*,, is calculated from Monin-Obukhov similarity theory assuming a logarithmic temperature profile between k=0 and k=1. In this case, a Dirichlet condition (see bc_q_b) must be used as the bottom boundary condition for the humidity. 1692 1692 }}} 1693 1693 |---------------- … … 1704 1704 {{{#!td 1705 1705 Kinematic sensible heat flux at the top boundary (in K m/s).\\\\ 1706 If a value is assigned to this parameter, the internal two-dimensional surface heat flux field {{{tswst}}} is initialized with the value of '''top_heatflux''' as t op (horizontally homogeneous) boundary condition for the temperature equation. This additionally requires that a Neumann condition must be used for the potential temperature (see [#bc_pt_t bc_pt_t]), because otherwise the resolved scale may contribute to the top flux so that a constant flux value cannot be guaranteed.\\\\1706 If a value is assigned to this parameter, the internal two-dimensional surface heat flux field {{{tswst}}} is initialized with the value of '''top_heatflux''' as the top (horizontally homogeneous) boundary condition for the temperature equation. This additionally requires that a Neumann condition must be used for the potential temperature (see [#bc_pt_t bc_pt_t]), because otherwise the resolved scale may contribute to the top flux so that a constant flux value cannot be guaranteed.\\\\ 1707 1707 '''Note:'''\\ 1708 1708 The application of a top heat flux additionally requires the setting of initial parameter [#use_top_fluxes use_top_fluxes] = ''.T.''.\\\\ … … 1724 1724 {{{#!td 1725 1725 Momentum flux along x at the top boundary (in m^2^/s^2^).\\\\ 1726 If a value is assigned to this parameter, the internal two-dimensional u-momentum flux field {{{uswst}}} is initialized with the value of '''top_momentumflux_u''' as t op (horizontally homogeneous) boundary condition for the u-momentum equation.\\\\1726 If a value is assigned to this parameter, the internal two-dimensional u-momentum flux field {{{uswst}}} is initialized with the value of '''top_momentumflux_u''' as the top (horizontally homogeneous) boundary condition for the u-momentum equation.\\\\ 1727 1727 '''Notes:'''\\ 1728 1728 The application of a top momentum flux additionally requires the setting of initial parameter [#use_top_fluxes use_top_fluxes] = ''.T.''. Setting of '''top_momentumflux_u''' requires setting of [#top_momentumflux_v top_momentumflux_v] also.\\\\ … … 1744 1744 {{{#!td 1745 1745 Momentum flux along y at the top boundary (in m^2^/s^2^).\\\\ 1746 If a value is assigned to this parameter, the internal two-dimensional v-momentum flux field {{{vswst}}} is initialized with the value of '''top_momentumflux_v''' as t op (horizontally homogeneous) boundary condition for the v-momentum equation.\\\\1746 If a value is assigned to this parameter, the internal two-dimensional v-momentum flux field {{{vswst}}} is initialized with the value of '''top_momentumflux_v''' as the top (horizontally homogeneous) boundary condition for the v-momentum equation.\\\\ 1747 1747 '''Notes:'''\\ 1748 1748 The application of a top momentum flux additionally requires the setting of initial parameter [#use_top_fluxes use_top_fluxes] = ''.T.''. Setting of '''top_momentumflux_v''' requires setting of [#top_momentumflux_u top_momentumflux_u] also.\\\\ … … 1785 1785 A turbulent inflow requires Dirichlet conditions at the respective inflow boundary. So far, a turbulent inflow is realized from the left (west) side only, i.e. [#bc_lr bc_lr] = '' 'dirichlet/radiation' '' is required! \\\\ 1786 1786 The initial (quasi-stationary) turbulence field must be generated by a precursor run and used by setting [#initializing_actions initializing_actions] = '' 'cyclic_fill'.''\\\\ 1787 The distance of the recycling plane from the inflow boundary can be set with parameter [#recycling_width recycling_width]. The heig thabove ground above which the turbulence signal is not used for recycling and the width of the layer within the magnitude of the turbulence signal is damped from 100% to 0% can be set with parameters [#inflow_damping_height inflow_damping_height] and [#inflow_damping_width inflow_damping_width].\\\\1787 The distance of the recycling plane from the inflow boundary can be set with parameter [#recycling_width recycling_width]. The height above ground above which the turbulence signal is not used for recycling and the width of the layer within the magnitude of the turbulence signal is damped from 100% to 0% can be set with parameters [#inflow_damping_height inflow_damping_height] and [#inflow_damping_width inflow_damping_width].\\\\ 1788 1788 The detailed setup for a turbulent inflow is described in [../examples/turbinf here]. 1789 1789 }}} … … 1822 1822 By default, the near-surface subgrid-scale fluxes are parameterized (like in the remaining model domain) using the gradient approach. If '''use_surface_fluxes''' = ''.T.,'' the user-assigned surface fluxes are used instead (see [#surface_heatflux surface_heatflux], [#surface_waterflux surface_waterflux] and [#surface_scalarflux surface_scalarflux]) or the surface fluxes are calculated via Monin-Obukhov similarity theory (depends on the bottom boundary conditions, see [#bc_pt_b bc_pt_b], [#bc_q_b bc_q_b] and [#bc_s_b bc_s_b]).\\\\ 1823 1823 '''use_surface_fluxes''' is automatically set ''.T.,'' if a constant flux layer is used (see [#constant_flux_layer constant_flux_layer]).\\\\ 1824 The user may prescribe the surface fluxes at the bottom boundary without using a constant flux layer by setting '''use_surface_fluxes''' = ''.T.'' and [#constant_flux_layer constant_flux_layer] = ''.F.''. If 1824 The user may prescribe the surface fluxes at the bottom boundary without using a constant flux layer by setting '''use_surface_fluxes''' = ''.T.'' and [#constant_flux_layer constant_flux_layer] = ''.F.''. If, in this case, the momentum flux (u,,*,,^2^) should also be prescribed, the user must assign an appropriate value within the [../userint user-defined code]. 1825 1825 }}} 1826 1826 |---------------- … … 1852 1852 Parameter to restrict the mixing length in the vicinity of the bottom boundary (and near vertical walls of a non-flat topography).\\\\ 1853 1853 With '''wall_adjustment''' = ''.T.,'' the mixing length is limited to a maximum of 1.8 * z. This condition typically affects only the first grid points above the bottom boundary.\\\\ 1854 In case of a non-flat topography the respective horizontal distance from vertical walls is used.1854 In case of a non-flat topography, the respective horizontal distance from vertical walls is used. 1855 1855 }}} 1856 1856 |---------------- … … 1915 1915 {{{#!td 1916 1916 Height where the damping layer begins in the [../../tec/1dmodel 1d-model] (in m).\\\\ 1917 This parameter is used to switch on a damping layer for the 1d-model, which is generally needed for the damping of inertia oscillations. Damping is done by gradually increasing the value of the eddy diffusivities about 10% per vertical grid level (starting with the value at the height given by '''damp_level_1d''', or possibly from the next grid p int above), i.e. K,,m,,(k+1) = 1.1 * K,,m,,(k). The values of K,,m,, are limited to 10 m^2^/s at maximum.\\\\1917 This parameter is used to switch on a damping layer for the 1d-model, which is generally needed for the damping of inertia oscillations. Damping is done by gradually increasing the value of the eddy diffusivities about 10% per vertical grid level (starting with the value at the height given by '''damp_level_1d''', or possibly from the next grid point above), i.e. K,,m,,(k+1) = 1.1 * K,,m,,(k). The values of K,,m,, are limited to 10 m^2^/s at maximum.\\\\ 1918 1918 This parameter only comes into effect if the 1d-model is switched on for the initialization of the 3d-model using [#initializing_actions initializing_actions] = '' 'set_1d-model_profiles'.'' 1919 1919 }}} … … 1950 1950 '''dt''' < 0.00001 * [../d3par#dt_max dt_max] (with dt_max = 20.0)\\\\ 1951 1951 the simulation will be aborted. Such situations usually arise in case of any numerical problem / instability which causes a non-realistic increase of the wind speed.\\\\ 1952 A small time step due to a large mean horizontal wind speedspeed may be enlarged by using a coordinate transformation (see [#galilei_transformation galilei_transformation]), in order to spare CPU time.1952 A small time step due to a large mean horizontal wind speed may be enlarged by using a coordinate transformation (see [#galilei_transformation galilei_transformation]), in order to spare CPU time. 1953 1953 }}} 1954 1954 |---------------- … … 2007 2007 By setting the initialization parameter [#ensemble_member_nr ensemble_member_nr] to an integer between 1 and 2000, palm will produce statistically independent members of a simulation.\\ 2008 2008 \\ 2009 This parameter can only be used, if '''[#random_generator random_generator]''' = '' 'random-parallel' '' is set .2009 This parameter can only be used, if '''[#random_generator random_generator]''' = '' 'random-parallel' '' is set to '' '.T.' ''. 2010 2010 }}} 2011 2011 |---------------- … … 2021 2021 {{{#!td 2022 2022 Initialization actions to be carried out.\\\\ 2023 This parameter does not have a default value and thereforemust be assigned with each model run. For restart runs '''initializing_actions''' = '' 'read_restart_data' '' must be set. For the initial run of a job chain the following values are allowed:\\\\2023 This parameter does not have a default value and ,therefore, must be assigned with each model run. For restart runs '''initializing_actions''' = '' 'read_restart_data' '' must be set. For the initial run of a job chain the following values are allowed:\\\\ 2024 2024 '' 'set_constant_profiles' ''\\\\ 2025 2025 A horizontal wind profile consisting of linear sections (see [#ug_surface ug_surface], [#ug_vertical_gradient ug_vertical_gradient], [#ug_vertical_gradient_level ug_vertical_gradient_level] and [#vg_surface vg_surface], [#vg_vertical_gradient vg_vertical_gradient], [#vg_vertical_gradient_level vg_vertical_gradient_level], respectively) as well as a vertical temperature (humidity) profile consisting of linear sections (see [#pt_surface pt_surface], [#pt_vertical_gradient pt_vertical_gradient], [#q_surface q_surface] and [#q_vertical_gradient q_vertical_gradient]) are assumed as initial profiles. The subgrid-scale TKE is set to 0 but K,,m,, and K,,h,, are set to very small values because otherwise no TKE would be generated.\\\\ … … 2030 2030 The initialization of the arrays of the 3d-model is under complete control of the user and has to be done in routine {{{user_init_3d_model}}} of the [../userint user-interface].\\\\ 2031 2031 '' 'initialize_vortex' ''\\\\ 2032 The initial velocity field of the 3d-model corresponds to a Rankine-vortex with vertical axis. This setting may be used to test advection schemes. Free-slip boundary conditions for u and v (see [#bc_uv_b bc_uv_b], [#bc_uv_t bc_uv_t]) are necessary. In order not to distort the vortex, an initial horizontal wind profile constant with height is necessary (to be set by [#initializing_actions initializing_actions] = '' 'set_constant_profiles{{{'}}}'') and some other conditions have to be met (neutral stratification, diffusion must be switched off, see [#km_constant km_constant]). The center of the vortex is located at jc = ([#nx nx]+1)/2. It extends from k = 0 to k = [#nz nz]+1. Its radius is 8 * [#dx dx] and the exponentially decaying part ranges to 32 * dx (see {{{init_rankine.f90}}}).\\\\2032 The initial velocity field of the 3d-model corresponds to a Rankine-vortex with a vertical axis. This setting may be used to test advection schemes. Free-slip boundary conditions for u and v (see [#bc_uv_b bc_uv_b], [#bc_uv_t bc_uv_t]) are necessary. In order not to distort the vortex, an initial horizontal wind profile constant with height is necessary (to be set by [#initializing_actions initializing_actions] = '' 'set_constant_profiles{{{'}}}'') and some other conditions have to be met (neutral stratification, diffusion must be switched off, see [#km_constant km_constant]). The center of the vortex is located at jc = ([#nx nx]+1)/2. It extends from k = 0 to k = [#nz nz]+1. Its radius is 8 * [#dx dx] and the exponentially decaying part ranges to 32 * dx (see {{{init_rankine.f90}}}).\\\\ 2033 2033 '' 'initialize_ptanom' ''\\\\ 2034 A 2d-Gauss-like shape disturbance (x,y) is added to the initial temperature field with radius 10.0 * [#dx dx] and center at jc = ([#nx nx]+1)/2. This may be used for tests of scalar advection schemes (see [#scalar_advec scalar_advec]). Such tests require a horizontal wind profile constant with h ight and diffusion switched off (see '' 'initialize_vortex' ''). Additionally, the buoyancy term must be switched of in the equation of motion for w (this requires the user to comment out the call of buoyancy in the source code of {{{prognostic_equations.f90}}}).\\\\2034 A 2d-Gauss-like shape disturbance (x,y) is added to the initial temperature field with radius 10.0 * [#dx dx] and center at jc = ([#nx nx]+1)/2. This may be used for tests of scalar advection schemes (see [#scalar_advec scalar_advec]). Such tests require a horizontal wind profile constant with height and diffusion switched off (see '' 'initialize_vortex' ''). Additionally, the buoyancy term must be switched off in the equation of motion for w (this requires the user to comment out the call of buoyancy in the source code of {{{prognostic_equations.f90}}}).\\\\ 2035 2035 '' 'cyclic_fill' ''\\\\ 2036 2036 Here, 3d-data from a precursor run are read by the initial (main) run. The precursor run is allowed to have a smaller domain along x and y compared with the main run. Also, different numbers of processors can be used for these two runs. Limitations are that the precursor run must use cyclic horizontal boundary conditions and that the number of vertical grid points, [#nz nz], must be same for the precursor run and the main run. If the total domain of the main run is larger than that of the precursor run, the domain is filled by cyclic repetition of the (cyclic) precursor data. This initialization method is required if a turbulent inflow is used (see [#turbulent_inflow turbulent_inflow]). 3d-data must be made available to the run by activating an appropriate file connection statement for local file [../iofiles#BININ BININ]. The usage of a turbulent inflow is explained [../examples/turbinf here]. \\ Note that in case of [#reference_state reference_state]='' 'initial_profile','' the main run uses the initial profile of the precursor run. \\\\ … … 2279 2279 {{{#!td 2280 2280 Values of u-velocity component to be used as initial profile (in m/s).\\\\ 2281 The corresponding height levels have to be provided by parameter [#uv_heights uv_heights]. The first velocity value always has to be given forthe surface and must be zero, i.e. {{{u_profile(1)}}} = 0.0. Velocity values for the model grid levels are calculated from the given values by linear interpolation. If the uppermost value is given for a height smaller than the domain height, this value will be used for all grid points above this level. In runs with non-cyclic horizontal boundary conditions this profile will be used as fixed mean inflow profile.2281 The corresponding height levels have to be provided by parameter [#uv_heights uv_heights]. The first velocity value always has to be assigned to the surface and must be zero, i.e. {{{u_profile(1)}}} = 0.0. Velocity values for the model grid levels are calculated from the given values by linear interpolation. If the uppermost value is given for a height smaller than the domain height, this value will be used for all grid points above this level. In runs with non-cyclic horizontal boundary conditions this profile will be used as fixed mean inflow profile. 2282 2282 }}} 2283 2283 |---------------- … … 2476 2476 }}} 2477 2477 {{{#!td 2478 y-coordinate of the South building wall (distance between the South building wall and the South border of the model domain) in m.\\\\2478 y-coordinate of the south building wall (distance between the south building wall and the south border of the model domain) in m.\\\\ 2479 2479 Currently, '''building_wall_south''' must be at least 1 * [#dy dy] and less than ( [#ny ny] - 1 ) * dy - [#building_length_y building_length_y]. This parameter requires the use of [#topography topography] = '' 'single_building'.''\\\\ 2480 2480 The default value '''building_wall_south''' = ( ( ny + 1 ) * dy - building_length_y ) / 2 centers the building in y-direction. Due to the staggered grid the building will be displaced by -0.5 [#dx dx] in x-direction and -0.5 dy in y-direction. … … 2548 2548 }}} 2549 2549 {{{#!td 2550 y-coordinate of the South canyon wall (distance between the South canyon wall and the South border of the model domain) in m.\\\\2550 y-coordinate of the south canyon wall (distance between the south canyon wall and the south border of the model domain) in m.\\\\ 2551 2551 Currently, '''canyon_wall_south''' must be at least 1 * [#dy dy] and less than ( [#ny ny] - 1 ) * dy - [#canyon_width_y canyon_width_y]. This parameter requires [#topography topography] = '' 'single_street_canyon'.''\\\\ 2552 2552 The default value '''canyon_wall_south''' = ( ( ny + 1 ) * dy - canyon_width_y ) / 2 centers the canyon in y-direction. … … 2572 2572 '' 'single_street_canyon' '' 2573 2573 Flow over a single, quasi-2D street canyon of infinite length oriented either in x- or in y-direction. 2574 The canyon size, orientation and location can be specified by the parameters [#canyon_height canyon_height] plus '''either''' [#canyon_width_x canyon_width_x] and [#canyon_wall_left canyon_wall_left] '''or''' [#canyon_width_y canyon_width_y] and [#canyon_wall_south canyon_wall_south].2574 The canyon size, orientation, and location can be specified by the parameters [#canyon_height canyon_height] plus '''either''' [#canyon_width_x canyon_width_x] and [#canyon_wall_left canyon_wall_left] '''or''' [#canyon_width_y canyon_width_y] and [#canyon_wall_south canyon_wall_south]. 2575 2575 '' 'read_from_file' '' 2576 2576 Flow around arbitrary topography. … … 2597 2597 The distance between cell edges defines the extent of topography. This setting is normally for generic topographies, i.e. topographies that are constructed using length parameters. For example, [#topography topography] = '' 'single_building' '' is constructed using [#building_length_x building_length_x] and [#building_length_y building_length_y]. The advantage of this setting is that the actual size of generic topography is independent of the grid size, provided that the length parameters are an integer multiple of the grid lengths [#dx dx] and [#dy dy]. This is convenient for resolution parameter studies.\\\\ 2598 2598 '' 'cell_center' ''\\\\ 2599 The number of topography cells define the extent of topography. This setting is normally for rastered real topographies derived from digital elevation models. For example, [#topography topography] = '' 'read_from_file' '' is constructed using the input file [../iofiles#TOPOGRAPHY_DATA TOPOGRAPHY_DATA]. The advantage of this setting is that the rastered topography cells of the input file are directly mapped to topography grid boxes in PALM.\\\\2599 The number of topography cells defines the extent of topography. This setting is normally for rastered real topographies derived from digital elevation models. For example, [#topography topography] = '' 'read_from_file' '' is constructed using the input file [../iofiles#TOPOGRAPHY_DATA TOPOGRAPHY_DATA]. The advantage of this setting is that the rastered topography cells of the input file are directly mapped to topography grid boxes in PALM.\\\\ 2600 2600 The example files {{{example_topo_file}}} and {{{example_building}}} in trunk/EXAMPLES/ illustrate the difference between both approaches. Both examples simulate a single building and yield the same results. The former uses a rastered topography input file with '' 'cell_center' '' convention, the latter applies a generic topography with '' 'cell_edge' '' convention.\\\\ 2601 2601 The default value is\\\\ … … 2680 2680 }}} 2681 2681 {{{#!td 2682 Parameter to control how often 2-moment cloud microphysics ([#cloud_scheme cloud_scheme] = 'seifert_beheng') are computed during a model time step. Using the default, cloud microphysics are computed once before the time step. Using call_microphysics_at_all_substeps = .T., cloud microphysics are computed before every substep of the applied time step scheme, which is, however, not necessary to gain acceptable results. Note that advection and diffusion of rain 2682 Parameter to control how often 2-moment cloud microphysics ([#cloud_scheme cloud_scheme] = 'seifert_beheng') are computed during a model time step. Using the default, cloud microphysics are computed once before the time step. Using call_microphysics_at_all_substeps = .T., cloud microphysics are computed before every substep of the applied time step scheme, which is, however, not necessary to gain acceptable results. Note that advection and diffusion of rainwater content (qr) and rain drop concentration (nr) are not affected by this parameter (these processes are computed as any other scalar). 2683 2683 }}} 2684 2684 |---------------- … … 2709 2709 }}} 2710 2710 {{{#!td 2711 Courant number for sedimentation process. A too big Courant number inhibits microphysical interactions of the sedimented quantity. There is no need to use the limiter ([#limiter_sedimentation limiter_sedimentation]) if [#c_sedimentation c_sedimentation] <= 1.0. 2711 Courant number for sedimentation process. 2712 2713 A Courant number that is too big inhibits microphysical interactions of the sedimented quantity. There is no need to use the limiter ([#limiter_sedimentation limiter_sedimentation]) if [#c_sedimentation c_sedimentation] <= 1.0. 2712 2714 2713 2715 This parameter only comes into effect if the microphysical cloud scheme according to Seifert and Beheng (2006) is used ([#cloud_scheme cloud_scheme] = 'seifert_beheng'). … … 2739 2741 }}} 2740 2742 {{{#!td 2741 Slope limiter in sedimentation process according to Stevens and Seifert (2008). There is no need to use the limiter if [#c_sedimentation c_sedimentation] <= 1.0.2743 Slope limiter in sedimentation process according to Stevens and Seifert (2008). 2742 2744 2743 2745 This parameter only comes into effect if the microphysical cloud scheme according to Seifert and Beheng (2006) is used ([#cloud_scheme cloud_scheme] = 'seifert_beheng'). 2746 2747 If [#c_sedimentation c_sedimentation] <= 1.0 there is no need to use the limiter. 2744 2748 }}} 2745 2749 |---------------- … … 2784 2788 }}} 2785 2789 {{{#!td 2786 Parameter to consider the ventilation effect on evaporation of rain 2790 Parameter to consider the ventilation effect on evaporation of raindrops according to Seifert (2008). 2787 2791 2788 2792 This parameter only comes into effect if the microphysical cloud scheme according to Seifert and Beheng (2006) is used ([#cloud_scheme cloud_scheme] = 'seifert_beheng'). … … 2805 2809 {{{#!td 2806 2810 Inclination of the model domain with respect to the horizontal (in degrees).\\\\ 2807 By means of '''alpha_surface'''the model domain can be inclined in x-direction with respect to the horizontal. In this way flows over inclined surfaces (e.g. drainage flows, gravity flows) can be simulated. In case of '''alpha_surface''' /= ''0'' the buoyancy term appears both in the equation of motion of the u-component and of the w-component.\\\\2811 By setting '''alpha_surface''' unequal to zero the model domain can be inclined in x-direction with respect to the horizontal. In this way flows over inclined surfaces (e.g. drainage flows, gravity flows) can be simulated. In case of '''alpha_surface''' /= ''0'' the buoyancy term appears both in the equation of motion of the u-component and of the w-component.\\\\ 2808 2812 An inclination is only possible in case of cyclic horizontal boundary conditions along x '''AND''' y (see [#bc_lr bc_lr] and [#bc_ns bc_ns]) and [#topography topography] = '' 'flat'.''\\\\ 2809 2813 Runs with inclined surface still require additional [../userint user-defined code] as well as modifications to the default code. Please ask the PALM developer group ([[contact details]]).