121 | | ==== {{{most_method = 'circular'}}} ==== |
122 | | The traditional implementation in PALM ({{{most_method = 'circular'}}}) requires the use of data from the previous time step. The following steps are thus carried out in sequential order. First of all, ''θ'',,*,, and ''q'',,*,, are calculated by integration using the value of ''z'',,MO,,/L from the previous time step. Second, the new value of ''z'',,MO,,/L is derived using the new values of ''θ'',,*,, and ''q'',,*,, but using ''u'',,*,, from the previous time step. Then, the new values of ''u'',,*,,, and subsequently the momentum fluxes are calculated by integration, respectively. At last, the new surface fluxes are derived from ''θ'',,*,, and ''q'',,*,,, and ''u'',,*,,. In the special case, when surface fluxes are prescribed instead of surface temperature and humidity, the first and last steps are omitted and ''θ'',,*,, and ''q'',,*,, are directly calculated from ''u'',,*,, and the surface fluxes. |
| 121 | ==== Method 1: circular ==== |
| 122 | The traditional implementation in PALM ({{{most_method = 'circular'}}}) requires the use of data from the previous time step. The following steps are thus carried out in sequential order. First of all, ''θ'',,*,, and ''q'',,*,, are calculated by integration using the value of ''z'',,MO,,/L from the previous time step. Second, the new value of ''z'',,MO,,/L is derived using the new values of ''θ'',,*,, and ''q'',,*,, but using ''u'',,*,, from the previous time step. Then, the new values of ''u'',,*,,, and subsequently the momentum fluxes are calculated by integration, respectively. At last, the new surface fluxes are derived from ''θ'',,*,, and ''q'',,*,,, and ''u'',,*,,. In the special case, when surface fluxes are prescribed instead of surface temperature and humidity, the first and last steps are omitted and ''θ'',,*,, and ''q'',,*,, are directly calculated from ''u'',,*,, and the surface fluxes. |
124 | | Alternatively, the Obukhov length can be calculated by solving an implicit equation relating the ''L'' to the bulk Richardson number. This can be achieved either by a Newton iteration algorithm ({{{most_method = 'newton'}}}) or by using a lookup table ({{{most_method = 'lookup'}}}). |
| 124 | In summary, the following actions are performed in sequential order: |
| 125 | 1. calculate ''θ'',,*,, and ''q'',,*,, |
| 126 | 2. calculate ''u'',,h,, |
| 127 | 3. determine Obukhov length |
| 128 | 4. calculate ''u'',,*,, |
| 129 | 5. derive surface fluxes |
| 130 | |
| 131 | ==== Method 2: Newton iteration / lookup table ==== |
| 132 | Alternatively, the Obukhov length can be calculated by solving an implicit equation relating the ''L'' to the bulk Richardson number. This can be achieved either by a Newton iteration algorithm ({{{most_method = 'newton'}}}) or by using a lookup table ({{{most_method = 'lookup'}}}). Note that the latter is the new default in PALM as it is much faster than the Newton iteration method and the results are more precise compared to the circular method. However, it can only be used when the roughness lengths are homogeneously set on each processor. |
| 133 | |
| 134 | Both methods require a different sequential order to derive the surface fluxes: |
| 135 | 1. calculate ''u'',,h,, |
| 136 | 2. determine Obukhov length (Newton iteration or lookup table) |
| 137 | 3. calculate ''u'',,*,, |
| 138 | 4. calculate ''θ'',,*,, and ''q'',,*,, |
| 139 | 5. derive surface fluxes |
| 140 | |
| 141 | Depending on whether Neumann (prescribed fluxes) or Dirichlet boundary conditions are used for temperature and humidity, the bulk Richardson number is related to the Obukhov length via |
| 142 | {{{ |
| 143 | #!Latex |
| 144 | \begin{equation*} |
| 145 | Ri_\mathrm{b,Di} = \dfrac{z}{L} \cdot \dfrac{[\phi_\mathrm{H}]}{[\phi_\mathrm{M}]^2} \;\;\;\;\textnormal{(Dirichlet conditions)} |
| 146 | \end{equation*} |
| 147 | \begin{equation*} |
| 148 | Ri_\mathrm{b,Ne} = \dfrac{z}{L} \cdot \dfrac{1}{[\phi_\mathrm{M}]^3} \;\;\;\;\textnormal{(Neumann conditions)} |
| 149 | \end{equation*} |
| 150 | }}} |
| 151 | where |
| 152 | {{{ |
| 153 | #!Latex |
| 154 | \begin{equation*} |
| 155 | [\phi_\mathrm{H}] = \log\left(\dfrac{z_\mathrm{MO}}{z_\mathrm{0,h}}\right) - \Phi_\mathrm{H}\left(\dfrac{z_\mathrm{MO}}{L}\right) + \Phi_\mathrm{H}\left(\dfrac{z_\mathrm{0,h}}{L}\right)\;, |
| 156 | \end{equation*} |
| 157 | \begin{equation*} |
| 158 | [\phi_\mathrm{M}] = \log\left(\dfrac{z_\mathrm{MO}}{z_\mathrm{0}}\right) - \Phi_\mathrm{M}\left(\dfrac{z_\mathrm{MO}}{L}\right) + \Phi_\mathrm{M}\left(\dfrac{z_\mathrm{0,h}}{L}\right)\;, |
| 159 | \end{equation*} |
| 160 | \begin{equation*} |
| 161 | Ri_\mathrm{b,Di} = \dfrac{g z_\mathrm{MO} \left(\theta_\mathrm{v,1} - \theta_\mathrm{v,0}\right)}{u_\ast^2 \theta_v}\;, |
| 162 | \end{equation*} |
| 163 | \begin{equation*} |
| 164 | Ri_\mathrm{b,Ne} = - \dfrac{g z_\mathrm{MO} \overline{v^{\prime\prime} \theta_\mathrm{v}^{\prime\prime}}_0}{\kappa^2 u_\mathrm{h}^3 \theta_v}\;, |
| 165 | \end{equation*} |
| 166 | }}} |