[10414] | 1 | \documentclass[../main/NEMO_manual]{subfiles} |
---|
| 2 | |
---|
[6997] | 3 | \begin{document} |
---|
[2282] | 4 | |
---|
[11543] | 5 | \chapter{Time Domain} |
---|
| 6 | \label{chap:TD} |
---|
[11598] | 7 | |
---|
| 8 | \thispagestyle{plain} |
---|
| 9 | |
---|
[11435] | 10 | \chaptertoc |
---|
[2282] | 11 | |
---|
[11598] | 12 | \paragraph{Changes record} ~\\ |
---|
| 13 | |
---|
| 14 | {\footnotesize |
---|
[11630] | 15 | \begin{tabularx}{0.5\textwidth}{l||X|X} |
---|
| 16 | Release & Author(s) & |
---|
| 17 | Modifications \\ |
---|
[11598] | 18 | \hline |
---|
[11630] | 19 | {\em 4.0} & {\em J\'{e}r\^{o}me Chanut \newline Tim Graham} & |
---|
| 20 | {\em Review \newline Update } \\ |
---|
| 21 | {\em 3.6} & {\em Christian \'{E}th\'{e} } & |
---|
| 22 | {\em Update } \\ |
---|
| 23 | {\em $\leq$ 3.4} & {\em Gurvan Madec } & |
---|
| 24 | {\em First version } \\ |
---|
| 25 | \end{tabularx} |
---|
[11598] | 26 | } |
---|
| 27 | |
---|
| 28 | \clearpage |
---|
| 29 | |
---|
[2282] | 30 | % Missing things: |
---|
[11622] | 31 | % - daymod: definition of the time domain (nit000, nitend and the calendar) |
---|
[2282] | 32 | |
---|
[11693] | 33 | \cmtgm{STEVEN :maybe a picture of the directory structure in the introduction which |
---|
[11622] | 34 | could be referred to here, would help ==> to be added} |
---|
[2282] | 35 | |
---|
[11622] | 36 | Having defined the continuous equations in \autoref{chap:MB}, |
---|
| 37 | we need now to choose a time discretization, |
---|
[10354] | 38 | a key feature of an ocean model as it exerts a strong influence on the structure of the computer code |
---|
[11435] | 39 | (\ie\ on its flowchart). |
---|
[11622] | 40 | In the present chapter, we provide a general description of the \NEMO\ time stepping strategy and |
---|
[10354] | 41 | the consequences for the order in which the equations are solved. |
---|
[2282] | 42 | |
---|
[11597] | 43 | %% ================================================================================================= |
---|
[2282] | 44 | \section{Time stepping environment} |
---|
[11543] | 45 | \label{sec:TD_environment} |
---|
[2282] | 46 | |
---|
[11435] | 47 | The time stepping used in \NEMO\ is a three level scheme that can be represented as follows: |
---|
[10414] | 48 | \begin{equation} |
---|
[11543] | 49 | \label{eq:TD} |
---|
[10501] | 50 | x^{t + \rdt} = x^{t - \rdt} + 2 \, \rdt \ \text{RHS}_x^{t - \rdt, \, t, \, t + \rdt} |
---|
[11435] | 51 | \end{equation} |
---|
[10354] | 52 | where $x$ stands for $u$, $v$, $T$ or $S$; |
---|
[11622] | 53 | RHS is the \textbf{R}ight-\textbf{H}and-\textbf{S}ide of the corresponding time evolution equation; |
---|
[10354] | 54 | $\rdt$ is the time step; |
---|
| 55 | and the superscripts indicate the time at which a quantity is evaluated. |
---|
[11622] | 56 | Each term of the RHS is evaluated at a specific time stepping depending on |
---|
| 57 | the physics with which it is associated. |
---|
[2282] | 58 | |
---|
[11184] | 59 | The choice of the time stepping used for this evaluation is discussed below as well as |
---|
[10354] | 60 | the implications for starting or restarting a model simulation. |
---|
| 61 | Note that the time stepping calculation is generally performed in a single operation. |
---|
[11622] | 62 | With such a complex and nonlinear system of equations it would be dangerous to |
---|
| 63 | let a prognostic variable evolve in time for each term separately. |
---|
[2282] | 64 | |
---|
[10354] | 65 | The three level scheme requires three arrays for each prognostic variable. |
---|
| 66 | For each variable $x$ there is $x_b$ (before), $x_n$ (now) and $x_a$. |
---|
| 67 | The third array, although referred to as $x_a$ (after) in the code, |
---|
| 68 | is usually not the variable at the after time step; |
---|
[11622] | 69 | but rather it is used to store the time derivative (RHS in \autoref{eq:TD}) |
---|
| 70 | prior to time-stepping the equation. |
---|
| 71 | The time stepping itself is performed once at each time step where |
---|
| 72 | implicit vertical diffusion is computed, |
---|
| 73 | \ie\ in the \mdl{trazdf} and \mdl{dynzdf} modules. |
---|
[2282] | 74 | |
---|
[11597] | 75 | %% ================================================================================================= |
---|
[9393] | 76 | \section{Non-diffusive part --- Leapfrog scheme} |
---|
[11543] | 77 | \label{sec:TD_leap_frog} |
---|
[2282] | 78 | |
---|
[11622] | 79 | The time stepping used for processes other than diffusion is |
---|
| 80 | the well-known \textbf{L}eap\textbf{F}rog (LF) scheme \citep{mesinger.arakawa_bk76}. |
---|
[10354] | 81 | This scheme is widely used for advection processes in low-viscosity fluids. |
---|
[11622] | 82 | It is a time centred scheme, \ie\ the RHS in \autoref{eq:TD} is evaluated at |
---|
| 83 | time step $t$, the now time step. |
---|
[10354] | 84 | It may be used for momentum and tracer advection, pressure gradient, and Coriolis terms, |
---|
| 85 | but not for diffusion terms. |
---|
| 86 | It is an efficient method that achieves second-order accuracy with |
---|
| 87 | just one right hand side evaluation per time step. |
---|
[11622] | 88 | Moreover, it does not artificially damp linear oscillatory motion |
---|
| 89 | nor does it produce instability by amplifying the oscillations. |
---|
[10354] | 90 | These advantages are somewhat diminished by the large phase-speed error of the leapfrog scheme, |
---|
[11622] | 91 | and the unsuitability of leapfrog differencing for the representation of diffusion and |
---|
| 92 | Rayleigh damping processes. |
---|
[10354] | 93 | However, the scheme allows the coexistence of a numerical and a physical mode due to |
---|
| 94 | its leading third order dispersive error. |
---|
| 95 | In other words a divergence of odd and even time steps may occur. |
---|
[11622] | 96 | To prevent it, the leapfrog scheme is often used in association with |
---|
| 97 | a \textbf{R}obert-\textbf{A}sselin time filter (hereafter the LF-RA scheme). |
---|
| 98 | This filter, |
---|
| 99 | first designed by \citet{robert_JMSJ66} and more comprehensively studied by \citet{asselin_MWR72}, |
---|
[10354] | 100 | is a kind of laplacian diffusion in time that mixes odd and even time steps: |
---|
[10414] | 101 | \begin{equation} |
---|
[11543] | 102 | \label{eq:TD_asselin} |
---|
[10501] | 103 | x_F^t = x^t + \gamma \, \lt[ x_F^{t - \rdt} - 2 x^t + x^{t + \rdt} \rt] |
---|
| 104 | \end{equation} |
---|
[10354] | 105 | where the subscript $F$ denotes filtered values and $\gamma$ is the Asselin coefficient. |
---|
[11577] | 106 | $\gamma$ is initialized as \np{rn_atfp}{rn\_atfp} (namelist parameter). |
---|
[11582] | 107 | Its default value is \np[=10.e-3]{rn_atfp}{rn\_atfp} (see \autoref{sec:TD_mLF}), |
---|
[11123] | 108 | causing only a weak dissipation of high frequency motions (\citep{farge-coulombier_phd87}). |
---|
[10354] | 109 | The addition of a time filter degrades the accuracy of the calculation from second to first order. |
---|
| 110 | However, the second order truncation error is proportional to $\gamma$, which is small compared to 1. |
---|
| 111 | Therefore, the LF-RA is a quasi second order accurate scheme. |
---|
[11622] | 112 | The LF-RA scheme is preferred to other time differencing schemes such as |
---|
| 113 | predictor corrector or trapezoidal schemes, because the user has an explicit and simple control of |
---|
| 114 | the magnitude of the time diffusion of the scheme. |
---|
| 115 | When used with the 2$^nd$ order space centred discretisation of the advection terms in |
---|
[10354] | 116 | the momentum and tracer equations, LF-RA avoids implicit numerical diffusion: |
---|
[11622] | 117 | diffusion is set explicitly by the user through the Robert-Asselin filter parameter and |
---|
| 118 | the viscosity and diffusion coefficients. |
---|
[2282] | 119 | |
---|
[11597] | 120 | %% ================================================================================================= |
---|
[9393] | 121 | \section{Diffusive part --- Forward or backward scheme} |
---|
[11543] | 122 | \label{sec:TD_forward_imp} |
---|
[2282] | 123 | |
---|
[11622] | 124 | The leapfrog differencing scheme is unsuitable for |
---|
| 125 | the representation of diffusion and damping processes. |
---|
[11184] | 126 | For a tendency $D_x$, representing a diffusion term or a restoring term to a tracer climatology |
---|
[10354] | 127 | (when present, see \autoref{sec:TRA_dmp}), a forward time differencing scheme is used : |
---|
[10414] | 128 | \[ |
---|
[11543] | 129 | %\label{eq:TD_euler} |
---|
[10501] | 130 | x^{t + \rdt} = x^{t - \rdt} + 2 \, \rdt \ D_x^{t - \rdt} |
---|
| 131 | \] |
---|
[2282] | 132 | |
---|
[10354] | 133 | This is diffusive in time and conditionally stable. |
---|
[11622] | 134 | The conditions for stability of second and fourth order horizontal diffusion schemes are |
---|
| 135 | \citep{griffies_bk04}: |
---|
[10414] | 136 | \begin{equation} |
---|
[11543] | 137 | \label{eq:TD_euler_stability} |
---|
[10501] | 138 | A^h < |
---|
| 139 | \begin{cases} |
---|
| 140 | \frac{e^2}{ 8 \, \rdt} & \text{laplacian diffusion} \\ |
---|
| 141 | \frac{e^4}{64 \, \rdt} & \text{bilaplacian diffusion} |
---|
| 142 | \end{cases} |
---|
[2282] | 143 | \end{equation} |
---|
[11622] | 144 | where $e$ is the smallest grid size in the two horizontal directions and |
---|
| 145 | $A^h$ is the mixing coefficient. |
---|
[11543] | 146 | The linear constraint \autoref{eq:TD_euler_stability} is a necessary condition, but not sufficient. |
---|
[10354] | 147 | If it is not satisfied, even mildly, then the model soon becomes wildly unstable. |
---|
[11622] | 148 | The instability can be removed by either reducing the length of the time steps or |
---|
| 149 | reducing the mixing coefficient. |
---|
[2282] | 150 | |
---|
[10354] | 151 | For the vertical diffusion terms, a forward time differencing scheme can be used, |
---|
[11622] | 152 | but usually the numerical stability condition imposes a strong constraint on the time step. |
---|
| 153 | To overcome the stability constraint, a backward (or implicit) time differencing scheme is used. |
---|
| 154 | This scheme is unconditionally stable but diffusive and can be written as follows: |
---|
[10414] | 155 | \begin{equation} |
---|
[11543] | 156 | \label{eq:TD_imp} |
---|
[10501] | 157 | x^{t + \rdt} = x^{t - \rdt} + 2 \, \rdt \ \text{RHS}_x^{t + \rdt} |
---|
| 158 | \end{equation} |
---|
[2282] | 159 | |
---|
[11693] | 160 | \cmtgm{UPDATE the next paragraphs with time varying thickness ...} |
---|
[6140] | 161 | |
---|
[11622] | 162 | This scheme is rather time consuming since it requires a matrix inversion. |
---|
| 163 | For example, the finite difference approximation of the temperature equation is: |
---|
[10414] | 164 | \[ |
---|
[11543] | 165 | % \label{eq:TD_imp_zdf} |
---|
[10501] | 166 | \frac{T(k)^{t + 1} - T(k)^{t - 1}}{2 \; \rdt} |
---|
| 167 | \equiv |
---|
| 168 | \text{RHS} + \frac{1}{e_{3t}} \delta_k \lt[ \frac{A_w^{vT}}{e_{3w} } \delta_{k + 1/2} \lt[ T^{t + 1} \rt] \rt] |
---|
[10414] | 169 | \] |
---|
[10354] | 170 | where RHS is the right hand side of the equation except for the vertical diffusion term. |
---|
[11543] | 171 | We rewrite \autoref{eq:TD_imp} as: |
---|
[10414] | 172 | \begin{equation} |
---|
[11543] | 173 | \label{eq:TD_imp_mat} |
---|
[10501] | 174 | -c(k + 1) \; T^{t + 1}(k + 1) + d(k) \; T^{t + 1}(k) - \; c(k) \; T^{t + 1}(k - 1) \equiv b(k) |
---|
[2282] | 175 | \end{equation} |
---|
[11435] | 176 | where |
---|
[11630] | 177 | \[ |
---|
| 178 | c(k) = A_w^{vT} (k) \, / \, e_{3w} (k) \text{,} \quad |
---|
| 179 | d(k) = e_{3t} (k) \, / \, (2 \rdt) + c_k + c_{k + 1} \quad \text{and} \quad |
---|
| 180 | b(k) = e_{3t} (k) \; \lt( T^{t - 1}(k) \, / \, (2 \rdt) + \text{RHS} \rt) |
---|
| 181 | \] |
---|
[2282] | 182 | |
---|
[11622] | 183 | \autoref{eq:TD_imp_mat} is a linear system of equations with |
---|
| 184 | an associated matrix which is tridiagonal. |
---|
| 185 | Moreover, $c(k)$ and $d(k)$ are positive and |
---|
| 186 | the diagonal term is greater than the sum of the two extra-diagonal terms, |
---|
[10354] | 187 | therefore a special adaptation of the Gauss elimination procedure is used to find the solution |
---|
[11123] | 188 | (see for example \citet{richtmyer.morton_bk67}). |
---|
[2282] | 189 | |
---|
[11597] | 190 | %% ================================================================================================= |
---|
[9393] | 191 | \section{Surface pressure gradient} |
---|
[11543] | 192 | \label{sec:TD_spg_ts} |
---|
[2282] | 193 | |
---|
[11622] | 194 | The leapfrog environment supports a centred in time computation of the surface pressure, |
---|
| 195 | \ie\ evaluated at \textit{now} time step. |
---|
| 196 | This refers to as the explicit free surface case in the code |
---|
| 197 | (\np[=.true.]{ln_dynspg_exp}{ln\_dynspg\_exp}). |
---|
| 198 | This choice however imposes a strong constraint on the time step which |
---|
| 199 | should be small enough to resolve the propagation of external gravity waves. |
---|
| 200 | As a matter of fact, one rather use in a realistic setup, |
---|
| 201 | a split-explicit free surface (\np[=.true.]{ln_dynspg_ts}{ln\_dynspg\_ts}) in which |
---|
| 202 | barotropic and baroclinic dynamical equations are solved separately with ad-hoc time steps. |
---|
| 203 | The use of the time-splitting (in combination with non-linear free surface) imposes |
---|
| 204 | some constraints on the design of the overall flowchart, |
---|
| 205 | in particular to ensure exact tracer conservation (see \autoref{fig:TD_TimeStep_flowchart}). |
---|
[6140] | 206 | |
---|
[11622] | 207 | Compared to the former use of the filtered free surface in \NEMO\ v3.6 (\citet{roullet.madec_JGR00}), |
---|
| 208 | the use of a split-explicit free surface is advantageous on massively parallel computers. |
---|
| 209 | Indeed, no global computations are anymore required by the elliptic solver which |
---|
| 210 | saves a substantial amount of communication time. |
---|
| 211 | Fast barotropic motions (such as tides) are also simulated with a better accuracy. |
---|
[11184] | 212 | |
---|
[11693] | 213 | %\cmtgm{ |
---|
[11622] | 214 | \begin{figure} |
---|
[11558] | 215 | \centering |
---|
[11690] | 216 | \includegraphics[width=0.66\textwidth]{TD_TimeStepping_flowchart_v4} |
---|
[11558] | 217 | \caption[Leapfrog time stepping sequence with split-explicit free surface]{ |
---|
| 218 | Sketch of the leapfrog time stepping sequence in \NEMO\ with split-explicit free surface. |
---|
[11622] | 219 | The latter combined with non-linear free surface requires |
---|
| 220 | the dynamical tendency being updated prior tracers tendency to ensure conservation. |
---|
[11558] | 221 | Note the use of time integrated fluxes issued from the barotropic loop in |
---|
| 222 | subsequent calculations of tracer advection and in the continuity equation. |
---|
| 223 | Details about the time-splitting scheme can be found in \autoref{subsec:DYN_spg_ts}.} |
---|
| 224 | \label{fig:TD_TimeStep_flowchart} |
---|
[10414] | 225 | \end{figure} |
---|
[2282] | 226 | %} |
---|
| 227 | |
---|
[11597] | 228 | %% ================================================================================================= |
---|
[11622] | 229 | \section{Modified LeapFrog -- Robert Asselin filter scheme (LF-RA)} |
---|
[11543] | 230 | \label{sec:TD_mLF} |
---|
[2282] | 231 | |
---|
[11622] | 232 | Significant changes have been introduced by \cite{leclair.madec_OM09} in |
---|
| 233 | the LF-RA scheme in order to ensure tracer conservation and to |
---|
| 234 | allow the use of a much smaller value of the Asselin filter parameter. |
---|
[10354] | 235 | The modifications affect both the forcing and filtering treatments in the LF-RA scheme. |
---|
[2282] | 236 | |
---|
[11622] | 237 | In a classical LF-RA environment, |
---|
| 238 | the forcing term is centred in time, \ie\ it is time-stepped over a $2 \rdt$ period: |
---|
[10501] | 239 | $x^t = x^t + 2 \rdt Q^t$ where $Q$ is the forcing applied to $x$, |
---|
[11622] | 240 | and the time filter is given by \autoref{eq:TD_asselin} so that |
---|
| 241 | $Q$ is redistributed over several time step. |
---|
[2282] | 242 | In the modified LF-RA environment, these two formulations have been replaced by: |
---|
[10501] | 243 | \begin{gather} |
---|
[11543] | 244 | \label{eq:TD_forcing} |
---|
[10501] | 245 | x^{t + \rdt} = x^{t - \rdt} + \rdt \lt( Q^{t - \rdt / 2} + Q^{t + \rdt / 2} \rt) \\ |
---|
[11543] | 246 | \label{eq:TD_RA} |
---|
[10501] | 247 | x_F^t = x^t + \gamma \, \lt( x_F^{t - \rdt} - 2 x^t + x^{t + \rdt} \rt) |
---|
| 248 | - \gamma \, \rdt \, \lt( Q^{t + \rdt / 2} - Q^{t - \rdt / 2} \rt) |
---|
| 249 | \end{gather} |
---|
[11622] | 250 | The change in the forcing formulation given by \autoref{eq:TD_forcing} |
---|
| 251 | (see \autoref{fig:TD_MLF_forcing}) has a significant effect: |
---|
| 252 | the forcing term no longer excites the divergence of odd and even time steps |
---|
| 253 | \citep{leclair.madec_OM09}. |
---|
[2282] | 254 | % forcing seen by the model.... |
---|
[11184] | 255 | This property improves the LF-RA scheme in two aspects. |
---|
[2282] | 256 | First, the LF-RA can now ensure the local and global conservation of tracers. |
---|
[10354] | 257 | Indeed, time filtering is no longer required on the forcing part. |
---|
[11622] | 258 | The influence of the Asselin filter on the forcing is explicitly removed by |
---|
| 259 | adding a new term in the filter (last term in \autoref{eq:TD_RA} compared to \autoref{eq:TD_asselin}). |
---|
[10354] | 260 | Since the filtering of the forcing was the source of non-conservation in the classical LF-RA scheme, |
---|
[11123] | 261 | the modified formulation becomes conservative \citep{leclair.madec_OM09}. |
---|
[11622] | 262 | Second, the LF-RA becomes a truly quasi-second order scheme. |
---|
[11543] | 263 | Indeed, \autoref{eq:TD_forcing} used in combination with a careful treatment of static instability |
---|
[11435] | 264 | (\autoref{subsec:ZDF_evd}) and of the TKE physics (\autoref{subsec:ZDF_tke_ene}) |
---|
[11184] | 265 | (the two other main sources of time step divergence), |
---|
[10501] | 266 | allows a reduction by two orders of magnitude of the Asselin filter parameter. |
---|
[2282] | 267 | |
---|
[10354] | 268 | Note that the forcing is now provided at the middle of a time step: |
---|
[10501] | 269 | $Q^{t + \rdt / 2}$ is the forcing applied over the $[t,t + \rdt]$ time interval. |
---|
[11543] | 270 | This and the change in the time filter, \autoref{eq:TD_RA}, |
---|
[11184] | 271 | allows for an exact evaluation of the contribution due to the forcing term between any two time steps, |
---|
[10354] | 272 | even if separated by only $\rdt$ since the time filter is no longer applied to the forcing term. |
---|
[2282] | 273 | |
---|
[11622] | 274 | \begin{figure} |
---|
[11558] | 275 | \centering |
---|
[11690] | 276 | \includegraphics[width=0.66\textwidth]{TD_MLF_forcing} |
---|
[11558] | 277 | \caption[Forcing integration methods for modified leapfrog (top and bottom)]{ |
---|
| 278 | Illustration of forcing integration methods. |
---|
| 279 | (top) ''Traditional'' formulation: |
---|
| 280 | the forcing is defined at the same time as the variable to which it is applied |
---|
| 281 | (integer value of the time step index) and it is applied over a $2 \rdt$ period. |
---|
| 282 | (bottom) modified formulation: |
---|
| 283 | the forcing is defined in the middle of the time |
---|
| 284 | (integer and a half value of the time step index) and |
---|
| 285 | the mean of two successive forcing values ($n - 1 / 2$, $n + 1 / 2$) is applied over |
---|
| 286 | a $2 \rdt$ period.} |
---|
| 287 | \label{fig:TD_MLF_forcing} |
---|
[10354] | 288 | \end{figure} |
---|
[2282] | 289 | |
---|
[11597] | 290 | %% ================================================================================================= |
---|
[2282] | 291 | \section{Start/Restart strategy} |
---|
[11543] | 292 | \label{sec:TD_rst} |
---|
[9376] | 293 | |
---|
[11558] | 294 | \begin{listing} |
---|
| 295 | \nlst{namrun} |
---|
[11567] | 296 | \caption{\forcode{&namrun}} |
---|
[11558] | 297 | \label{lst:namrun} |
---|
| 298 | \end{listing} |
---|
[2282] | 299 | |
---|
[11622] | 300 | The first time step of this three level scheme when starting from initial conditions is |
---|
| 301 | a forward step (Euler time integration): |
---|
[10414] | 302 | \[ |
---|
[11543] | 303 | % \label{eq:TD_DOM_euler} |
---|
[10414] | 304 | x^1 = x^0 + \rdt \ \text{RHS}^0 |
---|
| 305 | \] |
---|
[11622] | 306 | This is done simply by keeping the leapfrog environment |
---|
| 307 | (\ie\ the \autoref{eq:TD} three level time stepping) but |
---|
[10501] | 308 | setting all $x^0$ (\textit{before}) and $x^1$ (\textit{now}) fields equal at the first time step and |
---|
[11435] | 309 | using half the value of a leapfrog time step ($2 \rdt$). |
---|
[2282] | 310 | |
---|
[10354] | 311 | It is also possible to restart from a previous computation, by using a restart file. |
---|
| 312 | The restart strategy is designed to ensure perfect restartability of the code: |
---|
| 313 | the user should obtain the same results to machine precision either by |
---|
| 314 | running the model for $2N$ time steps in one go, |
---|
| 315 | or by performing two consecutive experiments of $N$ steps with a restart. |
---|
[11622] | 316 | This requires saving two time levels and many auxiliary data in |
---|
| 317 | the restart files in machine precision. |
---|
[2282] | 318 | |
---|
[11184] | 319 | Note that the time step $\rdt$, is also saved in the restart file. |
---|
[11622] | 320 | When restarting, if the time step has been changed, or |
---|
| 321 | one of the prognostic variables at \textit{before} time step is missing, |
---|
| 322 | an Euler time stepping scheme is imposed. |
---|
| 323 | A forward initial step can still be enforced by the user by |
---|
| 324 | setting the namelist variable \np[=0]{nn_euler}{nn\_euler}. |
---|
| 325 | Other options to control the time integration of the model are defined through |
---|
| 326 | the \nam{run}{run} namelist variables. |
---|
| 327 | |
---|
[11693] | 328 | \cmtgm{ |
---|
[2282] | 329 | add here how to force the restart to contain only one time step for operational purposes |
---|
| 330 | |
---|
| 331 | add also the idea of writing several restart for seasonal forecast : how is it done ? |
---|
| 332 | |
---|
[11622] | 333 | verify that all namelist parameters are truly described |
---|
[2282] | 334 | |
---|
| 335 | a word on the check of restart ..... |
---|
| 336 | } |
---|
| 337 | |
---|
[11693] | 338 | \cmtgm{ % add a subsection here |
---|
[2282] | 339 | |
---|
[11597] | 340 | %% ================================================================================================= |
---|
| 341 | \subsection{Time domain} |
---|
| 342 | \label{subsec:TD_time} |
---|
| 343 | |
---|
[11622] | 344 | Options are defined through the\nam{dom}{dom} namelist variables. |
---|
[11597] | 345 | \colorbox{yellow}{add here a few word on nit000 and nitend} |
---|
| 346 | |
---|
| 347 | \colorbox{yellow}{Write documentation on the calendar and the key variable adatrj} |
---|
| 348 | |
---|
[11622] | 349 | add a description of daymod, and the model calendar (leap-year and co) |
---|
[11597] | 350 | |
---|
[11622] | 351 | } %% end add |
---|
[11597] | 352 | |
---|
[11693] | 353 | \cmtgm{ % add implicit in vvl case and Crant-Nicholson scheme |
---|
[11597] | 354 | |
---|
| 355 | Implicit time stepping in case of variable volume thickness. |
---|
| 356 | |
---|
| 357 | Tracer case (NB for momentum in vector invariant form take care!) |
---|
| 358 | |
---|
| 359 | \begin{flalign*} |
---|
| 360 | &\frac{\lt( e_{3t}\,T \rt)_k^{t+1}-\lt( e_{3t}\,T \rt)_k^{t-1}}{2\rdt} |
---|
| 361 | \equiv \text{RHS}+ \delta_k \lt[ {\frac{A_w^{vt} }{e_{3w}^{t+1} }\delta_{k + 1/2} \lt[ {T^{t+1}} \rt]} |
---|
| 362 | \rt] \\ |
---|
| 363 | &\lt( e_{3t}\,T \rt)_k^{t+1}-\lt( e_{3t}\,T \rt)_k^{t-1} |
---|
| 364 | \equiv {2\rdt} \ \text{RHS}+ {2\rdt} \ \delta_k \lt[ {\frac{A_w^{vt} }{e_{3w}^{t+1} }\delta_{k + 1/2} \lt[ {T^{t+1}} \rt]} |
---|
| 365 | \rt] \\ |
---|
| 366 | &\lt( e_{3t}\,T \rt)_k^{t+1}-\lt( e_{3t}\,T \rt)_k^{t-1} |
---|
| 367 | \equiv 2\rdt \ \text{RHS} |
---|
| 368 | + 2\rdt \ \lt\{ \lt[ \frac{A_w^{vt}}{e_{3w}^{t+1}} \rt]_{k + 1/2} [ T_{k +1}^{t+1} - T_k ^{t+1} ] |
---|
| 369 | - \lt[ \frac{A_w^{vt}}{e_{3w}^{t+1}} \rt]_{k - 1/2} [ T_k ^{t+1} - T_{k -1}^{t+1} ] \rt\} \\ |
---|
| 370 | &\\ |
---|
| 371 | &\lt( e_{3t}\,T \rt)_k^{t+1} |
---|
| 372 | - {2\rdt} \ \lt[ \frac{A_w^{vt}}{e_{3w}^{t+1}} \rt]_{k + 1/2} T_{k +1}^{t+1} |
---|
| 373 | + {2\rdt} \ \lt\{ \lt[ \frac{A_w^{vt}}{e_{3w}^{t+1}} \rt]_{k + 1/2} |
---|
| 374 | + \lt[ \frac{A_w^{vt}}{e_{3w}^{t+1}} \rt]_{k - 1/2} \rt\} T_{k }^{t+1} |
---|
| 375 | - {2\rdt} \ \lt[ \frac{A_w^{vt}}{e_{3w}^{t+1}} \rt]_{k - 1/2} T_{k -1}^{t+1} \\ |
---|
| 376 | &\equiv \lt( e_{3t}\,T \rt)_k^{t-1} + {2\rdt} \ \text{RHS} \\ |
---|
| 377 | % |
---|
| 378 | \end{flalign*} |
---|
| 379 | \begin{flalign*} |
---|
| 380 | \allowdisplaybreaks |
---|
| 381 | \intertext{ Tracer case } |
---|
| 382 | % |
---|
| 383 | & \qquad \qquad \quad - {2\rdt} \ \lt[ \frac{A_w^{vt}}{e_{3w}^{t+1}} \rt]_{k + 1/2} |
---|
| 384 | \qquad \qquad \qquad \qquad T_{k +1}^{t+1} \\ |
---|
| 385 | &+ {2\rdt} \ \biggl\{ (e_{3t})_{k }^{t+1} \bigg. + \lt[ \frac{A_w^{vt}}{e_{3w}^{t+1}} \rt]_{k + 1/2} |
---|
| 386 | + \lt[ \frac{A_w^{vt}}{e_{3w}^{t+1}} \rt]_{k - 1/2} \bigg. \biggr\} \ \ \ T_{k }^{t+1} &&\\ |
---|
| 387 | & \qquad \qquad \qquad \qquad \qquad \quad \ \ - {2\rdt} \ \lt[ \frac{A_w^{vt}}{e_{3w}^{t+1}} \rt]_{k - 1/2} \quad \ \ T_{k -1}^{t+1} |
---|
| 388 | \ \equiv \ \lt( e_{3t}\,T \rt)_k^{t-1} + {2\rdt} \ \text{RHS} \\ |
---|
| 389 | % |
---|
| 390 | \end{flalign*} |
---|
| 391 | \begin{flalign*} |
---|
| 392 | \allowdisplaybreaks |
---|
| 393 | \intertext{ Tracer content case } |
---|
| 394 | % |
---|
| 395 | & - {2\rdt} \ & \frac{(A_w^{vt})_{k + 1/2}} {(e_{3w})_{k + 1/2}^{t+1}\;(e_{3t})_{k +1}^{t+1}} && \ \lt( e_{3t}\,T \rt)_{k +1}^{t+1} &\\ |
---|
| 396 | & + {2\rdt} \ \lt[ 1 \rt.+ & \frac{(A_w^{vt})_{k + 1/2}} {(e_{3w})_{k + 1/2}^{t+1}\;(e_{3t})_k^{t+1}} |
---|
| 397 | + & \frac{(A_w^{vt})_{k - 1/2}} {(e_{3w})_{k - 1/2}^{t+1}\;(e_{3t})_k^{t+1}} \lt. \rt] & \lt( e_{3t}\,T \rt)_{k }^{t+1} &\\ |
---|
| 398 | & - {2\rdt} \ & \frac{(A_w^{vt})_{k - 1/2}} {(e_{3w})_{k - 1/2}^{t+1}\;(e_{3t})_{k -1}^{t+1}} &\ \lt( e_{3t}\,T \rt)_{k -1}^{t+1} |
---|
| 399 | \equiv \lt( e_{3t}\,T \rt)_k^{t-1} + {2\rdt} \ \text{RHS} & |
---|
| 400 | \end{flalign*} |
---|
| 401 | |
---|
| 402 | } |
---|
| 403 | |
---|
[11693] | 404 | \subinc{\input{../../global/epilogue}} |
---|
[11597] | 405 | |
---|
| 406 | \end{document} |
---|