Changes between Version 179 and Version 180 of doc/app/initialization_parameters
- Timestamp:
- Sep 13, 2012 2:38:28 PM (13 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
doc/app/initialization_parameters
v179 v180 276 276 * If switched on, random perturbations are by default imposed to the upper model domain from zu(nzt*2/3) to zu(nzt-3).\\\\ 277 277 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].\\\\ 278 Section [[4.4.2]] gives an example for appropriate settings of these and other parameters neccessary for ocean runs.\\\\ 279 '''ocean''' = ''.T.'' does not allow settings of [#timestep_scheme timestep_scheme] = '' 'leapfrog' '' or '' 'leapfrog+euler' '' as well as [#scalar_advec scalar_advec] = '' 'ups-scheme'.'' 278 Section [[4.4.2]] gives an example for appropriate settings of these and other parameters neccessary for ocean runs. 280 279 }}} 281 280 |---------------- … … 630 629 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 timestep. The condition ''0.0'' < '''cfl_factor''' < ''1.0'' applies.\\\\ 631 630 The default value of '''cfl_factor''' depends on the [#timestep_scheme timestep_scheme] used:\\\\ 632 For the third order Runge-Kutta scheme it is '''cfl_factor''' = ''0.9.''\\\\ 633 In case of the leapfrog scheme a quite restrictive value of '''cfl_factor''' = ''0.1'' is used because for larger values the velocity divergence significantly effects the accuracy of the model results. Possibly larger values may be used with the leapfrog scheme but these are to be determined by appropriate test runs.\\\\ 634 The default value for the Euler scheme is '''cfl_factor''' = ''0.8.'' 631 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.\\\\ 632 The default value for the Euler scheme is '''cfl_factor''' = ''0.9.'' 635 633 }}} 636 634 |---------------- … … 682 680 |---------------- 683 681 {{{#!td style="vertical-align:top" 684 [=#long_filter_factor '''long_filter_factor''']685 }}}686 {{{#!td style="vertical-align:top"687 R688 }}}689 {{{#!td style="vertical-align:top"690 0.0691 }}}692 {{{#!td693 Filter factor for the so-called Long-filter.\\\\694 This filter very efficiently eliminates 2-delta-waves sometimes caused by the upstream-spline scheme (see Mahrer and Pielke, 1978: Mon. Wea. Rev., 106, 818-830). It works in all three directions in space. A value of '''long_filter_factor''' = ''0.01'' sufficiently removes the small-scale waves without affecting the longer waves.\\\\695 By default, the filter is switched off (= ''0.0''). It is exclusively applied to the tendencies calculated by the upstream-spline scheme (see [#momentum_advec momentum_advec] and [#scalar_advec scalar_advec]), not to the prognostic variables themselves. At the bottom and top boundary of the model domain the filter effect for vertical 2-delta-waves is reduced. There, the amplitude of these waves is only reduced by approx. 50%, otherwise by nearly 100%.\\\\696 Filter factors with values > ''0.01'' also reduce the amplitudes of waves with wavelengths longer than 2-delta (see the paper by Mahrer and Pielke, quoted above).697 }}}698 |----------------699 {{{#!td style="vertical-align:top"700 682 [=#loop_optimization '''loop_optimization'''] 701 683 }}} … … 779 761 '' 'pw-scheme' ''\\\\ 780 762 The scheme of Piacsek and Williams (1970, J. Comp. Phys., 6, 392-405) with central differences in the form C3 is used. 781 If intermediate Euler-timesteps are carried out in case of [#timestep_scheme timestep_scheme] = '' 'leapfrog+euler' '' the advection scheme is - for the Euler-timestep - automatically switched to an upstream-scheme.\\\\782 '' 'ups-scheme' ''\\\\783 The upstream-spline scheme is used (see Mahrer and Pielke, 1978: Mon. Wea. Rev., 106, 818-830). In opposite to the Piacsek-Williams scheme, this is characterized by much better numerical features (less numerical diffusion, better preservation of flow structures, e.g. vortices), but computationally it is much more expensive. In addition, the use of the Euler-timestep scheme is mandatory ([#timestep_scheme timestep_scheme] = '' 'euler' ''), i.e. the timestep accuracy is only of first order. For this reason the advection of scalar variables (see [#scalar_advec scalar_advec]) should then also be carried out with the upstream-spline scheme, because otherwise the scalar variables would be subject to large numerical diffusion due to the upstream scheme.\\\\784 Since the cubic splines used tend to overshoot under certain circumstances, this effect must be adjusted by suitable filtering and smoothing (see [#long_filter_factor long_filter_factor]). This is always neccessary for runs with stable stratification, even if this stratification appears only in parts of the model domain.\\\\785 With stable stratification the upstream-spline scheme also produces gravity waves with large amplitude, which must be suitably damped (see [../inipar#rayleigh_damping_factor rayleigh_damping_factor]).\\\\786 '''Important:'''\\787 The upstream-spline scheme is not implemented for humidity and passive scalars (see [#humidity humidity] and [#passive_scalar passive_scalar]) and requires the use of a 2d-domain-decomposition. The last conditions severely restricts code optimization on several machines leading to very long execution times! The scheme is also not allowed for non-cyclic lateral boundary conditions (see [#bc_lr bc_lr] and [#bc_ns bc_ns]).788 763 }}} 789 764 |---------------- … … 954 929 Factor for Rayleigh damping.\\\\ 955 930 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.\\\\ 956 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. This particularly happens with the upstream-spline scheme switched on (see [#momentum_advec momentum_advec] or [#scalar_advec scalar_advec]). Therefore, with this scheme the Rayleigh damping is switched on ('''rayleigh_damping_factor''' = ''0.01'') by default. Otherwise it remains switched off.\\\\931 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.\\\\ 957 932 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. 958 933 }}} … … 1008 983 '''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 potential temperature: CALL exchange_horiz( pt , nbgp ). \\\\ 1009 984 '' 'pw-scheme' ''\\\\ 1010 The scheme of Piacsek and Williams (1970, J. Comp. Phys., 6, 392-405) with central differences in the form C3 is used. 1011 If intermediate Euler-timesteps are carried out in case of [#timestep_scheme timestep_scheme] = '' 'leapfrog+euler' '' the advection scheme is - for the Euler-timestep - automatically switched to an upstream-scheme.\\\\ 985 The scheme of Piacsek and Williams (1970, J. Comp. Phys., 6, 392-405) with central differences in the form C3 is used.\\\\ 1012 986 '' 'bc-scheme' ''\\\\ 1013 987 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.\\\\ 1014 988 This scheme is not allowed for non-cyclic lateral boundary conditions (see [#bc_lr bc_lr] and [#bc_ns bc_ns]).\\\\ 1015 '' 'ups-scheme' ''\\\\1016 The upstream-spline-scheme is used (see Mahrer and Pielke, 1978: Mon. Wea. Rev., 106, 818-830). In opposite to the Piacsek Williams scheme, this is characterized by much better numerical features (less numerical diffusion, better preservation of flux structures, e.g. vortices), but computationally it is much more expensive. In addition, the use of the Euler-timestep scheme is mandatory ([#timestep_scheme timestep_scheme] = '' 'euler' ''), i.e. the timestep accuracy is only first order. For this reason the advection of momentum (see [#momentum_advec momentum_advec]) should then also be carried out with the upstream-spline scheme, because otherwise the momentum would be subject to large numerical diffusion due to the upstream scheme.\\\\1017 Since the cubic splines used tend to overshoot under certain circumstances, this effect must be adjusted by suitable filtering and smoothing (see [#long_filter_factor long_filter_factor]). This is always neccesssary for runs with stable stratification, even if this stratification appears only in parts of the model domain.\\\\1018 With stable stratification the upstream-upline scheme also produces gravity waves with large amplitude, which must be suitably damped (see [#rayleigh_damping_factor rayleigh_damping_factor]).\\\\1019 '''Important:'''\\1020 The upstream-spline scheme is not implemented for humidity and passive scalars (see [#humidity humidity] and [#passive_scalar passive_scalar]) and requires the use of a 2d-domain-decomposition. The last conditions severely restricts code optimization on several machines leading to very long execution times! This scheme is also not allowed for non-cyclic lateral boundary conditions (see [#bc_lr bc_lr] and [#bc_ns bc_ns]).\\\\1021 989 A differing advection scheme can be chosen for the subgrid-scale TKE using parameter [#use_upstream_for_tke use_upstream_for_tke]. 1022 990 }}} … … 1056 1024 Second order Runge-Kutta scheme.\\ 1057 1025 For special features see '''timestep_scheme''' = '' 'runge-kutta-3'.''\\\\ 1058 '' 'leapfrog' ''\\\\1059 Second order leapfrog scheme.\\1060 Although this scheme requires a constant timestep (because it is centered in time), it is even applied in case of changes in timestep. Therefore, only small changes of the timestep are allowed (see [#dt dt]). However, an Euler timestep is always used as the first timestep of an initial run. When using the Bott-Chlond scheme for scalar advection (see [#scalar_advec scalar_advec]), the prognostic equation for potential temperature will be calculated with the Euler scheme, although the leapfrog scheme is switched on.\\1061 The leapfrog scheme must not be used together with the upstream-spline scheme for calculating the advection (see [#scalar_advec scalar_advec] = '' 'ups-scheme' '' and [#momentum_advec momentum_advec] = '' 'ups-scheme' '').\\\\1062 '' 'leapfrog+euler' ''\\\\1063 The leapfrog scheme is used, but after each change of a timestep an Euler timestep is carried out. Although this method is theoretically correct (because the pure leapfrog method does not allow timestep changes), the divergence of the velocity field (after applying the pressure solver) may be significantly larger than with '' 'leapfrog'.''\\\\1064 1026 '' 'euler' ''\\\\ 1065 First order Euler scheme.\\ 1066 The Euler scheme must be used when treating the advection terms with the upstream-spline scheme (see [#scalar_advec scalar_advec] = '' 'ups-scheme' '' and [#momentum_advec momentum_advec] = '' 'ups-scheme' '').\\\\ 1027 First order Euler scheme.\\\\ 1067 1028 A differing timestep scheme can be chosen for the subgrid-scale TKE using parameter [#use_upstream_for_tke use_upstream_for_tke]. 1068 1029 }}} … … 1832 1793 '''dt''' < 0.00001 * [../d3par#dt_max dt_max] (with dt_max = 20.0)\\\\ 1833 1794 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.\\\\ 1834 A small time step due to a large mean horizontal windspeed speed may be enlarged by using a coordinate transformation (see [#galilei_transformation galilei_transformation]), in order to spare CPU time.\\\\ 1835 If the leapfrog timestep scheme is used (see [#timestep_scheme timestep_scheme]) a temporary time step value dt_new is calculated first, with dt_new = [#cfl_factor cfl_factor] * dt_crit where dt_crit is the maximum timestep allowed by the CFL and diffusion condition. Next it is examined whether dt_new exceeds or falls below the value of the previous timestep by at least +5 % / -2%. If it is smaller, '''dt''' = dt_new is immediately used for the next timestep. If it is larger, then '''dt''' = 1.02 * dt_prev (previous timestep) is used as the new timestep, however the time step is only increased if the last change of the time step is dated back at least 30 iterations. If dt_new is located in the interval mentioned above, then '''dt''' does not change at all. By doing so, permanent time step changes as well as large sudden changes (increases) in the time step are avoided. 1795 A small time step due to a large mean horizontal windspeed speed may be enlarged by using a coordinate transformation (see [#galilei_transformation galilei_transformation]), in order to spare CPU time. 1836 1796 }}} 1837 1797 |----------------