Skip to content

Latest commit

 

History

History
125 lines (85 loc) · 10.8 KB

li_model.rst

File metadata and controls

125 lines (85 loc) · 10.8 KB

Model with an orography and heat exchanges

In the files/model/oro_model:Model with an orography and a temperature profile, the radiative equilibrium temperature field at the middle of the atmosphere is specified by a given profile θ (~.params.AtmosphericTemperatureParams.thetas) and the system relaxes to this profile due to the Newtonian cooling.

In Li et al. li-LHHBD2018, another scheme for the temperature is proposed, based on the mechanism used for the files/model/maooam_model:Coupled ocean-atmosphere model (MAOOAM) and considering the radiative and heat exchanges between the atmosphere and the ground. As in MAOOAM, this mechanism is the one proposed in li-BB1998 and depicted in the files/model/maooam_model:Temperature equations section of the MAOOAM documentation, with the ocean being replaced by the ground (with an orography).

The equations for this model thus read:

$$\begin{aligned} &\frac{\partial}{\partial t} \left(\nabla^2 \psi_{\rm a}\right) + J(\psi_{\rm a}, \nabla^2 \psi_{\rm a}) + J(\theta_{\rm a}, \nabla^2 \theta_{\rm a}) + \frac{1}{2} J(\psi_{\rm a} - \theta_{\rm a}, f_0 \, h/H_{\rm a}) + \beta \frac{\partial \psi_{\rm a}}{\partial x} = - \frac{k_d}{2} \nabla^2 (\psi_{\rm a} - \theta_{\rm a}) \\\ &\frac{\partial}{\partial t} \left( \nabla^2 \theta_{\rm a} \right) + J(\psi_{\rm a}, \nabla^2 \theta_{\rm a}) + J(\theta_{\rm a}, \nabla^2 \psi_{\rm a}) - \frac{1}{2} J(\psi_{\rm a} - \theta_{\rm a}, f_0 \, h/H_{\rm a}) + \beta \frac{\partial \theta_{\rm a}}{\partial x} \nonumber \\\ & \qquad \qquad \qquad \qquad \qquad \qquad = - 2 \, k'_d \nabla^2 \theta_{\rm a} + \frac{k_d}{2} \nabla^2 (\psi_{\rm a} - \theta_{\rm a}) + \frac{f_0}{\Delta p} \omega. \end{aligned}$$

and

$$\begin{aligned} \gamma_\text{a} \left( \frac{\partial T_\text{a}}{\partial t} + J(\psi_\text{a}, T_\text{a}) -\sigma \omega \frac{p}{R}\right) &= -\lambda (T_\text{a}-T_\text{o}) + \epsilon_\text{a} \sigma_\text{B} T_\text{o}^4 - 2 \epsilon_\text{a} \sigma_\text{B} T_\text{a}^4 + R_\text{a} \\\ \gamma_\text{g} \, \frac{\partial T_\text{g}}{\partial t} &= -\lambda (T_\text{g}-T_\text{a}) -\sigma_\text{B} T_\text{g}^4 + \epsilon_\text{a} \sigma_\text{B} T_\text{a}^4 + R_\text{g} \end{aligned}$$

As in MAOOAM, the temperature fields are expanded around their equilibrium profile to yield quadratic equations for the deviations to these profiles:

$$\begin{aligned} \gamma_{\rm a} \Big( \frac{\partial \delta T_{\rm a}}{\partial t} + J(\psi_{\rm a}, \delta T_{\rm a} )- \sigma \omega \frac{\delta p}{R}\Big) &= -\lambda (\delta T_{\rm a}- \delta T_{\rm g}) +4 \sigma_B T_{{\rm g},0}^3 \delta T_{\rm g} - 8 \epsilon_{\rm a} \sigma_B T_{{\rm a},0}^3 \delta T_{\rm a} + \delta R_{\rm a} \nonumber \\\ \gamma_{\rm g} \frac{\partial \delta T_{\rm g}}{\partial t} &= -\lambda (\delta T_{\rm g}- \delta T_{\rm a}) -4 \sigma_B T_{{\rm g},0}^3 \delta T_{\rm g} + 4 \epsilon_{\rm a} \sigma_B T_{{\rm a},0}^3 \delta T_{\rm a} + \delta R_{\rm g}. \nonumber \end{aligned}$$

