3DVAR_CF_PM - Météo France

advertisement
Variational assimilation: method &
technicalities
Claude Fischer & Patrick Moll,
CNRM/GMAP, Météo-France
Overview of some principles of
VAR assimilation as applied in
our NWP systems
Principle of VAR (in as short as possible …)
4D variational assimilation :
Search for the model trajectory
approaching best the
available observations =>
iterative minimization
process
- 3D variational assimilation :
a « reduced » version of 4DVAR => no time integration,
all obs are considered valid
for time t1
X
X1
X = vector of
model variables
X3
X4
X2
t0
t1 (analysis)
t2 t
Picture view of 4D-VAR
assimilation
obs
Jo
previous
forecast
analysis
Jo
obs
xb background
Jb
xa
t0=9h
obs
corrected
forecast
Jo
t1=12h
Assimilation window
t2=15h
General formulation of 4D-VAR in NWP
systems
Full (Nonlinear) cost function:
T
J ( w )  ( w ) B1 w
 i 0 ( (di ) ) R1 ( (di ) )  J b  J o
n
T
 w  (x  xb)
o
)

(di
yi  H i ( M i (x ))
Linearized cost function (k=outer loop):
T
J ( w k )  ( w k ) B1  w k
 i 0 (Gi Li  w k  (di )k 1) R 1 (Gi Li  w k  (di )k 1)
n
T
Incremental formulation (I)
Cost function:
J ( w k )  ( w k ) B1  w k
T
n
 i 0 (Gi Li  w k *  (di )k 1) R 1 (Gi Li  w k *  (di )k 1)
T
 w k is the « simplified » (low resolution) increment at outer loop k
and
w   w k )  (w  
(di )k 1  yio  H i ( M i (xk 1))
 wk
*(
b
k
b
k
b
wk 1) with w k
Trajectory (analysis) updates:
I
a
b
I
b


(



)

(
wk S k wk )
xk xk 1 S k wk wk
 S k (xb)
Incremental formulation (II)
To pre-condition the problem, an additional change of variable is
performed:
χ k  B1/ 2  wk
CHAVAR
New cost function:
J (χ k )  χ k B1 χ k
T
 i 0 (Gi Li B χ k  (di )k 1) R1 (Gi Li B1/ 2 χ k  (di )k 1)
n
1/ 2
CHAVARIN
T
Incremental 4D-Var algorithm
(ECMWF documentation)
3D-VAR – LAM - (I)
Cost function => no model integration => M i (x)
 Id / and / Li  Id
J ( w k )  ( w k ) B1  w k
T
0
 i 0 (Gi  w k *  (di )k 1) R 1 (Gi  w k *  (di )k 1)
T
There is no time window (1 timeslot) and only one outer loop
and
k 1
 wk*   wk
(di )k 1  yio  H i (xk 1)
Analysis updates => no « simplification » operator ! =>
the increment is computed on the same grid than the background:
xk  xk 1   w k
3D-VAR – LAM - (II)
To pre-condition the problem, an additional change of variables is
Performed (4D-VAR == 3D-VAR):
χ k  B1/ 2  wk
CHAVAR
New cost function:
J (χ k )  χ k B1 χ k
T
 i 0 (Gi B χ k  (di )k 1) R1 (Gi B1/ 2 χ k  (di )k 1)
0
1/ 2
CHAVARIN
T
Computation of Jo in 4D-VAR
1
*  (d ) )
*

