variational data assimilation: examination of results obtained by different combinations of...
TRANSCRIPT
Variational data assimilation: examination of results obtained by different combinations of
numerical algorithms and splitting procedures
Zahari Zlatev and Jørgen BrandtZahari Zlatev and Jørgen Brandt
National Environmental Research InstituteNational Environmental Research Institute
Frederiksborgvej 399, P. O. Box 358Frederiksborgvej 399, P. O. Box 358
DK-4000 Roskilde, DenmarkDK-4000 Roskilde, Denmark
[email protected], [email protected]@dmu.dk, [email protected]
CONTENTS
Some Some basicbasic ideas ideas Optimization issues: calculation of the Optimization issues: calculation of the gradientgradient of the of the
object functionobject function AlgorithmicAlgorithmic representation of the variational data representation of the variational data
assimilationassimilation Tools:Tools: optimization methods, numerical algorithms and optimization methods, numerical algorithms and
splitting proceduressplitting procedures Performance of the Performance of the combinationcombination of the tools of the tools Some conclusionsSome conclusions
BASIC IDEAS - 1
An attempt to adjust globally the results of the model
to the complete set of available observations
(Talagrand and Courtier, 1987)
Consistency between the dynamics of the model and
the final results of the assimilation.(Talagrand and Courtier, 1987)
BASIC IDEAS - 2
Assumption:Assumption: the variational data the variational data assimilation is used to improve the initial assimilation is used to improve the initial values of the resolved problem values of the resolved problem
N
n
obs
nn
obs
nnncccctWcJ
00
,2
1
Variational data assimilation can be used for Variational data assimilation can be used for
several other purposes (as, for example, to several other purposes (as, for example, to
improve the quality of the emission fields).improve the quality of the emission fields).
Calculation of the gradient
Assume that Assume that fivefive fields (i.e. N=5) of observations are fields (i.e. N=5) of observations are
availableavailable
43210
ccccc
Calculation of the gradient
obsccq
ccccc
111
43210
Calculation of the gradient
obs
occqq
ccccc
111
1
43210
Calculation of the gradient
obs
obs
o
ccqq
ccqq
ccccc
222
2
0
111
1
43210
|
|
Calculation of the gradient
obs
obs
obs
o
ccqq
ccqq
ccqq
ccccc
333
3
0
222
2
0
111
1
43210
|
|
||
||
Calculation of the gradient
Finishing the forward-backward calculationsFinishing the forward-backward calculations
obs
obs
obs
obs
o
ccqq
ccqq
ccqq
ccqq
ccccc
444
4
0
333
3
0
222
2
0
111
1
43210
|
|
||
||
|||
|||
Calculation of the gradient
obs
obs
obs
obs
o
ccqq
ccqq
ccqq
ccqq
ccccc
444
4
0
333
3
0
222
2
0
111
1
43210
|
|
||
||
|||
|||
N
n
nqJGRADIENT0
0)(
Adjoint equations
cxt,At
c
qx,tA
t
q T
obsccq
)c,x,t(Bt
c
c)c,x,t('Bt
)c(
q)c,x,t('Bt
q T
1. Linear operators1. Linear operators
2. Non-linear operators2. Non-linear operators
Algorithmic representationINITIALIZE SCALAR VARIABLES, VECTORS AND ARRAYS; SET THE GRADIENT TO ZERO
DO ITERATIONS = 1, MAX_ITERATIONS
DO LARGE_STEPS = 1, P_STEP
DO FORWARD_STEPS = (LARGE_STEPS – 1)*P_LENGTH + 1, LARGE_STEPS*P_LENGTH
Perform a forward step with the model END DO FORWARD_STEPS
DO BACKWARD_STEPS = LARGE_STEPS*P_LENGTH, 1, -1 Perform a backward step with the adjoint equation END DO BACKWARD_STEPS
UPDATE THE GRADIENT; COMPUTE THE VALUE OF THE OBJECT FUNCTION
END DO LARGE_STEPS
COMPUTE AN APPROXIMATION OF PARAMETER RHO UPDATE THE INITIAL VALUE FIELD (NEW FIELD = OLD FIELD - RHO*GRADIENT) CHECK THE STOPPING CRITERIA; IF SATISFIED EXIT FROM LOOP DO ITERATIONS
END DO ITERATIONS
PERFORM OUTPUT OPERATIONS AND STOP THE COMPUTATIONS
Applying splitting procedures
ModelModel
)c,x,t(Bt
c
Model splittingModel splitting
)c,x,t(Bt
c11
1
)c,x,t(Bt
c22
2
Adjoint equationAdjoint equation
qc,x,t'Bt
q T
Adjoint splittingAdjoint splitting
1
T
1'1
1 qc,x,tBt
q
2T
2'2
2 qc,x,tBt
q
Computational tools
A data assimilation code can be considered as a A data assimilation code can be considered as a combination combination of of threethree
kinds of computational tools:kinds of computational tools: optimization methods,optimization methods, numerical algorithms andnumerical algorithms and splitting procedures.splitting procedures.
It is important to understand that the choice of one of the tools is It is important to understand that the choice of one of the tools is notnot
independent of the choice of the others and the choice independent of the choice of the others and the choice dependsdepends also on also on
what is wanted in the particular study.what is wanted in the particular study.
Finding the Finding the optimaloptimal (or even only a good) combination of computational (or even only a good) combination of computational
tools is a great challenge.tools is a great challenge.
Splitting versus numerical errors
Splitting Eulerb Mid-point RK6
No splitting 1 2 6
Sequential 1 1 1
Symmetric 1 2 2
Weigted sequential 1 2+ 2
Weighted symmetric 1 2 2
Order of the numerical method: pOrder of the numerical method: p
Order of the splitting procedure: qOrder of the splitting procedure: q
Order of the combined methodsOrder of the combined methods: : r = min(p,q)r = min(p,q)
Synchronizing the choice of splitting procedures Synchronizing the choice of splitting procedures
and numerical methodsand numerical methods
Atmospheric chemical schemeAtmospheric chemical scheme
A chemical scheme containing 56 species has been used A chemical scheme containing 56 species has been used in the experimentin the experiment
Species SO2, SO4, O3, NO, NO3, HNO3 PAN, NH3, Species SO2, SO4, O3, NO, NO3, HNO3 PAN, NH3, NH4, OH and many hydrocarbonsNH4, OH and many hydrocarbons
Mathematical description: Mathematical description: dc/dt = f(t,c)dc/dt = f(t,c) Properties:Properties:
stiffstiff badly scaledbadly scaled the solution varies in very wide rangethe solution varies in very wide range
Treatment of the chemical scheme
Six numerical methodsSix numerical methods Backward EulerBackward Euler Implicit Mid-point RuleImplicit Mid-point Rule Two-stage Runge-Kutta Two-stage Runge-Kutta Three-stage Runge-KuttaThree-stage Runge-Kutta Two-stage RosenbrockTwo-stage Rosenbrock Trapezoidal RuleTrapezoidal Rule
Five splittingsFive splittings No splittingNo splitting Sequential splittingSequential splitting Symmetric SplittingSymmetric Splitting Weighted sequential splittingWeighted sequential splitting Weighted symmetric splittingWeighted symmetric splitting
Some conclusions from the runs
The Backward Euler method is very robust for such problems, but The Backward Euler method is very robust for such problems, but might be expensive because its order of accuracy is only one.might be expensive because its order of accuracy is only one.
The Implicit Mid-point Rule, the Trapezoidal Rule and the Three-stage The Implicit Mid-point Rule, the Trapezoidal Rule and the Three-stage Runge-Kutta method have difficulties.Runge-Kutta method have difficulties.
The Two-stage Runge-Kutta Method and the Two-stage Rosenbrock The Two-stage Runge-Kutta Method and the Two-stage Rosenbrock Method are robust, but perform as first-order methods in spite of the Method are robust, but perform as first-order methods in spite of the fact that their actual order is two.fact that their actual order is two.
Major conclusion: It is not sufficient to have numerical methods of Major conclusion: It is not sufficient to have numerical methods of high order, it is also necessary to select methods with good high order, it is also necessary to select methods with good stability properties (L-stability is actually needed).stability properties (L-stability is actually needed).
Need for good stability properties
Euler Mid-pointEuler Mid-point
Time-steps Error Rate Error RateTime-steps Error Rate Error Rate
144 9.0E-2 - 1.6E-2 -144 9.0E-2 - 1.6E-2 -
288 4.5E-2 2.0 6.1E-3 2.6288 4.5E-2 2.0 6.1E-3 2.6
576 2.3E-2 2.0 2.0E-3 3.0576 2.3E-2 2.0 2.0E-3 3.0
1152 1.1E-2 2.0 6.2E-4 3.31152 1.1E-2 2.0 6.2E-4 3.3
2304 5.6E-3 2.0 1.7E-4 3.62304 5.6E-3 2.0 1.7E-4 3.6
4608 2.8E-3 2.0 4.4E-5 3.84608 2.8E-3 2.0 4.4E-5 3.8 Assimilation window: 6:00 - 12:00, observations at the end of every hourAssimilation window: 6:00 - 12:00, observations at the end of every hour Random perturbations of 25% are introduced in the ozone concentrations.Random perturbations of 25% are introduced in the ozone concentrations. Data assimilation was applied using “exact” solutions as observations.Data assimilation was applied using “exact” solutions as observations. After the data assimilation procedure a forward run with the improved solution After the data assimilation procedure a forward run with the improved solution
was performed on the interval was performed on the interval from 6:00 to 12:00from 6:00 to 12:00
0.1,cmax
ccmaxERROR
refin
refinin
N,...,1n;q,...,1i
Need for good stability properties-cont.
Euler Mid-pointEuler Mid-point
Time-steps Error Rate Error RateTime-steps Error Rate Error Rate
1008 2.3E-1 - 3.2E-1 -1008 2.3E-1 - 3.2E-1 -
2016 1.1E-1 2.0 4.5E-2 6.52016 1.1E-1 2.0 4.5E-2 6.5
4032 5.5E-2 2.0 8.8E-3 5.74032 5.5E-2 2.0 8.8E-3 5.7
8064 2.7E-2 2.0 8064 2.7E-2 2.0 1.9E-2 0.51.9E-2 0.5
16128 1.4E-2 2.0 16128 1.4E-2 2.0 2.2E-2 0.92.2E-2 0.9
32256 6.8E-3 2.0 32256 6.8E-3 2.0 2.0E-2 1.42.0E-2 1.4 Assimilation window: 6:00 - 12:00, observations at the end of every hourAssimilation window: 6:00 - 12:00, observations at the end of every hour Random perturbations of 25% are introduced in the ozone concentrations.Random perturbations of 25% are introduced in the ozone concentrations. Data assimilation was applied using “exact” solutions as observations.Data assimilation was applied using “exact” solutions as observations. After the data assimilation procedure a forward run with the improved solution After the data assimilation procedure a forward run with the improved solution
was performed on the interval was performed on the interval from 6:00 to 48:00from 6:00 to 48:00
0.1,cmax
ccmaxERROR
refin
refinin
N,...,1n;q,...,1i
General conclusions When will the variational data assimilation not work?When will the variational data assimilation not work?
the discretization of the model is crudethe discretization of the model is crude the number of observations is very small (???)the number of observations is very small (???)
When will the variational data assimilation work well?When will the variational data assimilation work well? there are sufficiently many observationsthere are sufficiently many observations interpolation rules (or other similar devices) are usedinterpolation rules (or other similar devices) are used the number of time-points at which observations are available the number of time-points at which observations are available
is perhaps not very importantis perhaps not very important
How to continue this research?How to continue this research? two-dimensional and three dimensional problemstwo-dimensional and three dimensional problems more about the effect of splitting on data assimilationmore about the effect of splitting on data assimilation order of accuracy of the data assimilation routinesorder of accuracy of the data assimilation routines interplay between ensembles and data assimilationinterplay between ensembles and data assimilation