Changeset 12065 for NEMO/branches/2019/dev_r10742_ENHANCE-12_SimonM-Tides/doc/latex/NEMO/subfiles/chap_time_domain.tex
- Timestamp:
- 2019-12-05T12:06:36+01:00 (4 years ago)
- Location:
- NEMO/branches/2019/dev_r10742_ENHANCE-12_SimonM-Tides/doc
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r10742_ENHANCE-12_SimonM-Tides/doc
- Property svn:ignore deleted
-
Property
svn:externals
set to
^/utils/badges badges
^/utils/logos logos
-
NEMO/branches/2019/dev_r10742_ENHANCE-12_SimonM-Tides/doc/latex
- Property svn:ignore deleted
-
NEMO/branches/2019/dev_r10742_ENHANCE-12_SimonM-Tides/doc/latex/NEMO
- Property svn:ignore deleted
-
Property
svn:externals
set to
^/utils/figures/NEMO figures
-
NEMO/branches/2019/dev_r10742_ENHANCE-12_SimonM-Tides/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_r10742_ENHANCE-12_SimonM-Tides/doc/latex/NEMO/subfiles/chap_time_domain.tex
r10501 r12065 3 3 \begin{document} 4 4 5 % ================================================================ 6 % Chapter 2 ——— Time Domain (step.F90) 7 % ================================================================ 8 \chapter{Time Domain (STP)} 9 \label{chap:STP} 10 \minitoc 5 \chapter{Time Domain} 6 \label{chap:TD} 7 8 \thispagestyle{plain} 9 10 \chaptertoc 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 11 29 12 30 % Missing things: 13 % - daymod: definition of the time domain (nit000, nitend andd 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 \cmtgm{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 (\ie on its flowchart).24 In the present chapter, we provide a general description of the \NEMO time stepping strategy and39 (\ie\ on its flowchart). 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}32 33 The time stepping used in \NEMO is a three level scheme that can be represented as follows:45 \label{sec:TD_environment} 46 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 \end{equation} 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 step depending on the physics with which it is associated. 43 44 The choice of the time step used for this evaluation is discussed below as well as 56 Each term of the RHS is evaluated at a specific time stepping depending on 57 the physics with which it is associated. 58 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 Generally, the time stepping is performed once at each time step in the \mdl{tranxt} and \mdl{dynnxt} modules, 56 except when using implicit vertical diffusion or calculating sea surface height in which 57 case time-splitting options are used. 58 59 % ------------------------------------------------------------------------------------------------------------- 60 % Non-Diffusive Part---Leapfrog Scheme 61 % ------------------------------------------------------------------------------------------------------------- 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 %% ================================================================================================= 62 76 \section{Non-diffusive part --- Leapfrog scheme} 63 \label{sec: STP_leap_frog}64 65 The time stepping used for processes other than diffusion is the well-known leapfrog scheme66 \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}. 67 81 This scheme is widely used for advection processes in low-viscosity fluids. 68 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. 69 84 It may be used for momentum and tracer advection, pressure gradient, and Coriolis terms, 70 85 but not for diffusion terms. 71 86 It is an efficient method that achieves second-order accuracy with 72 87 just one right hand side evaluation per time step. 73 Moreover, it does not artificially damp linear oscillatory motion nor does it produce instability by74 amplifying the oscillations.88 Moreover, it does not artificially damp linear oscillatory motion 89 nor does it produce instability by amplifying the oscillations. 75 90 These advantages are somewhat diminished by the large phase-speed error of the leapfrog scheme, 76 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. 77 93 However, the scheme allows the coexistence of a numerical and a physical mode due to 78 94 its leading third order dispersive error. 79 95 In other words a divergence of odd and even time steps may occur. 80 To prevent it, the leapfrog scheme is often used in association with a Robert-Asselin time filter 81 (hereafter the LF-RA scheme). 82 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}, 83 100 is a kind of laplacian diffusion in time that mixes odd and even time steps: 84 101 \begin{equation} 85 \label{eq: STP_asselin}102 \label{eq:TD_asselin} 86 103 x_F^t = x^t + \gamma \, \lt[ x_F^{t - \rdt} - 2 x^t + x^{t + \rdt} \rt] 87 104 \end{equation} 88 105 where the subscript $F$ denotes filtered values and $\gamma$ is the Asselin coefficient. 89 $\gamma$ is initialized as \np{rn \_atfp} (namelist parameter).90 Its default value is \np {rn\_atfp}~\forcode{= 10.e-3} (see \autoref{sec:STP_mLF}),91 causing only a weak dissipation of high frequency motions (\citep{ Farge1987}).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}), 108 causing only a weak dissipation of high frequency motions (\citep{farge-coulombier_phd87}). 92 109 The addition of a time filter degrades the accuracy of the calculation from second to first order. 93 110 However, the second order truncation error is proportional to $\gamma$, which is small compared to 1. 94 111 Therefore, the LF-RA is a quasi second order accurate scheme. 95 The LF-RA scheme is preferred to other time differencing schemes such as predictor corrector or trapezoidal schemes, 96 because the user has an explicit and simple control of the magnitude of the time diffusion of the scheme. 97 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 98 116 the momentum and tracer equations, LF-RA avoids implicit numerical diffusion: 99 diffusion is set explicitly by the user through the Robert-Asselin 100 filter parameter and the viscosity and diffusion coefficients. 101 102 % ------------------------------------------------------------------------------------------------------------- 103 % Diffusive Part---Forward or Backward Scheme 104 % ------------------------------------------------------------------------------------------------------------- 117 diffusion is set explicitly by the user through the Robert-Asselin filter parameter and 118 the viscosity and diffusion coefficients. 119 120 %% ================================================================================================= 105 121 \section{Diffusive part --- Forward or backward scheme} 106 \label{sec:STP_forward_imp} 107 108 The leapfrog differencing scheme is unsuitable for the representation of diffusion and damping processes. 109 For a tendancy $D_x$, representing a diffusion term or a restoring term to a tracer climatology 122 \label{sec:TD_forward_imp} 123 124 The leapfrog differencing scheme is unsuitable for 125 the representation of diffusion and damping processes. 126 For a tendency $D_x$, representing a diffusion term or a restoring term to a tracer climatology 110 127 (when present, see \autoref{sec:TRA_dmp}), a forward time differencing scheme is used : 111 128 \[ 112 %\label{eq: STP_euler}129 %\label{eq:TD_euler} 113 130 x^{t + \rdt} = x^{t - \rdt} + 2 \, \rdt \ D_x^{t - \rdt} 114 131 \] 115 132 116 133 This is diffusive in time and conditionally stable. 117 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}: 118 136 \begin{equation} 119 \label{eq: STP_euler_stability}137 \label{eq:TD_euler_stability} 120 138 A^h < 121 139 \begin{cases} … … 124 142 \end{cases} 125 143 \end{equation} 126 where $e$ is the smallest grid size in the two horizontal directions and $A^h$ is the mixing coefficient. 127 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. 128 147 If it is not satisfied, even mildly, then the model soon becomes wildly unstable. 129 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. 130 150 131 151 For the vertical diffusion terms, a forward time differencing scheme can be used, 132 152 but usually the numerical stability condition imposes a strong constraint on the time step. 133 Two solutions are available in \NEMO to overcome the stability constraint: 134 $(a)$ a forward time differencing scheme using a time splitting technique (\np{ln\_zdfexp}~\forcode{= .true.}) or 135 $(b)$ a backward (or implicit) time differencing scheme (\np{ln\_zdfexp}~\forcode{= .false.}). 136 In $(a)$, the master time step $\Delta$t is cut into $N$ fractional time steps so that 137 the stability criterion is reduced by a factor of $N$. 138 The computation is performed as follows: 139 \begin{alignat*}{2} 140 % \label{eq:STP_ts} 141 &x_\ast^{t - \rdt} &= &x^{t - \rdt} \\ 142 &x_\ast^{t - \rdt + L \frac{2 \rdt}{N}} &= &x_\ast ^{t - \rdt + (L - 1) \frac{2 \rdt}{N}} 143 + \frac{2 \rdt}{N} \; DF^{t - \rdt + (L - 1) \frac{2 \rdt}{N}} 144 \quad \text{for $L = 1$ to $N$} \\ 145 &x^{t + \rdt} &= &x_\ast^{t + \rdt} 146 \end{alignat*} 147 with DF a vertical diffusion term. 148 The number of fractional time steps, $N$, is given by setting \np{nn\_zdfexp}, (namelist parameter). 149 The scheme $(b)$ is unconditionally stable but diffusive. It can be written as follows: 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: 150 155 \begin{equation} 151 \label{eq: STP_imp}156 \label{eq:TD_imp} 152 157 x^{t + \rdt} = x^{t - \rdt} + 2 \, \rdt \ \text{RHS}_x^{t + \rdt} 153 158 \end{equation} 154 159 155 %%gm 156 %%gm UPDATE the next paragraphs with time varying thickness ... 157 %%gm 158 159 This scheme is rather time consuming since it requires a matrix inversion, 160 but it becomes attractive since a value of 3 or more is needed for N in the forward time differencing scheme. 160 \cmtgm{UPDATE the next paragraphs with time varying thickness ...} 161 162 This scheme is rather time consuming since it requires a matrix inversion. 161 163 For example, the finite difference approximation of the temperature equation is: 162 164 \[ 163 % \label{eq: STP_imp_zdf}165 % \label{eq:TD_imp_zdf} 164 166 \frac{T(k)^{t + 1} - T(k)^{t - 1}}{2 \; \rdt} 165 167 \equiv … … 167 169 \] 168 170 where RHS is the right hand side of the equation except for the vertical diffusion term. 169 We rewrite \autoref{eq: STP_imp} as:171 We rewrite \autoref{eq:TD_imp} as: 170 172 \begin{equation} 171 \label{eq: STP_imp_mat}173 \label{eq:TD_imp_mat} 172 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) 173 175 \end{equation} 174 where 175 \begin{align*} 176 c(k) &= A_w^{vT} (k) \, / \, e_{3w} (k) \\ 177 d(k) &= e_{3t} (k) \, / \, (2 \rdt) + c_k + c_{k + 1} \\ 178 b(k) &= e_{3t} (k) \; \lt( T^{t - 1}(k) \, / \, (2 \rdt) + \text{RHS} \rt) 179 \end{align*} 180 181 \autoref{eq:STP_imp_mat} is a linear system of equations with an associated matrix which is tridiagonal. 182 Moreover, 183 $c(k)$ and $d(k)$ are positive and the diagonal term is greater than the sum of the two extra-diagonal terms, 176 where 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 \] 182 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, 184 187 therefore a special adaptation of the Gauss elimination procedure is used to find the solution 185 (see for example \citet{Richtmyer1967}). 186 187 % ------------------------------------------------------------------------------------------------------------- 188 % Surface Pressure gradient 189 % ------------------------------------------------------------------------------------------------------------- 188 (see for example \citet{richtmyer.morton_bk67}). 189 190 %% ================================================================================================= 190 191 \section{Surface pressure gradient} 191 \label{sec:STP_spg_ts} 192 193 ===>>>> TO BE written.... :-) 194 195 %\gmcomment{ 196 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 197 \begin{figure}[!t] 198 \begin{center} 199 \includegraphics[]{Fig_TimeStepping_flowchart} 200 \caption{ 201 \protect\label{fig:TimeStep_flowchart} 202 Sketch of the leapfrog time stepping sequence in \NEMO from \citet{Leclair_Madec_OM09}. 203 The use of a semi -implicit computation of the hydrostatic pressure gradient requires the tracer equation to 204 be stepped forward prior to the momentum equation. 205 The need for knowledge of the vertical scale factor (here denoted as $h$) requires the sea surface height and 206 the continuity equation to be stepped forward prior to the computation of the tracer equation. 207 Note that the method for the evaluation of the surface pressure gradient $\nabla p_s$ is not presented here 208 (see \autoref{sec:DYN_spg}). 209 } 210 \end{center} 192 \label{sec:TD_spg_ts} 193 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}). 206 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. 212 213 %\cmtgm{ 214 \begin{figure} 215 \centering 216 \includegraphics[width=0.66\textwidth]{TD_TimeStepping_flowchart_v4} 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. 219 The latter combined with non-linear free surface requires 220 the dynamical tendency being updated prior tracers tendency to ensure conservation. 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} 211 225 \end{figure} 212 %>>>>>>>>>>>>>>>>>>>>>>>>>>>>213 226 %} 214 227 215 % ------------------------------------------------------------------------------------------------------------- 216 % The Modified Leapfrog -- Asselin Filter scheme 217 % ------------------------------------------------------------------------------------------------------------- 218 \section{Modified Leapfrog -- Asselin filter scheme} 219 \label{sec:STP_mLF} 220 221 Significant changes have been introduced by \cite{Leclair_Madec_OM09} in the LF-RA scheme in order to 222 ensure tracer conservation and to allow the use of a much smaller value of the Asselin filter parameter. 228 %% ================================================================================================= 229 \section{Modified LeapFrog -- Robert Asselin filter scheme (LF-RA)} 230 \label{sec:TD_mLF} 231 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. 223 235 The modifications affect both the forcing and filtering treatments in the LF-RA scheme. 224 236 225 In a classical LF-RA environment, the forcing term is centred in time,226 \ieit is time-stepped over a $2 \rdt$ period: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: 227 239 $x^t = x^t + 2 \rdt Q^t$ where $Q$ is the forcing applied to $x$, 228 and the time filter is given by \autoref{eq:STP_asselin} so that $Q$ is redistributed over several time step. 240 and the time filter is given by \autoref{eq:TD_asselin} so that 241 $Q$ is redistributed over several time step. 229 242 In the modified LF-RA environment, these two formulations have been replaced by: 230 243 \begin{gather} 231 \label{eq: STP_forcing}244 \label{eq:TD_forcing} 232 245 x^{t + \rdt} = x^{t - \rdt} + \rdt \lt( Q^{t - \rdt / 2} + Q^{t + \rdt / 2} \rt) \\ 233 \label{eq: STP_RA}246 \label{eq:TD_RA} 234 247 x_F^t = x^t + \gamma \, \lt( x_F^{t - \rdt} - 2 x^t + x^{t + \rdt} \rt) 235 248 - \gamma \, \rdt \, \lt( Q^{t + \rdt / 2} - Q^{t - \rdt / 2} \rt) 236 249 \end{gather} 237 The change in the forcing formulation given by \autoref{eq:STP_forcing} (see \autoref{fig:MLF_forcing}) 238 has a significant effect: 239 the forcing term no longer excites the divergence of odd and even time steps \citep{Leclair_Madec_OM09}. 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}. 240 254 % forcing seen by the model.... 241 This property improves the LF-RA scheme in two respects.255 This property improves the LF-RA scheme in two aspects. 242 256 First, the LF-RA can now ensure the local and global conservation of tracers. 243 257 Indeed, time filtering is no longer required on the forcing part. 244 The influence of the Asselin filter on the forcing is be removed by adding a new term in the filter245 (last term in \autoref{eq:STP_RA} compared to \autoref{eq:STP_asselin}).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}). 246 260 Since the filtering of the forcing was the source of non-conservation in the classical LF-RA scheme, 247 the modified formulation becomes conservative \citep{ Leclair_Madec_OM09}.248 Second, the LF-RA becomes a truly quasi 249 Indeed, \autoref{eq: STP_forcing} used in combination with a careful treatment of static instability250 (\autoref{subsec:ZDF_evd}) and of the TKE physics (\autoref{subsec:ZDF_tke_ene}) ,251 the two other main sources of time step divergence,261 the modified formulation becomes conservative \citep{leclair.madec_OM09}. 262 Second, the LF-RA becomes a truly quasi-second order scheme. 263 Indeed, \autoref{eq:TD_forcing} used in combination with a careful treatment of static instability 264 (\autoref{subsec:ZDF_evd}) and of the TKE physics (\autoref{subsec:ZDF_tke_ene}) 265 (the two other main sources of time step divergence), 252 266 allows a reduction by two orders of magnitude of the Asselin filter parameter. 253 267 254 268 Note that the forcing is now provided at the middle of a time step: 255 269 $Q^{t + \rdt / 2}$ is the forcing applied over the $[t,t + \rdt]$ time interval. 256 This and the change in the time filter, \autoref{eq: STP_RA},257 allows an exact evaluation of the contribution due to the forcing term between any two time steps,270 This and the change in the time filter, \autoref{eq:TD_RA}, 271 allows for an exact evaluation of the contribution due to the forcing term between any two time steps, 258 272 even if separated by only $\rdt$ since the time filter is no longer applied to the forcing term. 259 273 260 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 261 \begin{figure}[!t] 262 \begin{center} 263 \includegraphics[]{Fig_MLF_forcing} 264 \caption{ 265 \protect\label{fig:MLF_forcing} 266 Illustration of forcing integration methods. 267 (top) ''Traditional'' formulation: 268 the forcing is defined at the same time as the variable to which it is applied 269 (integer value of the time step index) and it is applied over a $2 \rdt$ period. 270 (bottom) modified formulation: 271 the forcing is defined in the middle of the time (integer and a half value of the time step index) and 272 the mean of two successive forcing values ($n - 1 / 2$, $n + 1 / 2$) is applied over a $2 \rdt$ period. 273 } 274 \end{center} 274 \begin{figure} 275 \centering 276 \includegraphics[width=0.66\textwidth]{TD_MLF_forcing} 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} 275 288 \end{figure} 276 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 277 278 % ------------------------------------------------------------------------------------------------------------- 279 % Start/Restart strategy 280 % ------------------------------------------------------------------------------------------------------------- 289 290 %% ================================================================================================= 281 291 \section{Start/Restart strategy} 282 \label{sec:STP_rst} 283 284 %--------------------------------------------namrun------------------------------------------- 285 \nlst{namrun} 286 %-------------------------------------------------------------------------------------------------------------- 287 288 The first time step of this three level scheme when starting from initial conditions is a forward step 289 (Euler time integration): 292 \label{sec:TD_rst} 293 294 \begin{listing} 295 \nlst{namrun} 296 \caption{\forcode{&namrun}} 297 \label{lst:namrun} 298 \end{listing} 299 300 The first time step of this three level scheme when starting from initial conditions is 301 a forward step (Euler time integration): 290 302 \[ 291 % \label{eq: DOM_euler}303 % \label{eq:TD_DOM_euler} 292 304 x^1 = x^0 + \rdt \ \text{RHS}^0 293 305 \] 294 This is done simply by keeping the leapfrog environment (\ie the \autoref{eq:STP} three level time stepping) but 306 This is done simply by keeping the leapfrog environment 307 (\ie\ the \autoref{eq:TD} three level time stepping) but 295 308 setting all $x^0$ (\textit{before}) and $x^1$ (\textit{now}) fields equal at the first time step and 296 using half the value of $\rdt$.309 using half the value of a leapfrog time step ($2 \rdt$). 297 310 298 311 It is also possible to restart from a previous computation, by using a restart file. … … 301 314 running the model for $2N$ time steps in one go, 302 315 or by performing two consecutive experiments of $N$ steps with a restart. 303 This requires saving two time levels and many auxiliary data in the restart files in machine precision. 304 305 Note that when a semi -implicit scheme is used to evaluate the hydrostatic pressure gradient 306 (see \autoref{subsec:DYN_hpg_imp}), an extra three-dimensional field has to 307 be added to the restart file to ensure an exact restartability. 308 This is done optionally via the \np{nn\_dynhpg\_rst} namelist parameter, 309 so that the size of the restart file can be reduced when restartability is not a key issue 310 (operational oceanography or in ensemble simulations for seasonal forecasting). 311 312 Note the size of the time step used, $\rdt$, is also saved in the restart file. 313 When restarting, if the the time step has been changed, a restart using an Euler time stepping scheme is imposed. 314 Options are defined through the \ngn{namrun} namelist variables. 315 %%% 316 \gmcomment{ 316 This requires saving two time levels and many auxiliary data in 317 the restart files in machine precision. 318 319 Note that the time step $\rdt$, is also saved in the restart file. 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 328 \cmtgm{ 317 329 add here how to force the restart to contain only one time step for operational purposes 318 330 319 331 add also the idea of writing several restart for seasonal forecast : how is it done ? 320 332 321 verify that all namelist para rmeters are truly described333 verify that all namelist parameters are truly described 322 334 323 335 a word on the check of restart ..... 324 336 } 325 %%% 326 327 \gmcomment{ % add a subsection here 328 329 %------------------------------------------------------------------------------------------------------------- 330 % Time Domain 331 % ------------------------------------------------------------------------------------------------------------- 337 338 \cmtgm{ % add a subsection here 339 340 %% ================================================================================================= 332 341 \subsection{Time domain} 333 \label{subsec:STP_time} 334 %--------------------------------------------namrun------------------------------------------- 335 336 \nlst{namdom} 337 %-------------------------------------------------------------------------------------------------------------- 338 339 Options are defined through the \ngn{namdom} namelist variables. 342 \label{subsec:TD_time} 343 344 Options are defined through the\nam{dom}{dom} namelist variables. 340 345 \colorbox{yellow}{add here a few word on nit000 and nitend} 341 346 342 347 \colorbox{yellow}{Write documentation on the calendar and the key variable adatrj} 343 348 344 add a description of daymod, and the model calandar (leap-year and co) 345 346 } %% end add 347 348 349 350 %% 351 \gmcomment{ % add implicit in vvl case and Crant-Nicholson scheme 349 add a description of daymod, and the model calendar (leap-year and co) 350 351 } %% end add 352 353 \cmtgm{ % add implicit in vvl case and Crant-Nicholson scheme 352 354 353 355 Implicit time stepping in case of variable volume thickness. … … 398 400 \end{flalign*} 399 401 400 %%401 402 } 402 403 403 \biblio 404 405 \pindex 404 \subinc{\input{../../global/epilogue}} 406 405 407 406 \end{document}
Note: See TracChangeset
for help on using the changeset viewer.