and the ideal gas relation and the vertical discretization of the hydrostatic relation at 500 hPa allows to write the spatially dependent atmospheric temperature anomaly δTa = 2f0θa/R where R (~.QgParams.rr) is the ideal gas constant.

Ordinary differential equations

All the modes of this model version are expanded on the set of Fourier modes Fi detailed in the section files/model/oro_model:Projecting the equations on a set of basis functions:

$$\begin{aligned} \psi_{\rm a}(x,y) & = & \sum_{i=1}^{n_{\mathrm{a}}} \, \psi_{{\rm a},i} \, F_i(x,y) \\\ \theta_{\rm a}(x,y) & = & \sum_{i=1}^{n_{\mathrm{a}}} \, \theta_{{\rm a},i} \, F_i(x,y) \\\ \delta T_{\rm a}(x,y) & = & \sum_{i=1}^{n_{\mathrm{a}}} \, \delta T_{{\rm a},i} \, F_i(x,y) \\\ \delta T_{\rm g}(x,y) & = & \sum_{i=1}^{n_{\mathrm{a}}} \, \delta T_{{\rm g},i} \, F_i(x,y). \end{aligned}$$

and as in MAOOAM, the fields, parameters and variables are non-dimensionalized by dividing time by f0 − 1 (~.params.ScaleParams.f0), distance by the characteristic length scale L (~.params.ScaleParams.L), pressure by the difference Δp (~.params.ScaleParams.deltap), temperature by f02L2/R, and streamfunction by L2f0. As a result of this non-dimensionalization, the fields $\theta_{\rm a}$ and $\delta T_{\rm a}$ can be identified: $2 \theta_{\rm a} \equiv \delta T_{\rm a}$.

The equations of the system of ordinary differential equations for this model thus read:

