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