New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Chap_STP.tex in branches/DEV_r1826_DOC/DOC/TexFiles/Chapters – NEMO

source: branches/DEV_r1826_DOC/DOC/TexFiles/Chapters/Chap_STP.tex @ 2164

Last change on this file since 2164 was 2164, checked in by gm, 14 years ago

ticket:#658 lot of things see DOC wiki page

  • Property svn:executable set to *
File size: 22.2 KB
Line 
1
2% ================================================================
3% Chapter 2 Ñ Time Domain (step.F90)
4% ================================================================
5\chapter{Time Domain (STP) }
6\label{STP}
7\minitoc
8
9% Missing things:
10%  - daymod: definition of the time domain (nit000, nitend andd the calendar)
11
12
13\gmcomment{STEVEN :maybe a picture of the directory structure in the introduction
14which could be referred to here, would help  ==> to be added}
15%%%%
16
17
18\newpage
19$\ $\newline    % force a new ligne
20
21
22Having defined the continuous equations in Chap.~\ref{PE}, we need now to choose
23a time discretization. In the present chapter, we provide a general description of the \NEMO 
24time stepping strategy and its consequences for the order in which the equations are
25solved.
26
27$\ $\newline    % force a new ligne
28% ================================================================
29% Time Discretisation
30% ================================================================
31\section{Time stepping environment}
32\label{STP_environment}
33
34The time stepping used in \NEMO is a three level scheme that can be
35represented as follows:
36\begin{equation} \label{Eq_STP}
37   x^{t+\rdt} = x^{t-\rdt} + 2 \, \rdt \  \text{RHS}_x^{t-\rdt,\,t,\,t+\rdt}
38\end{equation} 
39where $x$ stands for $u$, $v$, $T$ or $S$; RHS is the Right-Hand-Side of the
40corresponding time evolution equation; $\rdt$ is the time step; and the
41superscripts indicate the time at which a quantity is evaluated. Each term of the
42RHS is evaluated at a specific time step(s) depending on the physics with which
43it is associated.
44
45The choice of the time step used for this evaluation is discussed below as
46well as the implications in terms of starting or restarting a model
47simulation. Note that the time stepping is generally performed in a one step
48operation. With such a complex and nonlinear system of equations it would be
49dangerous to let a prognostic variable evolve in time for each term separately.
50
51The three level scheme requires three arrays for each prognostic variables.
52For each variable $x$ there is $x_b$ (before) and $x_n$ (now). The third array,
53although referred to as $x_a$ (after) in the code, is usually not the variable at
54the after time step; but rather it is used to store the time derivative (RHS in
55\eqref{Eq_STP}) prior to time-stepping the equation. Generally, the time
56stepping is performed once at each time step in \mdl{tranxt} and \mdl{dynnxt} 
57modules, except for implicit vertical diffusion or sea surface height when
58time-splitting options are used.
59
60% -------------------------------------------------------------------------------------------------------------
61%        Non-Diffusive Part---Leapfrog Scheme
62% -------------------------------------------------------------------------------------------------------------
63\section{Non-Diffusive Part --- Leapfrog Scheme}
64\label{STP_leap_frog}
65
66The time stepping used for non-diffusive processes is the well-known leapfrog
67scheme \citep{Mesinger_Arakawa_Bk76}. It is a time centred scheme, $i.e.$ 
68the RHS in \eqref{Eq_STP} is evaluated at time step $t$, the now time step.
69It is only used for non-diffusive terms, that is momentum and tracer advection,
70pressure gradient, and Coriolis terms. This scheme is widely used for advective
71processes in low-viscosity fluids. It is an efficient method that achieves
72second-order accuracy with just one right hand side evaluation per time step.
73Moreover, it does not artificially damp linear oscillatory motion nor does it produce
74instability by amplifying the oscillations. These advantages are somewhat diminished
75by the large phase-speed error of the leapfrog scheme, and the unsuitability
76of leapfrog differencing for the representation of diffusive and Rayleigh
77damping processes. However, the scheme allows the coexistence of a numerical
78and a physical mode due to its leading third order dispersive error. In other words a
79divergence of odd and even time steps may occur. To prevent it, the leapfrog scheme
80is often used in association with a Robert-Asselin time filter (thereafter the LF-RA scheme).
81This filter, first designed by \citet{Robert_JMSJ66} and more comprehensively studied
82by \citet{Asselin_MWR72}, is a kind of laplacian diffusion in time that mixes odd and
83even time steps:
84\begin{equation} \label{Eq_STP_asselin}
85x_F^t  = x^t + \gamma \, \left[ x_F^{t-\rdt} - 2 x^t + x^{t+\rdt} \right]
86\end{equation} 
87where the subscript $F$ denotes filtered values and $\gamma$ is the Asselin
88coefficient. $\gamma$ is initialized as \np{rn\_atfp} (namelist parameter).
89Its default value is \textit{now} (see \S~\ref{STP_mLF}) \np{rn\_atfp}=$10^{-3}$,
90causing only a weak dissipation of high frequency motions (\citep{Farge1987}).
91The addition of a time filter does, nevertheless, degrade the accuracy of the
92calculation from second to first order. However, the second order truncation
93error is proportional to $\gamma$, which is small compared to 1. Therefore,
94the LF-RA is a quasi second order accurate scheme. The LF-RA scheme
95has been preferred to other time differencing schemes such as
96predictor corrector or trapezoidal schemes, because the user has an explicit
97and simple control of the magnitude of the time diffusion of the scheme.
98In association with the 2nd order centred space discretisation of the
99advective terms in the momentum and tracer equations, it avoids implicit
100numerical diffusion in both the time and space discretisations of the
101advective term: they are both set explicitly by the user through the Robert-Asselin
102filter parameter and the viscous and diffusive coefficients.
103
104% -------------------------------------------------------------------------------------------------------------
105%        Diffusive Part---Forward or Backward Scheme
106% -------------------------------------------------------------------------------------------------------------
107\section{Diffusive Part --- Forward or Backward Scheme}
108\label{STP_forward_imp}
109
110The leapfrog differencing scheme is unsuitable for the representation of
111diffusive and damping processes. For a tendancy $D_x$, representing a
112diffusive term or a restoring term to a tracer climatology
113(when present, see \S~\ref{TRA_dmp}), a forward time differencing scheme
114 is used :
115\begin{equation} \label{Eq_STP_euler}
116   x^{t+\rdt} = x^{t-\rdt} + 2 \, \rdt \ {D_x}^{t-\rdt}
117\end{equation} 
118
119This is diffusive in time and conditionally stable. For example, the
120conditions for stability of second and fourth order horizontal diffusion schemes are \citep{Griffies_Bk04}:
121\begin{equation} \label{Eq_STP_euler_stability}
122A^h < \left\{
123\begin{aligned}
124                    &\frac{e^2}{  8 \; \rdt }   &&\quad \text{laplacian diffusion}  \\
125                    &\frac{e^4}{64 \; \rdt }    &&\quad \text{bilaplacian diffusion} 
126            \end{aligned}
127\right.
128\end{equation}
129where $e$ is the smallest grid size in the two horizontal directions and $A^h$ is
130the mixing coefficient. The linear constraint \eqref{Eq_STP_euler_stability} 
131is a necessary condition, but not sufficient. If it is not satisfied, even mildly,
132then the model soon becomes wildly unstable. The instability can be removed
133by either reducing the length of the time steps or reducing the mixing coefficient.
134
135For the vertical diffusion terms, a forward time differencing scheme can be
136used, but usually the numerical stability condition implies a strong
137constraint on the time step. Two solutions are available in \NEMO to overcome
138the stability constraint: $(a)$ a forward time differencing scheme using a
139time splitting technique (\np{ln\_zdfexp}=.true.) or $(b)$ a backward (or implicit)
140time differencing scheme by \np{ln\_zdfexp}=.false.). In $(a)$, the master
141time step $\Delta $t is cut into $N$ fractional time steps so that the
142stability criterion is reduced by a factor of $N$. The computation is done as
143follows:
144\begin{equation} \label{Eq_STP_ts}
145\begin{split}
146& x_\ast ^{t-\rdt} = x^{t-\rdt}   \\
147& x_\ast ^{t-\rdt+L\frac{2\rdt}{N}}=x_\ast ^{t-\rdt+\left( {L-1} 
148\right)\frac{2\rdt}{N}}+\frac{2\rdt}{N}\;\text{DF}^{t-\rdt+\left( {L-1} \right)\frac{2\rdt}{N}}
149        \quad \text{for $L=1$ to $N$}      \\
150& x^{t+\rdt} = x_\ast^{t+\rdt}
151\end{split}
152\end{equation}
153with DF a vertical diffusion term. The number of fractional time steps, $N$, is given
154by setting \np{n\_zdfexp}, (namelist parameter). The scheme $(b)$ is unconditionally
155stable but diffusive. It can be written as follows:
156\begin{equation} \label{Eq_STP_imp}
157   x^{t+\rdt} = x^{t-\rdt} + 2 \, \rdt \  \text{RHS}_x^{t+\rdt}
158\end{equation} 
159
160This scheme is rather time consuming since it requires a matrix inversion,
161but it becomes attractive since a splitting factor of 3 or more is needed
162for the forward time differencing scheme. For example, the finite difference
163approximation of the temperature equation is:
164\begin{equation} \label{Eq_STP_imp_zdf}
165\frac{T(k)^{t+1}-T(k)^{t-1}}{2\;\rdt}\equiv \text{RHS}+\frac{1}{e_{3t} }\delta 
166_k \left[ {\frac{A_w^{vT} }{e_{3w} }\delta _{k+1/2} \left[ {T^{t+1}} \right]} 
167\right]
168\end{equation}
169where RHS is the right hand side of the equation except for the vertical diffusion term.
170We rewrite \eqref{Eq_STP_imp} as:
171\begin{equation} \label{Eq_STP_imp_mat}
172-c(k+1)\;u^{t+1}(k+1) + d(k)\;u^{t+1}(k) - \;c(k)\;u^{t+1}(k-1) \equiv b(k)
173\end{equation}
174where
175\begin{align*} 
176 c(k) &= A_w^{vm} (k) \, / \, e_{3uw} (k)     \\
177 d(k) &= e_{3u} (k)       \, / \, (2\rdt) + c_k + c_{k+1}    \\
178 b(k) &= e_{3u} (k) \; \left( u^{t-1}(k) \, / \, (2\rdt) + \text{RHS} \right)   
179\end{align*}
180
181\eqref{Eq_STP_imp_mat} is a linear system of equations which associated
182matrix is tridiagonal. Moreover, $c(k)$ and $d(k)$ are positive and the diagonal
183term is greater than the sum of the two extra-diagonal terms, therefore a special
184adaptation of the Gauss elimination procedure is used to find the solution
185(see for example \citet{Richtmyer1967}).
186
187
188
189% -------------------------------------------------------------------------------------------------------------
190%        Hydrostatic Pressure gradient
191% -------------------------------------------------------------------------------------------------------------
192\section{Hydrostatic Pressure Gradient --- semi-implicit scheme}
193\label{STP_hpg_imp}
194
195%\gmcomment{
196%>>>>>>>>>>>>>>>>>>>>>>>>>>>>
197\begin{figure}[!t] \label{Fig_TimeStep_flowchart}  \begin{center}
198\includegraphics[width=0.7\textwidth]{./TexFiles/Figures/Fig_TimeStepping_flowchart.pdf}
199\caption{Sketch of the leapfrog time stepping sequence in \NEMO from \citet{Leclair_Madec_OM09}.
200The use of semi-implicit computation of the hydrostatic pressure gradient requires
201the tracer equation to be step forward prior to the momentum equation.
202The need of the knowledge of the vertical scale factor (here denoted as $h$)
203requires the sea surface height and the continuity equation to be step forward
204prior to the computation of the tracer equation.
205Note that how the surface pressure gradient $\nabla p_s$ is evaluated is not represented here
206(see \S~\ref{DYN_spg}). }
207\end{center}   \end{figure}
208%>>>>>>>>>>>>>>>>>>>>>>>>>>>>
209%}
210
211The range of stability of the Leap-Frog scheme can be extended by a factor of two
212by introducing a semi-implicit computation of the hydrostatic pressure gradient term
213\citep{Brown_Campana_MWR78}. Instead of evaluating the pressure at $t$, a linear
214combination of $t-\rdt$, $t$ and $t+\rdt$ is used (see \S~\ref{DYN_hpg_imp}). 
215This technique, controlled by  \np{nn\_dynhpg\_rst} namelist parameter, does not
216require a significant additional computational coast when tracers and thus density
217is time stepped before the dynamics, a choice made in \NEMO 
218(Fig.\ref{Fig_TimeStep_flowchart}).
219
220
221This technique, used in several GCMs (\NEMO, POP or MOM for instance),
222makes the Leap-Frog scheme as efficient
223\footnote{The efficiency is defined as the maximum allowed Courant number of the time
224stepping scheme divided by the number of computations of the right-hand side per time step.} 
225as the Forward-Backward scheme used in MOM \citep{Griffies_al_OS05} and more
226efficient than the LF-AM3 scheme (leapfrog time stepping combined with a third order
227Adams-Moulthon interpolation for the predictor phase) used in ROMS
228\citep{Shchepetkin_McWilliams_OM05}.
229
230In fact, this technique is efficient when the physical phenomenum that
231controls the time-step is internal gravity waves (IGWs). Indeed, it is
232equivalent to applying a time filter to the pressure gradient to eliminate high
233frequency IGWs. Obviously, the doubling of the time-step is achievable only
234if no other factors control the time-step, such as the stability limits associated
235with advection, diffusion or Coriolis terms. For example, it is useless in low resolution
236global ocean configurations as inertial oscillations in vicinity of the North Pole
237are the limiting factor of the time step. It is also often useless in very high
238resolution configurations where the strong currents and small grid cells exert
239the strongest constraint on the time step.
240
241
242% -------------------------------------------------------------------------------------------------------------
243%        The Modified Leapfrog -- Asselin Filter scheme
244% -------------------------------------------------------------------------------------------------------------
245\section{The Modified Leapfrog -- Asselin Filter scheme}
246\label{STP_mLF}
247
248Significant changes have been introduced by \cite{Leclair_Madec_OM09} in the
249LF-RA scheme in order to ensure the tracer conservation and to allow the use of
250a much smaller value of the Asselin filter parameter. The modifications concern
251both the forcing and filtering treatment in the LF-RA scheme.
252
253In a classical LF-RA environment, the forcing term is centred in time, $i.e.$ 
254it is time-stepped over a $2\rdt$ period:  $x^t  = x^t + 2\rdt Q^t $ where $Q$ 
255is the forcing applied on $x$, and the filter is given by \eqref{Eq_STP_asselin}.
256In the modified LF-RA environment, these two formulations have been replaced by:
257\begin{align} 
258x^{t+\rdt}  &= x^{t-\rdt} + \rdt \left( Q^{t-\rdt/2} + Q^{t+\rdt/2} \right)                   \label{Eq_STP_forcing} \\
259%
260x_F^&= x^t + \gamma \, \left[ x_F^{t-\rdt} - 2 x^t + x^{t+\rdt} \right] 
261           - \gamma\,\rdt \, \left[ Q^{t+\rdt/2} -  Q^{t-\rdt/2} \right]                          \label{Eq_STP_RA}
262\end{align}
263
264The change in the forcing formulation given by \eqref{Eq_STP_forcing} 
265(see Fig.\ref{Fig_MLF_forcing}) has a paramount effect: the forcing term no
266longer excites the divergence of odd and even time steps \citep{Leclair_Madec_OM09}.
267This property allows to improve the LF-RA scheme in two aspects.
268First, the LF-RA becomes a truly quasi-second order scheme. Indeed,
269\eqref{Eq_STP_forcing} used in combination with a careful treatment of the static
270instabilities (\S\ref{ZDF_evd}) and of the TKE physics (\S\ref{ZDF_tke_ene}),
271the two main other sources of time step divergence, allows a reduction by two order
272of magnitude of the Asselin filter parameter.
273Second, the LF-RA can now ensure the local and global conservation of tracers.
274Indeed, the time filtering is no more required on the forcing part. The influence of
275the forcing in the Asselin filter can be removed by adding a new term in the filter
276(last term in \eqref{Eq_STP_RA} compared to \eqref{Eq_STP_asselin}). Since
277the filtering of the forcing was the source of non-conservation in the LF-RA
278scheme, it becomes conservative  \citep{Leclair_Madec_OM09}.
279
280Note that the forcing is now provided at the middle of a time step: $Q^{t+\rdt/2}$ 
281is the forcing applied over the $[t,t+\rdt]$ time interval. This and the change
282in the time filter, \eqref{Eq_STP_RA}, allows an exact evaluation of the
283contribution due to the forcing term between any two time steps,
284even if separated by only $\rdt$ as the time filter is no more applied on the
285forcing term.
286
287%>>>>>>>>>>>>>>>>>>>>>>>>>>>>
288\begin{figure}[!t] \label{Fig_MLF_forcing}  \begin{center}
289\includegraphics[width=0.90\textwidth]{./TexFiles/Figures/Fig_MLF_forcing.pdf}
290\caption{Illustration of forcing integration methods. ''Traditional'' formulation (top)
291where a centred forcing is applied over a $2\rdt$ period and modified formulation
292(bottom) where a mean forcing over the two successive time step is applied over a $2\rdt$ period.}
293\end{center}   \end{figure}
294%>>>>>>>>>>>>>>>>>>>>>>>>>>>>
295
296
297% -------------------------------------------------------------------------------------------------------------
298%        Start/Restart strategy
299% -------------------------------------------------------------------------------------------------------------
300\section{Start/Restart strategy}
301\label{STP_rst}
302%--------------------------------------------namrun-------------------------------------------
303\namdisplay{namrun}         
304%--------------------------------------------------------------------------------------------------------------
305
306The first time step of this three level scheme when starting from initial conditions
307is a forward step (Euler time integration):
308\begin{equation} \label{Eq_DOM_euler}
309   x^1 = x^0 + \rdt \ \text{RHS}^0
310\end{equation}
311This is done simply by keeping the leapfrog environment but setting at the first time step
312only both a half $\rdt$ and the equality of all \textit{before} and \textit{now} fields.
313
314It is also possible to restart from a previous computation, by using a
315restart file. The restart strategy is designed to ensure perfect
316restartability of the code: the user should obtain the same results to
317machine precision either by running the model for $2N$ time steps in one go,
318or by performing two consecutive experiments of $N$ steps with a restart.
319This requires saving two time levels and many auxiliary data in the restart
320files in machine precision.
321
322Note that when a semi-implicit scheme is used to evaluate the hydrostatic pressure
323gradient (see \S\ref{DYN_hpg_imp}), an extra three-dimensional field has to be
324added in the restart file to ensure an exact restartability. This is done only optionally
325via the namelist parameter \np{nn\_dynhpg\_rst}, so that a reduction of the size of
326restart file can be obtained when the restartability is not a key issue (operational
327oceanography or ensemble simulation for seasonal forcast).
328
329Note the size of the time step used, $\rdt$, is also saved in the restart file.
330When restarting, if the the time step has been changed, a restart using an Euler time
331stepping is imposed.
332%%%
333\gmcomment{
334add here how to force the restart to contain only one time step for operational purposes
335
336add also the idea of writing several restart for seasonal forecast : how is it done ?
337
338verify that all namelist pararmeters are truly described
339
340a word on the check of restart  .....
341}
342%%%
343
344\gmcomment{       % add a subsection here 
345
346%-------------------------------------------------------------------------------------------------------------
347%        Time Domain
348% -------------------------------------------------------------------------------------------------------------
349\subsection{Time domain}
350\label{STP_time}
351%--------------------------------------------namrun-------------------------------------------
352\namdisplay{namdom}         
353%--------------------------------------------------------------------------------------------------------------
354
355
356 \colorbox{yellow}{add here a few word on nit000 and nitend}
357
358 \colorbox{yellow}{Write documentation on the calendar and the key variable adatrj}
359
360add a description of daymod, and the model calandar (leap-year and co)
361
362}        %% end add
363
364
365
366%%
367\gmcomment{       % add implicit in vvl case  and Crant-Nicholson scheme   
368
369Implicit time stepping in case of variable volume thickness.
370
371Tracer case (NB for momentum in vector invariant form take care!)
372
373\begin{flalign*}
374&\frac{\left( e_{3t}\,T \right)_k^{t+1}-\left( e_{3t}\,T \right)_k^{t-1}}{2\rdt}
375\equiv \text{RHS}+ \delta _k \left[ {\frac{A_w^{vt} }{e_{3w}^{t+1} }\delta _{k+1/2} \left[ {T^{t+1}} \right]} 
376\right]      \\
377&\left( e_{3t}\,T \right)_k^{t+1}-\left( e_{3t}\,T \right)_k^{t-1}
378\equiv {2\rdt} \ \text{RHS}+ {2\rdt} \ \delta _k \left[ {\frac{A_w^{vt} }{e_{3w}^{t+1} }\delta _{k+1/2} \left[ {T^{t+1}} \right]} 
379\right]      \\
380&\left( e_{3t}\,T \right)_k^{t+1}-\left( e_{3t}\,T \right)_k^{t-1}
381\equiv 2\rdt \ \text{RHS}
382+ 2\rdt \ \left\{ \left[ \frac{A_w^{vt}}{e_{3w}^{t+1}} \right]_{k+1/2} [ T_{k+1}^{t+1} - T_k      ^{t+1} ]
383                          - \left[ \frac{A_w^{vt}}{e_{3w}^{t+1}} \right]_{k-1/2} [ T_k       ^{t+1} - T_{k-1}^{t+1} ]  \right\}     \\
384&\\
385&\left( e_{3t}\,T \right)_k^{t+1}
386{2\rdt} \           \left[ \frac{A_w^{vt}}{e_{3w}^{t+1}} \right]_{k+1/2}                  T_{k+1}^{t+1} 
387+ {2\rdt} \ \left\{  \left[ \frac{A_w^{vt}}{e_{3w}^{t+1}} \right]_{k+1/2} 
388                            +  \left[ \frac{A_w^{vt}}{e_{3w}^{t+1}} \right]_{k-1/2}     \right\}   T_{k    }^{t+1}
389{2\rdt} \           \left[ \frac{A_w^{vt}}{e_{3w}^{t+1}} \right]_{k-1/2}                  T_{k-1}^{t+1}      \\
390&\equiv \left( e_{3t}\,T \right)_k^{t-1} + {2\rdt} \ \text{RHS}    \\
391%
392\end{flalign*}
393
394\begin{flalign*}
395\allowdisplaybreaks
396\intertext{ Tracer case }
397%
398&  \qquad \qquad  \quad   -  {2\rdt}                  \ \left[ \frac{A_w^{vt}}{e_{3w}^{t+1}} \right]_{k+1/2}   
399                                                                                                      \qquad \qquad \qquad  \qquad  T_{k+1}^{t+1}   \\
400&+ {2\rdt} \ \biggl\{  (e_{3t})_{k   }^{t+1}  \bigg. +    \left[ \frac{A_w^{vt}}{e_{3w}^{t+1}} \right]_{k+1/2} 
401                                                                               +   \left[ \frac{A_w^{vt}}{e_{3w}^{t+1}} \right]_{k-1/2} \bigg. \biggr\}  \ \ \ T_{k   }^{t+1}  &&\\
402& \qquad \qquad  \qquad \qquad \qquad \quad \ \ {2\rdt} \                          \left[ \frac{A_w^{vt}}{e_{3w}^{t+1}} \right]_{k-1/2}                          \quad \ \ T_{k-1}^{t+1}     
403\ \equiv \ \left( e_{3t}\,T \right)_k^{t-1} + {2\rdt} \ \text{RHS}  \\
404%
405\end{flalign*}
406\begin{flalign*}
407\allowdisplaybreaks
408\intertext{ Tracer content case }
409%
410& -  {2\rdt} \              & \frac{(A_w^{vt})_{k+1/2}} {(e_{3w})_{k+1/2}^{t+1}\;(e_{3t})_{k+1}^{t+1}}  && \  \left( e_{3t}\,T \right)_{k+1}^{t+1}   &\\
411& + {2\rdt} \ \left[ 1  \right.+ & \frac{(A_w^{vt})_{k+1/2}} {(e_{3w})_{k+1/2}^{t+1}\;(e_{3t})_k^{t+1}} 
412                                    + & \frac{(A_w^{vt})_{k -1/2}} {(e_{3w})_{k -1/2}^{t+1}\;(e_{3t})_k^{t+1}}  \left\right& \left( e_{3t}\,T \right)_{k   }^{t+1}  &\\
413& -  {2\rdt} \               & \frac{(A_w^{vt})_{k -1/2}} {(e_{3w})_{k -1/2}^{t+1}\;(e_{3t})_{k-1}^{t+1}}     &\  \left( e_{3t}\,T \right)_{k-1}^{t+1}   
414\equiv \left( e_{3t}\,T \right)_k^{t-1} + {2\rdt} \ \text{RHS}  &
415\end{flalign*}
416
417%%
418}
419%%
Note: See TracBrowser for help on using the repository browser.