$$\begin{aligned} \dot\psi_{{\rm a},i} & = & - a_{i,i}^{-1} \sum_{j,m = 1}^{n_{\mathrm{a}}} b_{i, j, m} \left(\psi_{{\rm a},j}\, \psi_{{\rm a},m} + \theta_{{\rm a},j}\, \theta_{{\rm a},m}\right) - \frac{a_{i,i}^{-1}}{2} \sum_{j,m = 1}^{n_{\mathrm{a}}} g_{i, j, m} \, h_m \left(\psi_{{\rm a},j}-\theta_{{\rm a},j}\right) \nonumber \\\ & & \qquad \qquad \qquad \qquad - \beta\, a_{i,i}^{-1} \, \sum_{j=1}^{n_{\mathrm{a}}} \, c_{i, j} \, \psi_{{\rm a},j} - \frac{k_d}{2} \left(\psi_{{\rm a},i} - \theta_{{\rm a},i}\right) \\\ \dot\theta_{{\rm a},i} & = & - a_{i,i}^{-1} \sum_{j,m = 1}^{n_{\mathrm{a}}} b_{i, j, m} \left(\psi_{{\rm a},j}\, \theta_{{\rm a},m} + \theta_{{\rm a},j}\, \psi_{{\rm a},m}\right) + \frac{a_{i,i}^{-1}}{2} \sum_{j,m = 1}^{n_{\mathrm{a}}} g_{i, j, m} \, h_m \left(\psi_{{\rm a},j}-\theta_{{\rm a},j}\right) \nonumber \\\ & & \qquad \qquad \qquad \qquad - \beta\, a_{i,i}^{-1} \, \sum_{j=1}^{n_{\mathrm{a}}} \, c_{i, j} \, \theta_{{\rm a},j} + \frac{k_d}{2} \left(\psi_{{\rm a},i} - \theta_{{\rm a},i}\right) - 2 \, k'_d \, \theta_{{\rm a},i} + a_{i,i}^{-1} \, \omega_i \\\ \dot\theta_{\rm{a},i} & = & - \sum_{j,m = 1}^{n_{\mathrm{a}}} g_{i, j, m} \, \psi_{{\rm a},j}\, \theta_{{\rm a},m} + \frac{\sigma}{2}\, \omega_i - \left(\lambda'_{\rm a} + S_{B,{\rm a}} \right) \, \theta_{\rm{a},i} + \left(\frac{\lambda'_{\rm a}}{2}+ S_{B, {\rm g}}\right) \, \delta T_{{\rm g},i} + C'_{\text{a},i} \\\ \dot\delta T_{{\rm g},i} & = & - \left(\lambda'_{\rm g}+ s_{B,{\rm g}}\right) \, \delta T_{{\rm g},i} + \left(2 \,\lambda'_{\rm g} + s_{B,{\rm a}}\right) \, \theta_{{\rm a},i} + C'_{{\rm g},i} \end{aligned}$$

where the parameters values have been replaced by their non-dimensional ones and we have also defined G =  − L2/LR2 (~.params.QgParams.G), $\lambda'_{{\rm a}} = \lambda/(\gamma_{\rm a} f_0)$ (~.params.QgParams.Lpa), $\lambda'_{{\rm g}} = \lambda/(\gamma_{\rm g} f_0)$ (~.params.QgParams.Lpgo), $S_{B,{\rm a}} = 8\,\epsilon_{\rm a}\, \sigma_B \, T_{{\rm a},0}^3 / (\gamma_{\rm a} f_0)$ (~.params.QgParams.LSBpa), $S_{B,{\rm g}} = 2\,\epsilon_{\rm a}\, \sigma_B \, T_{{\rm a},0}^3 / (\gamma_{\rm a} f_0)$ (~.params.QgParams.LSBpgo), $s_{B,{\rm a}} = 8\,\epsilon_{\rm a}\, \sigma_B \, T_{{\rm a},0}^3 / (\gamma_{\rm g} f_0)$ (~.params.QgParams.sbpa), $s_{B,{\rm g}} = 4\,\sigma_B \, T_{{\rm a},0}^3 / (\gamma_{\rm g} f_0)$ (~.params.QgParams.sbpgo), $C'_{{\rm a},i} = R C_{{\rm a},i} / (2 \gamma_{\rm a} L^2 f_0^3)$ (~.params.QgParams.Cpa), $C'_{{\rm g},i} = R C_{{\rm g},i} / (\gamma_{\rm g} L^2 f_0^3)$ (~.params.QgParams.Cpgo).

The coefficients ai, j, gi, j, m, bi, j, m and ci, j are the inner products of the Fourier modes Fi:

$$\begin{aligned} a_{i,j} & = & \frac{n}{2\pi^2}\int_0^\pi\int_0^{2\pi/n} F_i(x,y)\, \nabla^2 F_j(x,y)\, \mathrm{d} x \, \mathrm{d} y = - \delta_{ij} \, a_i^2 \\\ g_{i, j, m} & = & \frac{n}{2\pi^2}\int_0^\pi\int_0^{2\pi/n} F_i(x,y)\, J\left(F_j(x,y), F_m(x,y)\right) \, \mathrm{d} x \, \mathrm{d} y \\\ b_{i, j, m} & = & \frac{n}{2\pi^2}\int_0^\pi\int_0^{2\pi/n} F_i(x,y)\, J\left(F_j(x,y), \nabla^2 F_m(x,y)\right) \, \mathrm{d} x \, \mathrm{d} y \\\ c_{i, j} & = & \frac{n}{2\pi^2}\int_0^\pi\int_0^{2\pi/n} F_i(x,y)\, \frac{\partial}{\partial x} F_j(x,y) \, \mathrm{d} x \, \mathrm{d} y \end{aligned}$$

These inner products are computed according to formulas found in om-CT1987 and stored in an object derived from the ~.inner_products.base.AtmosphericInnerProducts class.

The vertical velocity ωi can be eliminated, leading to the final equations

$$\begin{aligned} \dot\psi_{{\rm a},i} & = & - a_{i,i}^{-1} \sum_{j,m = 1}^{n_{\mathrm{a}}} b_{i, j, m} \left(\psi_{{\rm a},j}\, \psi_{{\rm a},m} + \theta_{{\rm a},j}\, \theta_{{\rm a},m}\right) - \frac{a_{i,i}^{-1}}{2} \sum_{j,m = 1}^{n_{\mathrm{a}}} g_{i, j, m} \, h_m \left(\psi_{{\rm a},j}-\theta_{{\rm a},j}\right) \nonumber \\\ & & \qquad \qquad \qquad \qquad - \beta\, a_{i,i}^{-1} \, \sum_{j=1}^{n_{\mathrm{a}}} \, c_{i, j} \, \psi_{{\rm a},j} - \frac{k_d}{2} \left(\psi_{{\rm a},i} - \theta_{{\rm a},i}\right) \\\ \dot\theta_{{\rm a},i} & = & \frac{\sigma/2}{a_{i,i} \,\sigma/2 - 1} \left\{ - \sum_{j,m = 1}^{n_{\mathrm{a}}} b_{i, j, m} \left(\psi_{{\rm a},j}\, \theta_{{\rm a},m} + \theta_{{\rm a},j}\, \psi_{{\rm a},m}\right) + \frac{1}{2} \sum_{j,m = 1}^{n_{\mathrm{a}}} g_{i, j, m} \, h_m \left(\psi_{{\rm a},j}-\theta_{{\rm a},j}\right) \right. \nonumber \\\ & & \qquad \qquad \qquad \qquad - \beta\, \, \sum_{j=1}^{n_{\mathrm{a}}} \, c_{i, j} \, \theta_{{\rm a},j} + \left. \frac{k_d}{2} \, a_{i,i} \left(\psi_{{\rm a},i} - \theta_{{\rm a},i}\right) -2 \, k'_d \, a_{i,i} \, \theta_{{\rm a},i} \right\} \nonumber \\\ & & + \frac{1}{a_{i,i} \,\sigma/2 - 1} \left\{ \sum_{j,m = 1}^{n_{\mathrm{a}}} g_{i, j, m} \, \psi_{{\rm a},j}\, \theta_{{\rm a},m} + \left(\lambda'_{\rm a} + S_{B,{\rm a}} \right) \, \theta_{\rm{a},i} \right. \nonumber \\\ & & \qquad \qquad \qquad \qquad - \left.\left(\frac{\lambda'_{\rm a}}{2}+ S_{B, {\rm g}}\right) \, \delta T_{{\rm g},i} - C'_{\text{a},i} \right\} \\\ \dot\delta T_{{\rm g},i} & = & - \left(\lambda'_{\rm g}+ s_{B,{\rm g}}\right) \, \delta T_{{\rm g},i} + \left(2 \,\lambda'_{\rm g} + s_{B,{\rm a}}\right) \, \theta_{{\rm a},i} + C'_{{\rm g},i} \end{aligned}$$

that are implemented by means of a tensorial contraction:

$$\frac{\text{d}\eta_i}{\text{d}t} = \sum_{j, k=0}^{3 n_\mathrm{a}} \mathcal{T}_{i,j,k} \; \eta_j \; \eta_k$$

with $\boldsymbol{\eta} = (1, \psi_{{\rm a},1}, \ldots, \psi_{{\rm a},n_\mathrm{a}}, \theta_{{\rm a},1}, \ldots, \theta_{{\rm a},n_\mathrm{a}}, \delta T_{{\rm g},1}, \ldots, \delta T_{{\rm g},n_\mathrm{a}})$, as described in the files/technical_description:Code Description. Note that η0 ≡ 1. The tensor 𝒯, which fully encodes the bilinear system of ODEs above, is computed and stored in the ~.tensors.qgtensor.QgsTensor.

Example

An example about how to setup the model to use this model version is shown in files/examples/Lietal:Atmospheric model with heat exchange - Li et al. model version (2017).

References

ref.bib