> |`!Ɉh-l@ PVX
xڵTMkA~g#&BҐVR6 `$b\k$i$&[PD!V_)(>>Z%Spbn)ъ/)빔S">AKhzcC+-d7>y!&478KLj"{\pC)u?\c,
@fU0(UoCT d
8^6#n
}G?-KF{of3V5yֱ춚'ĬfPyt#z (`!bk'nF ܝa4,&e0xڵUMLA~3ݖؖbJ44
UBT)Q/֪EКԀ!KƳr@O8pPHo-3,:vJN;%DEeD5?3ÜÎE@3`E"[g^ffbĀMc\>Do-Ȏ%l?5c!^d!
QMyHLMr{.+
p<K;/ǲΫdt>7;^91TF%2 4OK`SdE"_~(t?`5RUPa҃:<".k6;XiCӶJ~Iȉca)pp[J֊GGavr}پsI)Q}w&Z"\aeؑS ]rH8H>y;،VW>ouR+Xn&0?'OSPw)w->H$zX(z/ngvlLUaNc%3LD*`=*Y-"3[P
Ε
DVK
RkdT-p|< K
XG(6L"0sd'V7bD*L 3=_%SnM縗U8aˇ]Ճ|XQRFGQ
PtAF_&_zwI{Aߔs 6)TUnUrәXh0+o53!Ye?1y|n`!]qkZ0UHR `*0xڝTAkQ&mMjӂ%mi<LЂVBIDW
$]i*(UJ'/C/^=O-
vş!jTnm)nꍶI.|ww >YށhxgFC9ǼN9)݃5Od*ow6v>N5X9`0v%Px%
:zfvc7MOoV&,OUjmvV);>3<5r!;FӅ1벙H_5zjsʞ=c֍ Bd(~sq!hƋXXk1Fv>nGSƘ,Ÿݗ^L2Sq[sW81ıjp#Ot~V'§TGEʲ{7G(jzQv kb_è./Q74!;u9E{ME8T[49oY.,yF8Lm/j91`!Xɲ$U0@<@@`0=0&xڝSϏPy-])W& FEoBB7q1DxV%PMO{ރ
z4ZO&֙,h͛}3"}1D(cofL{@p|A1N:P!
C3 Fl`Vj2)aF šsx.כatbf
^ＧKTn(Ej
/4-..\'?WZ5;f:A#H%Z
eQM"Wc(L*C"RylسLSʔ1۲rd/cwMPY3ˡJg23R ^Qll+W6zR귳XgXO2"3EYanx"B9nը'ܲ^굊^v,yU;oJPXͲʪs^%/Ur͟J J N^{E|z9FD+<
gqL2/I ح&47~|g;tvsRXZm [\Cx9#Nߔ`!6Y\Q-@$'HD
xڭUOA~3]Ku["J1VB͈A;ad쒌<gfsS&QtL%QFo:KԌ&vN|neϽi(Mғ`tHa(|s>j2x=fW^!UEz^5vίE-*=5@vBkTb%Qbpo*rZK(k+\UT8cXg:aoZ2
m>B<ذqD__rHiC$P[v [744l[3hSKN$Gv&ю'u}iDabJ:E$DJS&Rs&X*FrgՒ!ep3* CMy"bSi-BW**&``;$0xڥTOAHbD$B#bH84ZJ#Dx,[]I4`x'bB1`<\hd9ov4TPNuGhuT Z$*mu^pb\u@;*^yg<#m@#^~7M4J!9\(F.3fAċgk3yFN\jXR${'N/:L"mϽaG7XGD;Ξ>,4D} 姇?sFteèkhਜ਼٬ifHIgq(jU+_PӴ'5*.RN$h5@sqby8RzGT;v╈
ORkގUck+d>?sWS5cDnkR
yR歩1%_"k)cty0sGqNUO4~q;nNg
>'B(E]ӑyg7cSY
l'c7 z~->>A#7}Zop3*wFK8 ] E}+v/,W`!,@G%~ʖa9z6@}TxڵVKlSGyNhiQ N(H(jJHUD q[]4* v-beR)$Te
$H(?wycp7o9s|S
@1SbX,*5mnyys~fv9|
c"ʗSV
ֿF[.1#HڌjjL;e݆?SPy
8cLa=/? K~?vf4#߰}[o7Va`x#X6iޜC_PJLm/@[m46FeYۭ-krKfmn]|vuNje;fF(ɤq2X\3cQ%=clc8 :ǆr5cA-|.>diN[VOEr\߁&dXq/{]0$4wmk-\nW;/0^-d=UvJ£|5uK}m:9Mz;h-Ԧ[?|xЈJ`lNLHbfbW?JO@Va2hz4uBDs4s]*}FBR-OQa1N 9b~"Vp~>JpNnV[[x'aC h|ƸA^*?jh,T"3F"Rk9X[CJDuLQ$(Sl3{sRY
HTP}dn:%Lwd<Ffmc/7P"5,-݊}[Xj\S#l*@8ܓ}i/D(gLpq`!Jo@T
GZo,]qk^@_|yxڝT͋RQ?v!FaCҡɫ&8BP},OAZf`YvQo1h5x{=; 6>XWbEv=?GAit(0%CBM74N8I^>c;W:_ҪZ\RW8NdDt.KDs63so{r3;FI}vH&
A)%xVp_\3`ca["{3/2ZTٸaps0ƀ0F0.Q!1.d;)
^bݛtnrY($JxnWbq^oGwӪඌD*yBFpMcx+Ry-$;)z\?3(QZq}6PPf3L\_qy0!OQU,OtIK!<4rE[-Y4?46ꋤP5Z>]sK
՚V) xntZa|`!S7MЏvsYv~`@!|!xMN@]QK`bzAc1xDT$Pў|Ǔً'%Ը3埝0l;JqZb놎NUW':ZӱZa)od&u[h,bl^ן:~BexX:Yi:c?zK Ҽͫ3s{U^ Zbm3WaW]ѐ\ݺ®7 QR"FDh/F=ПC{X
Ġ]gwoΜoΙsg`xSBlDhP0rc@gq)P?2o/a(AWV
0lA;@c!(G͈2[csݩwwXc,!su6<&@T=pA\r x{-?OY{$ -Yu{zjN[l*dY*BUL0Q;/;ZVֽ'TDy+4!KZ+iᅧ6j͒*3Xk -J(u@6bD>W{ԊLEpљ\Zd[Օ5F7
X&.uVC>WWv6H]R>m&Fpl9.e&bloJ\Ӯ#XeٻU>dF䓠É@d
3~|26qćq㤑M"}|Ǎ䀑7(:ɸ1`ņ3Ʉ Paz91| n1!ZNhf![9M\ !3iڞ#!u^>9kե&bZ`Gg)5ku
3?a`!J*pw؎a!00R`0xڭS1o@ ԍCP5 *AS5cсЈ8@AqPUa#c H@!L 0R;E!C'{{{)@">HD1"a\7-R*F:210xw{;^$1yJt%`!QB1@
@ xڭTAkSA}k$5hڢX)Ph)/BWHi9 "^SQЃWzx_(* Xhټm%5M~.B@0`D_Bl6tO."bT .&CbY'M"9XQCtR$ŮL+{T|+MgN!UΡw0.u*vq>S*}g~T!he\+/BY좻` eC)/VL};whwkHEyhd¤PQO,L3(H<%(&ҫE/xQV%穋m&Ҧ0=D]>M"MѢ#)}hUkOޮ
Ig~Er_tu2cJ,qo^u2Q z४rsc'P'`!zOUܨhۂg
@PHxڽVkA3ckVBѴ&i,R0mX)AH64T/$ҳA)"PDXtTj|MBӂ.7{.ǄR-J%':扴 Q
%6pslˍ"zg0]nPX5q:C̈́I(nVt[juPM_tB'cؒk".K|?n~RCp+s| !P`6"5HLgj];4`{"]zC\%/gn@Y^PF(YK5
Qq\ޙz\*3VťRH7m5d:k]8:r
玊Ka(Rz*!Z<,Ţ[9c_p{>iPxӽW
S}[AqҀR~qiCW?mRbۃG^ޣb7ohR?<96/֕B(f7RsXJqriJIcif'?6
gQhs[w8?ӧP>a;`%}u_4"ZE 5dl3Y* ٳWHOe`v%ejРh_*30Rf1D?ܵxhQbPS)`!?,@n.&tV
wpxڥTkAfv7؍ՃP4`#1M$ͪM#I$YMޖ%`E7j*Lhq<,G-pE)`!G$LǮ5ƎTkC[1~=ig;t m7y-5-ȩ]&\3%oQS(+V#|jo**Hlݝz$tr4D@.:EH$E3wy6d[8/6"q*^m;m[-.U}1ɗw*k67_'f7covF1dQNSGҒD-u*vs}=|ri:-\fnm/Tmʕ[
|u
i^T!_^r!=[gzyz.cf5~<q/"!CfܥUk0bƕ)8=TFjP9P;Ԁ;mZcw\D`:rA/k6Y; SXNGq'>,ʪ9k_mhNiU d(Xaop7d\?OfNKr(@
F
Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationBEquation Equation.DSMT40*MathType 4.0 Equation?Equation Equation.DSMT40*MathType 4.0 EquationFEquation Equation.DSMT40*MathType 4.0 EquationOEquation Equation.DSMT40*MathType 4.0 EquationQEquation Equation.DSMT40*MathType 4.0 EquationREquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationoEquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 Equation/0DTimes New Roman``v?-a0DRockwell Extra Boldv?-a0 DTahomal Extra Boldv?-a0"0DMonotype SortsBoldv?-a0 @DWingdingsortsBoldv?-a0PDArial Unicode MSldv?-a0"`DTimesUnicode MSldv?-a0
B .
@n?" dd@ @@``%%po&2$@G%~ʖa9z42$Jo@T
GZo,]qk%2$7MЏvsYv[$$$$$$$$$$$$$2$م]r~40U+3$2$*pw؎a!00R^$$$$$2$QB1!$$$2$OUܨhۂg$2$?,@n.&t($$2$hUsTϔiw|*0AA 3f@8g4KdKdD?-a0@ppp@<4KdKd,))0`v?Lg4(d(d?-a0$pqp<4!d!d,))0`v?A ʚ;>~8ʚ;<4dddd,)0,0___PPT10
~___PPT9`/0z8~ ?%O=s:m*Understanding the 3DVAR in a Practical Way,+*%$
TA simple example"$A variational data assimilation algorithm can involve:
Variational calculus;
inverse problem theory;
estimation theory;
optimal control theory; and
various computational theories
Can we present a relatively easy but comprehensive outline of variational data assimilation without being annoyed by all those complicated theories ?
Let s begin with a very simple example, that involves all major aspects of the variational data assimilation.27PPPi
fConsider the temperature in our class room. This room is air-conditioned. According to room characteristics, power of AC, etc., we estimate (forecast) that the room temperature should be Tb=180C. We call it background T. This cannot be perfect, since there are various random disturbances, for example, the door of the room can be opened randomly, the air conditioner does not work perfectly according to spec., etc. Let the standard deviation of background b=10 c.
On the other hand, suppose there is a thermometer installed in this room. The reading of the thermometer is, say, To=20o C. We call it observation. The reading is not perfect either, Let the standard deviation of the measured temperature from the thermometer be o=0.50 c.
The question is, what should be the best estimate of the room temperature ?
4Z
"*"*"s
"*"*"L`
&
"HVr
{
t
Posterior error
You may ask how good this estimate is? This is actually a crucial question. In the world of data assimilation, the estimate of the accuracy of result is of the same importance as the result itself !! By using error variance of the estimate by defining,
Go through some algebraic manipulations, yield,
Obviously,
and
OPPP "&"o"
&N"u
jThe 3DVAR Formulation$
Q<What should we know before we can solve the 3DVAR problem ?==
Cost function J measures the fit of analysis x to background xb and observation yo, and dynamic constraints (Jc) are also satisfied in some way.
What really is J? a vector, a numerical number, or a matrix ?
What we should know before minimization ?
B: unknown, but can be estimated. It is a priori, 3DVAR is thus also called a priori estimate. B is vitally important!! It decides how observations spread to nearby grid points. However, B is also most difficult one to get. Its dimension is huge 1010-14 and its inverse is impossible. Simplification is necessary& And this is a very active research area for data assimilation in the past 30 years. Among the data assimilation community, there are two basic methods: 1) assume B to be diagonal. This can be done only in spectral space (Parrish and Derber 1992). However, this approximation is not acceptable for grid point models. 2) B is modeled by parameterized formulism. This reduces the dimension and the inversion of B can be avoided through judiciary choices of control variables (Huang 2000, Purser et al. 2003a, b).
R: observation error covariance matrix, also includes the representative error, usually diagonal, can be decided off-line based on each type of observation used.
xb: background state usually comes from previous forecast.
yo: obs. Every new type of observation may have positive, or negative impact to the whole 3DVAR system. Active research area: OU, radar data; Wisconsin, satellite data.
Jc: One, or more equation constraints. Also can be a good research topic.
y=H(x): forward observational operator (including interpolation operator). Also a lot of research in this area.
With all of the above being readily taken care of and coded, we can begin to think about the minimization.
PrPP>
@>/'
?:JpnP=}~
From the flow chart, there are three important tasks for the minimization procedure:
Calculate the cost function.
Calculate the gradient of the cost function.
Select a minimization algorithm.
The first task was already discussed; the second task usually requires the use of the adjoint technique; and the third one is also crucial! To develop an efficient minimization algorithm is an active research topic in applied mathematics for the past 40 years...
For us we just need to pick up a good one
and know how to use it. You may find one from book Numerical Recipe on-line: www.nr.com VPk
" P" PVG8
,/
3Simple example of how to use minimization algorithm
Then, we need the gradient of the cost function, it s a vector of 3 variables,
2O
P(
FProgram main
Integer::n
parameter(n=3)
Integer:: I, maxfn
Real:: Fvalue, X(n), G(n), Xguess(n)
Real:: dfred, gradtl
External:: fcn, grad
Do i=1,n; Xguess(i) = 0.0; end do ! Provide the first guess
dfred=0.002 ! Accuracy criterion about cost function
Gradtl=1.0E-7 ! Accuracy criterion about the norm of
! the gradient
Maxfn=50
Call umcgg(fcn, grad, n, xguess, gradtl, maxfn, dfred, x, g, fvalue) !algorithm
print*, x= ,x(1), x(2), x(3)
end
|Z2ZCUN-p
+I ?
Comments:
All variational data assimilation algorithms work in similar ways; you define a cost function, get its gradient, and feed them into a minimization algorithm along with a first guess of the solution.
But, large, real problems are not that easy ti implement. One of the outstanding problem is how to calculate the gradient of cost function efficiently. This brings out the adjoint technique.
What is the adjoint, and how to use it? .
ZZ
>~
It s only a mathematical tool to help you to get the gradient of the cost function.
In R. M. Errico paper What is an adjoint model?, It is said & the adjoint is used as a tool for efficiently determining the optimal solutions. Without this tool, the optimization problem (including minimization and maximization) could not be solved in a reasonable time for application to real-time forecasting . This is a good statement. Then what does it mean exactly ?^ZU)>_+
A A simple maximization example
Suppose we have a fence with 200m, and want to use it to make a rectangular yard with a maximum possible area. How can we do it ? Let x, and y are the long and wide of the yard respectively, then we can define a cost function, like,
and the gradient of the cost function,B3T 0` f̙f` ff̙f` 999MMM>?" dd@ ?
" Kd@ d
o<@ d`n2 n?" dd@ @@``@n?" dd@ @@``PR @ ` `p>>0(
s*V ?
T Click to edit Master title style!
!
c$tV 0V
RClick to edit Master text styles
Second level
Third level
Fourth level
Fifth level!
S
c$V ``V
@* 2
c$|V ` V
B*(2
c$%V ` V
B*(26
S ? f̙f Default Design 0kc@
(
BV?
??@Y
T Click to edit Master title style!
!
c$,V P
V
W#Click to edit Master subtitle style$
$
c$BY ``V
D* 2
c$FY ` Y
F*(2
c$KY ` Y
F*(26
S ? f̙f0L(
L
L
Nόuu z%
n*
[--[[
L
N.Yuu @%
p*
[--[[d
L
c$ ?YL
4
L
N,uu
M(
RClick to edit Master text styles
Second level
Third level
Fourth level
Fifth level!
S
L
Tuu z
n*
[--[[
L
Tuu @
p*
[--[[H
L0.k ? ̙3380___PPT10.n0^N00Q(
r
SVY #Y
W
<$XY??{
aJidong Gaojdgao@ou.edu Center for Analysis and Prediction of Storms University of Oklahoma Lb('
IJ
<@_Y??|
(
0xaY@0E
DLecture One:
(2
H
0h ? f̙fy___PPT10Y+D=' =
@B +}
0P@
4(
@
r
@
SY
Y
@
SY2Y
0H
@
0h ? f̙fy___PPT10Y+D=' =
@B +s
0^N0z`
(
r
SYH1Y
`
c$A? ?$
H
0h ? f̙fy___PPT10Y+D=' =
@B +
0p
b(
6paVJ
P The simple way is to make a weighted average,
We know that the above weights are optimal weights determined by the minimum variance estimation theory, as
you have learnt from Drs. Carr and Xue s lectures. p/m40'l
0A? ?%hH
0h ? f̙fy___PPT10Y+D=' =
@B +
0,$ (
<
07r@
nBased on Bayesian estimation, or maximum likelihood estimate theory, we can derive that the best solution can be obtained by minimizing the following cost function,
The minimization of J is the solution of the equation
It should be easy to find that this is the maximum likelihood estimate. The answer is the same as the weighted average derived.R| K 2
0
HAB? ?U%Br
0
HA?? ?
?rH
0h ? f̙fy___PPT10Y+D=' =
@B +
0
~(
x
c$Ar.i
r
0
HA? ?Y
rZ
SF? ?PPF`
c$A!O? ?`lOZ
SQ? ?PPQZ
SR? ?ppR
0
HA? ?V^L
rf
s*A? ?M N}
0Er
P
2`Why the analysis is more close to the observation?
(Bkgrd: 18oC, Obs: 20oC and Analysis: 19.6oC)a 23
,4H
0h ? f̙f___PPT10e.+D=' =
@B +Y
0x
(
0br
xComments:
This simple example shows how to solve the data assimilation problem in the variational way. We need to minimize the cost function J. In order to do this, we have to calculate the gradient of cost function with respect to analysis variable T, dJ/dT, and set to zero.
For real 3DVAR/4DVAR, a scalar T is replaced by a vector, the two scalar error variances are replaced by error covariance matrices. The procedures to solve them are quite similar.lM/ H
0h ? f̙fy___PPT10Y+D=' =
@B +
0
P(
x
c$VS
r
6}rH
jA general cost function is defined as
Goal: Find the analysis state x that minimizes J.
Where,
x is the NWP model state;
xb is the background state;
B is the background error covariance matrix;
R is the observation error covariance matrix;
yo is the observation vector;
y = H(x) is the operator that brings the model state x to the
observational state variables.
For 4DVAR, H includes the full prediction model
Jc represents the dynamic constraints.
.),&'''''''''''''''''/''o''/''''''/''' 'C''$''/*'@\
S A o??k<yo\
S A??,ZB
s*h ? f̙fy___PPT10Y+D=' =
@B +g
0
$(
r
Srgw
r
r
Srr
B
s*h ? f̙fy___PPT10Y+D=' =
@B +0:2pU"`(
`,
`
6Tr`6
@
0First Guess
x=(u,v,p,t& )X
RB
`@
s*D>;& ;
`
6Tr v
QCalculate cost function J
`
6r
+Calculate gradient of
cost function, dJ/dx,,
*&
`
6r*;
Minimization algorithm
Find the new control
Variable x=(u,v,p,t& )
XD
69
`
60r
Yi
*Output x=(u,v,p,t& )
D
`
6Pr
*
`
<cVfC:
DModel forecast
XB
`
0D>RXB
`
0DԔn XB
`
0DԔ
/
XB
`
0DԔ XB
`@
0DԔV
VXB
`
0D>
XB
`@
0D> Y
`
<4&{
9YES
`
<(v]
8No
`
<T
(
`
6V )i
eConvergence criterion4
`
0 <
h0The procedure for minimization of J by iteration1
21`
`
c$A
??%f
`
0%I a+
VIteration loop, 2 RB
!`
s*DPx
"`
0*
<a scalar 2 B
`s*h ? ̙33y___PPT10Y+D=' =
@B +
00( d(
d
d S5
"p`PpH
d0h ? f̙f___PPT10i.s+D=' =
@B +
0#` h(
hr
h SF
h0
6A?{
h
0G4
OTo solve this in a variational way, define a cost function first, let it to be,P 2P
h0
BA? ?SH
h0h ? f̙f___PPT10i.0m+D=' =
@B +
0p`ts(
tx
t c$dj*.
t0
BA%? ?%
t
04qp
%Subroutine FCN(N, X, F)
integer::N; real::X(N), F
F=(x(1)+x(2)+x(3)-6)**2+(2*x(1)-x(2)-x(3)-3)**2 &
+(x(1)+2*x(2)+x(3)-8)**2
return; end
Subroutine GRAD(N, X, G)
integer::N; real::X(N), G(N)
G(1)=6*x(1)+x(2)-20;
G(2)=x(1)+6*x(2)+4*x(3)-19
G(3)=4*x(2)+3*x(3)-11
return; end
, 2 2&P
_H
t0h ? f̙f___PPT10i.pk]+D=' =
@B +=
0TL`(
r
S슌
2
0G
>The minimization algorithm, like this umcgg, one of the conjugate gradient methods, requires you to provide subroutines, FCN and GRAD, for calculating J and its gradient. We can quickly get the answer: (x, y, z)= (3, 2, 1) after only 2, or 3 iterations. Because the problem is simple, you do not need many iterations.
V>|0KP 2&&H
0h ? f̙f___PPT10i.>+D=' =
@B +
0|(
|r
| S }?
H
|0h ? f̙f___PPT10i.`w0+D=' =
@B +
0(
r
STH
H
0h ? f̙f___PPT10i.@z+D=' =
@B +P
0g_(
x
c$v
0YI
v
7 2 f
s*A&? ?
{
f
s*A)? ?u&
0
dThe multiplier is equivalent to the adjoint variable , the role of this parameter is help to calculate the gradient of cost function! 2 '[H
0h ? f̙f___PPT10i.`+D=' =
@B +
xp^RЀ3ÿlHbPLPÄ!?$<
FbW< ]P^b<*1@ݐnhm'~n`)9$ى''1d1x} R##HGz(ە!@*
dCwlXg*6
F`$5nIy_H&dT*(&d1ed
5d+#P%7ĄQ8<31')839?%5 1=A5$37X/\!(?71A927)?(_ZZdd
Qp()JX~~}ǀ/lQ~G/_T;Y VǗ~2]]#?#0G32'Ҁp`ф|114{102`;10zUP"xWoG3k;b
%!jM$ʇ>TUAgJM#v;
>ڪBR8pD(H@BC((7CQVU*{aarPLgvv~f>%;/# A>S G25IX.
_ @P
ޥ;w7N-:ri3K+0DxY<]ko=0 sv/f7.,iQMތ/-?n[,ؙSo7=;a}{Al|#,=zw0b$tLd#6HB*[ mXE+k\zGǶ/{P=4ǰ}&ލonˠH{8yi<{8S
|Kqs_:Eid6{dB8axX[Tk*<:w C0ΤTx0If,ភSg$Lmȹi百,.־Rmmp/sŬgs0ǈI38]ccɍ"?PWeOujr"Ǵ7vt 4o?~3ldtX2>͝KŒߦZ0$݄D:5AʥD#e}L߾HL
N$">mS9Z0ǌMTg|+?3qC9%dplGaef sO~IחqX6H;jf5TRxFMf,AeDUI~AyqC=ae|2YHZ&ԣײ[u˻6L8tLyp:MW]{y6Tpз
>
k<^axSuQ7ǜs8,J/Tp/y[g?gckxʌxX_L[Uιm-PqȂ]W:([-ZC{-b\I}b&&fbL|d@{)m-Ҙ-~9=~譛vT3n 1V`cbQthCv
ծpOz@wGno&:ǟ9gSgҧ.YN.=+{;@GP\{$yҢB)|
r0h|(?ŝ
ߌlڷSv]N.lGk>#ؿl5;v/y܀<`
0b1&ŷ,EeXU5f|~M9=
ޟ@wnd(ې̩~ "C~Qȏ@'~\tCյ8_.COkYJ3s7D4#ϗ;D,}=4wDWSC>!scq䄱tfh[3tI4h!
͝Us#K)T|X:&SKKZF͂O.dNEŅtj&g<q=aУI}l{^Oը?#g}ݮƢ9{a+_`
u`&d)J5.gu7:zl_.M'h)_UK+سjTk^*-"mAMK+5(y;Z=_qX9$[~b5VX5?(c蘙d7{*x]L[e|m-`[D
0 vm.b|-ZAA$YtQ\/!^f'xo48|XH19n{)-a'~=|gW@<
,,f1UP-sя"ݧ^^gx+2C>]&aC?ڡ]z;#<|&A| Ahnx+Kt
#r\oO,/w!>l`fS_}C&{LO6)y3ƿ.whyP$ځl\@~7aR?z2b?Dqճ'$Y)7{mNj"."E4ZUm71!bL12_rmyE(:Ʈ>w3E:zNᦑ,cc8WD\`/G<'ԾP?|sDOß#sΞkLOd65-bi5
[i>@rQ.'jtOoxSNt'<|ID)]r'@|^}^jZ9s!6pYu`(4Os
?ľ,ko&lf\D|[j6~K]b9Ѹp?4.DV{햟[v+Fw
t.?(%Q\J+ɷ33En5QCI}KN*E!ݸ.FrY2vM*T$vN˹ZI5k%2/Qgp\PK:>yKxSbZs4: ϣ>!GgzJH
LU$=s
E~QgE5Ok{=8_Fm}Gx[!RL?T뿍e<,7=cl.5S>wrv?/O"o8q ֳczVȌO*u1J(OoFrgfwmg鸙K.ӔI3nmO1&xX_L[Uν\AdHkC(t2:Z`$]ܲdb 1eK0 /O$>E5&rQBǟЯ;;sΟ;?Ν}yŏdO;EbCQp1d(h9&|Hdql'=S'Y4
#2^&T^aCmi$Q9@J|&K1}ɃA3\nx#d1xp
5_X#q?{⿐y$/3"n纲B[6)b)~(~ b)V)T 'pWà]@S9S%}0U~L5`zAc<5?pkmweY8IczN9zhzJ"p2I?pw)v99o3DFcH>ZcA!DC~I-#FWKGĞ646YO'"O"/Զj
GfS{BÁHds'@FmQG{/rX_wC5B,56x_n;WWay1o66~Kv[3eX]ױظVӄcXutycc2TLBÙ0\oh2d_e٘Lz?Fh\zO5%5N(Miδ%ӹr雚`}6g
Z>I#2~G#>]tȈ>}z/5Gr\3dXtPu&y呗yj(gs{1DCivЏiƚvWc,
*Im퇋_4Q9rr
~=hQ||(wTm?q# @}&qKV{nՇC?ѹ1w}C$LrBZrjf_r>(݄O;fFC"
?g[\!
Iy 7.GsW^HVom* gI8Fsq~wƯ?ב}eKsdkSO&-?SJkwn3-k3ѕSWIQGᦠV3_bP}oBe]ZnեV]Z.kӖ36T偶D~ۅ
YBl둿33p@ŷqG{鸑LOJ4:%A=;<O'j?a/.
Kѿs`Tͯ$''CaH"8N'/LۇS
B3TUg`$#: C'cy6we >`wl8_a#%_7C~ty]RdD2GS67$d!YYi6H+0۳f̐c4xh
MruwX.sAנD^wd5;wV20@PH|i,8Y[YژYA]QjR>Z1C/[Pf-3UcFKlsccm7e;%%qG_)-Wjɞ D{cp͠6~ϵ2jy&cuUy/w?G{2iM[aPF#/n[XjՏ_v'W2E xp^RЀ3ÿlHb@00@$G@;bbW< ]P^b(y=TG, ~jl?5T0 nj?poKr8
d;@rRIu6p101mC9a@yV#HMz`ew
1a`sqJ,LvOI
HLO-fd
M-VK-WMcdMJ9e$Y|C\+J8]];|E~Qd ;~/Z_"@pԊwwBLRc_,7Qxp^RЀ3ÿlHb@00@$G@;bbW< ]P^b(y=TG, ~jl?5T0 njHr8
d;@rRIu6p101mC9a@yV#HMzaJiv##x]hU%YtnnFTBV&51]i&R|iAEt1>I E}oa{?OED|KLu=_o?o|<[ d'̲/Ɨ6၂^Ha.Vèj/ 腎o)zF "FgKݫdMZP;8sWxWƍ%&A cxQClRW<˰4f+t"[ma[xi?sdNUh߀QڿZG[eeҶz2s6T^'/
+#nkn+L~}f5ҏ'zf")xbK|8uGR'ӧVf%}0VFF#؋p4 ns,MzzD<2
n/?q;8
Ve\@距;^@&iLrvk:i
L=m>}+pg8@09YɸZR#S~$Mo@}FqFAK8@깜.rLu9vh3s)?Y@****aŤ~I01qg_莊ZA(=g['ۧ̽9@ \w#*/ooF?9?r]#C4[!])S~1^#8`sľE;ޫ!?)%mc6WMC
㴆LnŀKQEH"ӈ,Ɓ>z%T;keekԮv|S@9C#O176OyŅ= cjNx(6X1d{K&;'N/Gd!jPDOjޠcGyOo-]=G+cG"׳(dn/kKB}v.)wldnD2~i4r*|%}2I僱R\.̂OL339dҩb@D$Oa?@)Z+H`Jt(q̈́iD%E-GS=jO+J+^jUl,I~rYҍ4d8bUUP9ʬ1#Vcr8oY?;2lcmYxl[Ki~U0mJ֗:[0MÏ{ǻ̱3Nb
S!Sq:ly*'(>@ɰ0_!xX_hU?~I4V4lJ6d'4?kZ(T'e>A_ԁ>̧ʞ*&sw4֤HG!'=ns75hP,Rй0}RD]ze& <^ga6h`kYnپa4nU9, fف3F5rO/!P>JȈlqF< >c?q'l`
w1&NGqf))WsL(:%_ξ^JmJ9}<1OdӱɅt<¡l21K64q
sQltY NE/VD^ߺЩH4\Ea$q3d}4@$jqAThގ3+sjFQ2Cn
3!8&
sK^ j??h8N
,GgNİ ^7A6bnYoǱ3(fE<Ǚ&"*V>R>y*9K\W/qhaa5ʇ~'g?`?rsU]P;i2kZvYƢsdN\vuzV*myCϒ4FJFv\U7vJwr!O^˔6x7TrZm<4hԫ5zhZz$ƶJOQ(^S}=K
UQy#3p*rу'En:{9/i*Sl+)[eu^~[ kGHҕu6xZMpUy3?@L
K0H(j4(CZb6Il)p ͋P/(eqXAY<($vf흷ޛ~^Ŝ>0]=h}ʯWuy+_Ge+"`
yŞ'zn@,dTTS2 ;;9$?9uS^@xANXNO8A+/F^0#Kr"ȏ"#D^\\\\y
2 aNrz
ȏ!? 'm[)wR^#by8ahwlT~JIApvJ\rvvVg@6@; )dgdAX>\v-K4je#]f=a_F/b:JtDPNR¨\O^E;6%k{T2p\;QW>ѳȮG"˖fU]
=Nͤ-ev9^1y72߲Zʼqe.I kRB8RRZRZ*V
ٯ-rUSVg4kO"KZ3.AM#xUnłh3&%Ke7Q xڼ6RJ*ý[T[I~)i$6QuV@D0tMJ*6+r-Q=;FfFE9)EA3RcCþ>|xH\DPy$!K~>Ԏ?}Ky*E9X?c4b}!&Kzh蝢Ta w澵.NOw٢1!5U1aX)_P:ޘB267FdD@>hg[<"?E0.|2F1\[?8Uhl,VqlƗo*Bq(q=zDzSmy/brC-((+
k+ؚvaѬ}ΝHlԎ{{뻆z4Z^
A9A
R%M.O`xw~Ħ5֠ӱǲXs! ';t4e,lNHwzM };Sci
p?
NJi0MP/i!YnwDc`GsIsTfmjP6yAMJTYt(kZJ.vlDfFvǯ1ǯXz̈_s5◑]YkUƯ'N{)86,uIn۴dT~)o=gSq8\I*P[:WsWMZg`k/YBƳYzVVGpZCK^1v6
Pqtg\&eYf'/&?G]aiH4M)ʆfwV"2FҗǶ%}~+ME,}_9Y/۬vcf||9@=F1⼱O"Vo$_&m73K}c1Lп
cLsxWO[UsBKAƈXb9,kim
.j?j?K$&0|Y|'h,~ۖZB21o9sٍ֟+X2N6/
4 괫/~D]8RİM@2+=Y>#gZwv3Nڟ7$6Zo1QSaZ]$pVG`B(yC=k7
ʃ&(A3@(LFo}e#nA
MduϏBz8@+s
IzM9B̩-@5AZۊ!d7ȇz^on{w^6z'oɊUY{w ǃjsM\g|Ł~@(gA7uIO]v
^MOb[t^3}Fti>ᨚ3h(_}*̽cI֧mzJ0yXw7ؑ]?$`5J QXJ$r[)r *e
$˞"
Ύ]m
%Z`-UaWx~ʏJ6HIkUl$VHIgwxW6"AQq34MvHCl*fK3j,#ʕnf##C1ky'&ΆW⯩и3\&<N-T|>h<v{9|a8etPN/2bw.`{283q$TC9H9D87} >@r a'xXREAr0^|)ܗ{9o:^ƹHk榎SW JS2Hٞ5`aX% <4CD]1_Qȧ*h`b0rSp̛Y~un4.mXm` p]
}O'ڡEO%mp?EwQw,}14ِKdjB%;b6
PS@&:@>A,@ĊZ݃u/@ƱƢO\Q
daH1OyK<,yt
3lNI%9BzF&+>aoߘ(,G)W$С>w ?2Ͻ9Gᅥx.I V/Пb1Qiu)S;-v%ҡdT<ȼD㗔,쳉GeL*4O]$5YZL(mz^-[NEK^T,h/xBP
-a뙠j5\:;SZUGƱvXD!)20+ r16
וd2&!\G8B={-d""~tϖm~GW7Rs8%-l>[4
ObXx -PMEId3c:qS2% 9$:ʥH!r?j1NGAvHynq'=suꣀuY4hn2ŉ2Sb?zY7ŋ>&~wK,?)9x#hh$K:A./Jj z)]:7RwU
YJۃYEU|brL(xZ_L[e?m)-Ж2Z!
)t@S
,f/c_fF|vDxe_MLħVMb{^J[Z6Оrz}=9۰z㧗+zDN''/iW '6(q'BZ*mL_sWU}% Fj(1N5 [䱗=xc0 ^0ǯ2z*W}&i6wN>73}jjfzBG3QO50i;_I7sF?Y_<ܧ|'xVxjn)lu+ig]ҹL~$S}G++?a , ʩ=@yr%rr5cxlP 'G$ف3!.1>f9UAK4BgVw2x0zo!(;)u&}Z]R/9B~Y!0V;F;I
'￫
@L}gWt~FERbA8
1>65xi%ǼfhJp9KZ
g']ۊ
i1YT8*
X{43ЧFVܤ4N26ș2Gr/+rcw4߀ke1.>sgΠ@
ٮGϟ;C?ݣ;ra=UOcbfZ%!k?j SILW@敢NzX+T8`UP*@8(^ZVl}$*}+}?}.Q5jUh5yp(ce-p +e<&]_˂u8Y>*i$-y*dyhS
|a$^27gR5%fۨK/}\%$/=jiQnƴPiok5-
\σ˘%cLt˥sSڥ[Uq<81&dqxވ=3Yղ
쬚ųis(jax#g\(7yM}֘&zt8[b+3CӠmoο.ù RNTS*'M,_3!s/Z
cƹ2$S\Ns9eY.m.g].\@[gy̲M%[7Yˉ̾>$xYoL[U?e0d[A&H)PII IjWc\bb'?색bU?,?[5&&~`Ls1L$Z5{7
ow9ַ|T#`a1l6̵(2j[X\\& y1G;!İK7BBf|wwf5CIўl!(CסS}z-YyQҸF:;p«t_B{QB|ep`;=mC7Υc7r*k6ǁZ35aı Ud{v~-Mq
"r~%XmotAE }@9CȥːF~QNr
ǐG>\|<ղKr-!uU"s7ǎ^Bh4SKBm
47ƕ, T܈F8(PO@/XBRE/Dc-HWZ{ogdǠPPFI^ohbt8h׆&[k])D_T(u(5ykwTUԤr7Ob%XJbEGBKfccfе^$LP&rRV?}&hU,o7C3K2UVԠ7bLjy]-oe:%?i^i6a6='ҳћV=a5`a!̼:Pe]teԣ`%N
gN{ً,#hΣg-߅)e=82\yX4C?Lw{z+*w^77
sv2;tkP;rzQ;nissmM5,mg>+A!@^Kq
Mj=V'ҟw@5A8>tpbѷ@iI/Ma=l:@=>q/8B~f5&}&owd<'"'X\r=i8 Y?k>ֺ0"x A#gf$Ъ0L&
&N 4*'<_ؐھ.;Zd&I}Ig9xץK8ߖs=dLPHnELk
|\8sKa[AJa:{\.5xV*϶_%S83
17SΞC#!ۦxlWvƛoXKk5O;fnOjL$`~<8Tj4r/Ipj4]EK\r]Jﹷӷ6***67S.,P .[&n)И&ի]~7?a}Wf:S xXoE36vB["p+FI,+PPdP`5nະ#$CDUU/W8!PnRqe6NBc훯ͼy
{&z}൵1,\VB}V[^SޣSP E(7¦(xu
|cZH>f{3wn}ȯzMY;´8#lnٞ9{?<1z]Ne:FjKS|קT`6f+(Iuow;䃛ً9}
$'s\Fg< C5X%H3Y0uj}`yu\gW_V@Px-?O9הt{*zR̳8qFq{ Z7%*ױI]gѨ̤Ko%$W|,{;_|fQp%39#
t>X"ߖ>@[XP,Fe
^z@h'uƄa瘨+2
#r\!vt{oݙxBo8[n`ZHpFehi:LϨ~Z|Im>=<43`K|<=.f^,'oE{VU=ŌHVgmF}*Sc
Ow|]8qM!
NҫRFE{RAx0P#PWg?_ge2NW/N+8B0>Se
afUCXu523O08)ej/$smsbIρ4E{\^϶7l!
L#7F?tHGGJ1Iޣ>#l-A{9<#Fq8\兞3_;~~8dx?nw7\},[e^r0#rzBR 0ܙ ϔ<
m 0"=^r%X*F.1
$
,FOn-screen ShowRick AnthesUCARTimes New RomanRockwell Extra BoldTahomaMonotype Sorts
WingdingsArial Unicode MSTimesDefault DesignMathType 4.0 Equation+Understanding the 3DVAR in a Practical WayA simple exampleSlide 3Slide 4Slide 5Slide 6Slide 7The 3DVAR Formulation=What should we know before we can solve the 3DVAR problem ? Slide 10 Slide 114Simple example of how to use minimization algorithm Slide 13 Slide 14 Slide 15 Slide 16 Slide 17Fonts UsedDesign TemplateEmbedded OLE Servers
Slide Titles_vmxuemxueSystemuation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationBEquation Equation.DSMT40*MathType 4.0 Equation?Equation Equation.DSMT40*MathType 4.0 EquationFEquation Equation.DSMT40*MathType 4.0 EquationOEquation Equation.DSMT40*MathType 4.0 EquationQEquation Equation.DSMT40*MathType 4.0 EquationREquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationoEquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 Equation/0DTimes New Roman``v?-a0DRockwell Extra Boldv?-a0 DTahomal Extra Boldv?-a0"0DMonotype SortsBoldv?-a0 @DWingdingsortsBoldv?-a0PDArial Unicode MSldv?-a0"`DTimesUnicode MSldv?-a0
B .
@n?" dd@ @@``%%po?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
Root EntrydO)+
PicturesE-Current User7,SummaryInformation( PowerPoint Document(DocumentSummaryInformation8'r(@
F
Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationBEquation Equation.DSMT40*MathType 4.0 Equation?Equation Equation.DSMT40*MathType 4.0 EquationFEquation Equation.DSMT40*MathType 4.0 EquationOEquation Equation.DSMT40*MathType 4.0 EquationQEquation Equation.DSMT40*MathType 4.0 EquationREquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationoEquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 Equation/0DTimes New Roman``v?-a0DRockwell Extra Boldv?-a0 DTahomal Extra Boldv?-a0"0DMonotype SortsBoldv?-a0 @DWingdingsortsBoldv?-a0PDArial Unicode MSldv?-a0"`DTimesUnicode MSldv?-a0
B .
@n?" dd@ @@``%%po&2$@G%~ʖa9z42$Jo@T
GZo,]qk%2$7MЏvsYv[$$$$$$$$$$$$$2$م]r~40U+3$2$*pw؎a!00R^$$$$$2$QB1!$$$2$OUܨhۂg$2$?,@n.&t($$2$hUsTϔiw|*0AA 3f@8g4KdKdD?-a0@ppp@<4KdKd,))0`v?Lg4(d(d?-a0$pqp<4!d!d,))0`v?A ʚ;>~8ʚ;<4dddd,)0,0___PPT10
~___PPT9`/0z8~ ?%O=:m*Understanding the 3DVAR in a Practical Way,+*%$
TA simple example"$A variational data assimilation algorithm can involve:
Variational calculus;
inverse problem theory;
estimation theory;
optimal control theory; and
various computational theories
Can we present a relatively easy but comprehensive outline of variational data assimilation without being annoyed by all those complicated theories ?
Let s begin with a very simple example, that involves all major aspects of the variational data assimilation.27PPPi
fConsider the temperature in our class room. This room is air-conditioned. According to room characteristics, power of AC, etc., we estimate (forecast) that the room temperature should be Tb=180C. We call it background T. This cannot be perfect, since there are various random disturbances, for example, the door of the room can be opened randomly, the air conditioner does not work perfectly according to spec., etc. Let the standard deviation of background b=10 c.
On the other hand, suppose there is a thermometer installed in this room. The reading of the thermometer is, say, To=20o C. We call it observation. The reading is not perfect either, Let the standard deviation of the measured temperature from the thermometer be o=0.50 c.
The question is, what should be the best estimate of the room temperature ?
4Z
"*"*"s
"*"*"L`
&
"HVr
{
t
Posterior error
You may ask how good this estimate is? This is actually a crucial question. In the world of data assimilation, the estimate of the accuracy of result is of the same importance as the result itself !! By using error variance of the estimate by defining,
Go through some algebraic manipulations, yield,
Obviously,
and
OPPP "&"o"
&N"u
jThe 3DVAR Formulation$
Q<What should we know before we can solve the 3DVAR problem ?==
Cost function J measures the fit of analysis x to background xb and observation yo, and dynamic constraints (Jc) are also satisfied in some way.
What really is J? a vector, a numerical number, or a matrix ?
What we should know before minimization ?
B: unknown, but can be estimated. It is a priori, 3DVAR is thus also called a priori estimate. B is vitally important!! It decides how observations spread to nearby grid points. However, B is also most difficult one to get. Its dimension is huge 1010-14 and its inverse is impossible. Simplification is necessary& And this is a very active research area for data assimilation in the past 30 years. Among the data assimilation community, there are two basic methods: 1) assume B to be diagonal. This can be done only in spectral space (Parrish and Derber 1992). However, this approximation is not acceptable for grid point models. 2) B is modeled by parameterized formulism. This reduces the dimension and the inversion of B can be avoided through judiciary choices of control variables (Huang 2000, Purser et al. 2003a, b).
R: observation error covariance matrix, also includes the representative error, usually diagonal, can be decided off-line based on each type of observation used.
xb: background state usually comes from previous forecast.
yo: obs. Every new type of observation may have positive, or negative impact to the whole 3DVAR system. Active research area: OU, radar data; Wisconsin, satellite data.
Jc: One, or more equation constraints. Also can be a good research topic.
y=H(x): forward observational operator (including interpolation operator). Also a lot of research in this area.
With all of the above being readily taken care of and coded, we can begin to think about the minimization.
PrPP>
@>/'
?:JpnP=}~
From the flow chart, there are three important tasks for the minimization procedure:
Calculate the cost function.
Calculate the gradient of the cost function.
Select a minimization algorithm.
The first task was already discussed; the second task usually requires the use of the adjoint technique; and the third one is also crucial! To develop an efficient minimization algorithm is an active research topic in applied mathematics for the past 40 years...
For us we just need to pick up a good one
and know how to use it. You may find one from book Numerical Recipe on-line: www.nr.com VPk
" P" PVG8
,/
3Simple example of how to use minimization algorithm
Then, we need the gradient of the cost function, it s a vector of 3 variables,
2O
P(
FProgram main
Integer::n
parameter(n=3)
Integer:: I, maxfn
Real:: Fvalue, X(n), G(n), Xguess(n)
Real:: dfred, gradtl
External:: fcn, grad
Do i=1,n; Xguess(i) = 0.0; end do ! Provide the first guess
dfred=0.002 ! Accuracy criterion about cost function
Gradtl=1.0E-7 ! Accuracy criterion about the norm of
!
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{}~ the gradient
Maxfn=50
Call umcgg(fcn, grad, n, xguess, gradtl, maxfn, dfred, x, g, fvalue) !algorithm
print*, x= ,x(1), x(2), x(3)
end
|Z2ZCUN-p
+I ?
%Comments:
All variational data assimilation algorithms work in similar ways; you define a cost function, get its gradient, and feed them into a minimization algorithm along with a first guess of the solution.
But, large, real problems are not that easy ti implement. One of the outstanding problem is how to calculate the gradient of cost function efficiently. This brings out the adjoint technique, which allows us to efficiently calculate transposes of large matrices found in the gradient calculation.
What is the adjoint, and how to use it? .
P~_
It s only a mathematical tool to help you to get the gradient of the cost function.
In R. M. Errico paper What is an adjoint model?, It is said & the adjoint is used as a tool for efficiently determining the optimal solutions. Without this tool, the optimization problem (including minimization and maximization) could not be solved in a reasonable time for application to real-time forecasting . This is a good statement. Then what does it mean exactly ?^ZU)>_+
A A simple maximization example
Suppose we have a fence with 200m, and want to use it to make a rectangular yard with a maximum possible area. How can we do it ? Let x, and y are the long and wide of the yard respectively, then we can define a cost function, like,
and the gradient of the cost function,B3
0|(
|r
| S }?
H
|0h ? f̙f___PPT10i.`w0+D=' =
@B +r//1r(@
F
Equation.DSMT40*MathType 4.0 EquationEq
!"#$%&()*+,-./0123456Oh+'0p
px
(4< Global Weather Services in 2025 Dennis Wardmxue1266Microsoft PowerPoint@IY@(@Dm@+
G,g
Iy--$xx--'"Arial Unicode MS-. F2
**Understanding the 3DVAR in a Practical Way.. F2
)*Understanding the 3DVAR in a Practical Way."System:-@Times New Roman-. 2
DE
Jidong Gao.. 2
CD
Jidong Gao.-@Times New Roman-. 2
JCjdgao@ou.edu.. 2
IBjdgao@ou.edu.-@Times New Roman-. I2
V,Center for Analysis and Prediction of Storms.. I2
U,Center for Analysis and Prediction of Storms.-@Times New Roman-. *2
c5University of Oklahoma .. *2
b4University of Oklahoma .-@Times New Roman-. 2
=Lecture One:.-՜.+,02$k'nF ܝaj2$]qkZ0UH42$ɲ$U0@<@` 2$HwƈjkP%ԙl2$6Y\Q-
$2$X-TQ>&2$@G%~ʖa9z42$Jo@T
GZo,]qk%2$7MЏvsYv[$$$$$$$$$$$$$2$م]r~40U+3$2$*pw؎a!00R^$$$$$2$QB1!$$$2$OUܨhۂg$2$?,@n.&t($$2$hUsTϔiw|*0AA 3f@8g4KdKdD?-a0@ppp@<4KdKd,))0`v?Lg4(d(d?-a0$pqp<4!d!d,))0`v?A ʚ;>~8ʚ;<4dddd,)0,0___PPT10
~___PPT9`/0z8~ ?%O=:m*Understanding the 3DVAR in a Practical Way,+*%$
TA simple example"$A variational data assimilation algorithm can involve:
Variational calculus;
inverse problem theory;
estimation theory;
optimal control theory; and
various computational theories
Can we present a relatively easy but comprehensive outline of variational data assimilation without being annoyed by all those complicated theories ?
Let s begin with a very simple example, that involves all major aspects of the variational data assimilation.27PPPi
fConsider the temperature in our class room. This room is air-conditioned. According to room characteristics, power of AC, etc., we estimate (forecast) that the room temperature should be Tb=180C. We call it background T. This cannot be perfect, since there are various random disturbances, for example, the door of the room can be opened randomly, the air conditioner does not work perfectly according to spec., etc. Let the standard deviation of background b=10 c.
On the other hand, suppose there is a thermometer installed in this room. The reading of the thermometer is, say, To=20o C. We call it observation. The reading is not perfect either, Let the standard deviation of the measured temperature from the thermometer be o=0.50 c.
The question is, what should be the best estimate of the room temperature ?
4Z
"*"*"s
"*"*"L`
&
"HVr
{
t
Posterior error
You may ask how good this estimate is? This is actually a crucial question. In the world of data assimilation, the estimate of the accuracy of result is of the same importance as the result itself !! By using error variance of the estimate by defining,
Go through some algebraic manipulations, yield,
Obviously,
and
OPPP "&"o"
&N"u
jThe 3DVAR Formulation$
Q<What should we know before we can solve the 3DVAR problem ?==
Cost function J measures the fit of analysis x to background xb and observation yo, and dynamic constraints (Jc) are also satisfied in some way.
What really is J? a vector, a numerical number, or a matrix ?
What we should know before minimization ?
B: unknown, but can be estimated. It is a priori, 3DVAR is thus also called a priori estimate. B is vitally important!! It decides how observations spread to nearby grid points. However, B is also most difficult one to get. Its dimension is huge 1010-14 and its inverse is impossible. Simplification is necessary& And this is a very active research area for data assimilation in the past 30 years. Among the data assimilation community, there are two basic methods: 1) assume B to be diagonal. This can be done only in spectral space (Parrish and Derber 1992). However, this approximation is not acceptable for grid point models. 2) B is modeled by parameterized formulism. This reduces the dimension and the inversion of B can be avoided through judiciary choices of control variables (Huang 2000, Purser et al. 2003a, b).
R: observation error covariance matrix, also includes the representative error, usually diagonal, can be decided off-line based on each type of observation used.
xb: background state usually comes from previous forecast.
yo: obs. Every new type of observation may have positive, or negative impact to the whole 3DVAR system. Active research area: OU, radar data; Wisconsin, satellite data.
Jc: One, or more equation constraints. Also can be a good research topic.
y=H(x): forward observational operator (including interpolation operator). Also a lot of research in this area.
With all of the above being readily taken care of and coded, we can begin to think about the minimization.
PrPP>
@>/'
?:JpnP=}~
From the flow chart, there are three important tasks for the minimization procedure:
Calculate the cost function.
Calculate the gradient of the cost function.
Select a minimization algorithm.
The first task was already discussed; the second task usually requires the use of the adjoint technique; and the third one is also crucial! To develop an efficient minimization algorithm is an active research topic in applied mathematics for the past 40 years...
For us we just need to pick up a good one
and know how to use it. You may find one from book Numerical Recipe on-line: www.nr.com VPk
" P" PVG8
,/
3Simple example of how to use minimization algorithm
Then, we need the gradient of the cost function, it s a vector of 3 variables,
2O
P(
FProgram main
Integer::n
parameter(n=3)
Integer:: I, maxfn
Real:: Fvalue, X(n), G(n), Xguess(n)
Real:: dfred, gradtl
External:: fcn, grad
Do i=1,n; Xguess(i) = 0.0; end do ! Provide the first guess
dfred=0.002 ! Accuracy criterion about cost function
Gradtl=1.0E-7 ! Accuracy criterion about the norm of
! the gradient
Maxfn=50
Call umcgg(fcn, grad, n, xguess, gradtl, maxfn, dfred, x, g, fvalue) !algorithm
print*, x= ,x(1), x(2), x(3)
end
|Z2ZCUN-p
+I ?
%Comments:
All variational data assimilation algorithms work in similar ways; you define a cost function, get its gradient, and feed them into a minimization algorithm along with a first guess of the solution.
But, large, real problems are not that easy ti implement. One of the outstanding problem is how to calculate the gradient of cost function efficiently. This brings out the adjoint technique, which allows us to efficiently calculate transposes of large matrices found in the gradient calculation.
What is the adjoint, and how to use it? .
>~
It s only a mathematical tool to help you to get the gradient of the cost function.
In R. M. Errico paper What is an adjoint model?, It is said & the adjoint is used as a tool for efficiently determining the optimal solutions. Without this tool, the optimization problem (including minimization and maximization) could not be solved in a reasonable time for application to real-time forecasting . This is a good statement. Then what does it mean exactly ?^ZU)>_+
A A simple maximization example
Suppose we have a fence with 200m, and want to use it to make a rectangular yard with a maximum possible area. How can we do it ? Let x, and y are the long and wide of the yard respectively, then we can define a cost function, like,
and the gradient of the cost function,B3rn1r(@
F
Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationBEquation Equation.DSMT40*MathType 4.0 Equation?Equation Equation.DSMT40*MathType 4.0 EquationFEquation Equation.DSMT40*MathType 4.0 EquationOEquation Equation.DSMT40*MathType 4.0 EquationQEquation Equation.DSMT40*MathType 4.0 EquationREquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationoEquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 Equation/0DTimes New Roman``v?-a0DRockwell Extra Boldv?-a0 DTahomal Extra Boldv?-a0"0DMonotype SortsBoldv?-a0 @DWingdingsortsBoldv?-a0PDArial Unicode MSldv?-a0"`DTimesUnicode MSldv?-a0
B .
@n?" dd@ @@``%%po&2$@G%~ʖa9z42$Jo@T
GZo,]qk%2$7MЏvsYv[$$$$$$$$$$$$$2$م]r~40U+3$2$*pw؎a!00R^$$$$$2$QB1!$$$2$OUܨhۂg$2$?,@n.&t($$2$hUsTϔiw|*0AA 3f@8g4KdKdD?-a0@ppp@<4KdKd,))0`v?Lg4(d(d?-a0$pqp<4!d!d,))0`v?A ʚ;>~8ʚ;<4dddd,)0,0___PPT10
~___PPT9`/0z8~ ?%O=:m*Understanding the 3DVAR in a Practical Way,+*%$
TA simple example"$A variational data assimilation algorithm can involve:
Variational calculus;
inverse problem theory;
estimation theory;
optimal control theory; and
various computational theories
Can we present a relatively easy but comprehensive outline of variational data assimilation without being annoyed by all those complicated theories ?
Let s begin with a very simple example, that involves all major aspects of the variational data assimilation.27PPPi
fConsider the temperature in our class room. This room is air-conditioned. According to room characteristics, power of AC, etc., we estimate (forecast) that the room temperature should be Tb=180C. We call it background T. This cannot be perfect, since there are various random disturbances, for example, the door of the room can be opened randomly, the air conditioner does not work perfectly according to spec., etc. Let the standard deviation of background b=10 c.
On the other hand, suppose there is a thermometer installed in this room. The reading of the thermometer is, say, To=20o C. We call it observation. The reading is not perfect either, Let the standard deviation of the measured temperature from the thermometer be o=0.50 c.
The question is, what should be the best estimate of the room temperature ?
4Z
"*"*"s
"*"*"L`
&
"HVr
{
t
Posterior error
You may ask how good this estimate is? This is actually a crucial question. In the world of data assimilation, the estimate of the accuracy of result is of the same importance as the result itself !! By using error variance of the estimate by defining,
Go through some algebraic manipulations, yield,
Obviously,
and
OPPP "&"o"
&N"u
jThe 3DVAR Formulation$
Q<What should we know before we can solve the 3DVAR problem ?==
Cost function J measures the fit of analysis x to background xb and observation yo, and dynamic constraints (Jc) are also satisfied in some way.
What really is J? a vector, a numerical number, or a matrix ?
What we should know before minimization ?
B: unknown, but can be estimated. It is a priori, 3DVAR is thus also called a priori estimate. B is vitally important!! It decides how observations spread to nearby grid points. However, B is also most difficult one to get. Its dimension is huge 1010-14 and its inverse is impossible. Simplification is necessary& And this is a very active research area for data assimilation in the past 30 years. Among the data assimilation community, there are two basic methods: 1) assume B to be diagonal. This can be done only in spectral space (Parrish and Derber 1992). However, this approximation is not acceptable for grid point models. 2) B is modeled by parameterized formulism. This reduces the dimension and the inversion of B can be avoided through judiciary choices of control variables (Huang 2000, Purser et al. 2003a, b).
R: observation error covariance matrix, also includes the representative error, usually diagonal, can be decided off-line based on each type of observation used.
xb: background state usually comes from previous forecast.
yo: obs. Every new type of observation may have positive, or negative impact to the whole 3DVAR system. Active research area: OU, radar data; Wisconsin, satellite data.
Jc: One, or more equation constraints. Also can be a good research topic.
y=H(x): forward observational operator (including interpolation operator). Also a lot of research in this area.
With all of the above being readily taken care of and coded, we can begin to think about the minimization.
PrPP>
@>/'
?:JpnP=}~
From the flow chart, there are three important tasks for the minimization procedure:
Calculate the cost function.
Calculate the gradient of the cost function.
Select a minimization algorithm.
The first task was already discussed; the second task usually requires the use of the adjoint technique; and the third one is also crucial! To develop an efficient minimization algorithm is an active research topic in applied mathematics for the past 40 years...
For us we just need to pick up a good one
and know how to use it. You may find one from book Numerical Recipe on-line: www.nr.com VPk
" P" PVG8
,/
3Simple example of how to use minimization algorithm
Then, we need the gradient of the cost function, it s a vector of 3 variables,
2O
P(
FProgram main
Integer::n
parameter(n=3)
Integer:: I, maxfn
Real:: Fvalue, X(n), G(n), Xguess(n)
Real:: dfred, gradtl
External:: fcn, grad
Do i=1,n; Xguess(i) = 0.0; end do ! Provide the first guess
dfred=0.002 ! Accuracy criterion about cost function
Gradtl=1.0E-7 ! Accuracy criterion about the norm of
! the gradient
Maxfn=50
Call umcgg(fcn, grad, n, xguess, gradtl, maxfn, dfred, x, g, fvalue) !algorithm
print*, x= ,x(1), x(2), x(3)
end
|Z2ZCUN-p
+I ?
%Comments:
All variational data assimilation algorithms work in similar ways; you define a cost function, get its gradient, and feed them into a minimization algorithm along with a first guess of the solution.
But, large, real problems are not that easy ti implement. One of the outstanding problem is how to calculate the gradient of cost function efficiently. This brings out the adjoint technique, which allows us to efficiently calculate transposes of large matrices found in the gradient calculation.
What is the adjoint, and how to use it? .
>~
It s only a mathematical tool to help you to get the gradient of the cost function.
In R. M. Errico paper What is an adjoint model?, It is said & the adjoint is used as a tool for efficiently determining the optimal solutions. Without this tool, the optimization problem (including minimization and maximization) could not be solved in a reasonable time for application to real-time forecasting . This is a good statement. Then what does it mean exactly ?^ZU)>_+
A A simple maximization example
Suppose we have a fence with 200m, and want to use it to make a rectangular yard with a maximum possible area. How can we do it ? Let x, and y are the long and wide of the yard respectively, then we can define a cost function, like,
and the gradient of the cost function,N&3P
0g_(
x
c$v
0YI
v
7 2 f
s*A&? ?
{
f
s*A)? ?u&
0
dThe multiplier is equivalent to the adjoint variable , the role of this parameter is help to calculate the gradient of cost function! 2 '[H
0h ? f̙f___PPT10i.`+D=' =
@B +r:~1r(@
F
Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationBEquation Equation.DSMT40*MathType 4.0 Equation?Equation Equation.DSMT40*MathType 4.0 EquationFEquation Equation.DSMT40*MathType 4.0 EquationOEquation Equation.DSMT40*MathType 4.0 EquationQEquation Equation.DSMT40*MathType 4.0 EquationREquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationoEquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 EquationEquation Equation.DSMT40*MathType 4.0 Equation/0DTimes New Roman``v?-a0DRockwell Extra Boldv?-a0 DTahomal Extra Boldv?-a0"0DMonotype SortsBoldv?-a0 @DWingdingsortsBoldv?-a0PDArial Unicode MSldv?-a0"`DTimesUnicode MSldv?-a0
B .
@n?" dd@ @@``%%po&2$@G%~ʖa9z42$Jo@T
GZo,]qk%2$7MЏvsYv[$$$$$$$$$$$$$2$م]r~40U+3$2$*pw؎a!00R^$$$$$2$QB1!$$$2$OUܨhۂg$2$?,@n.&t($$2$hUsTϔiw|*0AA 3f@8g4KdKdD?-a0@ppp@<4KdKd,))0`v?Lg4(d(d?-a0$pqp<4!d!d,))0`v?A ʚ;>~8ʚ;<4dddd,)0,0___PPT10
~___PPT9`/0z8~ ?%O=:m*Understanding the 3DVAR in a Practical Way,+*%$
TA simple example"$A variational data assimilation algorithm can involve:
Variational calculus;
inverse problem theory;
estimation theory;
optimal control theory; and
various computational theories
Can we present a relatively easy but comprehensive outline of variational data assimilation without being annoyed by all those complicated theories ?
Let s begin with a very simple example, that involves all major aspects of the variational data assimilation.27PPPi
fConsider the temperature in our class room. This room is air-conditioned. According to room characteristics, power of AC, etc., we estimate (forecast) that the room temperature should be Tb=180C. We call it background T. This cannot be perfect, since there are various random disturbances, for example, the door of the room can be opened randomly, the air conditioner does not work perfectly according to spec., etc. Let the standard deviation of background b=10 c.
On the other hand, suppose there is a thermometer installed in this room. The reading of the thermometer is, say, To=20o C. We call it observation. The reading is not perfect either, Let the standard deviation of the measured temperature from the thermometer be o=0.50 c.
The question is, what should be the best estimate of the room temperature ?
4Z
"*"*"s
"*"*"L`
&
"HVr
{
t
Posterior error
You may ask how good this estimate is? This is actually a crucial question. In the world of data assimilation, the estimate of the accuracy of result is of the same importance as the result itself !! By using error variance of the estimate by defining,
Go through some algebraic manipulations, yield,
Obviously,
and
OPPP "&"o"
&N"u
jThe 3DVAR Formulation$
Q<What should we know before we can solve the 3DVAR problem ?==
Cost function J measures the fit of analysis x to background xb and observation yo, and dynamic constraints (Jc) are also satisfied in some way.
What really is J? a vector, a numerical number, or a matrix ?
What we should know before minimization ?
B: unknown, but can be estimated. It is a priori, 3DVAR is thus also called a priori estimate. B is vitally important!! It decides how observations spread to nearby grid points. However, B is also most difficult one to get. Its dimension is huge 1010-14 and its inverse is impossible. Simplification is necessary& And this is a very active research area for data assimilation in the past 30 years. Among the data assimilation community, there are two basic methods: 1) assume B to be diagonal. This can be done only in spectral space (Parrish and Derber 1992). However, this approximation is not acceptable for grid point models. 2) B is modeled by parameterized formulism. This reduces the dimension and the inversion of B can be avoided through judiciary choices of control variables (Huang 2000, Purser et al. 2003a, b).
R: observation error covariance matrix, also includes the representative error, usually diagonal, can be decided off-line based on each type of observation used.
xb: background state usually comes from previous forecast.
yo: obs. Every new type of observation may have positive, or negative impact to the whole 3DVAR system. Active research area: OU, radar data; Wisconsin, satellite data.
Jc: One, or more equation constraints. Also can be a good research topic.
y=H(x): forward observational operator (including interpolation operator). Also a lot of research in this area.
With all of the above being readily taken care of and coded, we can begin to think about the minimization.
PrPP>
@>/'
?:JpnP=}~
From the flow chart, there are three important tasks for the minimization procedure:
Calculate the cost function.
Calculate the gradient of the cost function.
Select a minimization algorithm.
The first task was already discussed; the second task usually requires the use of the adjoint technique; and the third one is also crucial! To develop an efficient minimization algorithm is an active research topic in applied mathematics for the past 40 years...
For us we just need to pick up a good one
and know how to use it. You may find one from book Numerical Recipe on-line: www.nr.com VPk
" P" PVG8
,/
3Simple example of how to use minimization algorithm
Then, we need the gradient of the cost function, it s a vector of 3 variables,
2O
P(
FProgram main
Integer::n
parameter(n=3)
Integer:: I, maxfn
Real:: Fvalue, X(n), G(n), Xguess(n)
Real:: dfred, gradtl
External:: fcn, grad
Do i=1,n; Xguess(i) = 0.0; end do ! Provide the first guess
dfred=0.002 ! Accuracy criterion about cost function
Gradtl=1.0E-7 ! Accuracy criterion about the norm of
! the gradient
Maxfn=50
Call umcgg(fcn, grad, n, xguess, gradtl, maxfn, dfred, x, g, fvalue) !algorithm
print*, x= ,x(1), x(2), x(3)
end
|Z2ZCUN-p
+I ?
%Comments:
All variational data assimilation algorithms work in similar ways; you define a cost function, get its gradient, and feed them into a minimization algorithm along with a first guess of the solution.
But, large, real problems are not that easy ti implement. One of the outstanding problem is how to calculate the gradient of cost function efficiently. This brings out the adjoint technique, which allows us to efficiently calculate transposes of large matrices found in the gradient calculation.
What is the adjoint, and how to use it? .
>~
It s only a mathematical tool to help you to get the gradient of the cost function.
In R. M. Errico paper What is an adjoint model?, It is said & the adjoint is used as a tool for efficiently determining the optimal solutions. Without this tool, the optimization problem (including minimization and maximization) could not be solved in a reasonable time for application to real-time forecasting . This is a good statement. Then what does it mean exactly ?^ZU)>_+
A A simple maximization example
Suppose we have a fence with 200m, and want to use it to make a rectangular yard with a maximum possible area. How can we do it ? Let x, and y are the long and wide of the yard respectively, then we can define a cost function, like,
and the gradient of the cost function,N&3rΏf1*