[5] | 1 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
---|
| 2 | <html><head> |
---|
[61] | 3 | <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"><title>PALM |
---|
| 4 | chapter 4.1</title></head> |
---|
| 5 | <body><h3><a name="chapter4.1"></a>4.1 |
---|
| 6 | Initialization parameters</h3> |
---|
| 7 | <br><table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2"> <tbody> |
---|
| 8 | <tr> <td style="vertical-align: top;"><font size="4"><b>Parameter name</b></font></td> |
---|
| 9 | <td style="vertical-align: top;"><font size="4"><b>Type</b></font></td> |
---|
| 10 | <td style="vertical-align: top;"> <p><b><font size="4">Default</font></b> <br> <b><font size="4">value</font></b></p> </td> |
---|
| 11 | <td style="vertical-align: top;"><font size="4"><b>Explanation</b></font></td> |
---|
| 12 | </tr> <tr> <td style="vertical-align: top;"> |
---|
| 13 | <p><a name="adjust_mixing_length"></a><b>adjust_mixing_length</b></p> |
---|
| 14 | </td> <td style="vertical-align: top;">L</td> |
---|
| 15 | <td style="vertical-align: top;"><span style="font-style: italic;">.F.</span></td> <td style="vertical-align: top;"> <p style="font-style: normal;">Near-surface adjustment of the |
---|
| 16 | mixing length to the Prandtl-layer law. </p> <p>Usually |
---|
| 17 | the mixing length in LES models l<sub>LES</sub> |
---|
[5] | 18 | depends (as in PALM) on the grid size and is possibly restricted |
---|
| 19 | further in case of stable stratification and near the lower wall (see |
---|
| 20 | parameter <a href="#wall_adjustment">wall_adjustment</a>). |
---|
| 21 | With <b>adjust_mixing_length</b> = <span style="font-style: italic;">.T.</span> |
---|
[61] | 22 | the Prandtl' mixing length l<sub>PR</sub> = kappa * z/phi |
---|
| 23 | is calculated |
---|
[5] | 24 | and the mixing length actually used in the model is set l = MIN (l<sub>LES</sub>, |
---|
[61] | 25 | l<sub>PR</sub>). This usually gives a decrease of the |
---|
| 26 | mixing length at |
---|
[5] | 27 | the bottom boundary and considers the fact that eddy sizes |
---|
[61] | 28 | decrease in the vicinity of the wall. </p> <p style="font-style: normal;"><b>Warning:</b> So |
---|
| 29 | far, there is |
---|
[5] | 30 | no good experience with <b>adjust_mixing_length</b> = <span style="font-style: italic;">.T.</span> ! </p> |
---|
[61] | 31 | <p>With <b>adjust_mixing_length</b> = <span style="font-style: italic;">.T.</span> and the |
---|
| 32 | Prandtl-layer being |
---|
| 33 | switched on (see <a href="#prandtl_layer">prandtl_layer</a>) |
---|
| 34 | <span style="font-style: italic;">'(u*)** 2+neumann'</span> |
---|
[5] | 35 | should always be set as the lower boundary condition for the TKE (see <a href="#bc_e_b">bc_e_b</a>), |
---|
| 36 | otherwise the near-surface value of the TKE is not in agreement with |
---|
| 37 | the Prandtl-layer law (Prandtl-layer law and Prandtl-Kolmogorov-Ansatz |
---|
[61] | 38 | should provide the same value for K<sub>m</sub>). A warning |
---|
| 39 | is given, |
---|
| 40 | if this is not the case.</p> </td> </tr> <tr> |
---|
| 41 | <td style="vertical-align: top;"> <p><a name="alpha_surface"></a><b>alpha_surface</b></p> |
---|
| 42 | </td> <td style="vertical-align: top;">R<br> </td> |
---|
| 43 | <td style="vertical-align: top;"><span style="font-style: italic;">0.0</span><br> </td> |
---|
| 44 | <td style="vertical-align: top;"> <p style="font-style: normal;">Inclination of the model domain |
---|
| 45 | with respect to the horizontal (in degrees). </p> <p style="font-style: normal;">By means of <b>alpha_surface</b> |
---|
[5] | 46 | the model domain can be inclined in x-direction with respect to the |
---|
| 47 | horizontal. In this way flows over inclined surfaces (e.g. drainage |
---|
[61] | 48 | flows, gravity flows) can be simulated. In case of <b>alpha_surface |
---|
| 49 | </b>/= <span style="font-style: italic;">0</span> |
---|
| 50 | the buoyancy term |
---|
[5] | 51 | appears both in |
---|
| 52 | the equation of motion of the u-component and of the w-component.<br> |
---|
[61] | 53 | </p> <p style="font-style: normal;">An inclination |
---|
| 54 | is only possible in |
---|
[5] | 55 | case of cyclic horizontal boundary conditions along x AND y (see <a href="#bc_lr">bc_lr</a> |
---|
| 56 | and <a href="#bc_ns">bc_ns</a>) and <a href="#topography">topography</a> = <span style="font-style: italic;">'flat'</span>. </p> |
---|
[61] | 57 | <p>Runs with inclined surface still require additional |
---|
[5] | 58 | user-defined code as well as modifications to the default code. Please |
---|
| 59 | ask the <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/PALM_group.html#0">PALM |
---|
[61] | 60 | developer group</a>.</p> </td> </tr> |
---|
| 61 | <tr> <td style="vertical-align: top;"> <p><a name="bc_e_b"></a><b>bc_e_b</b></p> </td> |
---|
| 62 | <td style="vertical-align: top;">C * 20</td> <td style="vertical-align: top;"><span style="font-style: italic;">'neumann'</span></td> |
---|
| 63 | <td style="vertical-align: top;"> <p style="font-style: normal;">Bottom boundary condition of the |
---|
| 64 | TKE. </p> <p><b>bc_e_b</b> may be |
---|
| 65 | set to <span style="font-style: italic;">'neumann'</span> |
---|
| 66 | or <span style="font-style: italic;">'(u*) ** 2+neumann'</span>. |
---|
| 67 | <b>bc_e_b</b> |
---|
| 68 | = <span style="font-style: italic;">'neumann'</span> |
---|
| 69 | yields to |
---|
[5] | 70 | e(k=0)=e(k=1) (Neumann boundary condition), where e(k=1) is calculated |
---|
[61] | 71 | via the prognostic TKE equation. Choice of <span style="font-style: italic;">'(u*)**2+neumann'</span> |
---|
| 72 | also yields to |
---|
[5] | 73 | e(k=0)=e(k=1), but the TKE at the Prandtl-layer top (k=1) is calculated |
---|
| 74 | diagnostically by e(k=1)=(us/0.1)**2. However, this is only allowed if |
---|
| 75 | a Prandtl-layer is used (<a href="#prandtl_layer">prandtl_layer</a>). |
---|
[61] | 76 | If this is not the case, a warning is given and <b>bc_e_b</b> |
---|
| 77 | is reset |
---|
| 78 | to <span style="font-style: italic;">'neumann'</span>. |
---|
| 79 | </p> <p style="font-style: normal;">At the top |
---|
| 80 | boundary a Neumann |
---|
| 81 | boundary condition is generally used: (e(nz+1) = e(nz)).</p> </td> |
---|
| 82 | </tr> <tr> <td style="vertical-align: top;"> |
---|
| 83 | <p><a name="bc_lr"></a><b>bc_lr</b></p> |
---|
| 84 | </td> <td style="vertical-align: top;">C * 20</td> |
---|
| 85 | <td style="vertical-align: top;"><span style="font-style: italic;">'cyclic'</span></td> |
---|
| 86 | <td style="vertical-align: top;">Boundary |
---|
| 87 | condition along x (for all quantities).<br> <br> |
---|
| 88 | By default, a cyclic boundary condition is used along x.<br> <br> |
---|
| 89 | <span style="font-weight: bold;">bc_lr</span> may |
---|
| 90 | also be |
---|
[5] | 91 | assigned the values <span style="font-style: italic;">'dirichlet/neumann'</span> |
---|
[61] | 92 | (inflow from left, outflow to the right) or <span style="font-style: italic;">'neumann/dirichlet'</span> |
---|
| 93 | (inflow from |
---|
[5] | 94 | right, outflow to the left). This requires the multi-grid method to be |
---|
| 95 | used for solving the Poisson equation for perturbation pressure (see <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/doc/app/chapter_4.2.html#psolver">psolver</a>) |
---|
[61] | 96 | and it also requires cyclic boundary conditions along y (see<br> <a href="#bc_ns">bc_ns</a>).<br> <br> |
---|
[5] | 97 | In case of these non-cyclic lateral boundaries, a Dirichlet condition |
---|
| 98 | is used at the inflow for all quantities (initial vertical profiles - |
---|
| 99 | see <a href="#initializing_actions">initializing_actions</a> |
---|
| 100 | - are fixed during the run) except u, to which a Neumann (zero |
---|
| 101 | gradient) condition is applied. At the outflow, a Neumann (zero |
---|
| 102 | gradient) condition is used for all quantities except v, which is set |
---|
| 103 | to its horizontal average along the outflow (e.g. v(k,:,nx+1) = |
---|
| 104 | average_along_y( v(k,:,nx)), and except w, which is set to zero |
---|
| 105 | (Dirichlet condition). These conditions ensure the velocity field to be |
---|
| 106 | free of divergence at the inflow and at the outflow. For perturbation |
---|
| 107 | pressure Neumann (zero gradient) conditions are assumed both at the |
---|
[61] | 108 | inflow and at the outflow.<br> <br> |
---|
[5] | 109 | When using non-cyclic lateral boundaries, a filter is applied to the |
---|
| 110 | velocity field in the vicinity of the outflow in order to suppress any |
---|
| 111 | reflections of outgoing disturbances (see <a href="#km_damp_max">km_damp_max</a> |
---|
| 112 | and <a href="#outflow_damping_width">outflow_damping_width</a>).<br> |
---|
[61] | 113 | <br> |
---|
[5] | 114 | In order to maintain a turbulent state of the flow, it may be |
---|
| 115 | neccessary to continuously impose perturbations on the horizontal |
---|
| 116 | velocity field in the vicinity of the inflow throughout the whole run. |
---|
| 117 | This can be switched on using <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/doc/app/chapter_4.2.html#create_disturbances">create_disturbances</a>. |
---|
| 118 | The horizontal range to which these perturbations are applied is |
---|
| 119 | controlled by the parameters <a href="#inflow_disturbance_begin">inflow_disturbance_begin</a> |
---|
| 120 | and <a href="#inflow_disturbance_end">inflow_disturbance_end</a>. |
---|
| 121 | The vertical range and the perturbation amplitude are given by <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/doc/app/chapter_4.2.html#psolver">disturbance_level_b</a>, |
---|
[61] | 122 | <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/doc/app/chapter_4.2.html#psolver">disturbance_level_t</a>, |
---|
[5] | 123 | and <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/doc/app/chapter_4.2.html#psolver">disturbance_amplitude</a>. |
---|
| 124 | The time interval at which perturbations are to be imposed is set by <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/doc/app/chapter_4.2.html#dt_disturb">dt_disturb</a>.<br> |
---|
[61] | 125 | <br> |
---|
[5] | 126 | In case of non-cyclic horizontal boundaries <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/doc/app/chapter_4.2.html#call_psolver_at_all_substeps">call_psolver |
---|
[61] | 127 | at_all_substeps</a> = .T. should be used.<br> <br> <span style="font-weight: bold;">Note:</span><br> |
---|
[5] | 128 | Using non-cyclic lateral boundaries requires very sensitive adjustments |
---|
| 129 | of the inflow (vertical profiles) and the bottom boundary conditions, |
---|
| 130 | e.g. a surface heating should not be applied near the inflow boundary |
---|
| 131 | because this may significantly disturb the inflow. Please check the |
---|
[61] | 132 | model results very carefully.</td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="bc_ns"></a><b>bc_ns</b></p> |
---|
| 133 | </td> <td style="vertical-align: top;">C * 20</td> |
---|
| 134 | <td style="vertical-align: top;"><span style="font-style: italic;">'cyclic'</span></td> |
---|
| 135 | <td style="vertical-align: top;">Boundary |
---|
| 136 | condition along y (for all quantities).<br> <br> |
---|
| 137 | By default, a cyclic boundary condition is used along y.<br> <br> |
---|
| 138 | <span style="font-weight: bold;">bc_ns</span> may |
---|
| 139 | also be |
---|
[5] | 140 | assigned the values <span style="font-style: italic;">'dirichlet/neumann'</span> |
---|
| 141 | (inflow from rear ("north"), outflow to the front ("south")) or <span style="font-style: italic;">'neumann/dirichlet'</span> |
---|
| 142 | (inflow from front ("south"), outflow to the rear ("north")). This |
---|
| 143 | requires the multi-grid |
---|
| 144 | method to be used for solving the Poisson equation for perturbation |
---|
| 145 | pressure (see <a href="chapter_4.2.html#psolver">psolver</a>) |
---|
[61] | 146 | and it also requires cyclic boundary conditions along x (see<br> <a href="#bc_lr">bc_lr</a>).<br> <br> |
---|
[5] | 147 | In case of these non-cyclic lateral boundaries, a Dirichlet condition |
---|
| 148 | is used at the inflow for all quantities (initial vertical profiles - |
---|
| 149 | see <a href="#initializing_actions">initializing_actions</a> |
---|
| 150 | - are fixed during the run) except v, to which a Neumann (zero |
---|
| 151 | gradient) condition is applied. At the outflow, a Neumann (zero |
---|
| 152 | gradient) condition is used for all quantities except u, which is set |
---|
| 153 | to its horizontal average along the outflow (e.g. u(k,ny+1,:) = |
---|
| 154 | average_along_x( u(k,ny,:)), and except w, which is set to zero |
---|
| 155 | (Dirichlet condition). These conditions ensure the velocity field to be |
---|
| 156 | free of divergence at the inflow and at the outflow. For perturbation |
---|
| 157 | pressure Neumann (zero gradient) conditions are assumed both at the |
---|
[61] | 158 | inflow and at the outflow.<br> <br> |
---|
[5] | 159 | For further details regarding non-cyclic lateral boundary conditions |
---|
[61] | 160 | see <a href="#bc_lr">bc_lr</a>.</td> </tr> |
---|
| 161 | <tr> <td style="vertical-align: top;"> <p><a name="bc_p_b"></a><b>bc_p_b</b></p> </td> |
---|
| 162 | <td style="vertical-align: top;">C * 20</td> <td style="vertical-align: top;"><span style="font-style: italic;">'neumann'</span></td> |
---|
| 163 | <td style="vertical-align: top;"> <p style="font-style: normal;">Bottom boundary condition of the |
---|
| 164 | perturbation pressure. </p> <p>Allowed values |
---|
| 165 | are <span style="font-style: italic;">'dirichlet'</span>, |
---|
| 166 | <span style="font-style: italic;">'neumann'</span> |
---|
| 167 | and <span style="font-style: italic;">'neumann+inhomo'</span>. |
---|
| 168 | <span style="font-style: italic;">'dirichlet'</span> |
---|
| 169 | sets |
---|
[5] | 170 | p(k=0)=0.0, <span style="font-style: italic;">'neumann'</span> |
---|
| 171 | sets p(k=0)=p(k=1). <span style="font-style: italic;">'neumann+inhomo'</span> |
---|
| 172 | corresponds to an extended Neumann boundary condition where heat flux |
---|
| 173 | or temperature inhomogeneities near the |
---|
[61] | 174 | surface (pt(k=1)) are additionally regarded (see Shen and |
---|
| 175 | LeClerc |
---|
[5] | 176 | (1995, Q.J.R. Meteorol. Soc., |
---|
| 177 | 1209)). This condition is only permitted with the Prandtl-layer |
---|
| 178 | switched on (<a href="#prandtl_layer">prandtl_layer</a>), |
---|
[61] | 179 | otherwise the run is terminated. </p> <p>Since |
---|
| 180 | at the bottom boundary of the model the vertical |
---|
[5] | 181 | velocity |
---|
[61] | 182 | disappears (w(k=0) = 0.0), the consistent Neumann condition (<span style="font-style: italic;">'neumann'</span> or <span style="font-style: italic;">'neumann+inhomo'</span>) |
---|
| 183 | dp/dz = 0 should |
---|
[5] | 184 | be used, which leaves the vertical component w unchanged when the |
---|
| 185 | pressure solver is applied. Simultaneous use of the Neumann boundary |
---|
| 186 | conditions both at the bottom and at the top boundary (<a href="#bc_p_t">bc_p_t</a>) |
---|
| 187 | usually yields no consistent solution for the perturbation pressure and |
---|
[61] | 188 | should be avoided.</p> </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="bc_p_t"></a><b>bc_p_t</b></p> |
---|
| 189 | </td> <td style="vertical-align: top;">C * 20</td> |
---|
| 190 | <td style="vertical-align: top;"><span style="font-style: italic;">'dirichlet'</span></td> |
---|
| 191 | <td style="vertical-align: top;"> <p style="font-style: normal;">Top boundary condition of the |
---|
| 192 | perturbation pressure. </p> <p style="font-style: normal;">Allowed values are <span style="font-style: italic;">'dirichlet'</span> |
---|
| 193 | (p(k=nz+1)= 0.0) or <span style="font-style: italic;">'neumann'</span> |
---|
| 194 | (p(k=nz+1)=p(k=nz)). </p> <p>Simultaneous use |
---|
| 195 | of Neumann boundary conditions both at the |
---|
[5] | 196 | top and bottom boundary (<a href="#bc_p_b">bc_p_b</a>) |
---|
| 197 | usually yields no consistent solution for the perturbation pressure and |
---|
| 198 | should be avoided. Since at the bottom boundary the Neumann |
---|
| 199 | condition is a good choice (see <a href="#bc_p_b">bc_p_b</a>), |
---|
[61] | 200 | a Dirichlet condition should be set at the top boundary.</p> </td> |
---|
| 201 | </tr> <tr> <td style="vertical-align: top;"> |
---|
| 202 | <p><a name="bc_pt_b"></a><b>bc_pt_b</b></p> |
---|
| 203 | </td> <td style="vertical-align: top;">C*20</td> |
---|
| 204 | <td style="vertical-align: top;"><span style="font-style: italic;">'dirichlet'</span></td> |
---|
| 205 | <td style="vertical-align: top;"> <p style="font-style: normal;">Bottom boundary condition of the |
---|
| 206 | potential temperature. </p> <p>Allowed values |
---|
| 207 | are <span style="font-style: italic;">'dirichlet'</span> |
---|
[5] | 208 | (pt(k=0) = const. = <a href="#pt_surface">pt_surface</a> |
---|
| 209 | + <a href="#pt_surface_initial_change">pt_surface_initial_change</a>; |
---|
| 210 | the user may change this value during the run using user-defined code) |
---|
| 211 | and <span style="font-style: italic;">'neumann'</span> |
---|
| 212 | (pt(k=0)=pt(k=1)). <br> |
---|
[61] | 213 | When a constant surface sensible heat flux is used (<a href="#surface_heatflux">surface_heatflux</a>), <b>bc_pt_b</b> |
---|
| 214 | = <span style="font-style: italic;">'neumann'</span> |
---|
[5] | 215 | must be used, because otherwise the resolved scale may contribute to |
---|
| 216 | the surface flux so that a constant value cannot be guaranteed.</p> |
---|
[61] | 217 | </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="pc_pt_t"></a><b>bc_pt_t</b></p> |
---|
| 218 | </td> <td style="vertical-align: top;">C * 20</td> |
---|
| 219 | <td style="vertical-align: top;"><span style="font-style: italic;">'initial gradient'</span></td> |
---|
| 220 | <td style="vertical-align: top;"> <p style="font-style: normal;">Top boundary condition of the |
---|
| 221 | potential temperature. </p> <p>Allowed are the |
---|
| 222 | values <span style="font-style: italic;">'dirichlet' </span>(pt(k=nz+1) |
---|
| 223 | does not change during the run), <span style="font-style: italic;">'neumann'</span> |
---|
| 224 | (pt(k=nz+1)=pt(k=nz)), and <span style="font-style: italic;">'initial_gradient'</span>. |
---|
| 225 | With the 'initial_gradient'-condition the value of the temperature |
---|
| 226 | gradient at the top is |
---|
[5] | 227 | calculated from the initial |
---|
[61] | 228 | temperature profile (see <a href="#pt_surface">pt_surface</a>, |
---|
| 229 | <a href="#pt_vertical_gradient">pt_vertical_gradient</a>) |
---|
[40] | 230 | by bc_pt_t_val = (pt_init(k=nz+1) - |
---|
| 231 | pt_init(k=nz)) / dzu(nz+1).<br> |
---|
[5] | 232 | Using this value (assumed constant during the |
---|
| 233 | run) the temperature boundary values are calculated as </p> |
---|
[61] | 234 | <ul> <p style="font-style: normal;">pt(k=nz+1) = |
---|
| 235 | pt(k=nz) + |
---|
| 236 | bc_pt_t_val * dzu(nz+1)</p> </ul> <p style="font-style: normal;">(up to k=nz the prognostic |
---|
[40] | 237 | equation for the temperature is solved).<br> |
---|
[61] | 238 | When a constant sensible heat flux is used at the top boundary (<a href="chapter_4.1.html#top_heatflux">top_heatflux</a>), |
---|
| 239 | <b>bc_pt_t</b> = <span style="font-style: italic;">'neumann'</span> |
---|
[40] | 240 | must be used, because otherwise the resolved scale may contribute to |
---|
[61] | 241 | the top flux so that a constant value cannot be guaranteed.</p> </td> |
---|
| 242 | </tr> <tr> <td style="vertical-align: top;"> |
---|
| 243 | <p><a name="bc_q_b"></a><b>bc_q_b</b></p> |
---|
| 244 | </td> <td style="vertical-align: top;">C * 20</td> |
---|
| 245 | <td style="vertical-align: top;"><span style="font-style: italic;">'dirichlet'</span></td> |
---|
| 246 | <td style="vertical-align: top;"> <p style="font-style: normal;">Bottom boundary condition of the |
---|
| 247 | specific humidity / total water content. </p> <p>Allowed |
---|
| 248 | values are <span style="font-style: italic;">'dirichlet'</span> |
---|
[5] | 249 | (q(k=0) = const. = <a href="#q_surface">q_surface</a> |
---|
| 250 | + <a href="#q_surface_initial_change">q_surface_initial_change</a>; |
---|
| 251 | the user may change this value during the run using user-defined code) |
---|
| 252 | and <span style="font-style: italic;">'neumann'</span> |
---|
| 253 | (q(k=0)=q(k=1)). <br> |
---|
[61] | 254 | When a constant surface latent heat flux is used (<a href="#surface_waterflux">surface_waterflux</a>), <b>bc_q_b</b> |
---|
| 255 | = <span style="font-style: italic;">'neumann'</span> |
---|
[5] | 256 | must be used, because otherwise the resolved scale may contribute to |
---|
| 257 | the surface flux so that a constant value cannot be guaranteed.</p> |
---|
[61] | 258 | </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="bc_q_t"></a><b>bc_q_t</b></p> |
---|
| 259 | </td> <td style="vertical-align: top;"><span style="font-style: italic;">C |
---|
| 260 | * 20</span></td> <td style="vertical-align: top;"><span style="font-style: italic;">'neumann'</span></td> |
---|
| 261 | <td style="vertical-align: top;"> <p style="font-style: normal;">Top boundary condition of the |
---|
| 262 | specific humidity / total water content. </p> <p>Allowed |
---|
| 263 | are the values <span style="font-style: italic;">'dirichlet'</span> |
---|
[5] | 264 | (q(k=nz) and q(k=nz+1) do |
---|
| 265 | not change during the run) and <span style="font-style: italic;">'neumann'</span>. |
---|
| 266 | With the Neumann boundary |
---|
| 267 | condition the value of the humidity gradient at the top is calculated |
---|
| 268 | from the |
---|
[61] | 269 | initial humidity profile (see <a href="#q_surface">q_surface</a>, |
---|
| 270 | <a href="#q_vertical_gradient">q_vertical_gradient</a>) |
---|
[5] | 271 | by: bc_q_t_val = ( q_init(k=nz) - q_init(k=nz-1)) / dzu(nz).<br> |
---|
| 272 | Using this value (assumed constant during the run) the humidity |
---|
| 273 | boundary values |
---|
[61] | 274 | are calculated as </p> <ul> <p style="font-style: normal;">q(k=nz+1) =q(k=nz) + |
---|
| 275 | bc_q_t_val * dzu(nz+1)</p> </ul> <p style="font-style: normal;">(up tp k=nz the prognostic |
---|
| 276 | equation for q is solved). </p> </td> </tr> <tr> |
---|
| 277 | <td style="vertical-align: top;"> <p><a name="bc_s_b"></a><b>bc_s_b</b></p> </td> |
---|
| 278 | <td style="vertical-align: top;">C * 20</td> <td style="vertical-align: top;"><span style="font-style: italic;">'dirichlet'</span></td> |
---|
| 279 | <td style="vertical-align: top;"> <p style="font-style: normal;">Bottom boundary condition of the |
---|
| 280 | scalar concentration. </p> <p>Allowed values |
---|
| 281 | are <span style="font-style: italic;">'dirichlet'</span> |
---|
[5] | 282 | (s(k=0) = const. = <a href="#s_surface">s_surface</a> |
---|
| 283 | + <a href="#s_surface_initial_change">s_surface_initial_change</a>; |
---|
| 284 | the user may change this value during the run using user-defined code) |
---|
[61] | 285 | and <span style="font-style: italic;">'neumann'</span> |
---|
| 286 | (s(k=0) = |
---|
[5] | 287 | s(k=1)). <br> |
---|
[61] | 288 | When a constant surface concentration flux is used (<a href="#surface_scalarflux">surface_scalarflux</a>), <b>bc_s_b</b> |
---|
| 289 | = <span style="font-style: italic;">'neumann'</span> |
---|
[5] | 290 | must be used, because otherwise the resolved scale may contribute to |
---|
| 291 | the surface flux so that a constant value cannot be guaranteed.</p> |
---|
[61] | 292 | </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="bc_s_t"></a><b>bc_s_t</b></p> |
---|
| 293 | </td> <td style="vertical-align: top;">C * 20</td> |
---|
| 294 | <td style="vertical-align: top;"><span style="font-style: italic;">'neumann'</span></td> |
---|
| 295 | <td style="vertical-align: top;"> <p style="font-style: normal;">Top boundary condition of the |
---|
| 296 | scalar concentration. </p> <p>Allowed are the |
---|
| 297 | values <span style="font-style: italic;">'dirichlet'</span> |
---|
[5] | 298 | (s(k=nz) and s(k=nz+1) do |
---|
| 299 | not change during the run) and <span style="font-style: italic;">'neumann'</span>. |
---|
| 300 | With the Neumann boundary |
---|
| 301 | condition the value of the scalar concentration gradient at the top is |
---|
| 302 | calculated |
---|
[61] | 303 | from the initial scalar concentration profile (see <a href="#s_surface">s_surface</a>, <a href="#s_vertical_gradient">s_vertical_gradient</a>) |
---|
[5] | 304 | by: bc_s_t_val = (s_init(k=nz) - s_init(k=nz-1)) / dzu(nz).<br> |
---|
| 305 | Using this value (assumed constant during the run) the concentration |
---|
| 306 | boundary values |
---|
[61] | 307 | are calculated as </p> <ul> <p style="font-style: normal;">s(k=nz+1) = s(k=nz) + |
---|
| 308 | bc_s_t_val * dzu(nz+1)</p> </ul> <p style="font-style: normal;">(up to k=nz the prognostic |
---|
[5] | 309 | equation for the scalar concentration is |
---|
[61] | 310 | solved).</p> </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="bc_uv_b"></a><b>bc_uv_b</b></p> |
---|
| 311 | </td> <td style="vertical-align: top;">C * 20</td> |
---|
| 312 | <td style="vertical-align: top;"><span style="font-style: italic;">'dirichlet'</span></td> |
---|
| 313 | <td style="vertical-align: top;"> <p style="font-style: normal;">Bottom boundary condition of the |
---|
| 314 | horizontal velocity components u and v. </p> <p>Allowed |
---|
| 315 | values are <span style="font-style: italic;">'dirichlet' </span>and |
---|
| 316 | <span style="font-style: italic;">'neumann'</span>. <b>bc_uv_b</b> |
---|
| 317 | = <span style="font-style: italic;">'dirichlet'</span> |
---|
| 318 | yields the |
---|
[5] | 319 | no-slip condition with u=v=0 at the bottom. Due to the staggered grid |
---|
| 320 | u(k=0) and v(k=0) are located at z = - 0,5 * <a href="#dz">dz</a> |
---|
| 321 | (below the bottom), while u(k=1) and v(k=1) are located at z = +0,5 * |
---|
| 322 | dz. u=v=0 at the bottom is guaranteed using mirror boundary |
---|
[61] | 323 | condition: </p> <ul> <p style="font-style: normal;">u(k=0) = - u(k=1) and v(k=0) = - |
---|
| 324 | v(k=1)</p> </ul> <p style="font-style: normal;">The |
---|
| 325 | Neumann boundary condition |
---|
[5] | 326 | yields the free-slip condition with u(k=0) = u(k=1) and v(k=0) = |
---|
| 327 | v(k=1). |
---|
| 328 | With Prandtl - layer switched on, the free-slip condition is not |
---|
| 329 | allowed (otherwise the run will be terminated)<font color="#000000">.</font></p> |
---|
[61] | 330 | </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="bc_uv_t"></a><b>bc_uv_t</b></p> |
---|
| 331 | </td> <td style="vertical-align: top;">C * 20</td> |
---|
| 332 | <td style="vertical-align: top;"><span style="font-style: italic;">'dirichlet'</span></td> |
---|
| 333 | <td style="vertical-align: top;"> <p style="font-style: normal;">Top boundary condition of the |
---|
| 334 | horizontal velocity components u and v. </p> <p>Allowed |
---|
| 335 | values are <span style="font-style: italic;">'dirichlet'</span> |
---|
| 336 | and <span style="font-style: italic;">'neumann'</span>. |
---|
| 337 | The |
---|
[5] | 338 | Dirichlet condition yields u(k=nz+1) = ug(nz+1) and v(k=nz+1) = |
---|
| 339 | vg(nz+1), |
---|
| 340 | Neumann condition yields the free-slip condition with u(k=nz+1) = |
---|
| 341 | u(k=nz) and v(k=nz+1) = v(k=nz) (up to k=nz the prognostic equations |
---|
[61] | 342 | for the velocities are solved).</p> </td> </tr> <tr> |
---|
| 343 | <td style="vertical-align: top;"><span style="font-weight: bold;"><a name="building_height"></a>building_height</span></td> |
---|
| 344 | <td style="vertical-align: top;">R</td> <td style="vertical-align: top;"><span style="font-style: italic;">50.0</span></td> <td>Height |
---|
| 345 | of a single building in m.<br> <br> <span style="font-weight: bold;">building_height</span> must |
---|
| 346 | be less than the height of the model domain. This parameter requires |
---|
| 347 | the use of <a href="#topography">topography</a> |
---|
| 348 | = <span style="font-style: italic;">'single_building'</span>.</td> |
---|
| 349 | </tr> <tr> <td style="vertical-align: top;"><span style="font-weight: bold;"><a name="building_length_x"></a>building_length_x</span></td> |
---|
| 350 | <td style="vertical-align: top;">R</td> <td style="vertical-align: top;"><span style="font-style: italic;">50.0</span></td> <td><span style="font-style: italic;"></span>Width of a single |
---|
| 351 | building in m.<br> <br> |
---|
| 352 | Currently, <span style="font-weight: bold;">building_length_x</span> |
---|
| 353 | must be at least <span style="font-style: italic;">3 |
---|
| 354 | * </span><a style="font-style: italic;" href="#dx">dx</a> and no more than <span style="font-style: italic;">( </span><a style="font-style: italic;" href="#nx">nx</a><span style="font-style: italic;"> - 1 ) </span><span style="font-style: italic;"> * <a href="#dx">dx</a> |
---|
| 355 | </span><span style="font-style: italic;">- <a href="#building_wall_left">building_wall_left</a></span>. |
---|
| 356 | This parameter requires the use of <a href="#topography">topography</a> |
---|
| 357 | = <span style="font-style: italic;">'single_building'</span>.</td> |
---|
| 358 | </tr> <tr> <td style="vertical-align: top;"><span style="font-weight: bold;"><a name="building_length_y"></a>building_length_y</span></td> |
---|
| 359 | <td style="vertical-align: top;">R</td> <td style="vertical-align: top;"><span style="font-style: italic;">50.0</span></td> <td>Depth |
---|
| 360 | of a single building in m.<br> <br> |
---|
| 361 | Currently, <span style="font-weight: bold;">building_length_y</span> |
---|
| 362 | must be at least <span style="font-style: italic;">3 |
---|
| 363 | * </span><a style="font-style: italic;" href="#dy">dy</a> and no more than <span style="font-style: italic;">( </span><a style="font-style: italic;" href="#ny">ny</a><span style="font-style: italic;"> - 1 ) </span><span style="font-style: italic;"> * <a href="#dy">dy</a></span><span style="font-style: italic;"> - <a href="#building_wall_south">building_wall_south</a></span>. This parameter requires |
---|
| 364 | the use of <a href="#topography">topography</a> |
---|
| 365 | = <span style="font-style: italic;">'single_building'</span>.</td> |
---|
| 366 | </tr> <tr> <td style="vertical-align: top;"><span style="font-weight: bold;"><a name="building_wall_left"></a>building_wall_left</span></td> |
---|
| 367 | <td style="vertical-align: top;">R</td> <td style="vertical-align: top;"><span style="font-style: italic;">building centered in x-direction</span></td> |
---|
| 368 | <td>x-coordinate of the left building wall (distance between the |
---|
| 369 | left building wall and the left border of the model domain) in m.<br> |
---|
| 370 | <br> |
---|
| 371 | Currently, <span style="font-weight: bold;">building_wall_left</span> |
---|
| 372 | must be at least <span style="font-style: italic;">1 |
---|
| 373 | * </span><a style="font-style: italic;" href="#dx">dx</a> and less than <span style="font-style: italic;">( <a href="#nx">nx</a> |
---|
| 374 | - 1 ) * <a href="#dx">dx</a> - <a href="#building_length_x">building_length_x</a></span>. |
---|
| 375 | This parameter requires the use of <a href="#topography">topography</a> |
---|
| 376 | = <span style="font-style: italic;">'single_building'</span>.<br> |
---|
| 377 | <br> |
---|
| 378 | The default value <span style="font-weight: bold;">building_wall_left</span> |
---|
| 379 | = <span style="font-style: italic;">( ( <a href="#nx">nx</a> + |
---|
| 380 | 1 ) * <a href="#dx">dx</a> - <a href="#building_length_x">building_length_x</a> ) / 2</span> |
---|
| 381 | centers the building in x-direction. </td> </tr> <tr> |
---|
| 382 | <td style="vertical-align: top;"><span style="font-weight: bold;"><a name="building_wall_south"></a>building_wall_south</span></td> |
---|
| 383 | <td style="vertical-align: top;">R</td> <td style="vertical-align: top;"><span style="font-style: italic;"></span><span style="font-style: italic;">building centered in y-direction</span></td> |
---|
| 384 | <td>y-coordinate of the South building wall (distance between the |
---|
[5] | 385 | South building wall and the South border of the model domain) in m.<br> |
---|
[61] | 386 | <br> |
---|
| 387 | Currently, <span style="font-weight: bold;">building_wall_south</span> |
---|
| 388 | must be at least <span style="font-style: italic;">1 |
---|
| 389 | * </span><a style="font-style: italic;" href="#dy">dy</a> and less than <span style="font-style: italic;">( <a href="#ny">ny</a> |
---|
| 390 | - 1 ) * <a href="#dy">dy</a> - <a href="#building_length_y">building_length_y</a></span>. |
---|
| 391 | This parameter requires the use of <a href="#topography">topography</a> |
---|
| 392 | = <span style="font-style: italic;">'single_building'</span>.<br> |
---|
| 393 | <br> |
---|
| 394 | The default value <span style="font-weight: bold;">building_wall_south</span> |
---|
| 395 | = <span style="font-style: italic;">( ( <a href="#ny">ny</a> + |
---|
| 396 | 1 ) * <a href="#dy">dy</a> - <a href="#building_length_y">building_length_y</a> ) / 2</span> |
---|
| 397 | centers the building in y-direction. </td> </tr> <tr> |
---|
| 398 | <td style="vertical-align: top;"><span style="font-weight: bold;"><a name="cloud_droplets"></a>cloud_droplets</span><br> |
---|
| 399 | </td> <td style="vertical-align: top;">L<br> </td> |
---|
| 400 | <td style="vertical-align: top;"><span style="font-style: italic;">.F.</span><br> </td> |
---|
| 401 | <td style="vertical-align: top;">Parameter to switch on |
---|
| 402 | usage of cloud droplets.<br> <br> |
---|
[5] | 403 | Cloud droplets require to use the particle package (<span style="font-weight: bold;">mrun</span>-option <span style="font-family: monospace;">-p particles</span>), |
---|
| 404 | so in this case a particle corresponds to a droplet. The droplet |
---|
| 405 | features (number of droplets, initial radius, etc.) can be steered with |
---|
| 406 | the respective particle parameters (see e.g. <a href="#chapter_4.2.html#radius">radius</a>). |
---|
| 407 | The real number of initial droplets in a grid cell is equal to the |
---|
| 408 | initial number of droplets (defined by the particle source parameters <span lang="en-GB"><font face="Thorndale, serif"> </font></span><a href="chapter_4.2.html#pst"><span lang="en-GB"><font face="Thorndale, serif">pst</font></span></a><span lang="en-GB"><font face="Thorndale, serif">, </font></span><a href="chapter_4.2.html#psl"><span lang="en-GB"><font face="Thorndale, serif">psl</font></span></a><span lang="en-GB"><font face="Thorndale, serif">, </font></span><a href="chapter_4.2.html#psr"><span lang="en-GB"><font face="Thorndale, serif">psr</font></span></a><span lang="en-GB"><font face="Thorndale, serif">, </font></span><a href="chapter_4.2.html#pss"><span lang="en-GB"><font face="Thorndale, serif">pss</font></span></a><span lang="en-GB"><font face="Thorndale, serif">, </font></span><a href="chapter_4.2.html#psn"><span lang="en-GB"><font face="Thorndale, serif">psn</font></span></a><span lang="en-GB"><font face="Thorndale, serif">, </font></span><a href="chapter_4.2.html#psb"><span lang="en-GB"><font face="Thorndale, serif">psb</font></span></a><span lang="en-GB"><font face="Thorndale, serif">, </font></span><a href="chapter_4.2.html#pdx"><span lang="en-GB"><font face="Thorndale, serif">pdx</font></span></a><span lang="en-GB"><font face="Thorndale, serif">, </font></span><a href="chapter_4.2.html#pdy"><span lang="en-GB"><font face="Thorndale, serif">pdy</font></span></a> |
---|
[61] | 409 | <span lang="en-GB"><font face="Thorndale, serif">and |
---|
| 410 | </font></span><a href="chapter_4.2.html#pdz"><span lang="en-GB"><font face="Thorndale, serif">pdz</font></span></a><span lang="en-GB"></span><span lang="en-GB"></span>) |
---|
| 411 | times the <a href="#initial_weighting_factor">initial_weighting_factor</a>.<br> |
---|
| 412 | <br> |
---|
| 413 | In case of using cloud droplets, the default condensation scheme in |
---|
| 414 | PALM cannot be used, i.e. <a href="#cloud_physics">cloud_physics</a> |
---|
| 415 | must be set <span style="font-style: italic;">.F.</span>.<br> |
---|
| 416 | </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="cloud_physics"></a><b>cloud_physics</b></p> |
---|
| 417 | </td> <td style="vertical-align: top;">L<br> </td> |
---|
| 418 | <td style="vertical-align: top;"><span style="font-style: italic;">.F.</span></td> <td style="vertical-align: top;"> <p>Parameter to switch |
---|
| 419 | on the condensation scheme. </p> |
---|
| 420 | For <b>cloud_physics =</b> <span style="font-style: italic;">.TRUE.</span>, equations |
---|
| 421 | for the |
---|
[5] | 422 | liquid water |
---|
| 423 | content and the liquid water potential temperature are solved instead |
---|
| 424 | of those for specific humidity and potential temperature. Note |
---|
| 425 | that a grid volume is assumed to be either completely saturated or |
---|
| 426 | completely |
---|
| 427 | unsaturated (0%-or-100%-scheme). A simple precipitation scheme can |
---|
| 428 | additionally be switched on with parameter <a href="#precipitation">precipitation</a>. |
---|
[61] | 429 | Also cloud-top cooling by longwave radiation can be utilized (see <a href="#radiation">radiation</a>)<br> <b><br> |
---|
| 430 | cloud_physics =</b> <span style="font-style: italic;">.TRUE. |
---|
| 431 | </span>requires <a href="#moisture">moisture</a> |
---|
| 432 | =<span style="font-style: italic;"> .TRUE.</span> .<br> |
---|
[5] | 433 | Detailed information about the condensation scheme is given in the |
---|
| 434 | description of the <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM-1/Dokumentationen/Cloud_physics/wolken.pdf">cloud |
---|
[61] | 435 | physics module</a> (pdf-file, only in German).<br> <br> |
---|
| 436 | This condensation scheme is not allowed if cloud droplets are simulated |
---|
| 437 | explicitly (see <a href="#cloud_droplets">cloud_droplets</a>).<br> |
---|
| 438 | </td> </tr> <tr> <td style="vertical-align: top;"><span style="font-weight: bold;"><a name="conserve_volume_flow"></a>conserve_volume_flow</span></td> |
---|
| 439 | <td style="vertical-align: top;">L</td> <td style="vertical-align: top;"><span style="font-style: italic;">.F.</span></td> <td>Conservation |
---|
| 440 | of volume flow in x- and y-direction.<br> <br> <span style="font-weight: bold;">conserve_volume_flow</span> |
---|
| 441 | = <span style="font-style: italic;">.TRUE.</span> |
---|
[5] | 442 | guarantees that the volume flow through the xz- or yz-cross-section of |
---|
| 443 | the total model domain remains constant (equal to the initial value at |
---|
| 444 | t=0) throughout the run.<br> |
---|
[61] | 445 | </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="cut_spline_overshoot"></a><b>cut_spline_overshoot</b></p> |
---|
| 446 | </td> <td style="vertical-align: top;">L</td> |
---|
| 447 | <td style="vertical-align: top;"><span style="font-style: italic;">.T.</span></td> <td style="vertical-align: top;"> <p>Cuts off of |
---|
| 448 | so-called overshoots, which can occur with the |
---|
| 449 | upstream-spline scheme. </p> <p><font color="#000000">The cubic splines tend to overshoot in |
---|
[5] | 450 | case of discontinuous changes of variables between neighbouring grid |
---|
| 451 | points.</font><font color="#ff0000"> </font><font color="#000000">This |
---|
[61] | 452 | may lead to errors in calculating the advection tendency.</font> |
---|
| 453 | Choice |
---|
| 454 | of <b>cut_spline_overshoot</b> = <i>.TRUE.</i> |
---|
| 455 | (switched on by |
---|
[5] | 456 | default) |
---|
| 457 | allows variable values not to exceed an interval defined by the |
---|
| 458 | respective adjacent grid points. This interval can be adjusted |
---|
| 459 | seperately for every prognostic variable (see initialization parameters |
---|
[61] | 460 | <a href="#overshoot_limit_e">overshoot_limit_e</a>, <a href="#overshoot_limit_pt">overshoot_limit_pt</a>, <a href="#overshoot_limit_u">overshoot_limit_u</a>, |
---|
[5] | 461 | etc.). This might be necessary in case that the |
---|
| 462 | default interval has a non-tolerable effect on the model |
---|
[61] | 463 | results. </p> <p>Overshoots may also be removed |
---|
| 464 | using the parameters <a href="#ups_limit_e">ups_limit_e</a>, |
---|
| 465 | <a href="#ups_limit_pt">ups_limit_pt</a>, |
---|
[5] | 466 | etc. as well as by applying a long-filter (see <a href="#long_filter_factor">long_filter_factor</a>).</p> |
---|
[61] | 467 | </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="damp_level_1d"></a><b>damp_level_1d</b></p> |
---|
| 468 | </td> <td style="vertical-align: top;">R</td> |
---|
| 469 | <td style="vertical-align: top;"><span style="font-style: italic;">zu(nz+1)</span></td> |
---|
| 470 | <td style="vertical-align: top;"> <p>Height where |
---|
| 471 | the damping layer begins in the 1d-model |
---|
| 472 | (in m). </p> <p>This parameter is used to |
---|
| 473 | switch on a damping layer for the |
---|
[5] | 474 | 1d-model, which is generally needed for the damping of inertia |
---|
| 475 | oscillations. Damping is done by gradually increasing the value |
---|
| 476 | of the eddy diffusivities about 10% per vertical grid level |
---|
| 477 | (starting with the value at the height given by <b>damp_level_1d</b>, |
---|
[61] | 478 | or possibly from the next grid pint above), i.e. K<sub>m</sub>(k+1) |
---|
| 479 | = |
---|
[5] | 480 | 1.1 * K<sub>m</sub>(k). |
---|
[61] | 481 | The values of K<sub>m</sub> are limited to 10 m**2/s at |
---|
| 482 | maximum. <br> |
---|
[5] | 483 | This parameter only comes into effect if the 1d-model is switched on |
---|
| 484 | for |
---|
| 485 | the initialization of the 3d-model using <a href="#initializing_actions">initializing_actions</a> |
---|
[61] | 486 | = <span style="font-style: italic;">'set_1d-model_profiles'</span>. |
---|
| 487 | <br> </p> </td> </tr> <tr> <td style="vertical-align: top;"><a name="dissipation_1d"></a><span style="font-weight: bold;">dissipation_1d</span><br> |
---|
| 488 | </td> <td style="vertical-align: top;">C*20<br> |
---|
| 489 | </td> <td style="vertical-align: top;"><span style="font-style: italic;">'as_in_3d_</span><br style="font-style: italic;"> <span style="font-style: italic;">model'</span><br> </td> |
---|
| 490 | <td style="vertical-align: top;">Calculation method for |
---|
| 491 | the energy dissipation term in the TKE equation of the 1d-model.<br> |
---|
| 492 | <br> |
---|
| 493 | By default the dissipation is calculated as in the 3d-model using diss |
---|
| 494 | = (0.19 + 0.74 * l / l_grid) * e**1.5 / l.<br> <br> |
---|
| 495 | Setting <span style="font-weight: bold;">dissipation_1d</span> |
---|
| 496 | = <span style="font-style: italic;">'detering'</span> |
---|
| 497 | forces the dissipation to be calculated as diss = 0.064 * e**1.5 / l.<br> |
---|
| 498 | </td> </tr> |
---|
| 499 | <tr> <td style="vertical-align: top;"> <p><a name="dt"></a><b>dt</b></p> </td> |
---|
| 500 | <td style="vertical-align: top;">R</td> <td style="vertical-align: top;"><span style="font-style: italic;">variable</span></td> |
---|
| 501 | <td style="vertical-align: top;"> <p>Time step for |
---|
| 502 | the 3d-model (in s). </p> <p>By default, (i.e. |
---|
| 503 | if a Runge-Kutta scheme is used, see <a href="#timestep_scheme">timestep_scheme</a>) |
---|
[5] | 504 | the value of the time step is calculating after each time step |
---|
| 505 | (following the time step criteria) and |
---|
[61] | 506 | used for the next step.</p> <p>If the user assigns <b>dt</b> |
---|
| 507 | a value, then the time step is |
---|
[5] | 508 | fixed to this value throughout the whole run (whether it fulfills the |
---|
| 509 | time step |
---|
| 510 | criteria or not). However, changes are allowed for restart runs, |
---|
| 511 | because <b>dt</b> can also be used as a <a href="chapter_4.2.html#dt_laufparameter">run |
---|
[61] | 512 | parameter</a>. </p> <p>In case that the |
---|
| 513 | calculated time step meets the condition<br> </p> <ul> |
---|
| 514 | <p><b>dt</b> < 0.00001 * <a href="chapter_4.2.html#dt_max">dt_max</a> (with dt_max |
---|
| 515 | = 20.0)</p> </ul> <p>the simulation will be |
---|
| 516 | aborted. Such situations usually arise |
---|
[5] | 517 | in case of any numerical problem / instability which causes a |
---|
[61] | 518 | non-realistic increase of the wind speed. </p> <p>A |
---|
| 519 | small time step due to a large mean horizontal windspeed |
---|
[5] | 520 | speed may be enlarged by using a coordinate transformation (see <a href="#galilei_transformation">galilei_transformation</a>), |
---|
[61] | 521 | in order to spare CPU time.<br> </p> <p>If the |
---|
| 522 | leapfrog timestep scheme is used (see <a href="#timestep_scheme">timestep_scheme</a>) |
---|
[5] | 523 | a temporary time step value dt_new is calculated first, with dt_new = <a href="chapter_4.2.html#fcl_factor">cfl_factor</a> |
---|
| 524 | * dt_crit where dt_crit is the maximum timestep allowed by the CFL and |
---|
| 525 | diffusion condition. Next it is examined whether dt_new exceeds or |
---|
| 526 | falls below the |
---|
| 527 | value of the previous timestep by at |
---|
| 528 | least +5 % / -2%. If it is smaller, <span style="font-weight: bold;">dt</span> |
---|
| 529 | = dt_new is immediately used for the next timestep. If it is larger, |
---|
[61] | 530 | then <span style="font-weight: bold;">dt </span>= |
---|
| 531 | 1.02 * dt_prev |
---|
[5] | 532 | (previous timestep) is used as the new timestep, however the time |
---|
| 533 | step is only increased if the last change of the time step is dated |
---|
| 534 | back at |
---|
| 535 | least 30 iterations. If dt_new is located in the interval mentioned |
---|
| 536 | above, then dt |
---|
| 537 | does not change at all. By doing so, permanent time step changes as |
---|
| 538 | well as large |
---|
[61] | 539 | sudden changes (increases) in the time step are avoided.</p> </td> |
---|
| 540 | </tr> <tr> <td style="vertical-align: top;"> |
---|
| 541 | <p><a name="dt_pr_1d"></a><b>dt_pr_1d</b></p> |
---|
| 542 | </td> <td style="vertical-align: top;">R</td> |
---|
| 543 | <td style="vertical-align: top;"><span style="font-style: italic;">9999999.9</span></td> |
---|
| 544 | <td style="vertical-align: top;"> <p>Temporal |
---|
| 545 | interval of vertical profile output of the 1D-model |
---|
| 546 | (in s). </p> <p>Data are written in ASCII |
---|
| 547 | format to file <a href="chapter_3.4.html#LIST_PROFIL_1D">LIST_PROFIL_1D</a>. |
---|
[5] | 548 | This parameter is only in effect if the 1d-model has been switched on |
---|
| 549 | for the |
---|
| 550 | initialization of the 3d-model with <a href="#initializing_actions">initializing_actions</a> |
---|
| 551 | = <span style="font-style: italic;">'set_1d-model_profiles'</span>.</p> |
---|
[61] | 552 | </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="dt_run_control_1d"></a><b>dt_run_control_1d</b></p> |
---|
| 553 | </td> <td style="vertical-align: top;">R</td> |
---|
| 554 | <td style="vertical-align: top;"><span style="font-style: italic;">60.0</span></td> <td style="vertical-align: top;"> <p>Temporal interval of |
---|
| 555 | runtime control output of the 1d-model |
---|
| 556 | (in s). </p> <p>Data are written in ASCII |
---|
| 557 | format to file <a href="chapter_3.4.html#RUN_CONTROL">RUN_CONTROL</a>. |
---|
[5] | 558 | This parameter is only in effect if the 1d-model is switched on for the |
---|
| 559 | initialization of the 3d-model with <a href="#initializing_actions">initializing_actions</a> |
---|
| 560 | = <span style="font-style: italic;">'set_1d-model_profiles'</span>.</p> |
---|
[61] | 561 | </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="dx"></a><b>dx</b></p> |
---|
| 562 | </td> <td style="vertical-align: top;">R</td> |
---|
| 563 | <td style="vertical-align: top;"><span style="font-style: italic;">1.0</span></td> <td style="vertical-align: top;"> <p>Horizontal grid |
---|
| 564 | spacing along the x-direction (in m). </p> <p>Along |
---|
| 565 | x-direction only a constant grid spacing is allowed.</p> </td> |
---|
| 566 | </tr> <tr> <td style="vertical-align: top;"> |
---|
| 567 | <p><a name="dy"></a><b>dy</b></p> |
---|
| 568 | </td> <td style="vertical-align: top;">R</td> |
---|
| 569 | <td style="vertical-align: top;"><span style="font-style: italic;">1.0</span></td> <td style="vertical-align: top;"> <p>Horizontal grid |
---|
| 570 | spacing along the x-direction (in m). </p> <p>Along |
---|
| 571 | x-direction only a constant grid spacing is allowed.</p> </td> |
---|
| 572 | </tr> <tr> <td style="vertical-align: top;"> |
---|
| 573 | <p><a name="dz"></a><b>dz</b></p> |
---|
| 574 | </td> <td style="vertical-align: top;">R</td> |
---|
| 575 | <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"> <p>Vertical grid |
---|
| 576 | spacing (in m). </p> <p>This parameter must be |
---|
| 577 | assigned by the user, because no |
---|
| 578 | default value is given.<br> </p> <p>By default, the |
---|
[5] | 579 | model uses constant grid spacing along z-direction, but it can be |
---|
| 580 | stretched using the parameters <a href="#dz_stretch_level">dz_stretch_level</a> |
---|
[61] | 581 | and <a href="#dz_stretch_factor">dz_stretch_factor</a>. |
---|
| 582 | In case of stretching, a maximum allowed grid spacing can be given by <a href="#dz_max">dz_max</a>.<br> </p> <p>Assuming |
---|
| 583 | a constant <span style="font-weight: bold;">dz</span>, |
---|
[5] | 584 | the scalar levels (zu) are calculated directly by: </p> |
---|
[61] | 585 | <ul> <p>zu(0) = - dz * 0.5 <br> |
---|
| 586 | zu(1) = dz * 0.5</p> </ul> <p>The w-levels lie |
---|
| 587 | half between them: </p> <ul> <p>zw(k) = |
---|
| 588 | ( zu(k) + zu(k+1) ) * 0.5</p> </ul> </td> </tr> |
---|
| 589 | <tr><td style="vertical-align: top;"><a name="dz_max"></a><span style="font-weight: bold;">dz_max</span></td><td style="vertical-align: top;">R</td><td style="vertical-align: top;"><span style="font-style: italic;">9999999.9</span></td><td style="vertical-align: top;">Allowed maximum vertical grid |
---|
| 590 | spacing (in m).<br><br>If the vertical grid is stretched |
---|
| 591 | (see <a href="#dz_stretch_factor">dz_stretch_factor</a> |
---|
| 592 | and <a href="#dz_stretch_level">dz_stretch_level</a>), |
---|
| 593 | <span style="font-weight: bold;">dz_max</span> can |
---|
| 594 | be used to limit the vertical grid spacing.</td></tr><tr> |
---|
| 595 | <td style="vertical-align: top;"> <p><a name="dz_stretch_factor"></a><b>dz_stretch_factor</b></p> |
---|
| 596 | </td> <td style="vertical-align: top;">R</td> |
---|
| 597 | <td style="vertical-align: top;"><span style="font-style: italic;">1.08</span></td> <td style="vertical-align: top;"> <p>Stretch factor for a |
---|
| 598 | vertically stretched grid (see <a href="#dz_stretch_level">dz_stretch_level</a>). |
---|
| 599 | </p> <p>The stretch factor should not exceed a value of |
---|
| 600 | approx. 1.10 - |
---|
[5] | 601 | 1.12, otherwise the discretization errors due to the stretched grid not |
---|
[61] | 602 | negligible any more. (refer Kalnay de Rivas)</p> </td> </tr> |
---|
| 603 | <tr> <td style="vertical-align: top;"> <p><a name="dz_stretch_level"></a><b>dz_stretch_level</b></p> |
---|
| 604 | </td> <td style="vertical-align: top;">R</td> |
---|
| 605 | <td style="vertical-align: top;"><span style="font-style: italic;">100000.0</span><br> </td> |
---|
| 606 | <td style="vertical-align: top;"> <p>Height level |
---|
| 607 | above which the grid is to be stretched |
---|
| 608 | vertically (in m). </p> <p>The vertical grid |
---|
| 609 | spacings <a href="#dz">dz</a> |
---|
| 610 | above this level are calculated as </p> <ul> <p><b>dz</b>(k+1) |
---|
| 611 | = <b>dz</b>(k) * <a href="#dz_stretch_factor">dz_stretch_factor</a></p> |
---|
| 612 | </ul> <p>and used as spacings for the scalar levels (zu). |
---|
| 613 | The |
---|
| 614 | w-levels are then defined as: </p> <ul> <p>zw(k) |
---|
| 615 | = ( zu(k) + zu(k+1) ) * 0.5</p> </ul> </td> </tr> |
---|
| 616 | <tr> <td style="vertical-align: top;"><span style="font-weight: bold;"><a name="e_min"></a>e_min</span></td> |
---|
| 617 | <td style="vertical-align: top;">R</td> <td style="vertical-align: top;"><span style="font-style: italic;">0.0</span></td> <td>Minimum |
---|
| 618 | subgrid-scale TKE in m<sup>2</sup>s<sup>-2</sup>.<br> |
---|
| 619 | <br>This |
---|
| 620 | option adds artificial viscosity to the flow by ensuring that |
---|
| 621 | the |
---|
| 622 | subgrid-scale TKE does not fall below the minimum threshold <span style="font-weight: bold;">e_min</span>.</td> </tr> |
---|
| 623 | <tr> <td style="vertical-align: top;"> <p><a name="end_time_1d"></a><b>end_time_1d</b></p> |
---|
| 624 | </td> <td style="vertical-align: top;">R</td> |
---|
| 625 | <td style="vertical-align: top;"><span style="font-style: italic;">864000.0</span><br> </td> |
---|
| 626 | <td style="vertical-align: top;"> <p>Time to be |
---|
| 627 | simulated for the 1d-model (in s). </p> <p>The |
---|
| 628 | default value corresponds to a simulated time of 10 days. |
---|
[5] | 629 | Usually, after such a period the inertia oscillations have completely |
---|
| 630 | decayed and the solution of the 1d-model can be regarded as stationary |
---|
| 631 | (see <a href="#damp_level_1d">damp_level_1d</a>). |
---|
| 632 | This parameter is only in effect if the 1d-model is switched on for the |
---|
| 633 | initialization of the 3d-model with <a href="#initializing_actions">initializing_actions</a> |
---|
| 634 | = <span style="font-style: italic;">'set_1d-model_profiles'</span>.</p> |
---|
[61] | 635 | </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="fft_method"></a><b>fft_method</b></p> |
---|
| 636 | </td> <td style="vertical-align: top;">C * 20</td> |
---|
| 637 | <td style="vertical-align: top;"><span style="font-style: italic;">'system-</span><br style="font-style: italic;"> <span style="font-style: italic;">specific'</span></td> |
---|
| 638 | <td style="vertical-align: top;"> <p>FFT-method to |
---|
| 639 | be used.<br> </p> <p><br> |
---|
[5] | 640 | The fast fourier transformation (FFT) is used for solving the |
---|
| 641 | perturbation pressure equation with a direct method (see <a href="chapter_4.2.html#psolver">psolver</a>) |
---|
| 642 | and for calculating power spectra (see optional software packages, |
---|
| 643 | section <a href="chapter_4.2.html#spectra_package">4.2</a>).</p> |
---|
[61] | 644 | <p><br> |
---|
[5] | 645 | By default, system-specific, optimized routines from external |
---|
| 646 | vendor libraries are used. However, these are available only on certain |
---|
| 647 | computers and there are more or less severe restrictions concerning the |
---|
[61] | 648 | number of gridpoints to be used with them.<br> </p> <p>There |
---|
| 649 | are two other PALM internal methods available on every |
---|
[5] | 650 | machine (their respective source code is part of the PALM source code):</p> |
---|
[61] | 651 | <p>1.: The <span style="font-weight: bold;">Temperton</span>-method |
---|
[5] | 652 | from Clive Temperton (ECWMF) which is computationally very fast and |
---|
| 653 | switched on with <b>fft_method</b> = <span style="font-style: italic;">'temperton-algorithm'</span>. |
---|
| 654 | The number of horizontal gridpoints (nx+1, ny+1) to be used with this |
---|
[61] | 655 | method must be composed of prime factors 2, 3 and 5.<br> </p> |
---|
[5] | 656 | 2.: The <span style="font-weight: bold;">Singleton</span>-method |
---|
| 657 | which is very slow but has no restrictions concerning the number of |
---|
[61] | 658 | gridpoints to be used with, switched on with <b>fft_method</b> |
---|
| 659 | = <span style="font-style: italic;">'singleton-algorithm'</span>. |
---|
| 660 | </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="galilei_transformation"></a><b>galilei_transformation</b></p> |
---|
| 661 | </td> <td style="vertical-align: top;">L</td> |
---|
| 662 | <td style="vertical-align: top;"><i>.F.</i></td> |
---|
| 663 | <td style="vertical-align: top;">Application of a |
---|
| 664 | Galilei-transformation to the |
---|
[5] | 665 | coordinate |
---|
[61] | 666 | system of the model.<br><p>With <b>galilei_transformation</b> |
---|
| 667 | = <i>.T.,</i> a so-called |
---|
[5] | 668 | Galilei-transformation is switched on which ensures that the coordinate |
---|
| 669 | system of the model is moved along with the geostrophical wind. |
---|
| 670 | Alternatively, the model domain can be moved along with the averaged |
---|
| 671 | horizontal wind (see <a href="#use_ug_for_galilei_tr">use_ug_for_galilei_tr</a>, |
---|
| 672 | this can and will naturally change in time). With this method, |
---|
| 673 | numerical inaccuracies of the Piascek - Williams - scheme (concerns in |
---|
| 674 | particular the momentum advection) are minimized. Beyond that, in the |
---|
| 675 | majority of cases the lower relative velocities in the moved system |
---|
| 676 | permit a larger time step (<a href="#dt">dt</a>). |
---|
| 677 | Switching the transformation on is only worthwhile if the geostrophical |
---|
| 678 | wind (ug, vg) |
---|
| 679 | and the averaged horizontal wind clearly deviate from the value 0. In |
---|
| 680 | each case, the distance the coordinate system has been moved is written |
---|
| 681 | to the file <a href="chapter_3.4.html#RUN_CONTROL">RUN_CONTROL</a>. |
---|
[61] | 682 | </p> <p>Non-cyclic lateral boundary conditions (see <a href="#bc_lr">bc_lr</a> |
---|
| 683 | and <a href="#bc_ns">bc_ns</a>), the specification |
---|
| 684 | of a gestrophic |
---|
[5] | 685 | wind that is not constant with height |
---|
| 686 | as well as e.g. stationary inhomogeneities at the bottom boundary do |
---|
[61] | 687 | not allow the use of this transformation.</p> </td> </tr> |
---|
| 688 | <tr> <td style="vertical-align: top;"> <p><a name="grid_matching"></a><b>grid_matching</b></p> |
---|
| 689 | </td> <td style="vertical-align: top;">C * 6</td> |
---|
| 690 | <td style="vertical-align: top;"><span style="font-style: italic;">'match'</span></td> <td style="vertical-align: top;">Variable to adjust the |
---|
| 691 | subdomain |
---|
| 692 | sizes in parallel runs.<br> <br> |
---|
[5] | 693 | For <b>grid_matching</b> = <span style="font-style: italic;">'strict'</span>, |
---|
| 694 | the subdomains are forced to have an identical |
---|
| 695 | size on all processors. In this case the processor numbers in the |
---|
| 696 | respective directions of the virtual processor net must fulfill certain |
---|
| 697 | divisor conditions concerning the grid point numbers in the three |
---|
[61] | 698 | directions (see <a href="#nx">nx</a>, <a href="#ny">ny</a> |
---|
[5] | 699 | and <a href="#nz">nz</a>). |
---|
| 700 | Advantage of this method is that all PEs bear the same computational |
---|
[61] | 701 | load.<br> <br> |
---|
[5] | 702 | There is no such restriction by default, because then smaller |
---|
| 703 | subdomains are allowed on those processors which |
---|
| 704 | form the right and/or north boundary of the virtual processor grid. On |
---|
| 705 | all other processors the subdomains are of same size. Whether smaller |
---|
| 706 | subdomains are actually used, depends on the number of processors and |
---|
| 707 | the grid point numbers used. Information about the respective settings |
---|
| 708 | are given in file <a href="file:///home/raasch/public_html/PALM_group/home/raasch/public_html/PALM_group/doc/app/chapter_3.4.html#RUN_CONTROL">RUN_CONTROL</a>.<br> |
---|
[61] | 709 | <br> |
---|
[5] | 710 | When using a multi-grid method for solving the Poisson equation (see <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/doc/app/chapter_4.2.html#psolver">psolver</a>) |
---|
| 711 | only <b>grid_matching</b> = <span style="font-style: italic;">'strict'</span> |
---|
[61] | 712 | is allowed.<br> <br> <b>Note:</b><br> |
---|
[5] | 713 | In some cases for small processor numbers there may be a very bad load |
---|
| 714 | balancing among the |
---|
[61] | 715 | processors which may reduce the performance of the code.</td> </tr> |
---|
| 716 | <tr> <td style="vertical-align: top;"><a name="inflow_disturbance_begin"></a><b>inflow_disturbance_<br> |
---|
| 717 | begin</b></td> <td style="vertical-align: top;">I</td> |
---|
| 718 | <td style="vertical-align: top;"><span style="font-style: italic;">MIN(10,</span><br style="font-style: italic;"> <span style="font-style: italic;">nx/2 or ny/2)</span></td> |
---|
| 719 | <td style="vertical-align: top;">Lower |
---|
[5] | 720 | limit of the horizontal range for which random perturbations are to be |
---|
[61] | 721 | imposed on the horizontal velocity field (gridpoints).<br> <br> |
---|
[5] | 722 | If non-cyclic lateral boundary conditions are used (see <a href="#bc_lr">bc_lr</a> |
---|
| 723 | or <a href="#bc_ns">bc_ns</a>), |
---|
| 724 | this parameter gives the gridpoint number (counted horizontally from |
---|
| 725 | the inflow) from which on perturbations are imposed on the |
---|
| 726 | horizontal velocity field. Perturbations must be switched on with |
---|
| 727 | parameter <a href="chapter_4.2.html#create_disturbances">create_disturbances</a>.</td> |
---|
[61] | 728 | </tr> <tr> <td style="vertical-align: top;"><a name="inflow_disturbance_end"></a><b>inflow_disturbance_<br> |
---|
| 729 | end</b></td> <td style="vertical-align: top;">I</td> |
---|
| 730 | <td style="vertical-align: top;"><span style="font-style: italic;">MIN(100,</span><br style="font-style: italic;"> <span style="font-style: italic;">3/4*nx or</span><br style="font-style: italic;"> <span style="font-style: italic;">3/4*ny)</span></td> <td style="vertical-align: top;">Upper |
---|
[5] | 731 | limit of the horizontal range for which random perturbations are |
---|
[61] | 732 | to be imposed on the horizontal velocity field (gridpoints).<br> <br> |
---|
[5] | 733 | If non-cyclic lateral boundary conditions are used (see <a href="#bc_lr">bc_lr</a> |
---|
| 734 | or <a href="#bc_ns">bc_ns</a>), |
---|
| 735 | this parameter gives the gridpoint number (counted horizontally from |
---|
| 736 | the inflow) unto which perturbations are imposed on the |
---|
| 737 | horizontal |
---|
| 738 | velocity field. Perturbations must be switched on with parameter <a href="chapter_4.2.html#create_disturbances">create_disturbances</a>.</td> |
---|
[61] | 739 | </tr> <tr> <td style="vertical-align: top;"> |
---|
| 740 | <p><a name="initializing_actions"></a><b>initializing_actions</b></p> |
---|
| 741 | </td> <td style="vertical-align: top;">C * 100</td> |
---|
| 742 | <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"> <p style="font-style: normal;">Initialization actions |
---|
| 743 | to be carried out. </p> <p style="font-style: normal;">This parameter does not have a |
---|
[5] | 744 | default value and therefore must be assigned with each model run. For |
---|
| 745 | restart runs <b>initializing_actions</b> = <span style="font-style: italic;">'read_restart_data'</span> |
---|
| 746 | must be set. For the initial run of a job chain the following values |
---|
[61] | 747 | are allowed: </p> <p style="font-style: normal;"><span style="font-style: italic;">'set_constant_profiles'</span> |
---|
| 748 | </p> <ul> <p>A horizontal wind profile consisting |
---|
| 749 | of linear sections (see <a href="#ug_surface">ug_surface</a>, |
---|
| 750 | <a href="#ug_vertical_gradient">ug_vertical_gradient</a>, |
---|
| 751 | <a href="#ug_vertical_gradient_level">ug_vertical_gradient_level</a> |
---|
| 752 | and <a href="#vg_surface">vg_surface</a>, <a href="#vg_vertical_gradient">vg_vertical_gradient</a>, |
---|
| 753 | <a href="#vg_vertical_gradient_level">vg_vertical_gradient_level</a>, |
---|
[5] | 754 | respectively) as well as a vertical temperature (humidity) profile |
---|
| 755 | consisting of |
---|
[61] | 756 | linear sections (see <a href="#pt_surface">pt_surface</a>, |
---|
| 757 | <a href="#pt_vertical_gradient">pt_vertical_gradient</a>, |
---|
| 758 | <a href="#q_surface">q_surface</a> |
---|
[5] | 759 | and <a href="#q_vertical_gradient">q_vertical_gradient</a>) |
---|
| 760 | are assumed as initial profiles. The subgrid-scale TKE is set to 0 but K<sub>m</sub> |
---|
[61] | 761 | and K<sub>h</sub> are set to very small values because |
---|
| 762 | otherwise no TKE |
---|
| 763 | would be generated.</p> </ul> <p style="font-style: italic;">'set_1d-model_profiles' </p> |
---|
| 764 | <ul> <p>The arrays of the 3d-model are initialized with |
---|
| 765 | the |
---|
[5] | 766 | (stationary) solution of the 1d-model. These are the variables e, kh, |
---|
| 767 | km, u, v and with Prandtl layer switched on rif, us, usws, vsws. The |
---|
| 768 | temperature (humidity) profile consisting of linear sections is set as |
---|
| 769 | for 'set_constant_profiles' and assumed as constant in time within the |
---|
| 770 | 1d-model. For steering of the 1d-model a set of parameters with suffix |
---|
[61] | 771 | "_1d" (e.g. <a href="#end_time_1d">end_time_1d</a>, |
---|
| 772 | <a href="#damp_level_1d">damp_level_1d</a>) |
---|
| 773 | is available.</p> </ul> <p><span style="font-style: italic;">'by_user'</span></p><p style="margin-left: 40px;">The initialization of the arrays |
---|
| 774 | of the 3d-model is under complete control of the user and has to be |
---|
| 775 | done in routine <a href="chapter_3.5.1.html#user_init_3d_model">user_init_3d_model</a> |
---|
| 776 | of the user-interface.<span style="font-style: italic;"></span></p><p><span style="font-style: italic;">'initialize_vortex'</span> |
---|
| 777 | </p> <div style="margin-left: 40px;">The initial |
---|
| 778 | velocity field of the |
---|
[5] | 779 | 3d-model corresponds to a |
---|
| 780 | Rankine-vortex with vertical axis. This setting may be used to test |
---|
| 781 | advection schemes. Free-slip boundary conditions for u and v (see <a href="#bc_uv_b">bc_uv_b</a>, <a href="#bc_uv_t">bc_uv_t</a>) |
---|
| 782 | are necessary. In order not to distort the vortex, an initial |
---|
| 783 | horizontal wind profile constant |
---|
| 784 | with height is necessary (to be set by <b>initializing_actions</b> |
---|
| 785 | = <span style="font-style: italic;">'set_constant_profiles'</span>) |
---|
| 786 | and some other conditions have to be met (neutral stratification, |
---|
| 787 | diffusion must be |
---|
| 788 | switched off, see <a href="#km_constant">km_constant</a>). |
---|
| 789 | The center of the vortex is located at jc = (nx+1)/2. It |
---|
| 790 | extends from k = 0 to k = nz+1. Its radius is 8 * <a href="#dx">dx</a> |
---|
| 791 | and the exponentially decaying part ranges to 32 * <a href="#dx">dx</a> |
---|
[61] | 792 | (see init_rankine.f90). </div> <p><span style="font-style: italic;">'initialize_ptanom'</span> |
---|
| 793 | </p> <ul> <p>A 2d-Gauss-like shape disturbance |
---|
| 794 | (x,y) is added to the |
---|
[5] | 795 | initial temperature field with radius 10.0 * <a href="#dx">dx</a> |
---|
| 796 | and center at jc = (nx+1)/2. This may be used for tests of scalar |
---|
| 797 | advection schemes |
---|
| 798 | (see <a href="#scalar_advec">scalar_advec</a>). |
---|
| 799 | Such tests require a horizontal wind profile constant with hight and |
---|
| 800 | diffusion |
---|
| 801 | switched off (see <span style="font-style: italic;">'initialize_vortex'</span>). |
---|
| 802 | Additionally, the buoyancy term |
---|
| 803 | must be switched of in the equation of motion for w (this |
---|
[61] | 804 | requires the user to comment out the call of <span style="font-family: monospace;">buoyancy</span> in the |
---|
| 805 | source code of <span style="font-family: monospace;">prognostic_equations.f90</span>).</p> |
---|
| 806 | </ul> <p style="font-style: normal;">Values may be |
---|
[5] | 807 | combined, e.g. <b>initializing_actions</b> = <span style="font-style: italic;">'set_constant_profiles |
---|
[61] | 808 | initialize_vortex'</span>, but the values of <span style="font-style: italic;">'set_constant_profiles'</span>, |
---|
| 809 | <span style="font-style: italic;">'set_1d-model_profiles'</span> |
---|
| 810 | , and <span style="font-style: italic;">'by_user'</span> |
---|
| 811 | must not be given at the same time.</p> <p style="font-style: italic;"> </p> </td> </tr> |
---|
| 812 | <tr> <td style="vertical-align: top;"> <p><a name="km_constant"></a><b>km_constant</b></p> |
---|
| 813 | </td> <td style="vertical-align: top;">R</td> |
---|
| 814 | <td style="vertical-align: top;"><i>variable<br> |
---|
| 815 | (computed from TKE)</i></td> <td style="vertical-align: top;"> <p>Constant eddy |
---|
| 816 | diffusivities are used (laminar |
---|
| 817 | simulations). </p> <p>If this parameter is |
---|
| 818 | specified, both in the 1d and in the |
---|
[5] | 819 | 3d-model constant values for the eddy diffusivities are used in |
---|
| 820 | space and time with K<sub>m</sub> = <b>km_constant</b> |
---|
| 821 | and K<sub>h</sub> = K<sub>m</sub> / <a href="chapter_4.2.html#prandtl_number">prandtl_number</a>. |
---|
| 822 | The prognostic equation for the subgrid-scale TKE is switched off. |
---|
| 823 | Constant eddy diffusivities are only allowed with the Prandtl layer (<a href="#prandtl_layer">prandtl_layer</a>) |
---|
[61] | 824 | switched off.</p> </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="km_damp_max"></a><b>km_damp_max</b></p> |
---|
| 825 | </td> <td style="vertical-align: top;">R</td> |
---|
| 826 | <td style="vertical-align: top;"><span style="font-style: italic;">0.5*(dx |
---|
| 827 | or dy)</span></td> <td style="vertical-align: top;">Maximum |
---|
[5] | 828 | diffusivity used for filtering the velocity field in the vicinity of |
---|
[61] | 829 | the outflow (in m<sup>2</sup>/s).<br> <br> |
---|
[5] | 830 | When using non-cyclic lateral boundaries (see <a href="#bc_lr">bc_lr</a> |
---|
| 831 | or <a href="#bc_ns">bc_ns</a>), |
---|
| 832 | a smoothing has to be applied to the |
---|
| 833 | velocity field in the vicinity of the outflow in order to suppress any |
---|
| 834 | reflections of outgoing disturbances. Smoothing is done by increasing |
---|
| 835 | the eddy diffusivity along the horizontal direction which is |
---|
| 836 | perpendicular to the outflow boundary. Only velocity components |
---|
| 837 | parallel to the outflow boundary are filtered (e.g. v and w, if the |
---|
| 838 | outflow is along x). Damping is applied from the bottom to the top of |
---|
[61] | 839 | the domain.<br> <br> |
---|
[5] | 840 | The horizontal range of the smoothing is controlled by <a href="#outflow_damping_width">outflow_damping_width</a> |
---|
| 841 | which defines the number of gridpoints (counted from the outflow |
---|
| 842 | boundary) from where on the smoothing is applied. Starting from that |
---|
| 843 | point, the eddy diffusivity is linearly increased (from zero to its |
---|
| 844 | maximum value given by <span style="font-weight: bold;">km_damp_max</span>) |
---|
| 845 | until half of the damping range width, from where it remains constant |
---|
| 846 | up to the outflow boundary. If at a certain grid point the eddy |
---|
| 847 | diffusivity calculated from the flow field is larger than as described |
---|
[61] | 848 | above, it is used instead.<br> <br> |
---|
[5] | 849 | The default value of <span style="font-weight: bold;">km_damp_max</span> |
---|
[61] | 850 | has been empirically proven to be sufficient.</td> </tr> <tr> |
---|
| 851 | <td style="vertical-align: top;"> <p><a name="long_filter_factor"></a><b>long_filter_factor</b></p> |
---|
| 852 | </td> <td style="vertical-align: top;">R</td> |
---|
| 853 | <td style="vertical-align: top;"><i>0.0</i></td> |
---|
| 854 | <td style="vertical-align: top;"> <p>Filter factor |
---|
| 855 | for the so-called Long-filter.<br> </p> <p><br> |
---|
[5] | 856 | This filter very efficiently |
---|
| 857 | eliminates 2-delta-waves sometimes cauesed by the upstream-spline |
---|
| 858 | scheme (see Mahrer and |
---|
| 859 | Pielke, 1978: Mon. Wea. Rev., 106, 818-830). It works in all three |
---|
[61] | 860 | directions in space. A value of <b>long_filter_factor</b> |
---|
| 861 | = <i>0.01</i> |
---|
[5] | 862 | sufficiently removes the small-scale waves without affecting the |
---|
[61] | 863 | longer waves.<br> </p> <p>By default, the filter is |
---|
| 864 | switched off (= <i>0.0</i>). |
---|
[5] | 865 | It is exclusively applied to the tendencies calculated by the |
---|
| 866 | upstream-spline scheme (see <a href="#momentum_advec">momentum_advec</a> |
---|
| 867 | and <a href="#scalar_advec">scalar_advec</a>), |
---|
| 868 | not to the prognostic variables themselves. At the bottom and top |
---|
| 869 | boundary of the model domain the filter effect for vertical |
---|
| 870 | 2-delta-waves is reduced. There, the amplitude of these waves is only |
---|
| 871 | reduced by approx. 50%, otherwise by nearly 100%. <br> |
---|
[61] | 872 | Filter factors with values > <i>0.01</i> also |
---|
| 873 | reduce the amplitudes |
---|
[5] | 874 | of waves with wavelengths longer than 2-delta (see the paper by Mahrer |
---|
| 875 | and |
---|
[61] | 876 | Pielke, quoted above). </p> </td> </tr> <tr> |
---|
| 877 | <td style="vertical-align: top;"><a name="mixing_length_1d"></a><span style="font-weight: bold;">mixing_length_1d</span><br> |
---|
| 878 | </td> <td style="vertical-align: top;">C*20<br> |
---|
| 879 | </td> <td style="vertical-align: top;"><span style="font-style: italic;">'as_in_3d_</span><br style="font-style: italic;"> <span style="font-style: italic;">model'</span><br> </td> |
---|
| 880 | <td style="vertical-align: top;">Mixing length used in the |
---|
| 881 | 1d-model.<br> <br> |
---|
| 882 | By default the mixing length is calculated as in the 3d-model (i.e. it |
---|
| 883 | depends on the grid spacing).<br> <br> |
---|
| 884 | By setting <span style="font-weight: bold;">mixing_length_1d</span> |
---|
| 885 | = <span style="font-style: italic;">'blackadar'</span>, |
---|
[5] | 886 | the so-called Blackadar mixing length is used (l = kappa * z / ( 1 + |
---|
| 887 | kappa * z / lambda ) with the limiting value lambda = 2.7E-4 * u_g / f).<br> |
---|
[61] | 888 | </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="moisture"></a><b>moisture</b></p> |
---|
| 889 | </td> <td style="vertical-align: top;">L</td> |
---|
| 890 | <td style="vertical-align: top;"><i>.F.</i></td> |
---|
| 891 | <td style="vertical-align: top;"> <p>Parameter to |
---|
| 892 | switch on the prognostic equation for specific |
---|
| 893 | humidity q.<br> </p> <p>The initial vertical |
---|
| 894 | profile of q can be set via parameters <a href="chapter_4.1.html#q_surface">q_surface</a>, <a href="chapter_4.1.html#q_vertical_gradient">q_vertical_gradient</a> |
---|
[5] | 895 | and <a href="chapter_4.1.html#q_vertical_gradient_level">q_vertical_gradient_level</a>. |
---|
| 896 | Boundary conditions can be set via <a href="chapter_4.1.html#q_surface_initial_change">q_surface_initial_change</a> |
---|
| 897 | and <a href="chapter_4.1.html#surface_waterflux">surface_waterflux</a>.<br> |
---|
[61] | 898 | </p> |
---|
[5] | 899 | If the condensation scheme is switched on (<a href="chapter_4.1.html#cloud_physics">cloud_physics</a> |
---|
| 900 | = .TRUE.), q becomes the total liquid water content (sum of specific |
---|
[61] | 901 | humidity and liquid water content).</td> </tr> |
---|
| 902 | <tr> <td style="vertical-align: top;"> <p><a name="momentum_advec"></a><b>momentum_advec</b></p> |
---|
| 903 | </td> <td style="vertical-align: top;">C * 10</td> |
---|
| 904 | <td style="vertical-align: top;"><i>'pw-scheme'</i></td> |
---|
| 905 | <td style="vertical-align: top;"> <p>Advection |
---|
| 906 | scheme to be used for the momentum equations.<br> <br> |
---|
[5] | 907 | The user can choose between the following schemes:<br> |
---|
[61] | 908 | <br> <br> <span style="font-style: italic;">'pw-scheme'</span><br> |
---|
| 909 | </p> <div style="margin-left: 40px;">The scheme of |
---|
| 910 | Piascek and |
---|
[5] | 911 | Williams (1970, J. Comp. Phys., 6, |
---|
| 912 | 392-405) with central differences in the form C3 is used.<br> |
---|
| 913 | If intermediate Euler-timesteps are carried out in case of <a href="#timestep_scheme">timestep_scheme</a> |
---|
[61] | 914 | = <span style="font-style: italic;">'leapfrog+euler'</span> |
---|
| 915 | the |
---|
[5] | 916 | advection scheme is - for the Euler-timestep - automatically switched |
---|
[61] | 917 | to an upstream-scheme.<br> </div> <p> </p> <p><span style="font-style: italic;">'ups-scheme'</span><br> |
---|
| 918 | </p> <div style="margin-left: 40px;">The |
---|
| 919 | upstream-spline scheme is |
---|
[5] | 920 | used |
---|
| 921 | (see Mahrer and Pielke, |
---|
| 922 | 1978: Mon. Wea. Rev., 106, 818-830). In opposite to the |
---|
| 923 | Piascek-Williams scheme, this is characterized by much better numerical |
---|
| 924 | features (less numerical diffusion, better preservation of flow |
---|
| 925 | structures, e.g. vortices), but computationally it is much more |
---|
| 926 | expensive. In |
---|
| 927 | addition, the use of the Euler-timestep scheme is mandatory (<a href="#timestep_scheme">timestep_scheme</a> |
---|
[61] | 928 | = <span style="font-style: italic;">'</span><i>euler'</i>), |
---|
| 929 | i.e. the |
---|
[5] | 930 | timestep accuracy is only of first order. |
---|
| 931 | For this reason the advection of scalar variables (see <a href="#scalar_advec">scalar_advec</a>) |
---|
| 932 | should then also be carried out with the upstream-spline scheme, |
---|
| 933 | because otherwise the scalar variables would |
---|
| 934 | be subject to large numerical diffusion due to the upstream |
---|
[61] | 935 | scheme. </div> <p style="margin-left: 40px;">Since |
---|
| 936 | the cubic splines used tend |
---|
[5] | 937 | to overshoot under |
---|
| 938 | certain circumstances, this effect must be adjusted by suitable |
---|
| 939 | filtering and smoothing (see <a href="#cut_spline_overshoot">cut_spline_overshoot</a>, |
---|
[61] | 940 | <a href="#long_filter_factor">long_filter_factor</a>, |
---|
| 941 | <a href="#ups_limit_pt">ups_limit_pt</a>, <a href="#ups_limit_u">ups_limit_u</a>, <a href="#ups_limit_v">ups_limit_v</a>, <a href="#ups_limit_w">ups_limit_w</a>). |
---|
[5] | 942 | This is always neccessary for runs with stable stratification, |
---|
| 943 | even if this stratification appears only in parts of the model domain.<br> |
---|
[61] | 944 | </p> <div style="margin-left: 40px;">With stable |
---|
| 945 | stratification the |
---|
[5] | 946 | upstream-spline scheme also |
---|
| 947 | produces gravity waves with large amplitude, which must be |
---|
| 948 | suitably damped (see <a href="chapter_4.2.html#rayleigh_damping_factor">rayleigh_damping_factor</a>).<br> |
---|
[61] | 949 | <br> <span style="font-weight: bold;">Important: </span>The |
---|
[5] | 950 | upstream-spline scheme is not implemented for humidity and passive |
---|
| 951 | scalars (see <a href="#moisture">moisture</a> |
---|
| 952 | and <a href="#passive_scalar">passive_scalar</a>) |
---|
| 953 | and requires the use of a 2d-domain-decomposition. The last conditions |
---|
| 954 | severely restricts code optimization on several machines leading to |
---|
| 955 | very long execution times! The scheme is also not allowed for |
---|
| 956 | non-cyclic lateral boundary conditions (see <a href="#bc_lr">bc_lr</a> |
---|
[61] | 957 | and <a href="#bc_ns">bc_ns</a>).</div> </td> |
---|
| 958 | </tr> <tr> <td style="vertical-align: top;"><a name="netcdf_precision"></a><span style="font-weight: bold;">netcdf_precision</span><br> |
---|
| 959 | </td> <td style="vertical-align: top;">C*20<br> |
---|
| 960 | (10)<br> </td> <td style="vertical-align: top;"><span style="font-style: italic;">single preci-</span><br style="font-style: italic;"> <span style="font-style: italic;">sion for all</span><br style="font-style: italic;"> <span style="font-style: italic;">output quan-</span><br style="font-style: italic;"> <span style="font-style: italic;">tities</span><br> </td> |
---|
| 961 | <td style="vertical-align: top;">Defines the accuracy of |
---|
| 962 | the NetCDF output.<br> <br> |
---|
| 963 | By default, all NetCDF output data (see <a href="chapter_4.2.html#data_output_format">data_output_format</a>) |
---|
| 964 | have single precision (4 byte) accuracy. Double precision (8 |
---|
| 965 | byte) can be choosen alternatively.<br> |
---|
| 966 | Accuracy for the different output data (cross sections, 3d-volume data, |
---|
| 967 | spectra, etc.) can be set independently.<br> <span style="font-style: italic;">'<out>_NF90_REAL4'</span> |
---|
| 968 | (single precision) or <span style="font-style: italic;">'<out>_NF90_REAL8'</span> |
---|
| 969 | (double precision) are the two principally allowed values for <span style="font-weight: bold;">netcdf_precision</span>, |
---|
| 970 | where the string <span style="font-style: italic;">'<out>' |
---|
| 971 | </span>can be chosen out of the following list:<br> <br> |
---|
| 972 | <table style="text-align: left; width: 284px; height: 234px;" border="1" cellpadding="2" cellspacing="2"> <tbody> |
---|
| 973 | <tr> <td style="vertical-align: top;"><span style="font-style: italic;">'xy'</span><br> </td> |
---|
| 974 | <td style="vertical-align: top;">horizontal cross section<br> |
---|
| 975 | </td> </tr> <tr> <td style="vertical-align: top;"><span style="font-style: italic;">'xz'</span><br> </td> |
---|
| 976 | <td style="vertical-align: top;">vertical (xz) cross |
---|
| 977 | section<br> </td> </tr> <tr> <td style="vertical-align: top;"><span style="font-style: italic;">'yz'</span><br> </td> |
---|
| 978 | <td style="vertical-align: top;">vertical (yz) cross |
---|
| 979 | section<br> </td> </tr> <tr> <td style="vertical-align: top;"><span style="font-style: italic;">'2d'</span><br> </td> |
---|
| 980 | <td style="vertical-align: top;">all cross sections<br> |
---|
| 981 | </td> </tr> <tr> <td style="vertical-align: top;"><span style="font-style: italic;">'3d'</span><br> </td> |
---|
| 982 | <td style="vertical-align: top;">volume data<br> </td> |
---|
| 983 | </tr> <tr> <td style="vertical-align: top;"><span style="font-style: italic;">'pr'</span><br> </td> |
---|
| 984 | <td style="vertical-align: top;">vertical profiles<br> |
---|
| 985 | </td> </tr> <tr> <td style="vertical-align: top;"><span style="font-style: italic;">'ts'</span><br> </td> |
---|
| 986 | <td style="vertical-align: top;">time series, particle |
---|
| 987 | time series<br> </td> </tr> <tr> <td style="vertical-align: top;"><span style="font-style: italic;">'sp'</span><br> </td> |
---|
| 988 | <td style="vertical-align: top;">spectra<br> </td> |
---|
| 989 | </tr> <tr> <td style="vertical-align: top;"><span style="font-style: italic;">'prt'</span><br> </td> |
---|
| 990 | <td style="vertical-align: top;">particles<br> </td> |
---|
| 991 | </tr> <tr> <td style="vertical-align: top;"><span style="font-style: italic;">'all'</span><br> </td> |
---|
| 992 | <td style="vertical-align: top;">all output quantities<br> |
---|
| 993 | </td> </tr> </tbody> </table> <br> <span style="font-weight: bold;">Example:</span><br> |
---|
[5] | 994 | If all cross section data and the particle data shall be output in |
---|
[61] | 995 | double precision and all other quantities in single precision, then <span style="font-weight: bold;">netcdf_precision</span> = <span style="font-style: italic;">'2d_NF90_REAL8'</span>, <span style="font-style: italic;">'prt_NF90_REAL8'</span> |
---|
| 996 | has to be assigned.<br> </td> </tr> |
---|
| 997 | <tr> <td style="vertical-align: top;"> <p><a name="npex"></a><b>npex</b></p> </td> |
---|
| 998 | <td style="vertical-align: top;">I</td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"> <p>Number of processors |
---|
| 999 | along x-direction of the virtual |
---|
[5] | 1000 | processor |
---|
[61] | 1001 | net. </p> <p>For parallel runs, the total |
---|
| 1002 | number of processors to be used |
---|
[5] | 1003 | is given by |
---|
[61] | 1004 | the <span style="font-weight: bold;">mrun</span> |
---|
| 1005 | option <a href="http://www.muk.uni-hannover.de/software/mrun_beschreibung.html#Opt-X">-X</a>. |
---|
[5] | 1006 | By default, depending on the type of the parallel computer, PALM |
---|
| 1007 | generates a 1d processor |
---|
| 1008 | net (domain decomposition along x, <span style="font-weight: bold;">npey</span> |
---|
[61] | 1009 | = <span style="font-style: italic;">1</span>) or a |
---|
| 1010 | 2d-net (this is |
---|
[5] | 1011 | favored on machines with fast communication network). In case of a |
---|
| 1012 | 2d-net, it is tried to make it more or less square-shaped. If, for |
---|
| 1013 | example, 16 processors are assigned (-X 16), a 4 * 4 processor net is |
---|
[61] | 1014 | generated (<span style="font-weight: bold;">npex</span> |
---|
| 1015 | = <span style="font-style: italic;">4</span>, <span style="font-weight: bold;">npey</span> |
---|
[5] | 1016 | = <span style="font-style: italic;">4</span>). |
---|
| 1017 | This choice is optimal for square total domains (<a href="#nx">nx</a> |
---|
| 1018 | = <a href="#ny">ny</a>), |
---|
| 1019 | since then the number of ghost points at the lateral boundarys of |
---|
| 1020 | the subdomains is minimal. If <span style="font-weight: bold;">nx</span> |
---|
[61] | 1021 | nd <span style="font-weight: bold;">ny</span> |
---|
| 1022 | differ extremely, the |
---|
[5] | 1023 | processor net should be manually adjusted using adequate values for <span style="font-weight: bold;">npex</span> and <span style="font-weight: bold;">npey</span>. </p> |
---|
[61] | 1024 | <p><b>Important:</b> The value of <span style="font-weight: bold;">npex</span> * <span style="font-weight: bold;">npey</span> must exactly |
---|
| 1025 | correspond to the |
---|
[5] | 1026 | value assigned by the <span style="font-weight: bold;">mrun</span>-option |
---|
[61] | 1027 | <tt>-X</tt>. |
---|
[5] | 1028 | Otherwise the model run will abort with a corresponding error |
---|
| 1029 | message. <br> |
---|
| 1030 | Additionally, the specification of <span style="font-weight: bold;">npex</span> |
---|
[61] | 1031 | and <span style="font-weight: bold;">npey</span> |
---|
| 1032 | may of course |
---|
[5] | 1033 | override the default setting for the domain decomposition (1d or 2d) |
---|
| 1034 | which may have a significant (negative) effect on the code performance. |
---|
[61] | 1035 | </p> </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="npey"></a><b>npey</b></p> |
---|
| 1036 | </td> <td style="vertical-align: top;">I</td> |
---|
| 1037 | <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"> <p>Number of processors |
---|
| 1038 | along y-direction of the virtual |
---|
[5] | 1039 | processor |
---|
[61] | 1040 | net. </p> <p>For further information see <a href="#npex">npex</a>.</p> </td> </tr> |
---|
| 1041 | <tr> <td style="vertical-align: top;"> <p><a name="nsor_ini"></a><b>nsor_ini</b></p> |
---|
| 1042 | </td> <td style="vertical-align: top;">I</td> |
---|
| 1043 | <td style="vertical-align: top;"><i>100</i></td> |
---|
| 1044 | <td style="vertical-align: top;"> <p>Initial number |
---|
| 1045 | of iterations with the SOR algorithm. </p> <p>This |
---|
| 1046 | parameter is only effective if the SOR algorithm was |
---|
[5] | 1047 | selected as the pressure solver scheme (<a href="chapter_4.2.html#psolver">psolver</a> |
---|
[61] | 1048 | = <span style="font-style: italic;">'sor'</span>) |
---|
| 1049 | and specifies the |
---|
[5] | 1050 | number of initial iterations of the SOR |
---|
| 1051 | scheme (at t = 0). The number of subsequent iterations at the following |
---|
| 1052 | timesteps is determined |
---|
| 1053 | with the parameter <a href="#nsor">nsor</a>. |
---|
[61] | 1054 | Usually <b>nsor</b> < <b>nsor_ini</b>, |
---|
| 1055 | since in each case |
---|
[5] | 1056 | subsequent calls to <a href="chapter_4.2.html#psolver">psolver</a> |
---|
| 1057 | use the solution of the previous call as initial value. Suitable |
---|
| 1058 | test runs should determine whether sufficient convergence of the |
---|
| 1059 | solution is obtained with the default value and if necessary the value |
---|
[61] | 1060 | of <b>nsor_ini</b> should be changed.</p> </td> |
---|
| 1061 | </tr> <tr> <td style="vertical-align: top;"> |
---|
| 1062 | <p><a name="nx"></a><b>nx</b></p> |
---|
| 1063 | </td> <td style="vertical-align: top;">I</td> |
---|
| 1064 | <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"> <p>Number of grid |
---|
| 1065 | points in x-direction. </p> <p>A value for this |
---|
| 1066 | parameter must be assigned. Since the lower |
---|
[5] | 1067 | array bound in PALM |
---|
| 1068 | starts with i = 0, the actual number of grid points is equal to <b>nx+1</b>. |
---|
| 1069 | In case of cyclic boundary conditions along x, the domain size is (<b>nx+1</b>)* |
---|
[61] | 1070 | <a href="#dx">dx</a>.</p> <p>For |
---|
| 1071 | parallel runs, in case of <a href="#grid_matching">grid_matching</a> |
---|
| 1072 | = <span style="font-style: italic;">'strict'</span>, |
---|
| 1073 | <b>nx+1</b> must |
---|
[5] | 1074 | be an integral multiple |
---|
| 1075 | of the processor numbers (see <a href="#npex">npex</a> |
---|
| 1076 | and <a href="#npey">npey</a>) |
---|
| 1077 | along x- as well as along y-direction (due to data |
---|
[61] | 1078 | transposition restrictions).</p> </td> </tr> <tr> |
---|
| 1079 | <td style="vertical-align: top;"> <p><a name="ny"></a><b>ny</b></p> |
---|
| 1080 | </td> <td style="vertical-align: top;">I</td> |
---|
| 1081 | <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"> <p>Number of grid |
---|
| 1082 | points in y-direction. </p> <p>A value for this |
---|
| 1083 | parameter must be assigned. Since the lower |
---|
[5] | 1084 | array bound in PALM starts with i = 0, the actual number of grid points |
---|
[61] | 1085 | is equal to <b>ny+1</b>. In case of cyclic boundary |
---|
| 1086 | conditions along |
---|
[5] | 1087 | y, the domain size is (<b>ny+1</b>) * <a href="#dy">dy</a>.</p> |
---|
[61] | 1088 | <p>For parallel runs, in case of <a href="#grid_matching">grid_matching</a> |
---|
| 1089 | = <span style="font-style: italic;">'strict'</span>, |
---|
| 1090 | <b>ny+1</b> must |
---|
[5] | 1091 | be an integral multiple |
---|
| 1092 | of the processor numbers (see <a href="#npex">npex</a> |
---|
| 1093 | and <a href="#npey">npey</a>) |
---|
| 1094 | along y- as well as along x-direction (due to data |
---|
[61] | 1095 | transposition restrictions).</p> </td> </tr> <tr> |
---|
| 1096 | <td style="vertical-align: top;"> <p><a name="nz"></a><b>nz</b></p> |
---|
| 1097 | </td> <td style="vertical-align: top;">I</td> |
---|
| 1098 | <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"> <p>Number of grid |
---|
| 1099 | points in z-direction. </p> <p>A value for this |
---|
| 1100 | parameter must be assigned. Since the lower |
---|
[5] | 1101 | array bound in PALM |
---|
| 1102 | starts with k = 0 and since one additional grid point is added at the |
---|
[61] | 1103 | top boundary (k = <b>nz+1</b>), the actual number of grid |
---|
| 1104 | points is <b>nz+2</b>. |
---|
| 1105 | However, the prognostic equations are only solved up to <b>nz</b> |
---|
| 1106 | (u, |
---|
[5] | 1107 | v) |
---|
[61] | 1108 | or up to <b>nz-1</b> (w, scalar quantities). The top |
---|
| 1109 | boundary for u |
---|
| 1110 | and v is at k = <b>nz+1</b> (u, v) while at k = <b>nz</b> |
---|
| 1111 | for all |
---|
| 1112 | other quantities. </p> <p>For parallel |
---|
| 1113 | runs, in case of <a href="#grid_matching">grid_matching</a> |
---|
| 1114 | = <span style="font-style: italic;">'strict'</span>, |
---|
| 1115 | <b>nz</b> must |
---|
[5] | 1116 | be an integral multiple of |
---|
| 1117 | the number of processors in x-direction (due to data transposition |
---|
[61] | 1118 | restrictions).</p> </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="omega"></a><b>omega</b></p> |
---|
| 1119 | </td> <td style="vertical-align: top;">R</td> |
---|
| 1120 | <td style="vertical-align: top;"><i>7.29212E-5</i></td> |
---|
| 1121 | <td style="vertical-align: top;"> <p>Angular |
---|
| 1122 | velocity of the rotating system (in rad s<sup>-1</sup>). |
---|
| 1123 | </p> <p>The angular velocity of the earth is set by |
---|
| 1124 | default. The |
---|
[5] | 1125 | values |
---|
[61] | 1126 | of the Coriolis parameters are calculated as: </p> <ul> |
---|
| 1127 | <p>f = 2.0 * <b>omega</b> * sin(<a href="#phi">phi</a>) |
---|
| 1128 | <br>f* = 2.0 * <b>omega</b> * cos(<a href="#phi">phi</a>)</p> |
---|
| 1129 | </ul> </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="outflow_damping_width"></a><b>outflow_damping_width</b></p> |
---|
| 1130 | </td> <td style="vertical-align: top;">I</td> |
---|
| 1131 | <td style="vertical-align: top;"><span style="font-style: italic;">MIN(20, |
---|
[5] | 1132 | nx/2</span> or <span style="font-style: italic;">ny/2)</span></td> |
---|
[61] | 1133 | <td style="vertical-align: top;">Width of |
---|
[5] | 1134 | the damping range in the vicinity of the outflow (gridpoints).<br> |
---|
[61] | 1135 | <br> |
---|
[5] | 1136 | When using non-cyclic lateral boundaries (see <a href="chapter_4.1.html#bc_lr">bc_lr</a> |
---|
| 1137 | or <a href="chapter_4.1.html#bc_ns">bc_ns</a>), |
---|
| 1138 | a smoothing has to be applied to the |
---|
| 1139 | velocity field in the vicinity of the outflow in order to suppress any |
---|
| 1140 | reflections of outgoing disturbances. This parameter controlls the |
---|
| 1141 | horizontal range to which the smoothing is applied. The range is given |
---|
| 1142 | in gridpoints counted from the respective outflow boundary. For further |
---|
| 1143 | details about the smoothing see parameter <a href="chapter_4.1.html#km_damp_max">km_damp_max</a>, |
---|
[61] | 1144 | which defines the magnitude of the damping.</td> </tr> |
---|
| 1145 | <tr> <td style="vertical-align: top;"> <p><a name="overshoot_limit_e"></a><b>overshoot_limit_e</b></p> |
---|
| 1146 | </td> <td style="vertical-align: top;">R</td> |
---|
| 1147 | <td style="vertical-align: top;"><i>0.0</i></td> |
---|
| 1148 | <td style="vertical-align: top;"> <p>Allowed limit |
---|
| 1149 | for the overshooting of subgrid-scale TKE in |
---|
[5] | 1150 | case that the upstream-spline scheme is switched on (in m<sup>2</sup>/s<sup>2</sup>). |
---|
[61] | 1151 | </p> <p>By deafult, if cut-off of overshoots is switched |
---|
| 1152 | on for the |
---|
[5] | 1153 | upstream-spline scheme (see <a href="#cut_spline_overshoot">cut_spline_overshoot</a>), |
---|
| 1154 | no overshoots are permitted at all. If <b>overshoot_limit_e</b> |
---|
| 1155 | is given a non-zero value, overshoots with the respective |
---|
| 1156 | amplitude (both upward and downward) are allowed. </p> |
---|
[61] | 1157 | <p>Only positive values are allowed for <b>overshoot_limit_e</b>.</p> |
---|
| 1158 | </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="overshoot_limit_pt"></a><b>overshoot_limit_pt</b></p> |
---|
| 1159 | </td> <td style="vertical-align: top;">R</td> |
---|
| 1160 | <td style="vertical-align: top;"><i>0.0</i></td> |
---|
| 1161 | <td style="vertical-align: top;"> <p>Allowed limit |
---|
| 1162 | for the overshooting of potential temperature in |
---|
[5] | 1163 | case that the upstream-spline scheme is switched on (in K). </p> |
---|
[61] | 1164 | <p>For further information see <a href="#overshoot_limit_e">overshoot_limit_e</a>. |
---|
| 1165 | </p> <p>Only positive values are allowed for <b>overshoot_limit_pt</b>.</p> |
---|
| 1166 | </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="overshoot_limit_u"></a><b>overshoot_limit_u</b></p> |
---|
| 1167 | </td> <td style="vertical-align: top;">R</td> |
---|
| 1168 | <td style="vertical-align: top;"><i>0.0</i></td> |
---|
| 1169 | <td style="vertical-align: top;">Allowed limit for the |
---|
[5] | 1170 | overshooting of |
---|
| 1171 | the u-component of velocity in case that the upstream-spline scheme is |
---|
[61] | 1172 | switched on (in m/s). <p>For further information see <a href="#overshoot_limit_e">overshoot_limit_e</a>. |
---|
| 1173 | </p> <p>Only positive values are allowed for <b>overshoot_limit_u</b>.</p> |
---|
| 1174 | </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="overshoot_limit_v"></a><b>overshoot_limit_v</b></p> |
---|
| 1175 | </td> <td style="vertical-align: top;">R</td> |
---|
| 1176 | <td style="vertical-align: top;"><i>0.0</i></td> |
---|
| 1177 | <td style="vertical-align: top;"> <p>Allowed limit |
---|
| 1178 | for the overshooting of the v-component of |
---|
[5] | 1179 | velocity in case that the upstream-spline scheme is switched on |
---|
[61] | 1180 | (in m/s). </p> <p>For further information see <a href="#overshoot_limit_e">overshoot_limit_e</a>. |
---|
| 1181 | </p> <p>Only positive values are allowed for <b>overshoot_limit_v</b>.</p> |
---|
| 1182 | </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="overshoot_limit_w"></a><b>overshoot_limit_w</b></p> |
---|
| 1183 | </td> <td style="vertical-align: top;">R</td> |
---|
| 1184 | <td style="vertical-align: top;"><i>0.0</i></td> |
---|
| 1185 | <td style="vertical-align: top;"> <p>Allowed limit |
---|
| 1186 | for the overshooting of the w-component of |
---|
[5] | 1187 | velocity in case that the upstream-spline scheme is switched on |
---|
[61] | 1188 | (in m/s). </p> <p>For further information see <a href="#overshoot_limit_e">overshoot_limit_e</a>. |
---|
| 1189 | </p> <p>Only positive values are permitted for <b>overshoot_limit_w</b>.</p> |
---|
| 1190 | </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="passive_scalar"></a><b>passive_scalar</b></p> |
---|
| 1191 | </td> <td style="vertical-align: top;">L</td> |
---|
| 1192 | <td style="vertical-align: top;"><i>.F.</i></td> |
---|
| 1193 | <td style="vertical-align: top;"> <p>Parameter to |
---|
| 1194 | switch on the prognostic equation for a passive |
---|
| 1195 | scalar. <br> </p> <p>The initial vertical profile |
---|
| 1196 | of s can be set via parameters <a href="#s_surface">s_surface</a>, |
---|
| 1197 | <a href="#s_vertical_gradient">s_vertical_gradient</a> |
---|
[5] | 1198 | and <a href="#s_vertical_gradient_level">s_vertical_gradient_level</a>. |
---|
| 1199 | Boundary conditions can be set via <a href="#s_surface_initial_change">s_surface_initial_change</a> |
---|
[61] | 1200 | and <a href="#surface_scalarflux">surface_scalarflux</a>. |
---|
| 1201 | </p> <p><b>Note:</b> <br> |
---|
| 1202 | With <span style="font-weight: bold;">passive_scalar</span> |
---|
| 1203 | switched |
---|
[5] | 1204 | on, the simultaneous use of humidity (see <a href="#moisture">moisture</a>) |
---|
[61] | 1205 | is impossible.</p> </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="phi"></a><b>phi</b></p> |
---|
| 1206 | </td> <td style="vertical-align: top;">R</td> |
---|
| 1207 | <td style="vertical-align: top;"><i>55.0</i></td> |
---|
| 1208 | <td style="vertical-align: top;"> <p>Geographical |
---|
| 1209 | latitude (in degrees). </p> <p>The value of |
---|
| 1210 | this parameter determines the value of the |
---|
[5] | 1211 | Coriolis parameters f and f*, provided that the angular velocity (see <a href="#omega">omega</a>) |
---|
[61] | 1212 | is non-zero.</p> </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="prandtl_layer"></a><b>prandtl_layer</b></p> |
---|
| 1213 | </td> <td style="vertical-align: top;">L</td> |
---|
| 1214 | <td style="vertical-align: top;"><i>.T.</i></td> |
---|
| 1215 | <td style="vertical-align: top;"> <p>Parameter to |
---|
| 1216 | switch on a Prandtl layer. </p> <p>By default, |
---|
| 1217 | a Prandtl layer is switched on at the bottom |
---|
[5] | 1218 | boundary between z = 0 and z = 0.5 * <a href="#dz">dz</a> |
---|
| 1219 | (the first computational grid point above ground for u, v and the |
---|
| 1220 | scalar quantities). |
---|
| 1221 | In this case, at the bottom boundary, free-slip conditions for u and v |
---|
| 1222 | (see <a href="#bc_uv_b">bc_uv_b</a>) |
---|
| 1223 | are not allowed. Likewise, laminar |
---|
| 1224 | simulations with constant eddy diffusivities (<a href="#km_constant">km_constant</a>) |
---|
[61] | 1225 | are forbidden. </p> <p>With Prandtl-layer |
---|
| 1226 | switched off, the TKE boundary condition <a href="#bc_e_b">bc_e_b</a> |
---|
| 1227 | = '<i>(u*)**2+neumann'</i> must not be used and is |
---|
| 1228 | automatically |
---|
| 1229 | changed to <i>'neumann'</i> if necessary. Also, |
---|
| 1230 | the pressure |
---|
[5] | 1231 | boundary condition <a href="#bc_p_b">bc_p_b</a> |
---|
| 1232 | = <i>'neumann+inhomo'</i> is not allowed. </p> |
---|
[61] | 1233 | <p>The roughness length is declared via the parameter <a href="#roughness_length">roughness_length</a>.</p> |
---|
| 1234 | </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="precipitation"></a><b>precipitation</b></p> |
---|
| 1235 | </td> <td style="vertical-align: top;">L</td> |
---|
| 1236 | <td style="vertical-align: top;"><span style="font-style: italic;">.F.</span></td> <td style="vertical-align: top;"> <p>Parameter to switch |
---|
| 1237 | on the precipitation scheme.<br> </p> <p>For |
---|
| 1238 | precipitation processes PALM uses a simplified Kessler |
---|
[5] | 1239 | scheme. This scheme only considers the |
---|
| 1240 | so-called autoconversion, that means the generation of rain water by |
---|
| 1241 | coagulation of cloud drops among themselves. Precipitation begins and |
---|
| 1242 | is immediately removed from the flow as soon as the liquid water |
---|
[61] | 1243 | content exceeds the critical value of 0.5 g/kg.</p> </td> </tr> |
---|
| 1244 | <tr><td style="vertical-align: top;"><a name="pt_reference"></a><span style="font-weight: bold;">pt_reference</span></td><td style="vertical-align: top;">R</td><td style="vertical-align: top;"><span style="font-style: italic;">use horizontal average as |
---|
| 1245 | refrence</span></td><td style="vertical-align: top;">Reference |
---|
| 1246 | temperature to be used in all buoyancy terms (in K).<br><br>By |
---|
| 1247 | default, the instantaneous horizontal average over the total model |
---|
| 1248 | domain is used.</td></tr><tr> <td style="vertical-align: top;"> <p><a name="pt_surface"></a><b>pt_surface</b></p> |
---|
| 1249 | </td> <td style="vertical-align: top;">R</td> |
---|
| 1250 | <td style="vertical-align: top;"><i>300.0</i></td> |
---|
| 1251 | <td style="vertical-align: top;"> <p>Surface |
---|
| 1252 | potential temperature (in K). </p> <p>This |
---|
| 1253 | parameter assigns the value of the potential temperature |
---|
| 1254 | pt at the surface (k=0)<b>.</b> Starting from this value, |
---|
| 1255 | the |
---|
[5] | 1256 | initial vertical temperature profile is constructed with <a href="#pt_vertical_gradient">pt_vertical_gradient</a> |
---|
[61] | 1257 | and <a href="#pt_vertical_gradient_level">pt_vertical_gradient_level |
---|
| 1258 | </a>. |
---|
[5] | 1259 | This profile is also used for the 1d-model as a stationary profile.</p> |
---|
[61] | 1260 | </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="pt_surface_initial_change"></a><b>pt_surface_initial</b> |
---|
| 1261 | <br> <b>_change</b></p> </td> <td style="vertical-align: top;">R</td> <td style="vertical-align: top;"><span style="font-style: italic;">0.0</span><br> </td> |
---|
| 1262 | <td style="vertical-align: top;"> <p>Change in |
---|
| 1263 | surface temperature to be made at the beginning of |
---|
[5] | 1264 | the 3d run |
---|
[61] | 1265 | (in K). </p> <p>If <b>pt_surface_initial_change</b> |
---|
| 1266 | is set to a non-zero |
---|
[5] | 1267 | value, the near surface sensible heat flux is not allowed to be given |
---|
| 1268 | simultaneously (see <a href="#surface_heatflux">surface_heatflux</a>).</p> |
---|
[61] | 1269 | </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="pt_vertical_gradient"></a><b>pt_vertical_gradient</b></p> |
---|
| 1270 | </td> <td style="vertical-align: top;">R (10)</td> |
---|
| 1271 | <td style="vertical-align: top;"><i>10 * 0.0</i></td> |
---|
| 1272 | <td style="vertical-align: top;"> <p>Temperature |
---|
| 1273 | gradient(s) of the initial temperature profile (in |
---|
[5] | 1274 | K |
---|
[61] | 1275 | / 100 m). </p> <p>This temperature gradient |
---|
| 1276 | holds starting from the height |
---|
[5] | 1277 | level defined by <a href="#pt_vertical_gradient_level">pt_vertical_gradient_level</a> |
---|
| 1278 | (precisely: for all uv levels k where zu(k) > |
---|
| 1279 | pt_vertical_gradient_level, |
---|
| 1280 | pt_init(k) is set: pt_init(k) = pt_init(k-1) + dzu(k) * <b>pt_vertical_gradient</b>) |
---|
| 1281 | up to the top boundary or up to the next height level defined |
---|
| 1282 | by <a href="#pt_vertical_gradient_level">pt_vertical_gradient_level</a>. |
---|
| 1283 | A total of 10 different gradients for 11 height intervals (10 intervals |
---|
| 1284 | if <a href="#pt_vertical_gradient_level">pt_vertical_gradient_level</a>(1) |
---|
[61] | 1285 | = <i>0.0</i>) can be assigned. The surface temperature is |
---|
| 1286 | assigned via <a href="#pt_surface">pt_surface</a>. |
---|
| 1287 | </p> <p>Example: </p> <ul> <p><b>pt_vertical_gradient</b> |
---|
| 1288 | = <i>1.0</i>, <i>0.5</i>, <br> |
---|
| 1289 | <b>pt_vertical_gradient_level</b> = <i>500.0</i>, |
---|
| 1290 | <i>1000.0</i>,</p> </ul> <p>That |
---|
| 1291 | defines the temperature profile to be neutrally |
---|
[5] | 1292 | stratified |
---|
| 1293 | up to z = 500.0 m with a temperature given by <a href="#pt_surface">pt_surface</a>. |
---|
[61] | 1294 | For 500.0 m < z <= 1000.0 m the temperature gradient is |
---|
| 1295 | 1.0 K / |
---|
[5] | 1296 | 100 m and for z > 1000.0 m up to the top boundary it is |
---|
| 1297 | 0.5 K / 100 m (it is assumed that the assigned height levels correspond |
---|
[61] | 1298 | with uv levels). </p> </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="pt_vertical_gradient_level"></a><b>pt_vertical_gradient</b> |
---|
| 1299 | <br> <b>_level</b></p> </td> <td style="vertical-align: top;">R (10)</td> <td style="vertical-align: top;"> <p><i>10 *</i> |
---|
| 1300 | <span style="font-style: italic;">0.0</span><br> |
---|
| 1301 | </p> </td> <td style="vertical-align: top;"> |
---|
| 1302 | <p>Height level from which on the temperature gradient defined by |
---|
| 1303 | <a href="#pt_vertical_gradient">pt_vertical_gradient</a> |
---|
| 1304 | is effective (in m). </p> <p>The height levels |
---|
| 1305 | are to be assigned in ascending order. The |
---|
[5] | 1306 | default values result in a neutral stratification regardless of the |
---|
| 1307 | values of <a href="#pt_vertical_gradient">pt_vertical_gradient</a> |
---|
| 1308 | (unless the top boundary of the model is higher than 100000.0 m). |
---|
| 1309 | For the piecewise construction of temperature profiles see <a href="#pt_vertical_gradient">pt_vertical_gradient</a>.</p> |
---|
[61] | 1310 | </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="q_surface"></a><b>q_surface</b></p> |
---|
| 1311 | </td> <td style="vertical-align: top;">R</td> |
---|
| 1312 | <td style="vertical-align: top;"><i>0.0</i></td> |
---|
| 1313 | <td style="vertical-align: top;"> <p>Surface |
---|
| 1314 | specific humidity / total water content (kg/kg). </p> <p>This |
---|
| 1315 | parameter assigns the value of the specific humidity q at |
---|
| 1316 | the surface (k=0). Starting from this value, the initial |
---|
| 1317 | humidity |
---|
[5] | 1318 | profile is constructed with <a href="#q_vertical_gradient">q_vertical_gradient</a> |
---|
| 1319 | and <a href="#q_vertical_gradient_level">q_vertical_gradient_level</a>. |
---|
| 1320 | This profile is also used for the 1d-model as a stationary profile.</p> |
---|
[61] | 1321 | </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="q_surface_initial_change"></a><b>q_surface_initial</b> |
---|
| 1322 | <br> <b>_change</b></p> </td> <td style="vertical-align: top;">R<br> </td> <td style="vertical-align: top;"><i>0.0</i></td> |
---|
| 1323 | <td style="vertical-align: top;"> <p>Change in |
---|
| 1324 | surface specific humidity / total water content to |
---|
[5] | 1325 | be made at the beginning |
---|
[61] | 1326 | of the 3d run (kg/kg). </p> <p>If <b>q_surface_initial_change</b><i> |
---|
| 1327 | </i>is set to a |
---|
[5] | 1328 | non-zero value the |
---|
| 1329 | near surface latent heat flux (water flux) is not allowed to be given |
---|
| 1330 | simultaneously (see <a href="#surface_waterflux">surface_waterflux</a>).</p> |
---|
[61] | 1331 | </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="q_vertical_gradient"></a><b>q_vertical_gradient</b></p> |
---|
| 1332 | </td> <td style="vertical-align: top;">R (10)</td> |
---|
| 1333 | <td style="vertical-align: top;"><i>10 * 0.0</i></td> |
---|
| 1334 | <td style="vertical-align: top;"> <p>Humidity |
---|
| 1335 | gradient(s) of the initial humidity profile |
---|
| 1336 | (in 1/100 m). </p> <p>This humidity gradient |
---|
| 1337 | holds starting from the height |
---|
[5] | 1338 | level defined by <a href="#q_vertical_gradient_level">q_vertical_gradient_level</a> |
---|
| 1339 | (precisely: for all uv levels k, where zu(k) > |
---|
| 1340 | q_vertical_gradient_level, |
---|
| 1341 | q_init(k) is set: q_init(k) = q_init(k-1) + dzu(k) * <b>q_vertical_gradient</b>) |
---|
| 1342 | up to the top boundary or up to the next height level defined |
---|
| 1343 | by <a href="#q_vertical_gradient_level">q_vertical_gradient_level</a>. |
---|
| 1344 | A total of 10 different gradients for 11 height intervals (10 intervals |
---|
| 1345 | if <a href="#q_vertical_gradient_level">q_vertical_gradient_level</a>(1) |
---|
[61] | 1346 | = <i>0.0</i>) can be asigned. The surface humidity is |
---|
| 1347 | assigned |
---|
[5] | 1348 | via <a href="#q_surface">q_surface</a>. </p> |
---|
[61] | 1349 | <p>Example: </p> <ul> <p><b>q_vertical_gradient</b> |
---|
| 1350 | = <i>0.001</i>, <i>0.0005</i>, <br> |
---|
| 1351 | <b>q_vertical_gradient_level</b> = <i>500.0</i>, |
---|
| 1352 | <i>1000.0</i>,</p> </ul> |
---|
[5] | 1353 | That defines the humidity to be constant with height up to z = |
---|
| 1354 | 500.0 |
---|
| 1355 | m with a |
---|
| 1356 | value given by <a href="#q_surface">q_surface</a>. |
---|
[61] | 1357 | For 500.0 m < z <= 1000.0 m the humidity gradient is |
---|
| 1358 | 0.001 / 100 |
---|
[5] | 1359 | m and for z > 1000.0 m up to the top boundary it is |
---|
| 1360 | 0.0005 / 100 m (it is assumed that the assigned height levels |
---|
| 1361 | correspond with uv |
---|
[61] | 1362 | levels). </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="q_vertical_gradient_level"></a><b>q_vertical_gradient</b> |
---|
| 1363 | <br> <b>_level</b></p> </td> <td style="vertical-align: top;">R (10)</td> <td style="vertical-align: top;"> <p><i>10 *</i> |
---|
| 1364 | <i>0.0</i></p> </td> <td style="vertical-align: top;"> <p>Height level from |
---|
| 1365 | which on the moisture gradient defined by <a href="#q_vertical_gradient">q_vertical_gradient</a> |
---|
| 1366 | is effective (in m). </p> <p>The height levels |
---|
| 1367 | are to be assigned in ascending order. The |
---|
[5] | 1368 | default values result in a humidity constant with height regardless of |
---|
| 1369 | the values of <a href="#q_vertical_gradient">q_vertical_gradient</a> |
---|
| 1370 | (unless the top boundary of the model is higher than 100000.0 m). For |
---|
| 1371 | the piecewise construction of humidity profiles see <a href="#q_vertical_gradient">q_vertical_gradient</a>.</p> |
---|
[61] | 1372 | </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="radiation"></a><b>radiation</b></p> |
---|
| 1373 | </td> <td style="vertical-align: top;">L</td> |
---|
| 1374 | <td style="vertical-align: top;"><i>.F.</i></td> |
---|
| 1375 | <td style="vertical-align: top;"> <p>Parameter to |
---|
| 1376 | switch on longwave radiation cooling at |
---|
| 1377 | cloud-tops. </p> <p>Long-wave radiation |
---|
| 1378 | processes are parameterized by the |
---|
[5] | 1379 | effective emissivity, which considers only the absorption and emission |
---|
| 1380 | of long-wave radiation at cloud droplets. The radiation scheme can be |
---|
| 1381 | used only with <a href="#cloud_physics">cloud_physics</a> |
---|
[61] | 1382 | = .TRUE. .</p> </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="random_generator"></a><b>random_generator</b></p> |
---|
| 1383 | </td> <td style="vertical-align: top;">C * 20</td> |
---|
| 1384 | <td style="vertical-align: top;"> <p><i>'numerical</i><br> |
---|
| 1385 | <i>recipes'</i></p> </td> <td style="vertical-align: top;"> <p>Random number |
---|
| 1386 | generator to be used for creating uniformly |
---|
| 1387 | distributed random numbers. <br> </p> <p>It is |
---|
| 1388 | used if random perturbations are to be imposed on the |
---|
[5] | 1389 | velocity field or on the surface heat flux field (see <a href="chapter_4.2.html#create_disturbances">create_disturbances</a> |
---|
| 1390 | and <a href="chapter_4.2.html#random_heatflux">random_heatflux</a>). |
---|
| 1391 | By default, the "Numerical Recipes" random number generator is used. |
---|
| 1392 | This one provides exactly the same order of random numbers on all |
---|
| 1393 | different machines and should be used in particular for comparison runs.<br> |
---|
[61] | 1394 | <br> |
---|
[5] | 1395 | Besides, a system-specific generator is available ( <b>random_generator</b> |
---|
[61] | 1396 | = <i>'system-specific')</i> which should particularly be |
---|
| 1397 | used for runs |
---|
[5] | 1398 | on vector parallel computers (NEC), because the default generator |
---|
| 1399 | cannot be vectorized and therefore significantly drops down the code |
---|
[61] | 1400 | performance on these machines.<br> </p> <span style="font-weight: bold;">Note:</span><br> |
---|
[5] | 1401 | Results from two otherwise identical model runs will not be comparable |
---|
[61] | 1402 | one-to-one if they used different random number generators.</td> </tr> |
---|
| 1403 | <tr> <td style="vertical-align: top;"> <p><a name="random_heatflux"></a><b>random_heatflux</b></p> |
---|
| 1404 | </td> <td style="vertical-align: top;">L</td> |
---|
| 1405 | <td style="vertical-align: top;"><i>.F.</i></td> |
---|
| 1406 | <td style="vertical-align: top;"> <p>Parameter to |
---|
| 1407 | impose random perturbations on the internal two-dimensional near |
---|
| 1408 | surface heat flux field <span style="font-style: italic;">shf</span>. |
---|
| 1409 | <br> </p>If a near surface heat flux is used as bottom |
---|
| 1410 | boundary |
---|
[5] | 1411 | condition (see <a href="#surface_heatflux">surface_heatflux</a>), |
---|
| 1412 | it is by default assumed to be horizontally homogeneous. Random |
---|
[61] | 1413 | perturbations can be imposed on the internal |
---|
| 1414 | two-dimensional heat flux field <span style="font-style: italic;">shf</span> by assigning <b>random_heatflux</b> |
---|
| 1415 | = <i>.T.</i>. The disturbed heat flux field is calculated |
---|
| 1416 | by |
---|
[5] | 1417 | multiplying the |
---|
| 1418 | values at each mesh point with a normally distributed random number |
---|
| 1419 | with a mean value and standard deviation of 1. This is repeated after |
---|
[61] | 1420 | every timestep.<br> <br> |
---|
| 1421 | In case of a non-flat <a href="#topography">topography</a>, assigning |
---|
| 1422 | <b>random_heatflux</b> |
---|
| 1423 | = <i>.T.</i> imposes random perturbations on the |
---|
| 1424 | combined heat |
---|
| 1425 | flux field <span style="font-style: italic;">shf</span> |
---|
| 1426 | composed of <a href="#surface_heatflux">surface_heatflux</a> |
---|
| 1427 | at the bottom surface and <a href="#wall_heatflux">wall_heatflux(0)</a> |
---|
| 1428 | at the topography top face.</td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="rif_max"></a><b>rif_max</b></p> |
---|
| 1429 | </td> <td style="vertical-align: top;">R</td> |
---|
| 1430 | <td style="vertical-align: top;"><i>1.0</i></td> |
---|
| 1431 | <td style="vertical-align: top;"> <p>Upper limit of |
---|
| 1432 | the flux-Richardson number. </p> <p>With the |
---|
| 1433 | Prandtl layer switched on (see <a href="#prandtl_layer">prandtl_layer</a>), |
---|
| 1434 | flux-Richardson numbers (rif) are calculated for z=z<sub>p</sub> |
---|
| 1435 | (k=1) |
---|
[5] | 1436 | in the 3d-model (in the 1d model for all heights). Their values in |
---|
| 1437 | particular determine the |
---|
| 1438 | values of the friction velocity (1d- and 3d-model) and the values of |
---|
| 1439 | the eddy diffusivity (1d-model). With small wind velocities at the |
---|
| 1440 | Prandtl layer top or small vertical wind shears in the 1d-model, rif |
---|
[61] | 1441 | can take up unrealistic large values. They are limited by an upper (<span style="font-weight: bold;">rif_max</span>) and lower |
---|
| 1442 | limit (see <a href="#rif_min">rif_min</a>) |
---|
| 1443 | for the flux-Richardson number. The condition <b>rif_max</b> |
---|
| 1444 | > <b>rif_min</b> |
---|
| 1445 | must be met.</p> </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="rif_min"></a><b>rif_min</b></p> |
---|
| 1446 | </td> <td style="vertical-align: top;">R</td> |
---|
| 1447 | <td style="vertical-align: top;"><i>- 5.0</i></td> |
---|
| 1448 | <td style="vertical-align: top;"> <p>Lower limit of |
---|
| 1449 | the flux-Richardson number. </p> <p>For further |
---|
| 1450 | explanations see <a href="#rif_max">rif_max</a>. |
---|
| 1451 | The condition <b>rif_max</b> > <b>rif_min </b>must |
---|
| 1452 | be met.</p> </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="roughness_length"></a><b>roughness_length</b></p> |
---|
| 1453 | </td> <td style="vertical-align: top;">R</td> |
---|
| 1454 | <td style="vertical-align: top;"><i>0.1</i></td> |
---|
| 1455 | <td style="vertical-align: top;"> <p>Roughness |
---|
| 1456 | length (in m). </p> <p>This parameter is |
---|
| 1457 | effective only in case that a Prandtl layer |
---|
[5] | 1458 | is switched |
---|
| 1459 | on (see <a href="#prandtl_layer">prandtl_layer</a>).</p> |
---|
[61] | 1460 | </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="scalar_advec"></a><b>scalar_advec</b></p> |
---|
| 1461 | </td> <td style="vertical-align: top;">C * 10</td> |
---|
| 1462 | <td style="vertical-align: top;"><i>'pw-scheme'</i></td> |
---|
| 1463 | <td style="vertical-align: top;"> <p>Advection |
---|
| 1464 | scheme to be used for the scalar quantities. </p> <p>The |
---|
| 1465 | user can choose between the following schemes:<br> </p> <p><span style="font-style: italic;">'pw-scheme'</span><br> |
---|
| 1466 | </p> <div style="margin-left: 40px;">The scheme of |
---|
| 1467 | Piascek and |
---|
[5] | 1468 | Williams (1970, J. Comp. Phys., 6, |
---|
| 1469 | 392-405) with central differences in the form C3 is used.<br> |
---|
| 1470 | If intermediate Euler-timesteps are carried out in case of <a href="#timestep_scheme">timestep_scheme</a> |
---|
[61] | 1471 | = <span style="font-style: italic;">'leapfrog+euler'</span> |
---|
| 1472 | the |
---|
[5] | 1473 | advection scheme is - for the Euler-timestep - automatically switched |
---|
[61] | 1474 | to an upstream-scheme. <br> </div> <br> <p><span style="font-style: italic;">'bc-scheme'</span><br> |
---|
| 1475 | </p> <div style="margin-left: 40px;">The Bott |
---|
| 1476 | scheme modified by |
---|
[5] | 1477 | Chlond (1994, Mon. |
---|
| 1478 | Wea. Rev., 122, 111-125). This is a conservative monotonous scheme with |
---|
| 1479 | very small numerical diffusion and therefore very good conservation of |
---|
| 1480 | scalar flow features. The scheme however, is computationally very |
---|
| 1481 | expensive both because it is expensive itself and because it does (so |
---|
| 1482 | far) not allow specific code optimizations (e.g. cache optimization). |
---|
| 1483 | Choice of this |
---|
| 1484 | scheme forces the Euler timestep scheme to be used for the scalar |
---|
| 1485 | quantities. For output of horizontally averaged |
---|
| 1486 | profiles of the resolved / total heat flux, <a href="chapter_4.2.html#data_output_pr">data_output_pr</a> |
---|
[61] | 1487 | = <i>'w*pt*BC'</i> / <i>'wptBC' </i>should |
---|
| 1488 | be used, instead of the |
---|
[5] | 1489 | standard profiles (<span style="font-style: italic;">'w*pt*'</span> |
---|
[61] | 1490 | and <span style="font-style: italic;">'wpt'</span>) |
---|
| 1491 | because these are |
---|
[5] | 1492 | too inaccurate with this scheme. However, for subdomain analysis (see <a href="#statistic_regions">statistic_regions</a>) |
---|
| 1493 | exactly the reverse holds: here <i>'w*pt*BC'</i> and <i>'wptBC'</i> |
---|
[61] | 1494 | show very large errors and should not be used.<br> <br> |
---|
[5] | 1495 | This scheme is not allowed for non-cyclic lateral boundary conditions |
---|
| 1496 | (see <a href="#bc_lr">bc_lr</a> |
---|
[61] | 1497 | and <a href="#bc_ns">bc_ns</a>).<br> <br> |
---|
| 1498 | </div> <span style="font-style: italic;">'ups-scheme'</span><br> |
---|
| 1499 | <p style="margin-left: 40px;">The upstream-spline-scheme |
---|
| 1500 | is used |
---|
[5] | 1501 | (see Mahrer and Pielke, |
---|
| 1502 | 1978: Mon. Wea. Rev., 106, 818-830). In opposite to the Piascek |
---|
| 1503 | Williams scheme, this is characterized by much better numerical |
---|
| 1504 | features (less numerical diffusion, better preservation of flux |
---|
| 1505 | structures, e.g. vortices), but computationally it is much more |
---|
| 1506 | expensive. In |
---|
| 1507 | addition, the use of the Euler-timestep scheme is mandatory (<a href="#timestep_scheme">timestep_scheme</a> |
---|
[61] | 1508 | = <span style="font-style: italic;">'</span><i>euler'</i>), |
---|
| 1509 | i.e. the |
---|
[5] | 1510 | timestep accuracy is only first order. For this reason the advection of |
---|
| 1511 | momentum (see <a href="#momentum_advec">momentum_advec</a>) |
---|
| 1512 | should then also be carried out with the upstream-spline scheme, |
---|
| 1513 | because otherwise the momentum would |
---|
| 1514 | be subject to large numerical diffusion due to the upstream |
---|
[61] | 1515 | scheme. </p> <p style="margin-left: 40px;">Since |
---|
| 1516 | the cubic splines used tend |
---|
[5] | 1517 | to overshoot under |
---|
| 1518 | certain circumstances, this effect must be adjusted by suitable |
---|
| 1519 | filtering and smoothing (see <a href="#cut_spline_overshoot">cut_spline_overshoot</a>, |
---|
[61] | 1520 | <a href="#long_filter_factor">long_filter_factor</a>, |
---|
| 1521 | <a href="#ups_limit_pt">ups_limit_pt</a>, <a href="#ups_limit_u">ups_limit_u</a>, <a href="#ups_limit_v">ups_limit_v</a>, <a href="#ups_limit_w">ups_limit_w</a>). |
---|
[5] | 1522 | This is always neccesssary for runs with stable stratification, |
---|
| 1523 | even if this stratification appears only in parts of the model |
---|
[61] | 1524 | domain. </p> <p style="margin-left: 40px;">With |
---|
| 1525 | stable stratification the |
---|
[5] | 1526 | upstream-upline scheme also produces gravity waves with large |
---|
| 1527 | amplitude, which must be |
---|
| 1528 | suitably damped (see <a href="chapter_4.2.html#rayleigh_damping_factor">rayleigh_damping_factor</a>).<br> |
---|
[61] | 1529 | </p> <p style="margin-left: 40px;"><span style="font-weight: bold;">Important: </span>The |
---|
[5] | 1530 | upstream-spline scheme is not implemented for humidity and passive |
---|
| 1531 | scalars (see <a href="#moisture">moisture</a> |
---|
| 1532 | and <a href="#passive_scalar">passive_scalar</a>) |
---|
| 1533 | and requires the use of a 2d-domain-decomposition. The last conditions |
---|
| 1534 | severely restricts code optimization on several machines leading to |
---|
| 1535 | very long execution times! This scheme is also not allowed for |
---|
| 1536 | non-cyclic lateral boundary conditions (see <a href="#bc_lr">bc_lr</a> |
---|
[61] | 1537 | and <a href="#bc_ns">bc_ns</a>).</p><br>A |
---|
| 1538 | differing advection scheme can be choosed for the subgrid-scale TKE |
---|
| 1539 | using parameter <a href="chapter_4.1.html#use_upstream_for_tke">use_upstream_for_tke</a>.</td> |
---|
| 1540 | </tr> <tr> <td style="vertical-align: top;"> |
---|
| 1541 | <p><a name="statistic_regions"></a><b>statistic_regions</b></p> |
---|
| 1542 | </td> <td style="vertical-align: top;">I</td> |
---|
| 1543 | <td style="vertical-align: top;"><i>0</i></td> |
---|
| 1544 | <td style="vertical-align: top;"> <p>Number of |
---|
| 1545 | additional user-defined subdomains for which |
---|
[5] | 1546 | statistical analysis |
---|
[61] | 1547 | and corresponding output (profiles, time series) shall be |
---|
| 1548 | made. </p> <p>By default, vertical profiles and |
---|
| 1549 | other statistical quantities |
---|
[5] | 1550 | are calculated as horizontal and/or volume average of the total model |
---|
| 1551 | domain. Beyond that, these calculations can also be carried out for |
---|
[61] | 1552 | subdomains which can be defined using the field <a href="chapter_3.5.3.html">rmask </a>within the |
---|
| 1553 | user-defined software |
---|
[5] | 1554 | (see <a href="chapter_3.5.3.html">chapter |
---|
| 1555 | 3.5.3</a>). The number of these subdomains is determined with the |
---|
[61] | 1556 | parameter <b>statistic_regions</b>. Maximum 9 additional |
---|
| 1557 | subdomains |
---|
[5] | 1558 | are allowed. The parameter <a href="chapter_4.3.html#region">region</a> |
---|
| 1559 | can be used to assigned names (identifier) to these subdomains which |
---|
| 1560 | are then used in the headers |
---|
[61] | 1561 | of the output files and plots.</p><p>If the default NetCDF |
---|
| 1562 | output format is selected (see parameter <a href="chapter_4.2.html#data_output_format">data_output_format</a>), |
---|
| 1563 | data for the total domain and all defined subdomains are output to the |
---|
| 1564 | same file(s) (<a href="chapter_3.4.html#DATA_1D_PR_NETCDF">DATA_1D_PR_NETCDF</a>, |
---|
| 1565 | <a href="chapter_3.4.html#DATA_1D_TS_NETCDF">DATA_1D_TS_NETCDF</a>). |
---|
| 1566 | In case of <span style="font-weight: bold;">statistic_regions</span> |
---|
| 1567 | > <span style="font-style: italic;">0</span>, |
---|
[5] | 1568 | data on the file for the different domains can be distinguished by a |
---|
| 1569 | suffix which is appended to the quantity names. Suffix 0 means data for |
---|
[61] | 1570 | the total domain, suffix 1 means data for subdomain 1, etc.</p><p>In |
---|
| 1571 | case of <span style="font-weight: bold;">data_output_format</span> |
---|
| 1572 | = <span style="font-style: italic;">'profil'</span>, |
---|
| 1573 | individual local files for profiles (<a href="chapter_3.4.html#PLOT1D_DATA">PLOT1D_DATA</a>) are |
---|
| 1574 | created for each subdomain. The individual subdomain files differ by |
---|
| 1575 | their name (the |
---|
[5] | 1576 | number of the respective subdomain is attached, e.g. |
---|
[48] | 1577 | PLOT1D_DATA_1). In this case the name of the file with the data of |
---|
| 1578 | the total domain is PLOT1D_DATA_0. If no subdomains |
---|
[61] | 1579 | are declared (<b>statistic_regions</b> = <i>0</i>), |
---|
| 1580 | the name |
---|
[48] | 1581 | PLOT1D_DATA is used (this must be considered in the |
---|
[61] | 1582 | respective file connection statements of the <span style="font-weight: bold;">mrun</span> configuration |
---|
| 1583 | file).</p> </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="surface_heatflux"></a><b>surface_heatflux</b></p> |
---|
| 1584 | </td> <td style="vertical-align: top;">R</td> |
---|
| 1585 | <td style="vertical-align: top;"><span style="font-style: italic;">no prescribed<br> |
---|
| 1586 | heatflux<br> </span></td> <td style="vertical-align: top;"> <p>Kinematic sensible |
---|
| 1587 | heat flux at the bottom surface (in K m/s). </p> <p>If |
---|
| 1588 | a value is assigned to this parameter, the internal two-dimensional |
---|
| 1589 | surface heat flux field <span style="font-style: italic;">shf</span> |
---|
| 1590 | is initialized with the value of <span style="font-weight: bold;">surface_heatflux</span> as |
---|
| 1591 | bottom (horizontally homogeneous) boundary condition for the |
---|
[5] | 1592 | temperature equation. This additionally requires that a Neumann |
---|
| 1593 | condition must be used for the potential temperature (see <a href="#bc_pt_b">bc_pt_b</a>), |
---|
| 1594 | because otherwise the resolved scale may contribute to |
---|
| 1595 | the surface flux so that a constant value cannot be guaranteed. Also, |
---|
| 1596 | changes of the |
---|
| 1597 | surface temperature (see <a href="#pt_surface_initial_change">pt_surface_initial_change</a>) |
---|
| 1598 | are not allowed. The parameter <a href="#random_heatflux">random_heatflux</a> |
---|
[61] | 1599 | can be used to impose random perturbations on the (homogeneous) surface |
---|
| 1600 | heat |
---|
[5] | 1601 | flux field <span style="font-style: italic;">shf</span>. </p> |
---|
[61] | 1602 | <p> |
---|
| 1603 | In case of a non-flat <a href="#topography">topography</a>, the |
---|
| 1604 | internal two-dimensional surface heat |
---|
| 1605 | flux field <span style="font-style: italic;">shf</span> |
---|
| 1606 | is initialized with the value of <span style="font-weight: bold;">surface_heatflux</span> |
---|
| 1607 | at the bottom surface and <a href="#wall_heatflux">wall_heatflux(0)</a> |
---|
| 1608 | at the topography top face. The parameter<a href="#random_heatflux"> random_heatflux</a> |
---|
| 1609 | can be used to impose random perturbations on this combined surface |
---|
| 1610 | heat |
---|
| 1611 | flux field <span style="font-style: italic;">shf</span>. |
---|
| 1612 | </p> <p>If no surface heat flux is assigned, <span style="font-style: italic;">shf</span> is calculated |
---|
| 1613 | at each timestep by u<sub>*</sub> * theta<sub>*</sub> |
---|
| 1614 | (of course only with <a href="#prandtl_layer">prandtl_layer</a> |
---|
| 1615 | switched on). Here, u<sub>*</sub> |
---|
| 1616 | and theta<sub>*</sub> are calculated from the Prandtl law |
---|
| 1617 | assuming |
---|
[5] | 1618 | logarithmic wind and temperature |
---|
| 1619 | profiles between k=0 and k=1. In this case a Dirichlet condition (see <a href="#bc_pt_b">bc_pt_b</a>) |
---|
[61] | 1620 | must be used as bottom boundary condition for the potential temperature.</p><p>See |
---|
| 1621 | also <a href="#top_heatflux">top_heatflux</a>.</p> |
---|
| 1622 | </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="surface_pressure"></a><b>surface_pressure</b></p> |
---|
| 1623 | </td> <td style="vertical-align: top;">R</td> |
---|
| 1624 | <td style="vertical-align: top;"><i>1013.25</i></td> |
---|
| 1625 | <td style="vertical-align: top;"> <p>Atmospheric |
---|
| 1626 | pressure at the surface (in hPa). </p> |
---|
[5] | 1627 | Starting from this surface value, the vertical pressure |
---|
| 1628 | profile is calculated once at the beginning of the run assuming a |
---|
| 1629 | neutrally stratified |
---|
| 1630 | atmosphere. This is needed for |
---|
| 1631 | converting between the liquid water potential temperature and the |
---|
| 1632 | potential temperature (see <a href="#cloud_physics">cloud_physics</a><span style="text-decoration: underline;"></span>).</td> |
---|
[61] | 1633 | </tr> <tr> <td style="vertical-align: top;"> |
---|
| 1634 | <p><a name="surface_scalarflux"></a><b>surface_scalarflux</b></p> |
---|
| 1635 | </td> <td style="vertical-align: top;">R</td> |
---|
| 1636 | <td style="vertical-align: top;"><i>0.0</i></td> |
---|
| 1637 | <td style="vertical-align: top;"> <p>Scalar flux at |
---|
| 1638 | the surface (in kg/(m<sup>2</sup> s)). </p> |
---|
| 1639 | <p>If a non-zero value is assigned to this parameter, the |
---|
[5] | 1640 | respective scalar flux value is used |
---|
| 1641 | as bottom (horizontally homogeneous) boundary condition for the scalar |
---|
[61] | 1642 | concentration equation. This additionally requires that a |
---|
| 1643 | Neumann |
---|
[5] | 1644 | condition must be used for the scalar concentration (see <a href="#bc_s_b">bc_s_b</a>), |
---|
| 1645 | because otherwise the resolved scale may contribute to |
---|
| 1646 | the surface flux so that a constant value cannot be guaranteed. Also, |
---|
| 1647 | changes of the |
---|
| 1648 | surface scalar concentration (see <a href="#s_surface_initial_change">s_surface_initial_change</a>) |
---|
[61] | 1649 | are not allowed. <br> </p> <p>If no surface scalar |
---|
| 1650 | flux is assigned (<b>surface_scalarflux</b> |
---|
[5] | 1651 | = <i>0.0</i>), |
---|
| 1652 | it is calculated at each timestep by u<sub>*</sub> * s<sub>*</sub> |
---|
| 1653 | (of course only with Prandtl layer switched on). Here, s<sub>*</sub> |
---|
| 1654 | is calculated from the Prandtl law assuming a logarithmic scalar |
---|
| 1655 | concentration |
---|
| 1656 | profile between k=0 and k=1. In this case a Dirichlet condition (see <a href="#bc_s_b">bc_s_b</a>) |
---|
| 1657 | must be used as bottom boundary condition for the scalar concentration.</p> |
---|
[61] | 1658 | </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="surface_waterflux"></a><b>surface_waterflux</b></p> |
---|
| 1659 | </td> <td style="vertical-align: top;">R</td> |
---|
| 1660 | <td style="vertical-align: top;"><i>0.0</i></td> |
---|
| 1661 | <td style="vertical-align: top;"> <p>Kinematic |
---|
| 1662 | water flux near the surface (in m/s). </p> <p>If |
---|
| 1663 | a non-zero value is assigned to this parameter, the |
---|
[5] | 1664 | respective water flux value is used |
---|
| 1665 | as bottom (horizontally homogeneous) boundary condition for the |
---|
| 1666 | humidity equation. This additionally requires that a Neumann |
---|
| 1667 | condition must be used for the specific humidity / total water content |
---|
| 1668 | (see <a href="#bc_q_b">bc_q_b</a>), |
---|
| 1669 | because otherwise the resolved scale may contribute to |
---|
| 1670 | the surface flux so that a constant value cannot be guaranteed. Also, |
---|
| 1671 | changes of the |
---|
| 1672 | surface humidity (see <a href="#q_surface_initial_change">q_surface_initial_change</a>) |
---|
[61] | 1673 | are not allowed.<br> </p> <p>If no surface water |
---|
| 1674 | flux is assigned (<b>surface_waterflux</b> |
---|
[5] | 1675 | = <i>0.0</i>), |
---|
| 1676 | it is calculated at each timestep by u<sub>*</sub> * q<sub>*</sub> |
---|
| 1677 | (of course only with Prandtl layer switched on). Here, q<sub>*</sub> |
---|
| 1678 | is calculated from the Prandtl law assuming a logarithmic temperature |
---|
| 1679 | profile between k=0 and k=1. In this case a Dirichlet condition (see <a href="#bc_q_b">bc_q_b</a>) |
---|
| 1680 | must be used as the bottom boundary condition for the humidity.</p> |
---|
[61] | 1681 | </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="s_surface"></a><b>s_surface</b></p> |
---|
| 1682 | </td> <td style="vertical-align: top;">R</td> |
---|
| 1683 | <td style="vertical-align: top;"><i>0.0</i></td> |
---|
| 1684 | <td style="vertical-align: top;"> <p>Surface value |
---|
| 1685 | of the passive scalar (in kg/m<sup>3</sup>). <br> |
---|
| 1686 | </p> |
---|
[5] | 1687 | This parameter assigns the value of the passive scalar s at |
---|
| 1688 | the surface (k=0)<b>.</b> Starting from this value, the |
---|
| 1689 | initial vertical scalar concentration profile is constructed with<a href="#s_vertical_gradient"> |
---|
| 1690 | s_vertical_gradient</a> and <a href="#s_vertical_gradient_level">s_vertical_gradient_level</a>.</td> |
---|
[61] | 1691 | </tr> <tr> <td style="vertical-align: top;"> |
---|
| 1692 | <p><a name="s_surface_initial_change"></a><b>s_surface_initial</b> |
---|
| 1693 | <br> <b>_change</b></p> </td> <td style="vertical-align: top;">R</td> <td style="vertical-align: top;"><i>0.0</i></td> |
---|
| 1694 | <td style="vertical-align: top;"> <p>Change in |
---|
| 1695 | surface scalar concentration to be made at the |
---|
[5] | 1696 | beginning of the 3d run (in kg/m<sup>3</sup>). </p> |
---|
[61] | 1697 | <p>If <b>s_surface_initial_change</b><i> </i>is |
---|
| 1698 | set to a |
---|
[5] | 1699 | non-zero |
---|
| 1700 | value, the near surface scalar flux is not allowed to be given |
---|
| 1701 | simultaneously (see <a href="#surface_scalarflux">surface_scalarflux</a>).</p> |
---|
[61] | 1702 | </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="s_vertical_gradient"></a><b>s_vertical_gradient</b></p> |
---|
| 1703 | </td> <td style="vertical-align: top;">R (10)</td> |
---|
| 1704 | <td style="vertical-align: top;"><i>10 * 0</i><i>.0</i></td> |
---|
| 1705 | <td style="vertical-align: top;"> <p>Scalar |
---|
| 1706 | concentration gradient(s) of the initial scalar |
---|
[5] | 1707 | concentration profile (in kg/m<sup>3 </sup>/ |
---|
[61] | 1708 | 100 m). </p> <p>The scalar gradient holds |
---|
| 1709 | starting from the height level |
---|
[5] | 1710 | defined by <a href="#s_vertical_gradient_level">s_vertical_gradient_level |
---|
[61] | 1711 | </a>(precisely: for all uv levels k, where zu(k) > |
---|
[5] | 1712 | s_vertical_gradient_level, s_init(k) is set: s_init(k) = s_init(k-1) + |
---|
[61] | 1713 | dzu(k) * <b>s_vertical_gradient</b>) up to the top |
---|
| 1714 | boundary or up to |
---|
[5] | 1715 | the next height level defined by <a href="#s_vertical_gradient_level">s_vertical_gradient_level</a>. |
---|
| 1716 | A total of 10 different gradients for 11 height intervals (10 intervals |
---|
| 1717 | if <a href="#s_vertical_gradient_level">s_vertical_gradient_level</a>(1) |
---|
[61] | 1718 | = <i>0.0</i>) can be assigned. The surface scalar value is |
---|
| 1719 | assigned |
---|
| 1720 | via <a href="#s_surface">s_surface</a>.<br> </p> |
---|
| 1721 | <p>Example: </p> <ul> <p><b>s_vertical_gradient</b> |
---|
| 1722 | = <i>0.1</i>, <i>0.05</i>, <br> |
---|
| 1723 | <b>s_vertical_gradient_level</b> = <i>500.0</i>, |
---|
| 1724 | <i>1000.0</i>,</p> </ul> <p>That |
---|
| 1725 | defines the scalar concentration to be constant with |
---|
[5] | 1726 | height up to z = 500.0 m with a value given by <a href="#s_surface">s_surface</a>. |
---|
| 1727 | For 500.0 m < z <= 1000.0 m the scalar gradient is 0.1 |
---|
[61] | 1728 | kg/m<sup>3 </sup>/ 100 m and for z > 1000.0 m up to |
---|
| 1729 | the top |
---|
| 1730 | boundary it is 0.05 kg/m<sup>3 </sup>/ 100 m (it is |
---|
| 1731 | assumed that the |
---|
[5] | 1732 | assigned height levels |
---|
| 1733 | correspond with uv |
---|
[61] | 1734 | levels).</p> </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="s_vertical_gradient_level"></a><b>s_vertical_gradient_</b> |
---|
| 1735 | <br> <b>level</b></p> </td> <td style="vertical-align: top;">R (10)</td> <td style="vertical-align: top;"> <p><i>10 *</i> |
---|
| 1736 | <i>0.0</i></p> </td> <td style="vertical-align: top;"> <p>Height level from |
---|
| 1737 | which on the scalar gradient defined by <a href="#s_vertical_gradient">s_vertical_gradient</a> |
---|
| 1738 | is effective (in m). </p> <p>The height levels |
---|
| 1739 | are to be assigned in ascending order. The |
---|
[5] | 1740 | default values result in a scalar concentration constant with height |
---|
| 1741 | regardless of the values of <a href="#s_vertical_gradient">s_vertical_gradient</a> |
---|
| 1742 | (unless the top boundary of the model is higher than 100000.0 m). For |
---|
| 1743 | the |
---|
| 1744 | piecewise construction of scalar concentration profiles see <a href="#s_vertical_gradient">s_vertical_gradient</a>.</p> |
---|
[61] | 1745 | </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="timestep_scheme"></a><b>timestep_scheme</b></p> |
---|
| 1746 | </td> <td style="vertical-align: top;">C * 20</td> |
---|
| 1747 | <td style="vertical-align: top;"> <p><i>'runge</i><br> |
---|
| 1748 | <i>kutta-3'</i></p> </td> <td style="vertical-align: top;"> <p>Time step scheme to |
---|
| 1749 | be used for the integration of the prognostic |
---|
| 1750 | variables. </p> <p>The user can choose between |
---|
| 1751 | the following schemes:<br> </p> <p><span style="font-style: italic;">'runge-kutta-3'</span><br> |
---|
| 1752 | </p> <div style="margin-left: 40px;">Third order |
---|
| 1753 | Runge-Kutta scheme.<br> |
---|
[5] | 1754 | This scheme requires the use of <a href="#momentum_advec">momentum_advec</a> |
---|
| 1755 | = <a href="#scalar_advec">scalar_advec</a> |
---|
[61] | 1756 | = '<i>pw-scheme'</i>. Please refer to the <a href="../tec/numerik.heiko/zeitschrittverfahren.pdf">documentation |
---|
| 1757 | on PALM's time integration schemes (28p., in German)</a> |
---|
| 1758 | fur further details.<br> </div> <p><span style="font-style: italic;">'runge-kutta-2'</span><br> |
---|
| 1759 | </p> <div style="margin-left: 40px;">Second order |
---|
| 1760 | Runge-Kutta scheme.<br> |
---|
[5] | 1761 | For special features see <b>timestep_scheme</b> = '<i>runge-kutta-3'</i>.<br> |
---|
[61] | 1762 | </div> <br> <span style="font-style: italic;"><span style="font-style: italic;">'leapfrog'</span><br> |
---|
| 1763 | <br> </span> <div style="margin-left: 40px;">Second |
---|
| 1764 | order leapfrog scheme.<br> |
---|
[5] | 1765 | Although this scheme requires a constant timestep (because it is |
---|
| 1766 | centered in time), is even applied in case of changes in |
---|
| 1767 | timestep. Therefore, only small |
---|
| 1768 | changes of the timestep are allowed (see <a href="#dt">dt</a>). |
---|
| 1769 | However, an Euler timestep is always used as the first timestep of an |
---|
| 1770 | initiali run. When using the Bott-Chlond scheme for scalar advection |
---|
| 1771 | (see <a href="#scalar_advec">scalar_advec</a>), |
---|
| 1772 | the prognostic equation for potential temperature will be calculated |
---|
| 1773 | with the Euler scheme, although the leapfrog scheme is switched |
---|
| 1774 | on. <br> |
---|
| 1775 | The leapfrog scheme must not be used together with the upstream-spline |
---|
| 1776 | scheme for calculating the advection (see <a href="#scalar_advec">scalar_advec</a> |
---|
| 1777 | = '<i>ups-scheme'</i> and <a href="#momentum_advec">momentum_advec</a> |
---|
[61] | 1778 | = '<i>ups-scheme'</i>).<br> </div> <br> |
---|
| 1779 | <span style="font-style: italic;">'</span><span style="font-style: italic;"><span style="font-style: italic;">leapfrog+euler'</span><br> |
---|
| 1780 | <br> </span> <div style="margin-left: 40px;">The |
---|
| 1781 | leapfrog scheme is used, but |
---|
[5] | 1782 | after each change of a timestep an Euler timestep is carried out. |
---|
| 1783 | Although this method is theoretically correct (because the pure |
---|
| 1784 | leapfrog method does not allow timestep changes), the divergence of the |
---|
| 1785 | velocity field (after applying the pressure solver) may be |
---|
| 1786 | significantly larger than with <span style="font-style: italic;">'leapfrog'</span>.<br> |
---|
[61] | 1787 | </div> <br> <span style="font-style: italic;">'euler'</span><br> |
---|
| 1788 | <br> <div style="margin-left: 40px;">First order |
---|
| 1789 | Euler scheme. <br> |
---|
[5] | 1790 | The Euler scheme must be used when treating the advection terms with |
---|
| 1791 | the upstream-spline scheme (see <a href="#scalar_advec">scalar_advec</a> |
---|
[61] | 1792 | = <span style="font-style: italic;">'ups-scheme'</span> |
---|
| 1793 | and <a href="#momentum_advec">momentum_advec</a> |
---|
[5] | 1794 | = <span style="font-style: italic;">'ups-scheme'</span>).</div> |
---|
[61] | 1795 | <br><br>A differing timestep scheme can be choosed for the |
---|
| 1796 | subgrid-scale TKE using parameter <a href="#use_upstream_for_tke">use_upstream_for_tke</a>.<br> |
---|
| 1797 | </td> </tr> <tr> <td style="text-align: left; vertical-align: top;"><span style="font-weight: bold;"><a name="topography"></a></span><span style="font-weight: bold;">topography</span></td> |
---|
| 1798 | <td style="vertical-align: top;">C * 40</td> <td style="vertical-align: top;"><span style="font-style: italic;">'flat'</span></td> <td> |
---|
| 1799 | <p>Topography mode. </p> <p>The user can |
---|
| 1800 | choose between the following modes:<br> </p> <p><span style="font-style: italic;">'flat'</span><br> </p> |
---|
| 1801 | <div style="margin-left: 40px;">Flat surface.</div> <p><span style="font-style: italic;">'single_building'</span><br> |
---|
| 1802 | </p> <div style="margin-left: 40px;">Flow |
---|
| 1803 | around a single rectangular building mounted on a flat surface.<br> |
---|
[5] | 1804 | The building size and location can be specified with the parameters <a href="#building_height">building_height</a>, <a href="#building_length_x">building_length_x</a>, <a href="#building_length_y">building_length_y</a>, <a href="#building_wall_left">building_wall_left</a> and <a href="#building_wall_south">building_wall_south</a>.</div> |
---|
[61] | 1805 | <span style="font-style: italic;"></span> <p><span style="font-style: italic;">'read_from_file'</span><br> |
---|
| 1806 | </p> <div style="margin-left: 40px;">Flow around |
---|
| 1807 | arbitrary topography.<br> |
---|
| 1808 | This mode requires the input file <a href="chapter_3.4.html#TOPOGRAPHY_DATA">TOPOGRAPHY_DATA</a><font color="#000000">. This file contains </font><font color="#000000"><font color="#000000">the </font></font><font color="#000000">arbitrary topography </font><font color="#000000"><font color="#000000">height |
---|
| 1809 | information</font></font><font color="#000000"> |
---|
| 1810 | in m. These data <span style="font-style: italic;"></span>must |
---|
| 1811 | exactly match the horizontal grid.</font> </div> <span style="font-style: italic;"><br> </span><font color="#000000"> |
---|
| 1812 | Alternatively, the user may add code to the user interface subroutine <a href="chapter_3.5.1.html#user_init_grid">user_init_grid</a> |
---|
| 1813 | to allow further topography modes.<br> <br> |
---|
| 1814 | All non-flat <span style="font-weight: bold;">topography</span> |
---|
| 1815 | modes </font>require the use of <a href="#momentum_advec">momentum_advec</a> |
---|
[5] | 1816 | = <a href="#scalar_advec">scalar_advec</a> |
---|
[61] | 1817 | = '<i>pw-scheme'</i>, <a href="chapter_4.2.html#psolver">psolver</a> |
---|
| 1818 | = <i>'poisfft'</i> or '<i>poisfft_hybrid'</i>, |
---|
| 1819 | <i> </i><a href="#alpha_surface">alpha_surface</a> |
---|
| 1820 | = 0.0, <a href="#bc_lr">bc_lr</a> = <a href="#bc_ns">bc_ns</a> = <span style="font-style: italic;">'cyclic'</span>, <a style="" href="#galilei_transformation">galilei_transformation</a> |
---|
| 1821 | = <span style="font-style: italic;">.F.</span>, <a href="#cloud_physics">cloud_physics </a> = <span style="font-style: italic;">.F.</span>, <a href="#cloud_droplets">cloud_droplets</a> = <span style="font-style: italic;">.F.</span>, <a href="#moisture">moisture</a> = <span style="font-style: italic;">.F.</span>, and <a href="#prandtl_layer">prandtl_layer</a> = .T..<br> |
---|
| 1822 | <font color="#000000"><br> |
---|
| 1823 | Note that an inclined model domain requires the use of <span style="font-weight: bold;">topography</span> = <span style="font-style: italic;">'flat'</span> and a |
---|
| 1824 | nonzero </font><a href="#alpha_surface">alpha_surface</a>.</td> |
---|
| 1825 | </tr> <tr><td style="vertical-align: top;"><a name="top_heatflux"></a><span style="font-weight: bold;">top_heatflux</span></td><td style="vertical-align: top;">R</td><td style="vertical-align: top;"><span style="font-style: italic;">no prescribed<br> |
---|
| 1826 | heatflux</span></td><td style="vertical-align: top;"><p>Kinematic |
---|
| 1827 | sensible heat flux at the top boundary (in K m/s). </p> |
---|
| 1828 | <p>If a value is assigned to this parameter, the internal |
---|
| 1829 | two-dimensional surface heat flux field <span style="font-family: monospace;">tswst</span> is |
---|
| 1830 | initialized with the value of <span style="font-weight: bold;">top_heatflux</span> as |
---|
| 1831 | top (horizontally homogeneous) boundary condition for the |
---|
[40] | 1832 | temperature equation. This additionally requires that a Neumann |
---|
| 1833 | condition must be used for the potential temperature (see <a href="chapter_4.1.html#bc_pt_t">bc_pt_t</a>), |
---|
| 1834 | because otherwise the resolved scale may contribute to |
---|
| 1835 | the top flux so that a constant value cannot be guaranteed.<span style="font-style: italic;"></span> </p> |
---|
[61] | 1836 | <p><span style="font-weight: bold;">Note:</span><br>The |
---|
| 1837 | application of a top heat flux additionally requires the setting of |
---|
| 1838 | initial parameter <a href="#use_top_fluxes">use_top_fluxes</a> |
---|
| 1839 | = .T..<span style="font-style: italic;"></span><span style="font-weight: bold;"></span> </p><p>No |
---|
| 1840 | Prandtl-layer is available at the top boundary so far.</p><p>See |
---|
| 1841 | also <a href="#surface_heatflux">surface_heatflux</a>.</p> |
---|
| 1842 | </td></tr><tr> <td style="vertical-align: top;"> |
---|
| 1843 | <p><a name="ug_surface"></a><span style="font-weight: bold;">ug_surface</span></p> |
---|
| 1844 | </td> <td style="vertical-align: top;">R<br> </td> |
---|
| 1845 | <td style="vertical-align: top;"><span style="font-style: italic;">0.0</span><br> </td> |
---|
| 1846 | <td style="vertical-align: top;">u-component of the |
---|
| 1847 | geostrophic |
---|
| 1848 | wind at the surface (in m/s).<br> <br> |
---|
[5] | 1849 | This parameter assigns the value of the u-component of the geostrophic |
---|
| 1850 | wind (ug) at the surface (k=0). Starting from this value, the initial |
---|
| 1851 | vertical profile of the <br> |
---|
[61] | 1852 | u-component of the geostrophic wind is constructed with <a href="#ug_vertical_gradient">ug_vertical_gradient</a> |
---|
| 1853 | and <a href="#ug_vertical_gradient_level">ug_vertical_gradient_level</a>. |
---|
| 1854 | The |
---|
[5] | 1855 | profile constructed in that way is used for creating the initial |
---|
| 1856 | vertical velocity profile of the 3d-model. Either it is applied, as it |
---|
| 1857 | has been specified by the user (<a href="#initializing_actions">initializing_actions</a> |
---|
| 1858 | = 'set_constant_profiles') or it is used for calculating a stationary |
---|
| 1859 | boundary layer wind profile (<a href="#initializing_actions">initializing_actions</a> |
---|
[61] | 1860 | = 'set_1d-model_profiles'). If ug is constant with height (i.e. ug(k)=<span style="font-weight: bold;">ug_surface</span>) |
---|
| 1861 | and has a large |
---|
[5] | 1862 | value, it is recommended to use a Galilei-transformation of the |
---|
| 1863 | coordinate system, if possible (see <a href="#galilei_transformation">galilei_transformation</a>), |
---|
[61] | 1864 | in order to obtain larger time steps.<br> </td> </tr> |
---|
| 1865 | <tr> <td style="vertical-align: top;"> <p><a name="ug_vertical_gradient"></a><span style="font-weight: bold;">ug_vertical_gradient</span></p> |
---|
| 1866 | </td> <td style="vertical-align: top;">R(10)<br> |
---|
| 1867 | </td> <td style="vertical-align: top;"><span style="font-style: italic;">10 |
---|
| 1868 | * 0.0</span><br> </td> <td style="vertical-align: top;">Gradient(s) of the initial |
---|
| 1869 | profile of the u-component of the geostrophic wind (in |
---|
| 1870 | 1/100s).<br> <br> |
---|
[5] | 1871 | The gradient holds starting from the height level defined by <a href="#ug_vertical_gradient_level">ug_vertical_gradient_level</a> |
---|
| 1872 | (precisely: for all uv levels k where zu(k) > <a href="#ug_vertical_gradient_level">ug_vertical_gradient_level</a>, |
---|
[61] | 1873 | ug(k) is set: ug(k) = ug(k-1) + dzu(k) * <span style="font-weight: bold;">ug_vertical_gradient</span>) |
---|
| 1874 | up to the top |
---|
| 1875 | boundary or up to the next height level defined by <a href="#ug_vertical_gradient_level">ug_vertical_gradient_level</a>. |
---|
| 1876 | A |
---|
[5] | 1877 | total of 10 different gradients for 11 height intervals (10 |
---|
| 1878 | intervals if <a href="#ug_vertical_gradient_level">ug_vertical_gradient_level</a>(1) |
---|
[61] | 1879 | = 0.0) can be assigned. The surface geostrophic wind is assigned by <a href="#ug_surface">ug_surface</a>. <br> </td> |
---|
| 1880 | </tr> <tr> <td style="vertical-align: top;"> |
---|
| 1881 | <p><a name="ug_vertical_gradient_level"></a><span style="font-weight: bold;">ug_vertical_gradient_level</span></p> |
---|
| 1882 | </td> <td style="vertical-align: top;">R(10)<br> |
---|
| 1883 | </td> <td style="vertical-align: top;"><span style="font-style: italic;">10 |
---|
| 1884 | * 0.0</span><br> </td> <td style="vertical-align: top;">Height level from which on the |
---|
[5] | 1885 | gradient defined by <a href="#ug_vertical_gradient">ug_vertical_gradient</a> |
---|
[61] | 1886 | is effective (in m).<br> <br> |
---|
[5] | 1887 | The height levels are to be assigned in ascending order. For the |
---|
| 1888 | piecewise construction of a profile of the u-component of the |
---|
| 1889 | geostrophic wind component (ug) see <a href="#ug_vertical_gradient">ug_vertical_gradient</a>.<br> |
---|
[61] | 1890 | </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="ups_limit_e"></a><b>ups_limit_e</b></p> |
---|
| 1891 | </td> <td style="vertical-align: top;">R</td> |
---|
| 1892 | <td style="vertical-align: top;"><i>0.0</i></td> |
---|
| 1893 | <td style="vertical-align: top;"> <p>Subgrid-scale |
---|
| 1894 | turbulent kinetic energy difference used as |
---|
[5] | 1895 | criterion for applying the upstream scheme when upstream-spline |
---|
| 1896 | advection is switched on (in m<sup>2</sup>/s<sup>2</sup>). |
---|
[61] | 1897 | </p> <p>This variable steers the appropriate |
---|
| 1898 | treatment of the |
---|
[5] | 1899 | advection of the subgrid-scale turbulent kinetic energy in case that |
---|
| 1900 | the uptream-spline scheme is used . For further information see <a href="#ups_limit_pt">ups_limit_pt</a>. </p> |
---|
[61] | 1901 | <p>Only positive values are allowed for <b>ups_limit_e</b>. |
---|
| 1902 | </p> </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="ups_limit_pt"></a><b>ups_limit_pt</b></p> |
---|
| 1903 | </td> <td style="vertical-align: top;">R</td> |
---|
| 1904 | <td style="vertical-align: top;"><i>0.0</i></td> |
---|
| 1905 | <td style="vertical-align: top;"> <p>Temperature |
---|
| 1906 | difference used as criterion for applying |
---|
| 1907 | the upstream scheme when upstream-spline advection is |
---|
| 1908 | switched on |
---|
| 1909 | (in K). </p> <p>This criterion is used if the |
---|
| 1910 | upstream-spline scheme is |
---|
[5] | 1911 | switched on (see <a href="#scalar_advec">scalar_advec</a>).<br> |
---|
| 1912 | If, for a given gridpoint, the absolute temperature difference with |
---|
| 1913 | respect to the upstream |
---|
| 1914 | grid point is smaller than the value given for <b>ups_limit_pt</b>, |
---|
| 1915 | the upstream scheme is used for this gridpoint (by default, the |
---|
| 1916 | upstream-spline scheme is always used). Reason: in case of a very small |
---|
| 1917 | upstream gradient, the advection should cause only a very small |
---|
| 1918 | tendency. However, in such situations the upstream-spline scheme may |
---|
| 1919 | give wrong tendencies at a |
---|
| 1920 | grid point due to spline overshooting, if simultaneously the downstream |
---|
| 1921 | gradient is very large. In such cases it may be more reasonable to use |
---|
| 1922 | the upstream scheme. The numerical diffusion caused by the upstream |
---|
| 1923 | schme remains small as long as the upstream gradients are small.<br> |
---|
[61] | 1924 | </p> <p>The percentage of grid points for which the |
---|
| 1925 | upstream |
---|
[5] | 1926 | scheme is actually used, can be output as a time series with respect to |
---|
| 1927 | the |
---|
[61] | 1928 | three directions in space with run parameter (see <a href="chapter_4.2.html#dt_dots">dt_dots</a>, the |
---|
| 1929 | timeseries names in the NetCDF file are <i>'splptx'</i>, <i>'splpty'</i>, |
---|
| 1930 | <i>'splptz'</i>). The percentage |
---|
| 1931 | of gridpoints should stay below a certain limit, however, it |
---|
| 1932 | is |
---|
[5] | 1933 | not possible to give |
---|
| 1934 | a general limit, since it depends on the respective flow. </p> |
---|
[61] | 1935 | <p>Only positive values are permitted for <b>ups_limit_pt</b>.<br> |
---|
| 1936 | </p> |
---|
[5] | 1937 | A more effective control of |
---|
[61] | 1938 | the “overshoots” can be achieved with parameter <a href="#cut_spline_overshoot">cut_spline_overshoot</a>. |
---|
| 1939 | </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="ups_limit_u"></a><b>ups_limit_u</b></p> |
---|
| 1940 | </td> <td style="vertical-align: top;">R</td> |
---|
| 1941 | <td style="vertical-align: top;"><i>0.0</i></td> |
---|
| 1942 | <td style="vertical-align: top;"> <p>Velocity |
---|
| 1943 | difference (u-component) used as criterion for |
---|
[5] | 1944 | applying the upstream scheme |
---|
| 1945 | when upstream-spline advection is switched on (in m/s). </p> |
---|
[61] | 1946 | <p>This variable steers the appropriate treatment of the |
---|
[5] | 1947 | advection of the u-velocity-component in case that the upstream-spline |
---|
| 1948 | scheme is used. For further |
---|
[61] | 1949 | information see <a href="#ups_limit_pt">ups_limit_pt</a>. |
---|
| 1950 | </p> <p>Only positive values are permitted for <b>ups_limit_u</b>.</p> |
---|
| 1951 | </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="ups_limit_v"></a><b>ups_limit_v</b></p> |
---|
| 1952 | </td> <td style="vertical-align: top;">R</td> |
---|
| 1953 | <td style="vertical-align: top;"><i>0.0</i></td> |
---|
| 1954 | <td style="vertical-align: top;"> <p>Velocity |
---|
| 1955 | difference (v-component) used as criterion for |
---|
[5] | 1956 | applying the upstream scheme |
---|
| 1957 | when upstream-spline advection is switched on (in m/s). </p> |
---|
[61] | 1958 | <p>This variable steers the appropriate treatment of the |
---|
[5] | 1959 | advection of the v-velocity-component in case that the upstream-spline |
---|
| 1960 | scheme is used. For further |
---|
[61] | 1961 | information see <a href="#ups_limit_pt">ups_limit_pt</a>. |
---|
| 1962 | </p> <p>Only positive values are permitted for <b>ups_limit_v</b>.</p> |
---|
| 1963 | </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="ups_limit_w"></a><b>ups_limit_w</b></p> |
---|
| 1964 | </td> <td style="vertical-align: top;">R</td> |
---|
| 1965 | <td style="vertical-align: top;"><i>0.0</i></td> |
---|
| 1966 | <td style="vertical-align: top;"> <p>Velocity |
---|
| 1967 | difference (w-component) used as criterion for |
---|
[5] | 1968 | applying the upstream scheme |
---|
| 1969 | when upstream-spline advection is switched on (in m/s). </p> |
---|
[61] | 1970 | <p>This variable steers the appropriate treatment of the |
---|
[5] | 1971 | advection of the w-velocity-component in case that the upstream-spline |
---|
| 1972 | scheme is used. For further |
---|
[61] | 1973 | information see <a href="#ups_limit_pt">ups_limit_pt</a>. |
---|
| 1974 | </p> <p>Only positive values are permitted for <b>ups_limit_w</b>.</p> |
---|
| 1975 | </td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="use_surface_fluxes"></a><b>use_surface_fluxes</b></p> |
---|
| 1976 | </td> <td style="vertical-align: top;">L</td> |
---|
| 1977 | <td style="vertical-align: top;"><i>.F.</i></td> |
---|
| 1978 | <td style="vertical-align: top;"> <p>Parameter to |
---|
| 1979 | steer the treatment of the subgrid-scale vertical |
---|
| 1980 | fluxes within the diffusion terms at k=1 (bottom boundary).<br> </p> |
---|
| 1981 | <p>By default, the near-surface subgrid-scale fluxes are |
---|
[5] | 1982 | parameterized (like in the remaining model domain) using the gradient |
---|
| 1983 | approach. If <b>use_surface_fluxes</b> |
---|
[61] | 1984 | = <i>.TRUE.</i>, the user-assigned surface fluxes are used |
---|
| 1985 | instead |
---|
| 1986 | (see <a href="#surface_heatflux">surface_heatflux</a>, |
---|
| 1987 | <a href="#surface_waterflux">surface_waterflux</a> |
---|
| 1988 | and <a href="#surface_scalarflux">surface_scalarflux</a>) |
---|
| 1989 | <span style="font-weight: bold;">or</span> the |
---|
| 1990 | surface fluxes are |
---|
[5] | 1991 | calculated via the Prandtl layer relation (depends on the bottom |
---|
[61] | 1992 | boundary conditions, see <a href="#bc_pt_b">bc_pt_b</a>, |
---|
| 1993 | <a href="#bc_q_b">bc_q_b</a> |
---|
| 1994 | and <a href="#bc_s_b">bc_s_b</a>).<br> </p> |
---|
| 1995 | <p><b>use_surface_fluxes</b> |
---|
| 1996 | is automatically set <i>.TRUE.</i>, if a Prandtl layer is |
---|
| 1997 | used (see <a href="#prandtl_layer">prandtl_layer</a>). |
---|
| 1998 | </p> <p>The user may prescribe the surface fluxes at the |
---|
| 1999 | bottom |
---|
| 2000 | boundary without using a Prandtl layer by setting <span style="font-weight: bold;">use_surface_fluxes</span> = |
---|
| 2001 | <span style="font-style: italic;">.T.</span> and <span style="font-weight: bold;">prandtl_layer</span> = <span style="font-style: italic;">.F.</span>. If , in this |
---|
| 2002 | case, the |
---|
| 2003 | momentum flux (u<sub>*</sub><sup>2</sup>) |
---|
| 2004 | should also be prescribed, |
---|
[5] | 2005 | the user must assign an appropriate value within the user-defined code.</p> |
---|
[61] | 2006 | </td> </tr> <tr><td style="vertical-align: top;"><a name="use_top_fluxes"></a><span style="font-weight: bold;">use_top_fluxes</span></td><td style="vertical-align: top;">L</td><td style="vertical-align: top;"><span style="font-style: italic;">.F.</span></td><td style="vertical-align: top;"> <p>Parameter to steer |
---|
| 2007 | the treatment of the subgrid-scale vertical |
---|
| 2008 | fluxes within the diffusion terms at k=nz (top boundary).</p><p>By |
---|
| 2009 | default, the fluxes at nz are calculated using the gradient approach. |
---|
| 2010 | If <b>use_top_fluxes</b> |
---|
| 2011 | = <i>.TRUE.</i>, the user-assigned top fluxes are used |
---|
| 2012 | instead |
---|
| 2013 | (see <a href="chapter_4.1.html#top_heatflux">top_heatflux</a>).</p><p>Currently, |
---|
| 2014 | only a value for the sensible heatflux can be assigned. In case of <span style="font-weight: bold;">use_top_fluxes</span> = <span style="font-style: italic;">.TRUE.</span>, the latent |
---|
| 2015 | heat flux at the top will be automatically set to zero.</p></td></tr><tr> |
---|
| 2016 | <td style="vertical-align: top;"> <p><a name="use_ug_for_galilei_tr"></a><b>use_ug_for_galilei_tr</b></p> |
---|
| 2017 | </td> <td style="vertical-align: top;">L</td> |
---|
| 2018 | <td style="vertical-align: top;"><i>.T.</i></td> |
---|
| 2019 | <td style="vertical-align: top;"> <p>Switch to |
---|
| 2020 | determine the translation velocity in case that a |
---|
| 2021 | Galilean transformation is used.<br> </p> <p>In |
---|
| 2022 | case of a Galilean transformation (see <a href="#galilei_transformation">galilei_transformation</a>), |
---|
| 2023 | <b>use_ug_for_galilei_tr</b> |
---|
[5] | 2024 | = <i>.T.</i> ensures |
---|
| 2025 | that the coordinate system is translated with the geostrophic windspeed.<br> |
---|
[61] | 2026 | </p> <p>Alternatively, with <b>use_ug_for_galilei_tr</b> |
---|
| 2027 | = <i>.F</i>., |
---|
[5] | 2028 | the |
---|
| 2029 | geostrophic wind can be replaced as translation speed by the (volume) |
---|
| 2030 | averaged velocity. However, in this case the user must be aware of fast |
---|
| 2031 | growing gravity waves, so this |
---|
[61] | 2032 | choice is usually not recommended!</p> </td> </tr> <tr><td align="left" valign="top"><a name="use_upstream_for_tke"></a><span style="font-weight: bold;">use_upstream_for_tke</span></td><td align="left" valign="top">L</td><td align="left" valign="top"><span style="font-style: italic;">.F.</span></td><td align="left" valign="top">Parameter to choose the |
---|
| 2033 | advection/timestep scheme to be used for the subgrid-scale TKE.<br><br>By |
---|
[5] | 2034 | default, the advection scheme and the timestep scheme to be used for |
---|
[61] | 2035 | the subgrid-scale TKE are set by the initialization parameters <a href="#scalar_advec">scalar_advec</a> and <a href="#timestep_scheme">timestep_scheme</a>, |
---|
| 2036 | respectively. <span style="font-weight: bold;">use_upstream_for_tke</span> |
---|
| 2037 | = <span style="font-style: italic;">.T.</span> |
---|
[5] | 2038 | forces the Euler-scheme and the upstream-scheme to be used as timestep |
---|
| 2039 | scheme and advection scheme, respectively. By these methods, the strong |
---|
| 2040 | (artificial) near-surface vertical gradients of the subgrid-scale TKE |
---|
| 2041 | are significantly reduced. This is required when subgrid-scale |
---|
| 2042 | velocities are used for advection of particles (see particle package |
---|
| 2043 | parameter <a href="chapter_4.2.html#use_sgs_for_particles">use_sgs_for_particles</a>).</td></tr><tr> |
---|
[61] | 2044 | <td style="vertical-align: top;"> <p><a name="vg_surface"></a><span style="font-weight: bold;">vg_surface</span></p> |
---|
| 2045 | </td> <td style="vertical-align: top;">R<br> </td> |
---|
| 2046 | <td style="vertical-align: top;"><span style="font-style: italic;">0.0</span><br> </td> |
---|
| 2047 | <td style="vertical-align: top;">v-component of the |
---|
| 2048 | geostrophic |
---|
| 2049 | wind at the surface (in m/s).<br> <br> |
---|
[5] | 2050 | This parameter assigns the value of the v-component of the geostrophic |
---|
| 2051 | wind (vg) at the surface (k=0). Starting from this value, the initial |
---|
| 2052 | vertical profile of the <br> |
---|
[61] | 2053 | v-component of the geostrophic wind is constructed with <a href="#vg_vertical_gradient">vg_vertical_gradient</a> |
---|
| 2054 | and <a href="#vg_vertical_gradient_level">vg_vertical_gradient_level</a>. |
---|
| 2055 | The |
---|
[5] | 2056 | profile |
---|
| 2057 | constructed in that way is used for creating the initial vertical |
---|
| 2058 | velocity profile of the 3d-model. Either it is applied, as it has been |
---|
| 2059 | specified by the user (<a href="#initializing_actions">initializing_actions</a> |
---|
| 2060 | = 'set_constant_profiles') |
---|
| 2061 | or it is used for calculating a stationary boundary layer wind profile |
---|
[61] | 2062 | (<a href="#initializing_actions">initializing_actions</a> |
---|
| 2063 | = |
---|
[5] | 2064 | 'set_1d-model_profiles'). If vg is constant |
---|
| 2065 | with height (i.e. vg(k)=<span style="font-weight: bold;">vg_surface</span>) |
---|
| 2066 | and has a large value, it is |
---|
| 2067 | recommended to use a Galilei-transformation of the coordinate system, |
---|
| 2068 | if possible (see <a href="#galilei_transformation">galilei_transformation</a>), |
---|
| 2069 | in order to obtain larger |
---|
[61] | 2070 | time steps.</td> </tr> <tr> <td style="vertical-align: top;"> <p><a name="vg_vertical_gradient"></a><span style="font-weight: bold;">vg_vertical_gradient</span></p> |
---|
| 2071 | </td> <td style="vertical-align: top;">R(10)<br> |
---|
| 2072 | </td> <td style="vertical-align: top;"><span style="font-style: italic;">10 |
---|
| 2073 | * 0.0</span><br> </td> <td style="vertical-align: top;">Gradient(s) of the initial |
---|
| 2074 | profile of the v-component of the geostrophic wind (in |
---|
| 2075 | 1/100s).<br> <br> |
---|
[5] | 2076 | The gradient holds starting from the height level defined by <a href="#vg_vertical_gradient_level">vg_vertical_gradient_level</a> |
---|
| 2077 | (precisely: for all uv levels k where zu(k) |
---|
| 2078 | > <a href="#vg_vertical_gradient_level">vg_vertical_gradient_level</a>, |
---|
| 2079 | vg(k) is set: vg(k) = vg(k-1) + dzu(k) |
---|
[61] | 2080 | * <span style="font-weight: bold;">vg_vertical_gradient</span>) |
---|
| 2081 | up to |
---|
[5] | 2082 | the top boundary or up to the next height |
---|
| 2083 | level defined by <a href="#vg_vertical_gradient_level">vg_vertical_gradient_level</a>. |
---|
| 2084 | A total of 10 different |
---|
[61] | 2085 | gradients for 11 height intervals (10 intervals if <a href="#vg_vertical_gradient_level">vg_vertical_gradient_level</a>(1) |
---|
| 2086 | = |
---|
[5] | 2087 | 0.0) can be assigned. The surface |
---|
| 2088 | geostrophic wind is assigned by <a href="#vg_surface">vg_surface</a>.</td> |
---|
[61] | 2089 | </tr> <tr> <td style="vertical-align: top;"> |
---|
| 2090 | <p><a name="vg_vertical_gradient_level"></a><span style="font-weight: bold;">vg_vertical_gradient_level</span></p> |
---|
| 2091 | </td> <td style="vertical-align: top;">R(10)<br> |
---|
| 2092 | </td> <td style="vertical-align: top;"><span style="font-style: italic;">10 |
---|
| 2093 | * 0.0</span><br> </td> <td style="vertical-align: top;">Height level from which on the |
---|
[5] | 2094 | gradient defined by <a href="#vg_vertical_gradient">vg_vertical_gradient</a> |
---|
[61] | 2095 | is effective (in m).<br> <br> |
---|
[5] | 2096 | The height levels are to be assigned in ascending order. For the |
---|
| 2097 | piecewise construction of a profile of the v-component of the |
---|
| 2098 | geostrophic wind component (vg) see <a href="#vg_vertical_gradient">vg_vertical_gradient</a>.</td> |
---|
[61] | 2099 | </tr> <tr> <td style="vertical-align: top;"> |
---|
| 2100 | <p><a name="wall_adjustment"></a><b>wall_adjustment</b></p> |
---|
| 2101 | </td> <td style="vertical-align: top;">L</td> |
---|
| 2102 | <td style="vertical-align: top;"><i>.T.</i></td> |
---|
| 2103 | <td style="vertical-align: top;"> <p>Parameter to |
---|
| 2104 | restrict the mixing length in the vicinity of the |
---|
[5] | 2105 | bottom |
---|
[61] | 2106 | boundary. </p> <p>With <b>wall_adjustment</b> |
---|
| 2107 | = <i>.TRUE., </i>the mixing |
---|
[5] | 2108 | length is limited to a maximum of 1.8 * z. This condition |
---|
| 2109 | typically affects only the |
---|
[61] | 2110 | first grid points above the bottom boundary.</p> </td> </tr> |
---|
| 2111 | <tr> <td style="vertical-align: top;"><span style="font-weight: bold;"><a name="wall_heatflux"></a>wall_heatflux</span></td> |
---|
| 2112 | <td style="vertical-align: top;">R(5)</td> <td style="vertical-align: top;"><span style="font-style: italic;">5 * 0.0</span></td> <td>Prescribed |
---|
| 2113 | kinematic sensible heat flux in W m<sup>-2</sup> |
---|
| 2114 | at the five topography faces:<br> <br> <div style="margin-left: 40px;"><span style="font-weight: bold;">wall_heatflux(0) |
---|
| 2115 | </span>top face<br> <span style="font-weight: bold;">wall_heatflux(1) |
---|
| 2116 | </span>left face<br> <span style="font-weight: bold;">wall_heatflux(2) |
---|
| 2117 | </span>right face<br> <span style="font-weight: bold;">wall_heatflux(3) |
---|
| 2118 | </span>south face<br> <span style="font-weight: bold;">wall_heatflux(4) |
---|
| 2119 | </span>north face</div> <br> |
---|
| 2120 | This parameter applies only in case of a non-flat <a href="#topography">topography</a>. The |
---|
| 2121 | parameter <a href="#random_heatflux">random_heatflux</a> |
---|
| 2122 | can be used to impose random perturbations on the internal |
---|
| 2123 | two-dimensional surface heat |
---|
| 2124 | flux field <span style="font-style: italic;">shf</span> |
---|
| 2125 | that is composed of <a href="#surface_heatflux">surface_heatflux</a> |
---|
| 2126 | at the bottom surface and <span style="font-weight: bold;">wall_heatflux(0)</span> |
---|
| 2127 | at the topography top face. </td> </tr> </tbody> |
---|
| 2128 | </table><br> |
---|
| 2129 | <p style="line-height: 100%;"><br><font color="#000080"><font color="#000080"><a href="chapter_4.0.html"><font color="#000080"><img name="Grafik1" src="left.gif" align="bottom" border="2" height="32" width="32"></font></a><a href="index.html"><font color="#000080"><img name="Grafik2" src="up.gif" align="bottom" border="2" height="32" width="32"></font></a><a href="chapter_4.2.html"><font color="#000080"><img name="Grafik3" src="right.gif" align="bottom" border="2" height="32" width="32"></font></a></font></font></p> |
---|
| 2130 | <p style="line-height: 100%;"><i>Last |
---|
| 2131 | change: </i> $Id: chapter_4.1.html 61 2007-03-12 05:42:06Z raasch $ </p> |
---|
| 2132 | <br><br> |
---|
[5] | 2133 | </body></html> |
---|