== Synthetic Turbulence Generator Parameters == [[TracNav(doc/app/partoc|nocollapse)]] Since revision r2259, a synthetic turbulence generation method is available in PALM. The turbulence generator follows the method proposed by [wiki:/doc/tec/bc#xie2008 Xie and Castro (2008)] with a modification by [wiki:/doc/tec/bc#kim2013 Kim et al. (2013)]. Please see the [/wiki/doc/tec/bc#SyntheticTurbulenceGenerator documentation] for a detailed description of the synthetic turbulence generator. The synthetic turbulence generator requires information about the Reynolds stresses as well as turbulent length and time scales. These can be either provided in an ASCII file (please see [/wiki/doc/tec/bc#SyntheticTurbulenceGenerator documentation]), or if not available as e.g. in case of mesoscale offline nesting these information will be parametrized (please see [/wiki/doc/tec/bc#SyntheticTurbulenceGenerator documentation]). For a detailed description of the parametrized synthetic turbulence we refer to ''< replace with doi when available > ''. All parts of the synthetic turbulence generator are modularized in module [/browser/palm/trunk/SOURCE/synthetic_turbulence_generator_mod.f90 synthetic_turbulence_generator_mod]. In this context, a new Fortran NAMELIST {{{stg_par}}} was added, containing all related steering parameters. \\ '''NAMELIST group name: {{{stg_par}}}''' \\\\ ||='''Parameter Name''' =||='''[../fortrantypes FORTRAN Type]''' =||='''Default Value''' =||='''Explanation''' =|| |---------------- {{{#!td style="vertical-align:top" [=#dt_stg_adjust '''dt_stg_adjust'''] }}} {{{#!td style="vertical-align:top" R }}} {{{#!td style="vertical-align:top" 1800 }}} {{{#!td Time interval (in seconds) to adjust the turbulence statistics, i.e. the Reynolds-stress tensor, which define the amplitude and correlation of imposed correlation. Please note, this parameter becomes only effective if turbulence statistics are parametrized, i.e. if they are not read from the ASCII input file. Further, dt_stg_adjust is only relevant in case of a daily cycle, where the strength of turbulence and boundary-layer depth changes in time. }}} |---------------- {{{#!td style="vertical-align:top" [=#dt_stg_call '''dt_stg_call'''] }}} {{{#!td style="vertical-align:top" R }}} {{{#!td style="vertical-align:top" 0.0 }}} {{{#!td Time interval to call the synthetic turbulence generator. With this parameter it is possible to skip calling the turbulence generator, in order to save computational resources. In the default the turbulence generator is called every timestep. }}} |---------------- {{{#!td style="vertical-align:top" [=#use_syn_turb_gen '''use_syn_turb_gen'''] }}} {{{#!td style="vertical-align:top" L }}} {{{#!td style="vertical-align:top" .F. }}} {{{#!td Flag to switch on the synthetic turbulence generator. If {{{use_syn_turb_gen = .T.}}}, it is required to also set [../initialization_parameters#initializing_actions initializing_actions] to either 'set_constant_profiles' or 'read_restart_data'. Also, non-cyclic boundary conditions along x-direction ([../initialization_parameters#bc_lr bc_lr]='dirichlet/radiation') and cyclic boundary conditions along y-direction ([../initialization_parameters#bc_ns bc_ns]='cyclic') have to be used. Using turbulence recycling ([../initialization_parameters#turbulent_inflow turbulent_inflow]=.T.) together with the synthetic turbulence generator is not allowed. }}} |---------------- {{{#!td style="vertical-align:top" [=#compute_velocity_seeds_local '''compute_velocity_seeds_local'''] }}} {{{#!td style="vertical-align:top" L }}} {{{#!td style="vertical-align:top" .F. }}} {{{#!td Flag to control the computation of velocity seeds that are the basis of the imposed disturbances. If .FALSE., the computation of the seeds at the boundary is distributed to all processes along the respective 1D communicator. Subsequently, seeds are gathered on the respective boundary process. This option is especially useful for large length scales where the computational effort can become quite huge (it scales with the turbulent length scales), so that gain by parallelization exceeds the costs by the subsequent communication. If .TRUE., velocity seeds are computed only locally and no communication is necessary. This performs better when the turbulent length scales are small and thus the loops are smaller. }}}