Difference between revisions of "Dissipation"
LTeinturier (talk | contribs) |
|||
(4 intermediate revisions by 3 users not shown) | |||
Line 11: | Line 11: | ||
\end{align} | \end{align} | ||
− | where $$\delta x$$ is the smallest horizontal distance represented in the model and $$\tau_{diss}$$ is the dissipation timescale for a structure of scale $$\delta x$$. These operators are necessary to ensure the grid point model numerical stability. In practice, the operator is separately applied to three components : | + | where $$q$$ is a field component on which disspation is applied, $$\delta x$$ is the smallest horizontal distance represented in the model and $$\tau_{diss}$$ is the dissipation timescale for a structure of scale $$\delta x$$. These operators are necessary to ensure the grid point model numerical stability. In practice, the operator is separately applied to three components : |
* the divergence of the flow, | * the divergence of the flow, | ||
* the vorticity of the flow, | * the vorticity of the flow, | ||
* potential temperature. | * potential temperature. | ||
− | We classically use | + | We classically use n = 1 for the divergence of the flow and n = 2 for flow vorticity and potential temperature. |
+ | |||
== How to change it in the model == | == How to change it in the model == | ||
− | In | + | In practice, the values of $$n$$ and $$\tau_{diss}$$ are prescribed in the [[The_run.def_Input_File|run.def]] with the keys: |
*nitergdiv | *nitergdiv | ||
*nitergrot | *nitergrot | ||
*niterh | *niterh | ||
− | for the values of $$n$$ on each field, and the associated $$\tau$$: | + | for the values of $$n$$ on each field, and the associated time scales $$\tau$$: |
*tetagdiv | *tetagdiv | ||
*tetagrot | *tetagrot | ||
*tetatemp | *tetatemp | ||
− | In | + | In [[The_run.def_Input_File|run.def]], there is also a key ''idissip'' (depreciated) or ''dissip_period'' which is the rate (in dynamical steps) at which to apply the dissipation (and thus impacts on the overall time step of the dissipation). |
+ | |||
+ | In addition there are multiplicative factors on the dissipation that are applied going to the upper layers of the atmosphere (as it has been noted that usually more dissipation is required in the upper atmospher than the lower atmosphere). These coefficients are: | ||
+ | * dissip_fac_mid : dissipation multiplicative factor in the middle atmosphere | ||
+ | * dissip_fac_up : dissipation multiplicative factor in the upper atmosphere | ||
+ | |||
== Good to know rules and rules of thumb == | == Good to know rules and rules of thumb == | ||
− | *If your simulation shows numerical instabilities, a good idea is to increase dissipation. This means decreasing parameters $$\tau$$. | + | * If your simulation shows numerical instabilities, a good idea is to increase dissipation. This means decreasing parameters $$\tau$$. |
* Optimal values for the dissipation timescales depends on the resolution of the horizontal grid. The higher the resolution, the more dissipation we need. | * Optimal values for the dissipation timescales depends on the resolution of the horizontal grid. The higher the resolution, the more dissipation we need. | ||
+ | * Because dissipation is applied using an Explicit Euler time marching scheme, it is liable to be unstable if the time step is too large. This is tested at run-time by the model which will generate an error message of the likes of: | ||
+ | <pre> | ||
+ | STOP : lateral dissipation is too intense and will | ||
+ | generate instabilities in the model ! | ||
+ | You must increase tetah (or increase dissip_period | ||
+ | or increase day_step) | ||
+ | </pre> | ||
+ | |||
+ | [[Category:Generic-Model]] | ||
+ | [[Category:Mars-Model]] | ||
+ | [[Category:Venus-Model]] |
Latest revision as of 07:52, 1 June 2023
Description
In the LMD grid point model, nonlinear interactions between explicitly resolved scales and subgrid-scale processes are parameterized by applying a scale-selective horizontal dissipation operator based on an $$n$$ time iterated Laplacian $$\Delta^n$$. For the grid point model, for instance, this can be written:
\begin{align}
\label{def:Wns}
\frac{\partial q}{\partial t} = \frac{(-1)^n}{\tau_{diss}}(\delta x)^{2n}\Delta^nq
\end{align}
where $$q$$ is a field component on which disspation is applied, $$\delta x$$ is the smallest horizontal distance represented in the model and $$\tau_{diss}$$ is the dissipation timescale for a structure of scale $$\delta x$$. These operators are necessary to ensure the grid point model numerical stability. In practice, the operator is separately applied to three components :
- the divergence of the flow,
- the vorticity of the flow,
- potential temperature.
We classically use n = 1 for the divergence of the flow and n = 2 for flow vorticity and potential temperature.
How to change it in the model
In practice, the values of $$n$$ and $$\tau_{diss}$$ are prescribed in the run.def with the keys:
- nitergdiv
- nitergrot
- niterh
for the values of $$n$$ on each field, and the associated time scales $$\tau$$:
- tetagdiv
- tetagrot
- tetatemp
In run.def, there is also a key idissip (depreciated) or dissip_period which is the rate (in dynamical steps) at which to apply the dissipation (and thus impacts on the overall time step of the dissipation).
In addition there are multiplicative factors on the dissipation that are applied going to the upper layers of the atmosphere (as it has been noted that usually more dissipation is required in the upper atmospher than the lower atmosphere). These coefficients are:
- dissip_fac_mid : dissipation multiplicative factor in the middle atmosphere
- dissip_fac_up : dissipation multiplicative factor in the upper atmosphere
Good to know rules and rules of thumb
- If your simulation shows numerical instabilities, a good idea is to increase dissipation. This means decreasing parameters $$\tau$$.
- Optimal values for the dissipation timescales depends on the resolution of the horizontal grid. The higher the resolution, the more dissipation we need.
- Because dissipation is applied using an Explicit Euler time marching scheme, it is liable to be unstable if the time step is too large. This is tested at run-time by the model which will generate an error message of the likes of:
STOP : lateral dissipation is too intense and will generate instabilities in the model ! You must increase tetah (or increase dissip_period or increase day_step)