(

J i 0 (Gi Li  w k  (di )k 1) R Gi Li w k
i k 1
o
T
n
where
(di )k 1  yio  H i ( M i (xk 1))are the « high resolution » departures.
These high resolution departures are computed during high the
resolution integrations and stored in the ODB files.
In practice, one computes:
o
o
(zi )k 1  (yi  Gi Li  w k *)  yi  (yio  H i ( M i (xk 1))
Low Resol. depart.
- Obs. +
High Resol. depart.
Computation of Jo in LAM 3DVAR
*  (d ) )
*

(

J  (G  w  (d ) ) R G w
o
T
0
i 0
i
k
i k 1
1
i
k
i k 1
With k=1 and i=0 only and:
(di )k 1  yio  H i (xk 1)
are the « high resolution » departures.
The departures are computed only once, during high the screening step
and stored in the ODB files.
In the code, one computes like for incremental 4D-VAR:
o
o
(zi )k 1  (yi  Gi  w k *)  yi  (yio  H i (xk 1))
« Low Resol. » depart.- Obs. + « High Resol. » depart.
Chain of operations in a VAR
minimisation loop (SIM4D)
compute trajectory (take Xb in 3D-VAR)
read k : i, (di )k 1 (stored in ODB)
(*) compute Jb and its gradient
compute TL of Jo: G i  w k *
And store (Gi  wk *  (di )k 1) in the ODB
compute AD of Jo:
1
*  (d ) )  Y
(
(
)

i0 Gi R *GT i wk
i k 1
compute J: ( w k ) .Y  Z
0
T
call minimizer; go to (*) until convergence
Major messages to keep in
mind:
3D-VAR is a reduced (« simpler »)
version of 4D-VAR
Aladin 3D-VAR is a code installed inside
the global IFS/Arpège code (as we will
see in the last slides)
Back to application … with
pictures !
SURFACE OBSERVATIONS FOR
ALADIN-France
Assimilation of Reflectivity :
Observation operator
implemented
in the 3DVar ALADIN/AROME
model level
Ze
N
dq
dj
dr
r
j
q
z
h
• Simulated
Reflectivity of
factor
in « beamhydrometeors
volum bv»
Bi-linear interpolation
the simulated
(T,q, qr, qs, qg)
• Compute « radar reflectivity » on each model level

Z e  10 log (  (r ). f 4 (q , j ).dr.dq .dj )
 (r )    j ( D, r ).Nj( D, r )dD
j  rain, snow... 0
bv
Resolution volum, ray path : standard
refraction
(4/3
Earth’radius)
Backscattering
crossray
section:
Resolution
volume,
path: standard
refraction
(4/3 Earth’s neglected)
radius)
Rayleigh
(attenuation
Diameter of particules
Antenna’s radiation pattern: gaussian
function for main lobe
Microphysic Scheme in
(side lobes neglected)
AROME
Courbure derrière le front froid: cassure trop nette dans
Apparition de bande étroite de front froid: moins intense et
ALADIN (à l’arrière, développement de la convection
légèrement plus sud dans ALADIN.
dans la traîne ou pseudo-limite dans ALADIN)
The VAR assimilation in Ald/Aro:
scripting sequence
Observations are taken +/- 3 h around base
time in Aladin; +/- 1.5 h in Arome
Analysis time = background time and no
« high » / « low » resolution
Full analysis sequence (altitude fields):




Full ODB database enters Screening => computes departures
and performs QC and first-guess check
ODB base is compressed (~ keep only active data in the output
ODB)
Variational analysis: minimization of cost function
Write out analysis file
Technical aspects about the
LAM VAR code inside the IFS
The observation operators in the
variational cost function
We have seen that the Jo part of the cost function can be finally written :
Jo(x) = 
 (yik – Hik [xb])TRik-1(yi – Hik [xb])
Where Hik is the observation operator for obs n° k of type n° i.
The operator Hik is subdivided into a sequence of operators, each one of which
performs part of the transformation from control variable to observed parameters :
• Conversion from control variable to model variables
• Inverse spectral transforms put the model variables on the gridpoint space
• A horizontal interpolation provides vertical profiles of model variables at
observation locations
• Vertical integration if necessary (hydrostatic equation for geopotential, radiative
transfer equation for radiances…)
• Vertical interpolation to the level of the observations
The observation operators in the
variational cost function
Horizontal interpolations :
• A 12-point bi-cubic or 4-point bi-linear horizontal interpolation gives vertical
profiles of model variables at observation locations. The surface fields are
interpolated bilinearly to avoid spurious maxima and minima
Vertical interpolations : it depends on the variable
• Linear in pressure for temperature and specific humidity
• Linear in logarithm of pressure for wind
• Linear in logarithm of pressure for geopotential (performed in terms of
departures from the ICAO standard atmosphere). New operator until a few
years, specific to Météo-France, better consistent with hydrostatism.
• Vertical interpolations for surface observations (T2m, V10m, Hu2m) are
done consistently with the physics of the model
The observations in the
variational cost function
Adjoints of the observation operators
The solution of the minimisation problem is given by J(xa)=0
At each step of the descent algorithm, J has to be computed :
J(x) =2B-1(x-xb) – 2HTR-1(y – H[xb])
Where HT is the the adjoint (transpose) of the the observation operator (or the
tangent linear of the observation operator when it is non-linear).
It means that the adjoints of the obs operators have to be computed, which is easy for
the interpolations, but more difficult for the vertical integrations, in particular for the
radiative transfer equation or other operators containing non differentiable processes.
DIRECT AND ADJOINT OBSERVATION
OPERATORS
X
(model var.)
X
………….
…
Chain of direct operators .
.
H1
H1*
H2
H2*
Hn
…………. Hn*
Chain of adjoint operators
ymod
Jo
y
Jo
ymod
Chain of operations in a VAR
minimisation loop (SIM4D)
compute trajectory (take Xb in 3D-VAR)
read k : i, (di )k 1 (stored in ODB)
(*) compute Jb and its gradient
compute TL of Jo: G i  w k *
And store (Gi  wk *  (di )k 1) in the ODB
compute AD of Jo:
1
*  (d ) )  Y
(
(
)

i0 Gi R *GT i wk
i k 1
compute J: ( w k ) .Y  Z
0
T
call minimizer; go to (*) until convergence
Global // LAM code interfacing for
VAR
Simulator and model:
obshortl
obsvtl
ecoupl1
Jb=; Jb=2
cpgtl
H.dx einv_trans
edir_trans
espcmtl
Minimisation
dx=B1/2.
H.dx
Var inner
loop J=Jb+Jo; J
(SIM4D)
GradJo=H*.R-1.
(y-H(x)-H.dx)
Jo=B1/2.
GradJo
Global // LAM code interfacing for
VAR
Architecture:
obshortl
Slightly different code: LELAM key
coupling
Completely different code
Fully shared dataflow between IFS and Aladin (especially in
gridpoint space), but quite separate dimensioning and addressing
in spectral buffers (spherical versus bi-Fourier).
Coupling code is of course only LAM.
Global // LAM code interfacing for
VAR
Change of variable:
chavarin
cvar2in
sqrtbin
cvaru3i
jgcori
cv2spa
ejgvcori
ejghcori
jgnrsi
cvargptl
ebalstat
ebalvert
spa1=ylvazx%lamcv*tmeanuver
addbgs
etransinv_jb
etransdir_jb
Phasing of LAM 3D-VAR
ODB & bator need to work (almost same as Arpège,
plus LAMFLAG)
At every new cycle with IFS, a careful inspection of
B-matrix setup and change of variable routines,
SPECTRAL_FIELDS and CONTROL_VECTOR
structures, specific observation-related code is
needed (~ 1 week of work).
Additionally, TL and AD LAM code may need to be
checked.
LAM 3D-VAR does not use multi-incremental I/O
prepared for IFS-Arpège: no WRMLPPADM/RDFPINC,
no SAVMINI/GETMINI, NUPTRA>1, « traj »
recomputation of innovations
Thank you for your attention
Download