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_ASM.tex in NEMO/trunk/doc/latex/NEMO/subfiles – NEMO

source: NEMO/trunk/doc/latex/NEMO/subfiles/chap_ASM.tex @ 10406

Last change on this file since 10406 was 10406, checked in by nicolasmartin, 5 years ago

Edition of math environments

File size: 7.4 KB
Line 
1\documentclass[../tex_main/NEMO_manual]{subfiles}
2\begin{document}
3% ================================================================
4% Chapter Assimilation increments (ASM)
5% ================================================================
6\chapter{Apply Assimilation Increments (ASM)}
7\label{chap:ASM}
8
9Authors: D. Lea,  M. Martin, K. Mogensen, A. Weaver, ...   % do we keep
10
11\minitoc
12
13
14\newpage
15$\ $\newline    % force a new line
16
17The ASM code adds the functionality to apply increments to the model variables: temperature, salinity,
18sea surface height, velocity and sea ice concentration.
19These are read into the model from a NetCDF file which may be produced by separate data assimilation code.
20The code can also output model background fields which are used as an input to data assimilation code.
21This is all controlled by the namelist \textit{\ngn{nam\_asminc} }.
22There is a brief description of all the namelist options provided.
23To build the ASM code \key{asminc} must be set.
24
25%===============================================================
26
27\section{Direct initialization}
28\label{sec:ASM_DI}
29
30Direct initialization (DI) refers to the instantaneous correction of the model background state using
31the analysis increment.
32DI is used when \np{ln\_asmdin} is set to true.
33
34\section{Incremental analysis updates}
35\label{sec:ASM_IAU}
36
37Rather than updating the model state directly with the analysis increment,
38it may be preferable to introduce the increment gradually into the ocean model in order to
39minimize spurious adjustment processes.
40This technique is referred to as Incremental Analysis Updates (IAU) \citep{Bloom_al_MWR96}.
41IAU is a common technique used with 3D assimilation methods such as 3D-Var or OI.
42IAU is used when \np{ln\_asmiau} is set to true.
43
44With IAU, the model state trajectory ${\bf x}$ in the assimilation window ($t_{0} \leq t_{i} \leq t_{N}$)
45is corrected by adding the analysis increments for temperature, salinity, horizontal velocity and SSH as
46additional tendency terms to the prognostic equations:
47\begin{align}     \label{eq:wa_traj_iau}
48{\bf x}^{a}(t_{i}) = M(t_{i}, t_{0})[{\bf x}^{b}(t_{0})]
49\; + \; F_{i} \delta \tilde{\bf x}^{a} 
50\end{align}
51where $F_{i}$ is a weighting function for applying the increments $\delta\tilde{\bf x}^{a}$ defined such that
52$\sum_{i=1}^{N} F_{i}=1$.
53${\bf x}^b$ denotes the model initial state and ${\bf x}^a$ is the model state after the increments are applied.
54To control the adjustment time of the model to the increment,
55the increment can be applied over an arbitrary sub-window, $t_{m} \leq t_{i} \leq t_{n}$,
56of the main assimilation window, where $t_{0} \leq t_{m} \leq t_{i}$ and $t_{i} \leq t_{n} \leq t_{N}$.
57Typically the increments are spread evenly over the full window.
58In addition, two different weighting functions have been implemented.
59The first function employs constant weights,
60\begin{align}    \label{eq:F1_i}
61F^{(1)}_{i}
62=\left\{ \begin{array}{ll}
63   0     &    {\rm if} \; \; \; t_{i} < t_{m}                \\
64   1/M &    {\rm if} \; \; \; t_{m} < t_{i} \leq t_{n} \\
65   0     &    {\rm if} \; \; \; t_{i} > t_{n}
66  \end{array} \right.
67\end{align}
68where $M = m-n$.
69The second function employs peaked hat-like weights in order to give maximum weight in the centre of the sub-window,
70with the weighting reduced linearly to a small value at the window end-points:
71\begin{align}     \label{eq:F2_i}
72F^{(2)}_{i}
73=\left\{ \begin{array}{ll}
74   0                           &    {\rm if} \; \; \; t_{i}       <     t_{m}                        \\
75   \alpha \, i               &    {\rm if} \; \; \; t_{m}    \leq t_{i}    \leq   t_{M/2}   \\
76   \alpha \, (M - i +1) &    {\rm if} \; \; \; t_{M/2}  <    t_{i}    \leq   t_{n}       \\
77   0                            &   {\rm if} \; \; \; t_{i}        >    t_{n}
78  \end{array} \right.
79\end{align}
80where $\alpha^{-1} = \sum_{i=1}^{M/2} 2i$ and $M$ is assumed to be even.
81The weights described by \autoref{eq:F2_i} provide a smoother transition of the analysis trajectory from
82one assimilation cycle to the next than that described by \autoref{eq:F1_i}.
83
84%==========================================================================
85% Divergence damping description %%%
86\section{Divergence damping initialisation}
87\label{sec:ASM_div_dmp}
88
89The velocity increments may be initialized by the iterative application of a divergence damping operator.
90In iteration step $n$ new estimates of velocity increments $u^{n}_I$ and $v^{n}_I$ are updated by:
91\begin{equation} \label{eq:asm_dmp}
92\left\{ \begin{aligned}
93 u^{n}_I = u^{n-1}_I + \frac{1}{e_{1u} } \delta_{i+1/2} \left( {A_D
94\;\chi^{n-1}_I } \right) \\
95\\
96 v^{n}_I = v^{n-1}_I + \frac{1}{e_{2v} } \delta_{j+1/2} \left( {A_D
97\;\chi^{n-1}_I } \right) \\
98\end{aligned} \right.,
99\end{equation}
100where
101\begin{equation} \label{eq:asm_div}
102\chi^{n-1}_I = \frac{1}{e_{1t}\,e_{2t}\,e_{3t} }
103                \left( {\delta_i \left[ {e_{2u}\,e_{3u}\,u^{n-1}_I} \right]
104                       +\delta_j \left[ {e_{1v}\,e_{3v}\,v^{n-1}_I} \right]} \right).
105\end{equation}
106By the application of \autoref{eq:asm_dmp} and \autoref{eq:asm_dmp} the divergence is filtered in each iteration,
107and the vorticity is left unchanged.
108In the presence of coastal boundaries with zero velocity increments perpendicular to the coast
109the divergence is strongly damped.
110This type of the initialisation reduces the vertical velocity magnitude and
111alleviates the problem of the excessive unphysical vertical mixing in the first steps of the model integration
112\citep{Talagrand_JAS72, Dobricic_al_OS07}.
113Diffusion coefficients are defined as $A_D = \alpha e_{1t} e_{2t}$, where $\alpha = 0.2$.
114The divergence damping is activated by assigning to \np{nn\_divdmp} in the \textit{nam\_asminc} namelist
115a value greater than zero.
116By choosing this value to be of the order of 100 the increments in
117the vertical velocity will be significantly reduced.
118
119
120%==========================================================================
121
122\section{Implementation details}
123\label{sec:ASM_details}
124
125Here we show an example \ngn{namasm} namelist and the header of an example assimilation increments file on
126the ORCA2 grid.
127
128%------------------------------------------namasm-----------------------------------------------------
129%
130\nlst{nam_asminc}
131%-------------------------------------------------------------------------------------------------------------
132
133The header of an assimilation increments file produced using the NetCDF tool
134\mbox{\textit{ncdump~-h}} is shown below
135
136\begin{clines}
137netcdf assim_background_increments {
138dimensions:
139        x = 182 ;
140        y = 149 ;
141        z = 31 ;
142        t = UNLIMITED ; // (1 currently)
143variables:
144        float nav_lon(y, x) ;
145        float nav_lat(y, x) ;
146        float nav_lev(z) ;
147        double time_counter(t) ;
148        double time ;
149        double z_inc_dateb ;
150        double z_inc_datef ;
151        double bckint(t, z, y, x) ;
152        double bckins(t, z, y, x) ;
153        double bckinu(t, z, y, x) ;
154        double bckinv(t, z, y, x) ;
155        double bckineta(t, y, x) ;
156
157// global attributes:
158                :DOMAIN_number_total = 1 ;
159                :DOMAIN_number = 0 ;
160                :DOMAIN_dimensions_ids = 1, 2 ;
161                :DOMAIN_size_global = 182, 149 ;
162                :DOMAIN_size_local = 182, 149 ;
163                :DOMAIN_position_first = 1, 1 ;
164                :DOMAIN_position_last = 182, 149 ;
165                :DOMAIN_halo_size_start = 0, 0 ;
166                :DOMAIN_halo_size_end = 0, 0 ;
167                :DOMAIN_type = "BOX" ;
168}
169\end{clines}
170
171\end{document}
Note: See TracBrowser for help on using the repository browser.