The independent set perturbation method for efficient ...

36
Accepted Manuscript The independent set perturbation method for efficient computation of sensitiv‐ ities with applications to data assimilation and a finite element shallow water model F. Fang, C.C. Pain, I.M. Navon, D.G. Cacuci, X. Chen PII: S0045-7930(13)00049-2 DOI: http://dx.doi.org/10.1016/j.compfluid.2013.01.025 Reference: CAF 2091 To appear in: Computers & Fluids Received Date: 24 December 2011 Revised Date: 30 December 2012 Accepted Date: 20 January 2013 Please cite this article as: Fang, F., Pain, C.C., Navon, I.M., Cacuci, D.G., Chen, X., The independent set perturbation method for efficient computation of sensitivities with applications to data assimilation and a finite element shallow water model, Computers & Fluids (2013), doi: http://dx.doi.org/10.1016/j.compfluid.2013.01.025 This is a PDF file of an unedited manuscript that has been accepted for publication. As a service to our customers we are providing this early version of the manuscript. The manuscript will undergo copyediting, typesetting, and review of the resulting proof before it is published in its final form. Please note that during the production process errors may be discovered which could affect the content, and all legal disclaimers that apply to the journal pertain.

Transcript of The independent set perturbation method for efficient ...

Page 1: The independent set perturbation method for efficient ...

Accepted Manuscript

The independent set perturbation method for efficient computation of sensitiv‐

ities with applications to data assimilation and a finite element shallow water

model

F. Fang, C.C. Pain, I.M. Navon, D.G. Cacuci, X. Chen

PII: S0045-7930(13)00049-2

DOI: http://dx.doi.org/10.1016/j.compfluid.2013.01.025

Reference: CAF 2091

To appear in: Computers & Fluids

Received Date: 24 December 2011

Revised Date: 30 December 2012

Accepted Date: 20 January 2013

Please cite this article as: Fang, F., Pain, C.C., Navon, I.M., Cacuci, D.G., Chen, X., The independent set perturbation

method for efficient computation of sensitivities with applications to data assimilation and a finite element shallow

water model, Computers & Fluids (2013), doi: http://dx.doi.org/10.1016/j.compfluid.2013.01.025

This is a PDF file of an unedited manuscript that has been accepted for publication. As a service to our customers

we are providing this early version of the manuscript. The manuscript will undergo copyediting, typesetting, and

review of the resulting proof before it is published in its final form. Please note that during the production process

errors may be discovered which could affect the content, and all legal disclaimers that apply to the journal pertain.

Page 2: The independent set perturbation method for efficient ...

The independent set perturbation method for efficientcomputation of sensitivities with applications to dataassimilation and a finite element shallow water model

F.Fanga, C.C.Paina, I.M. Navonb,∗, D.G. Cacucic, X. Chenb

aApplied Modelling and Computation Group,Department of Earth Science and Engineering,

Imperial College London,Prince Consort Road, London, SW7 2BP, UK.URL: http://amcg.ese.imperial.ac.uk

bDepartment of Scientific Computing,Florida State University,

Tallahassee, FL, 32306-4120, USAcDepartment of Nuclear Engineering

North Carolina State University, Raleigh, NC 27695-7909, USA

Abstract

An adjoint model for a 2D Galerkin/Petrov-Galerkin finite element (FE) shallow water(S-W) model is developed using the Independent Set Perturbation (ISP, [40]) sensitiv-ity analysis. Its performance in a full 4-D Var setup with a limited area shallow waterequations model is assessed by comparing with the adjoint model derived by the au-tomatic differentiation approach (TAMC), where it is used for optimising the initialconditions. It is shown that the ISP sensitivity analysis provides a very simple ap-proach of forming the adjoint code/gradients/differentiation of discrete forward models(even complex governing equations, discretization methods and non-linear parameteri-zations) and is realised using a graph colouring approach combined with a perturbationmethod. Importantly, the adjoint is automatically updated as the forward code contin-ues to be developed. In the test cases, it is shown that the adjoint model using the ISPsensitivity analysis can achieve the accuracy of traditional adjoint models derived bythe automatic differentiation method (TAMC). Further comparison shows that the CPUtime required for running the adjoint model using the ISP sensitivity analysis is muchless than that required for the automatic differentiation derived adjoint model since theISP derived adjoint CPU time scales linearly with the problem size.

The ISP sensitivity analysis is further applied to a highly non-linear Petrov-GalerkinFE model. The perturbation size used in deriving the tangent linear model with the ISPsensitivity analysis method is then optimised and the resulting approach used to assim-ilate both sparse (more realistic) and dense observational data for optimising the initialconditions. A simple first order formula is developed to calculate the perturbation sizefor each variable, at each node and time level. By applying the ISP sensitivity method

∗Corresponding authorEmail address: [email protected] (I.M. Navon)

Preprint submitted to Elsevier February 9, 2013

Page 3: The independent set perturbation method for efficient ...

to an intermediate complexity model (a shallow water model) this paper outlines stepstowards applying the approach to data assimilation (DA) problems involving realisticcomplex models.

Keywords: Variational methods, Shallow water, Optimization

1. Introduction

The Independent Set Perturbation (ISP, [40]) sensitivity analysis is a method of differ-entiating finite element or control volume models. The method is derived using a graphcolouring approach (forming independent sets of variables) combined with a perturba-tion method to obtain gradients in numerical discretization. Using the ISP sensitivityanalysis method the adjoint code becomes simple to derive even with complex govern-ing equations, discretization methods and non-linear parameterizations. Importantly,this greatly reduces the effort required to implement the tangent linear model (differen-tiation of the discrete forward model) and its adjoint, and maintains the adjoint code asthe forward model code continues to evolve, a desirable trait in operational implemen-tations.Cacuci (1980, [1]) was the first to originally develop variational/perturbation meth-ods using adjoint functions, based on Frechet-derivatives, for performing systematicand efficient sensitivity analysis of large-scale continuous and/or discrete linear and/ornon-linear systems, possibly with bifurcations, critical points and global optimisation.Shortly thereafter, this method was further generalized using Gateaux differential oper-ators ([9]) for a non-linear operator of the system response along an arbitrary direction.Adjoint sensitivity analysis methods are widely applied to chemical kinetics [2], op-timisation [3, 8, 15], ocean and atmospheric sciences [4, 5, 6, 7, 44, 45, 46, 47, 48]and nuclear science ([10]). Furthermore, Bischof et al. developed the pseudo-adjointmethod for efficient computation of Jacobian matrices using colouring approaches[26, 29].In Fang et al. [40] the ISP sensitivity analysis approach was tested only for sensitivitypurposes while in the present paper the method is applied to a full 4-D Var (optimisationof initial conditions) with a finite element discretization of a shallow water equationsmodel over a limited area domain and its adjoint. This work focuses on comparing theperformance of the ISP derived adjoint with Automatic Differentiation (AD) methodsas well as optimising the size of perturbations used within the ISP sensitivity analysis.While the usual AD tool has seen great advances, it remains a challenging task to de-rive large scale adjoint models [11]. Automatic differentiation tools such as ADOL-C[14], GRESS [42], Odyssee [18], and TAMC [19, 20], ADIFOR [26, 27], TAPENADE[17] and TAF [16], implement the reverse mode of automatic differentiation in an auto-mated fashion. In addition, for non-linear problems, the implementation of the reversemode requires one to store or recompute all forward solution variables. This can incura prohibitively large CPU or memory cost especially for three dimensional problems.A checkpointing scheme proposed by Griewank [12, 13, 28] provides a way of over-coming these shortcomings. This approach is being adopted in reverse mode tools butthe fact that potentially many values need to be stored and/or recomputed implies that

2

Page 4: The independent set perturbation method for efficient ...

the reverse mode requires considerable storage requirements to achieve the desired lowfloating point complexity. This apart from the fact that the adjoint code provided by ADtools still requires expert tuning by the user prior to being ready for implementation.More recently, reduced order approaches have been introduced into 4-D variational dataassimilation systems [21, 22, 23, 24, 25]. An approximate linear reduced model can beobtained by projecting the forward model onto a reduced subspace. Compared to theclassical variational method, the adjoint of the tangent linear model is replaced by theadjoint of a linear reduced forward model [22]. The minimisation process of the relatedcost function is carried out in reduced subspace and hence reduces the computationalcost albeit subject to limitations.The ISP adjoint method [40] bears some similarity to the pseudo-adjoint method ofBischof et al [26] in that it efficiently implements exploitation of the Jacobian spar-sity associated with the non-linear operator (advancing the system state using graphcolouring strategies) in typical stencil-based computations. It also has some similarityto conceptual ideas of Faidon Christakopoulos et al [30]. However it differs in essentialalgorithmic parts from above approaches as outlined below:

• It is suitable for any forward discrete schemes while pseudo-adjoint methodsonly tackle explicit schemes e.g. leap frog time differencing scheme.

• Implementation of adjoint codes using the ISP sensitivity analysis method in-volves only the matrix vector multiplication of the forward model.

• Complex models can be easily differentiated as long as the model can performmatrix vector multiplications involving the forward model.

The accuracy of the ISP sensitivity analysis can be critically dependent on the pertur-bation size of a number of variables and controls for deriving the tangent linear model[40]. Two approaches are developed for the choice of the perturbation size. Theseresult in a different perturbation size for each finite element solution variable at eachtime level.The remainder of this paper is structured as follows: The finite element shallow watermodel and its discretisations (including both Galerkin and Petrov/Galerkin formula-tions) are described in sections 2 and 3. The derivation of the discrete adjoint modelusing ISP sensitivity approach and the implementation of the adjoint finite elementshallow water model are discussed in sections 4 and 5. The formulae for determiningthe non-uniform perturbation size used in deriving the tangent linear model is describedin section 6. In section 7, the above adjoint model is applied for optimising the initialconditions (by data assimilation of observations distributed in space and time) of theshallow water equations model. A comparison of accuracy of the adjoint models de-rived by the ISP sensitivity analysis and automatic differentiation approach (TAMC) iscarried out. Discussion, future perspectives and conclusions are provided in sections 8and 9.

2. Shallow Water (S-W) Equations

The shallow-water equations model is one of the simplest forms of the equations ofmotion for incompressible fluid for which the depth is relatively small compared to the

3

Page 5: The independent set perturbation method for efficient ...

horizontal dimensions. These equations can be used to help determine the horizontalstructure of the atmosphere or oceans. They describe the evolution of an incompress-ible fluid in response to gravitational and rotational accelerations (See Tan 1992 [34],Vreugdenhil 1994 [35] and Galewsky 2004 [36]). The shallow-water equations in a 2Ddomain Ω = (0, L) × (0,D) can be written as:

∂φ

∂t+∂(φu)∂x+∂(φv)∂y= 0, (1)

∂u∂t+ u

∂u∂x+ v

∂u∂y+∂φ

∂x+ f v = 0, (2)

∂v∂t+ u

∂v∂x+ v

∂v∂y+∂φ

∂y− f u = 0, (3)

where u and v are the velocity components in the x and y axis respectively, φ = gh isthe geopotential height, h is the depth of the fluid and g is the acceleration of gravity.The scalar function f is the Coriolis parameter defined by the β-plane (β = 1.5×10−11)approximation:

f = f + β(y − D

2

). (4)

The Coriolis parameterf = 2ω sin θ, (5)

is defined at a mean latitude θ0, here f = 10−4, where ω is the angular velocity of theearth’s rotation and θ is latitude. The shallow-water equations require specification ofappropriate initial and boundary conditions. An initial condition is imposed as:

w(x, y, 0) = ϕ(x, y), (6)

where state variables are w = w(x, y, t) = (u(x, y, t), v(x, y, t), φ(x, y, t)) with periodicboundary conditions are assumed in the x-direction:

w(0, y, t) = w(L, y, t), (7)

while solid wall boundary condition in the y-direction is:

v(x, 0, t) = v(x,D, t) = 0. (8)

The geopotential in ϕ(x, y) will be specified later in the numerical experiments.

3. Discrete System of Shallow Water Equations

The discretisations of the finite element shallow water model are described in this sec-tion. Both Galerkin and Petrov/Galerkin finite-element methods (FEM) are employed.The evolutionary equations of continuity and momentum are coupled at each time stepusing an extrapolated Crank-Nicolson method to quasi-linearize the nonlinear advec-tive terms.

4

Page 6: The independent set perturbation method for efficient ...

3.1. The finite-element model formulation at one time level

In the formulation of the Finite-Element model (FEM) variables in (1) - (3) can bewritten as [41, 32]:

u =N∑

k=1

uk(t)Vk(x, y), v =N∑

k=1

vk(t)Vk(x, y), φ =N∑

k=1

φk(t)Vk(x, y), (9)

where uk(t), vk(t) and φk(t) are the time-dependent nodal values of wind fields andgeopotential fields respectively, and Vk represents a basis function (interpolation func-tion) defined by the coordinates of the nodes, N is the number of finite element nodes.The variable vectors at time level n are written:

Φn = (φn1, φ

n2, · · · , φn

N ), un = (un1, u

n2, · · · , un

N ), vn = (vn1, v

n2, · · · , vn

N ). (10)

A Crank-Nicholson time differencing scheme was applied for temporal integration ofthe ordinary differential equations resulting from application of the Galerkin FEM [32,33]. The shallow-water equations system was then coupled at every time step so thatthe equations become quasi-linearized [37, 38], since an average is taken at time leveln−1 and time level n of expressions, while the non-linear advective terms are linearizedby estimating them at time level n+ 1

2 using the following second-order approximationin time:

w? = 32 wn − 1

2 wn−1 + O(∆t2) , (11)

where the state variables w = w(x, y, t) = (u, v, φ). Multiplying (1) by Vi and integratingit over the computational domain, the discrete form of the continuity equation which isfirst to be solved at a given time step n + 1, is obtained

M(Φn+1 −Φn

)− 4t

2Kn

1

(Φn+1 +Φn

)= 0, (12)

where M is the mass matrix at the computational domain Ω,

Mi,j =

∫∫Ω

ViV jdΩ, Mx i,j =

∫∫Ω

Vi∂V j

∂xdΩ, My i,j =

∫∫Ω

Vi∂V j

∂ydΩ, (13)

and

Kn1 i, j =

∫∫Ω

u? nVi∂V j

∂xdΩ +

∫∫Ω

Viv? n ∂V j

∂ydΩ. (14)

By applying Petrov-Galerkin FEM approach into the momentum equations (2) and (3),one obtains:

M(un+1 − un

)+4t2

Kn2

(un+1 + un

)+ 4tMxφ

n+1 − 4t f Mv∗ n = 0, (15)

M(vn+1 − vn

)+4t2

Kn3

(vn+1 + vn

)+ 4tMyφ

n+1 + 4t f Mun+1 = 0, (16)

5

Page 7: The independent set perturbation method for efficient ...

where

Kn2 i, j =

∫∫Ω

u∗ nVi∂V j

∂xdΩ+

∫∫Ω

v∗ nVi∂V j

∂ydΩ+

∫∫Ω

νe f fu (

∂Vi

∂x∂V j

∂x+∂Vi

∂y∂V j

∂y)dΩ, (17)

Kn3 i, j =

∫∫Ω

un+1Vi∂V j

∂xdΩ+

∫∫Ω

v∗ nVi∂V j

∂ydΩ+

∫∫Ω

νe f fv (

∂Vi

∂x∂V j

∂x+∂Vi

∂y∂V j

∂y)dΩ. (18)

In the v-momentum equation, since the most recent solution for both φn+1 and un+1 atthe current time step are known, vn+1 at the next time step can thus be solved from(un+1, vn, φn+1

).

The effective viscosities νe f fu and νe f f

v are an application of Petrov-Galerkin discretisa-tion methods modified so as to result in positive viscosities and are given by (see [50]):

νe f fu = γ

ru puru

max(εe f f , ( ∂u∗ n

∂x )2 + ( ∂u∗ n

∂y )2), ν

e f fv = γ

rv pvrv

max(εe f f , ( ∂v∗ n

∂x )2 + ( ∂v∗ n

∂y )2), (19)

with

ru =un − un−1

∆t+u∗ n ∂u∗ n

∂x+v∗ n ∂u∗ n

∂y− f v∗ n, rv =

vn − vn−1

∆t+un+1 ∂v∗ n

∂x+v∗ n ∂v∗ n

∂y+ f un+1,

(20)and

pu =12

((a∗ n

u x

∆x)2 + (

a∗ nu y

∆y)2)−

12 , pv =

12

((an+ 1

2v x

∆x)2 + (

a∗ nv y

∆y)2)−

12 , (21)

and

(a∗ nu x, a

∗ nu y)T =

((u∗ n, v∗ n)T · ∇xu∗ n)∇xu∗ n

||∇xu∗ n||22, (a∗ n

v x, a∗ nv y)T =

((u∗ n, v∗ n)T · ∇xv∗ n)∇xv∗ n

||∇xv∗ n||22,

(22)in which ∆x, ∆y are the size of the elements in the x- and y-directions and εe f f is atolerance used to avoid a ”division by zero” error, here εe f f = 10−10, with γ = 0 theGalerkin discretisation results while with γ = 1 obtains the Petrov Galerkin, where∇xtu =

(un+1−un

∆t , ∂u∂x ,

∂u∂y

). Time steps are chosen so as to satisfy the Courant-Friedrichs-

Levy criterion for stability.

3.2. Global discrete model of the shallow water equations

The global discrete forward model representation of the governing equations above canbe expressed in matrix form:

A(m,Ψ)Ψ = s, (23)

whereΨT = (Ψ1TΨ2T

. . . ΨNtT ) is the vector of state variables; sT = (s1T s2T

. . . sNtT )

are the source vectors; mT = (m1 m2 ... mC) (C is the number of controls) are the con-trols; and A is the global matrix making up the discretisation in the forward model atall the time levels, where Nt is the number of time levels (for steady state problemsNt = 1). At time level n, ΨnT = (ΦnT ,unT , vnT ) (For Φn, un and vnT , see (10));

6

Page 8: The independent set perturbation method for efficient ...

snT = (snΨ

T snu

T snv

T ) where snΨ

, snu and sn

v are the source vectors associated with Φn,un and vn respectively, here sn

Ψ= (sn

Ψ1 snΨ2 . . . sn

ΨN )T , snu = (sn

u1 snu2 . . . sn

uN )T , andsn

v = (snv1 sn

v2 . . . snvN )T .

For the three-level time marching methods used here the global matrix A has the struc-ture:

A =

P2

H3 P3

I4 H4 P4

. . .. . .

. . .

INt HNt PNt

, (24)

where at time level n

Pn =

M −∆t2 Kn

1 0 0Mx∆t M + ∆t

2 Kn2 0

My∆t f M∆t M + ∆t2 Kn

3

, (25)

Hn =

−M − ∆t2 Kn

1 0 00 −M + ∆t

2 Kn2 −1.5 f M∆t

0 0 −M + ∆t2 Kn

3

, (26)

In =

0 0 00 0 0.5 f M∆t0 0 0

, (27)

s2 = H2Ψ1, s3 = I3Ψ1, (28)

and

H2 =

−M − ∆t2 K1

1 0 00 −M + ∆t

2 K12 − f M∆t

0 0 −M + ∆t2 K1

3

. (29)

4. The global discrete adjoint model of the shallow water equations

This section describes in detail how to derive the discrete adjoint model. In general theglobal matrix A (see equation (23)) is a function of the controls m and state variablesΨ that is A = A(m,Ψ). The cost functional can be expressed as:

J = J(m,Ψ). (30)

The “total sensitivity” dJ(m,Ψ)dml

of J(m,Ψ) with respect to a parameter (“control vari-able”) ml is obtained by computing its respective Gateaux-differential, which is givenby the following expression:

dJ(m,Ψ)dml

=∂J∂ml+

(∂J∂Ψ

)T dΨdml

. (31)

7

Page 9: The independent set perturbation method for efficient ...

4.1. The global discrete tangent linear model of the shallow water equationsThe differentiation of equation (23) with respect to ml is

dAdmlΨ + A

∂Ψ

∂ml=

dsdml

, (32)

whiledAdmlΨ =

∂A∂mlΨ +

3×N×Nt∑k=1

∂A∂ψk

∂ψk

∂mlΨ =

∂A∂mlΨ +G

∂Ψ

∂ml, (33)

where

3×N×Nt∑k=1

∂A∂ψk

∂ψk

∂mlΨ =

[∂A∂ψ1Ψ . . .

∂A∂ψkΨ . . .

∂A∂ψNΨ

] [∂ψ1

∂ml. . .

∂ψk

∂ml. . .

∂ψN∂mN

]T

= G∂Ψ

∂ml,

(34)

G =[∂A∂ψ1Ψ . . .

∂A∂ψkΨ . . .

∂A∂ψNΨ

]= (g1, ..., gk, ..., gN ). (35)

The tangent linear model (TLM) (32) can be re-written:

∂A∂mlΨ + (A +G)

∂Ψ

∂ml=

dsdml

. (36)

4.2. The global discrete adjoint model of the shallow water equationsForming the inner-product of equation (36) with an adjoint state variable vector Ψ∗ inthe Euclidean-space, yields

(Ψ∗)T (A +G)∂Ψ

∂ml= (Ψ∗)T

(∂s∂ml− ∂A∂mlΨ

). (37)

The adjoint model is defined,

(A +G)TΨ∗ =∂J∂Ψ

. (38)

That is,

(AT +GT )Ψ∗ =

P2

H3 P3

. . .. . .

INt HNt PNt

T

+GT

Ψ∗1

Ψ∗2

...Ψ∗Nt

=

∂J∂Ψ1∂J∂Ψ2

...∂J∂ΨNt

, (39)

in which the adjoint solution is Ψ∗n = (Φ∗nT ,u∗nT , v∗nT )T . The structure of the matrixG is expressed in (43).The “total sensitivity” dJ(m,Ψ)

dmlin terms of the adjoint function can be expressed:

dJdml=

∂J∂ml+

(∂s∂ml− ∂A∂mlΨ

)T

Ψ∗. (40)

8

Page 10: The independent set perturbation method for efficient ...

5. The formation of the adjoint model using the independent set graph-colouringmethods

This section provides the details of the formation of the adjoint model. The differentia-tion of discrete forward models here is realised using the ISP sensitivity analysis, i.e., aperturbation method combined with a graph colouring approach. The graph colouringapproach (for details, see [40] and appendix A) is used to construct the matrices in theadjoint model (38) (for example, G) and help accelerate the matrix equation assemblyprocess. The perturbations associated with each variable at each node and time levelare grouped in terms of colours and calculated concurrently.

5.1. The formation of the matrix G for the adjoint shallow water model

Since the matrix A is known in the adjoint model (38), the remaining part of the calcu-lation consists in the formation of the matrix G in (38) and in particular the formationof the part of G associated with a given time level n. The matrix G can be constructedby a perturbation method.Suppose the perturbation vector is ∆Ψk = (0, ..., 0,∆ψk, 0, ..., 0)T for a perturbation ∆ψk

of the kth entry in Ψ then the kth column of G is:

G = (G′ −G)E, (41)

where E is a diagonal matrix with the diagonal entry Ei,i =1∆ψi

, G = (AΨ,AΨ, ...,AΨ)and G′ = (g′1, g

′2, ..., gN

′c) with

g′k = A(m,Ψ + ∆Ψk)Ψ. (42)

In an implementation of the formation of the matrix G one needs to perform matrixvector multiplications involving Nc vectors. Thus, the entire matrix G′ can be storedwithin Nc vectors of length 3N · Nt.For the three-level time marching methods in the shallow water model (see the structureof the global matrix in equation (24)), the matrix G in time has the following structure:

G =

L2

Q2 L3

N2 Q3 L4

. . .. . .

. . .

NNt−2 QNt−1 LNt

, (43)

Nn =

0 Nn12 Nn

130 Nn

22 Nn23

0 0 0

, Qn =

0 Qn12 Qn

130 Qn

22 Qn23

0 0 Qn33

, Ln =

0 0 00 0 00 Ln

32 0

. (44)

where L32 is a N × N matrix and L32 i,k =∫∫Ω

VkVi∑N

j=112 (vn+1

j + vnj )∂V j

∂x dΩ (k =

1, . . . ,N).

9

Page 11: The independent set perturbation method for efficient ...

5.2. The implementation of the adjoint shallow water model

The efficiency of implementation of the discrete adjoint model can be realized becausein time marching methods typically all of the adjoint solution operates in an upper tri-angular structure where each block is associated with a solution variable at a particulartime step. This means that one can solve the adjoint equations by marching backwardsin time. Thus, matrix vector multiplication, GTΨ∗, can be placed on the right handside of the matrix solution for the adjoint in equation (38). In this case the matrix GT

need not be formed and the matrix vector multiplication GTΨ∗ involving G′TΨ∗ canbe rendered highly efficient for the kth row using:

(G′TΨ∗)k = g′TkΨ∗ = Ψ∗T (A(m,Ψ + ∆Ψk)Ψ). (45)

The perturbations associated with each node or variable k say are grouped in terms ofcolours and in this way a number of these matrix vector multiplications in (45) can becalculated concurrently (for details, see [40] and appendix A), i.e. form the dot productof g′c with the part of Ψ∗ associated with node k and form (G′TΨ∗)k for each row kand for colour c in which g′c =

∑k∈ colour c g′k. The graph colouring scheme used for

the three co-located variables ψ, u and v is shown in figure 1. The distance-two graphassociated with the vertices and edges in figure 1 is coloured with 9 colours and thusthere are 9 colours for each of the three variables and with coupling for the three timelevels resulting a total of 9× 3× 3 = 81 colours. This means that a maximum of 81+ 1matrix vector operations are required in order to form the matrix G. The matrix vectoroperations of GTΨ∗ is undertaken at each time level when running the adjoint modelbackwards in time.The discrete adjoint model (39) at each time level, say, t = n can be written as:

(Pn T + Ln T )Ψ∗n =∂J∂Ψn − (Hn+1 T +Qn−1 T )Ψ∗n+1 − (In+2 T + Nn−2 T )Ψ∗n+2. (46)

The matrices Ln, Qn−1 and Nn−2 (a dimensional size of 3N × 3N) in (44) are relatedto the state solutions and their perturbations at time level n, n − 1 and n − 2 respec-tively. The matrix vector operations of GTΨ∗ at this time level is LnΨ∗n, Qn−1Ψ∗n+1

and Nn+2Ψ∗n which can be calculated concurrently using the graph colouring scheme.These matrices consist of a 9 point stencil (the graph colouring scheme used for thethree variables ψ, u and v is shown in figure 1). The terms ds

dmland dA

dmlin (37) can be

formed using the same perturbation approach.

6. Determining the Perturbation Size

Suppose f = f (χ) is a scalar then the error in ∂ f (χ)∂χ

using a perturbation approach canbe estimated as: (

∂ f (χ)∂χ

)E≈ e| f (χ)|∆χ

, (47)

10

Page 12: The independent set perturbation method for efficient ...

1

7

4

1

7

3 2 1 3

9

6

3

9 9 8 7

3 2 1

6

9 8 7

5 4

10 10 12

18

15

12

18

15 13

10

11 12

17

14

11

16 17 18 16

10

13

16 18

12

16

19 19 19

27

24

21

18

24 22

19

20 21

26

23

20

16 17 18 16

19

22

25 27

21

25

u

28 28 31

37

34

31

37

34 32

28

29 31

36

33

29

35 36 37 35

28

32

35 37

31

35

38 38 40

46

43

40

46

43 41

38

39 40

45

42

39

44 45 46 44

38

41

44 46

40

44

47 47 49

55

52

49

55

52 50

47

48 49

54

51

48

53 54 55 53

47

50

53 55

49

53

v

56 56 58

64

61

58

64

61 59

56

57 58

63

60

57

62 63 64 62

56

59

62 64

58

62

65 65 67

73

70

67

73

70 68

65

66 67

72

69

66

71 72 73 71

65

68

71 73

67

71

74 74 76

82

79

76

82

79 77

74

75 76

81

78

75

80 81 82 80

74

77

80 82

76

80

n-2 n-1 n

Figure 1: Distance-two graph colouring associated with 2D linear quadrilateral elements. Nine colours areused for each solution variable (the top horizontal panel: u, the middle horizontal panel: v and bottomhorizontal panel: φ) at three time levels (the left vertical panel: t = n− 2, the middle vertical panel: t = n− 1and the right vertical panel: t = n).

11

Page 13: The independent set perturbation method for efficient ...

in which e is the accuracy of the computation e.g. e = 10−7 for single precision ande = 10−15 for double precision,respectively. Combining the error in the computationwith that associated with the perturbation size one obtains:(

∂ f (χ)∂χ

)E≈ e| f (χ)|∆χ

+12∆χ|∂

2 f (χ)∂χ2 |, (48)

or assuming second order terms are evaluated exactly using a third order Taylor series:(∂ f (χ)∂χ

)E≈ e| f (χ)|∆χ

+14

(∆χ)2|∂3 f (χ)∂χ3 |, (49)

in which say:

∂2 f (χ)∂χ2 ≈ f (χ + ∆χ) − 2 f (χ) + f (χ − ∆χ)

2(∆χ)2 , (50)

and:∂3 f (χ)∂χ3 ≈ f (χ + 2∆χ) − 3 f (χ + ∆χ) + f (χ) + f (χ − ∆χ)

2(∆χ)3 . (51)

Differentiating (48) w.r.t. the perturbation size ∆χ and setting the result to zero (whichhappens at the minimum error) then the step size can be determined from (see [49]):

∆χ ≈√√

e| f (χ)|| ∂2 f (χ)∂χ2 |

, (52)

and using equation (48) then to third order accuracy:

∆χ ≈

e| f (χ)|| ∂3 f (χ)∂χ3 |

13

. (53)

If one uses the second order perturbation approach to calculate the error then the curva-ture is exactly represented and thus only the computational error exists and the Taylorseries expansion behind the last term in equation (48) needs to be truncated at thirdorder which results in a term | ∂

3 f (χ)∂χ3 |, see equation (53). However, this term implies

much more demanding computational requirements.A simple example of the error for the gradient of a scalar function of χ is shown infigure 2. Notice that as the theory predicts for a linear function of χ the error is propor-tional to the magnitude of χ as described by equation (47) and equation (48 ) for thequadratic functional, see figure 2 (right). A similar graph of the L2 norm error in thegradient would also be observed when one varies the perturbation size while solving acontrol volume or finite element discretisation of Burgers equation, see [40].

6.1. A simple method to estimate perturbation sizeIf normalized with a suitable typical value of the gradient,

(∂ f (χ)∂χ

)0

say, equation (47)can be used to form an estimate of the perturbation size. Thus suppose:

e| f (χ)|∆χ

(∂ f (χ)∂χ

)0

= α, (54)

12

Page 14: The independent set perturbation method for efficient ...

1e-06 1e-05 0.0001 0.001 0.01perturbation size

0.0001 0.001 0.01perturbation size

Figure 2: The error in the first order derivative against perturbation size using a first order accurate pertur-bation method and single precision arithmetic and χ = 1. (a) the black line: f = 1 + χ, red: f = 1000 + χ,green: f = 10000 + χ. (b) f = 1 + χ + χ2.

for some scalar α representing the fraction of the normalized error in the gradient re-quired e.g. α = 10−4 for single precision and α = 10−8 for double precision. Re-arranging this equation, yields:

∆χ =e| f (χ)|α(∂ f (χ)∂χ

)0

. (55)

When one is marching backwards in time in order to form the adjoint equations thenone would use the next/future time level value of the gradient as

(∂ f (χ)∂χ

)0.

6.2. Extension to matrices from discretised equations

The most rigorous extension to matrices A(ψ) with the matrix elements A(ψ)i j is simplyto apply (55) to each matrix element in turn for a perturbation to a scalar ψl of the vectorΨ, that is:

∆ψli j =e|A(ψ)i j|α(∂A(ψ)i j

∂ψl

)0

. (56)

However, one may lump the result to the variable ψl by considering just row l of thematrix A(ψ) and using the definition of the matrix G (equation (35)) then:

∆ψl = min∆ψmax,

e∑

j |A(ψ)l jψ j|maxε∆ψ, α

∑j |G jl|

. (57)

The analogous result to the scalar equation result (52) based on the traditional secondorder Taylor series approach is:

∆ψl = min

∆ψmax,

√√√ e∑

j |A(ψ)l jψ j|

maxε∆ψ,∑

j |∂2A(ψ)l j

∂2ψlψ j|

. (58)

Here, ε∆ψ is a tolerance used to avoid a ”division by zero” error, ε∆ψ = 10−10 and∆ψmax is the maximum value of the perturbation size, ∆ψmax = 1 is used here. The

13

Page 15: The independent set perturbation method for efficient ...

columns associated with all the free surface height variables (geopotential) in matrix Gare zero (see equation (35)) because the matrix A is a linear function of these variables(see equation(13)). For the incompressible Navier Stokes equations one would alsoneed to take into account the continuity equation which could be lumped with a rowsum of the absolute values of the matrix for example. For robustness the values of theperturbation size ∆ψl should be limited by suitably chosen minimum, ∆ψmin say. Onemay also combine the above taking the minimum of ∆ψl given by equations (57) and(58). If one assumes that the non-linearity in A(ψ) is such that each of the powers (upto 3 say) has roughly equal coefficients then this value of α = 10−4 is a reasonableapproximation. In fact this is often the case for finite element and control volume

models (e.g. running near a Courant number C = ∆t√

( un

∆x )2 + ( vn

∆y )2 of order unityand the model (given by a modified Petrov-Galerkin based viscosity in this case, seeequations (17),(19)) being of similar magnitude to the momentum advection term forthe Navier Stokes or SWE’s) although there can be important exceptions for the caseof geostrophically balanced flow with relatively large values of f .For time dependent problems, the perturbation size ∆ψn

l on the variable ψnl at time level

n is calculated by running the adjoint model backwards in time while the perturbationsize ∆ψn+1

l obtained at time level n + 1 is used to calculate G jl (see equation (35)):

G jl =∑

k

∂A jk

∂ψnlψk ≈

∑k

(A jk(m, ψn

l + ∆ψn+1l )ψk − A jk(m, ψl)ψk

)∆ψn+1

l

. (59)

Here, ∆ψn+1 will affect the entries of the sub-matrices Hn, Hn+1,Hn+2, Pn, Pn+1, Pn+2 inthe global matrix A, respectively (see equation (24)).

7. Numerical Results

The ISP sensitivity method has been applied to the 2D shallow water flow model (de-scribed previously) in a limited-area domain, of horizontal dimensions 6000 km by4400 km with the origin (x, y) = (0, 0) located at the bottom left corner of the domain.The accuracy and speed of the ISP sensitivity method is compared against AD usingTAMC in this section for the shallow water model. The applications also show the re-sults of applying the non-uniform perturbation size as described in subsection 6.2. Allsimulations were performed on a Dell Latitude E4200 in 4G of RAM and with a dualcore 1.5GHz processor. All calculations were performed in double precision.

7.1. Description of the test problem

The test problem used here adopts the initial conditions from the initial height fieldcondition of Grammeltvedt No.1 [39]:

h(x, y) = H0 + H1 tanh(

9(D/2 − y)2D

)+ H2

(1/ cosh2

(9(D/2 − y)

D

))sin

(2πxL

), (60)

where this initial condition has energy in wave number one in the x-direction. Theinitial velocity fields were derived from the initial height field using the geostrophic

14

Page 16: The independent set perturbation method for efficient ...

balance:

u = −(

gf

)∂h∂y, v =

(gf

)∂h∂x. (61)

The dimensional constants used here are:

D = 4400km, L = 6000km, f = 10−4s−1, β = 1.5 × 10−11s−1m−1,g = 10ms−1, H0 = 2000m, H1 = 220m, H2 = 133m, (62)

and the time step size is ∆t = 900 s, and four grid schemes (space increments) usedhere are shown in table 1.

Table 1: Grid schemes used in the test casesGrid schemes node number mesh size

Grid A 16 × 12 400 km × 400 kmGrid B 61 × 23 100 km × 200 kmGrid C 121 × 23 50 km × 200 kmGrid D 241 × 23 25 km × 200 km

7.2. Cost function

The aim of 4D-Var is to determine optimal control variables (e.g., initial conditions) byminimising the cost function measuring the lack of fit between model and observations.The cost function J is defined as the weighted squared difference between the initialconditions Ψ0 = (Φ0,u0, v0) and the background state Ψb = (Φb,ub, vb), and betweenthe model solution Ψn and observations yn

o distributed over the computational windowof assimilation [t0, tNt ] (following the notation proposed by Ide et al) [48]

J(Ψ0) =12

(Ψ0 −Ψb)T B−1(Ψ0 −Ψb) +12

Nt∑n=1

(HΨn − yno)T R−1(HΨn − yn

o), (63)

where B is the background error covariance matrix (containing information about themagnitude of the background errors and their their correlations), H is the observationoperator, Ψ0 is a vector containing the initial conditions (the control variables ml in(30)), Ψn is a vector containing the solution of variables from the model at time leveln, and yn

o is the observation at time level n. R−1 = (R−1φ ,R

−1u ,R−1

v ) are weighting fac-tors that are taken to be the inverse of the statistical root-mean-square observationalerrors on geopotential height and wind components respectively. In this experiment,the diagonal entries of R−1 are taken to be constant values: R−1

φ = 10−4 for geopotentialheight; and R−1

u = R−1v = 10−2 for velocity components. Also R−1 is only non-zero at

the nodes where there are observations. The data that is used in the data assimilationprocedure is collected at time level t = 24 hrs only. This is the default observationscheme in time. However, some of the data assimilation example problems observe theocean state at time levels t = 4, 9, 14, 19, 24 hrs (e.g. figures 3 and 6). There are twooptions for observations available over the space: i) at every 400 km, and ii) at every2000 km (sparse data) in the x and y directions respectively.

15

Page 17: The independent set perturbation method for efficient ...

Figure 3: The accuracy of the adjoint model using a gradient test(w(a) = ∂J

∂Ψ0 =

(J(Ψ0+aδΨ0)−J(Ψ0)

)(aδΨ0T )∇J(Ψ0)

). The

adjoint model is derived using: Left panel: ISP sensitivity approach; Right panel: Automatic differentiation.The cost functional J is defined as the weighted squared difference between the model solution and observa-tions at the different time levels tr in the Galerkin FE model where the dense observational data are available(here at every five hours, see equation (63)) and the control variables are the initial conditions (Φ0,u0, v0).

7.3. Accuracy of the adjoint model derived using the ISP sensitivity analysis approach

The accuracy of the adjoint model derived using the ISP sensitivity analysis approachcan be determined using a gradient diagnostic [44]. That is the quantity:

w(a) =DJ

DΨ0 ≈

(J(Ψ0 + aδΨ0) − J(Ψ0)

)(aδΨ0T )∇J(Ψ0)

, (64)

which must be of order 1+O(a) in which δΨ0 is an arbitrary unit vector (such as δΨ0 =

∇J/‖∇J‖2) (here, the control variables are the initial conditions Ψ0 = (Φ0,u0, v0))).Figure 3 shows the variation of the function w with respect to a. It can be seen that(as required) the function w(a) is close to unity when a varies between 10−3 and 10−12

which is evidence of the accuracy of the ISP sensitivity method as applied to the shal-low water model.

7.4. Comparison of gradients obtained from the ISP sensitivity analysis and the ADpackage TAMC

7.4.1. Gradient resultsThe gradient results of the cost function with respect to the initial conditions ((Φ0,u0, v0))are calculated using both the ISP sensitivity analysis as well as the automatic differen-tiation package TAMC. The gradient results are given in figure 4 and compared withthe direct gradient results. The direct gradient is determined by making a small per-turbation (10−10) in each of the controls (the initial conditions) and determining thechange in the functional and this way calculating the gradient, that is ∆J

10−10 . The initialcondition for this gradient determination problem is the initial condition described byequation (60) with a 5% uniform random perturbation to the initial free surface heightat each node. The error in the gradients is defined as the misfit between the adjointgradient and direct gradient. It can be seen from the numerical results that both the

16

Page 18: The independent set perturbation method for efficient ...

adjoint gradient results are very close to the direct gradient results. The error for gradi-ents of the geopotential height (calculated by both the ISP sensitivity analysis and theAD package TAMC) is smaller than 0.06 m2s−2. The error for gradients of the veloc-ity components is smaller than 0.05 m/s when obtained by the ISP sensitivity analysismethod, while 0.13 m/s by the automatic differentiation. The data is assimilated usingobservational data available only at t = 24 hrs in this problem.

7.4.2. 4D-Var data assimilation for optimising the initial conditionsThe ISP sensitivity analysis derived model is now used to optimise the initial condi-tions ((Φ0,u0, v0)). The data assimilation experiments are designed using an identicaltwin technique. Pseudo-observations are obtained by running the forward model witha 5% random perturbation on the exact initial conditions, see equation (60). To as-sess the effect of the incomplete observational data on the optimised results, both thedense (available at every 400 km) and sparse (at every 2000 km in the x and y di-rections respectively) observational data are used. The error between the assimilated(optimised) initial conditions and the exact model variables (obtained from running themodel forward in time from conditions (60) is calculated. Optimised results obtainedusing the ISP sensitivity analysis and those obtained by the automatic differentiationderived adjoint are compared here. The observation for the following three cases aretaken at t = 24 hrs only. An initial guess of the initial conditions in the optimisationis taken: case 1–from the ’true’ flow field (pseudo-observations) at t = 1 hrs; case 2–from a ’static’ status, i.e. (Φ0,u0, v0) = 0.0; case 3–by applying a 5% uniform randomperturbation on the exact initial conditions (which are used to produce the pseudo-observations). In this paper, the L-BFGS method [43] is used to minimize the costfunctional measuring the misfit between the model solutions and pseudo-observations.It can be seen from figure 5 that the evaluation of the normalised cost function con-verges to the prescribed tolerance 10−10 for cases 1 and 2 and 10−7 for case 3 after 30iterations. The increase in the frequency of assimilating the observational data speedsup the convergence of the normalised cost/gradient function (figure 6, where the ob-servational data are assimilated at every five hours). The normalisation coefficient isthe cost function at the start of the first L-BFGS iteration. The speed of convergencefor both the ISP sensitivity analysis and automatic differentiation package TAMC issimilar. The error in the optimised initial conditions is shown in table 2. The maximumerror in geopotential height is 1.44× 10−6 (ISP) and 0.42× 10−6 (TAMC). For velocitycomponents u the maximum error is 1.6×10−6 for ISP and 4.3×10−6 for TAMC. For ve-locity components v the maximum error is 2.4×10−5 for ISP and 3.6×10−5 for TAMC.Thus the ISP sensitivity analysis derived adjoint model achieves a similar level of accu-racy as the automatic differentiation model. The optimised results obtained from boththe dense and sparse data are close to the ’true’ flow solutions (pseudo-observations)(see (c) and (d) in figure 7). The accuracy of solutions is further improved (see (b) infigure 7) when a high resolution mesh (Grid B, see table 1) is used.

7.4.3. Comparison of CPU timeFor further comparison the CPU time for running the adjoint model at one time levelusing the ISP sensitivity analysis and automatic differentiation models is listed in Table3 and plotted in figure 8. The CPU time required for running the ISP derived adjoint

17

Page 19: The independent set perturbation method for efficient ...

(a) Geopotential height (b) Geopotential height

(c) Velocity component u (d) Velocity component u

(e) Velocity component v (f) Velocity component v

Figure 4: The gradient of the cost function J with respect to the initial conditions and gradient error in theGalerkin FE model during the simulation period [0, 24] hrs, where the initial guess is given by applying a5% uniform random perturbation on the exact initial conditions. In figures (a) (c) and (e), the star marksrepresent the solutions using the ISP sensitivity analysis while the open cycle marks represent the solutionsusing the AD package TAMC. The cost functional J is defined as the weighted squared difference betweenthe model solution and observations (available at the time level t = 24 hrs and at every grid point, 400 km)and the control variables are the initial conditions (Φ0,u0, v0). Grid A (see table 1) is used.

18

Page 20: The independent set perturbation method for efficient ...

(a) (b)

Figure 5: The normalised cost function and the corresponding normalised gradient with respect to the ini-tial conditions in the Galerkin FE shallow water model during optimisation iteration (the simulation period[0, 24] hrs) using the ISP sensitivity method. The initial guess controls are taken: Case1–Solid line: fromthe true flow field (pseudo-observations) at t = 1 hrs; Case 2–dashed-dotted line: from a ’static’ status, i.e.(Φ0, u0, v0) = 0.0; Case 3–dashed line: by applying a 5% uniform random perturbation on the exact initialconditions. Left: the normalised cost function; Right: the normalised gradient. The cost functional J isdefined as the weighted squared difference between the model solution and observations, at the time levelt = 24 hrs (see equation(63)) and the control variables are the initial conditions (Φ0,u0, v0). The normalisedcost function: Ji/J1, where Ji is the cost function at iteration i, and J1 is the cost function at the first iter-ation (J1 = 1.789 × 103 for case 1; 1.643 × 104 for case 2 and 2.481 for case 3); The normalised gradient:‖ dJi

dml‖2/‖ dJ1

dml‖2, where, dJi

dmlis calculated using (40). Grid A (see table 1) is used.

(a) (b)

Figure 6: The effect of the frequency of assimilating the observational data on the convergence of the opti-misation. The observational data are assimilated at (a) every five hours (solid line); and only one time levelt = 24 hrs (dashed line) during the simulation period [0, 24] hrs. Left: the normalised cost function; Right:the normalised gradient with respect to the initial conditions in the Galerkin FE shallow water model duringoptimisation iteration. The initial guess controls are taken by applying a 5% uniform random perturbationon the exact initial conditions. Grid A (see table 1) is used.

19

Page 21: The independent set perturbation method for efficient ...

(a) ’True’ solution (b) Optimised solution (dense data and grid B)

(c) Optimised solution (dense data and grid B) (d) Optimised solution (sparse data and grid B)

Figure 7: The Galerkin FE model: The comparison of optimised solutions of speed at t = 24 hrs using theISP sensitivity analysis approach (the simulation period is [0, 24] hrs). (a) ’True’ solution and Optimisedsolution using (b) the sparse and grid B; (c) the dense data and grid A; and (d) the sparse data and grid A.Sparse data is available at 9 locations: at every 2000 km along the x and y directions; while dense data isavailable at 180 locations: at every 400 km along the x and y directions. The details of the grid schemes areprovided in table 1. The optimisation procedure starts from the initial guess controls which are taken fromthe true flow field at t = 1 hrs.

20

Page 22: The independent set perturbation method for efficient ...

Table 2: The relative error in the optimised initial condition for the Galerkin FE model (the simulation periodis [0, 24] hrs). The optimisation procedure starts from the initial guess controls which are taken from thetrue flow field at t = 1 hrs. The cost functional J is defined as the weighted squared difference betweenthe model solution and observation data, and the data is observed every five hours started from t = 4 hrsinclusive. Grid A (see table 1) is used.

Automatic differentiation ISP sensitivity analysisMaximum error in the geopotential height 0.4236 × 10−6m 1.4353 × 10−6m

Maximum error in the velocity component u 4.2960 × 10−6m/s 1.6303 × 10−6m/sMaximum error in the velocity component v 35.814 × 10−6m/s 24.421 × 10−6m/s

Mean error in the geopotential height 0.0395 × 10−6m 0.1613 × 10−6mMean error in the velocity component u 0.1334 × 10−6m/s 0.1101 × 10−6m/sMean error in the velocity component v 1.5265 × 10−6m/s 1.1868 × 10−6m/s

model is much less than that for running the automatic differentiation derived adjointmodel especially for the large number of nodes required in the computational simula-tion. It is shown that the ISP derived adjoint model requires CPU time proportional toO(n) while CPU time proportional to O(n2) is required for the automatic differentiationderived adjoint model (where n is the number of nodes used in the simulation). This issimilar to results obtained by the pseudo-adjoint method of Bischof et al [26].

Table 3: Comparison of CPU required for running the adjoint model at one time level using the ISP sensitivityanalysis and automatic differentiation (TAMC).

Mesh (node number) running processes CPU CPU(control size n) (Automatic differentiation) (ISP sensitivity analysis)

61 × 23 assembling matrix 5 0.015solver 6 0.38

Transpose 0 0.03Matrix multiplication 0 0.18

Total CPU 11 0.61121 × 23 assembling matrix 12 0.02

solver 27 0.79Transpose 0 0.06

Matrix multiplication 0 0.35Total CPU 39 1.22

241 × 23 assembling matrix 29 0.05solver 112 1.58

Transpose 0 0.11Matrix multiplication 0 0.7

Total CPU 114 2.44

7.5. The non-linear Petrov-Galerkin FE model and variable perturbation size

Up to this point we have used a Galerkin FE discretisation (γ = 0 in equations (17),(19))and thus since the discrete system of equations is quadratic the ISP sensitivity methodproduces exact (to computational round off error) adjoints and sensitivities independentof the perturbation size. In this subsection the consequences of performing simulationsusing the Petrov-Galerkin approach (γ = 1) with increased non-linearity are investi-gated. This model is thought to be representative of sub-grid-scale models which often

21

Page 23: The independent set perturbation method for efficient ...

Figure 8: The comparison of CPU for running the adjoint Galerkin FE model at one time level using the ISPsensitivity analysis and automatic differentiation (TAMC).

represent sub-grid-scale and unresolved physics (e.g. turbulence) with highly non-linear functions. This contributes to our efforts to demonstrating that the ISP sensitivityapproach can be used in highly complex models by first applying it to an intermedi-ate complexity model (the shallow water equations) with sophisticated sub-grid-scalemodelling based on Petrov-Galerkin methods.

7.5.1. Data assimilation using the Petrov-Galerkin FE modelThe ISP sensitivity analysis is applied with the the Petrov-Galerkin FE model to opti-mise the initial conditions (Φ0,u0, v0). The optimised results obtained by assimilatingthe sparse data into the model are smoother (due to the dissipative properties of thePetrov-Galerkin method) and closer to the ’true’ solution when compared with thoseobtained by the Galerkin FE model (figure 9). The optimised results at time levelt = 24 hrs are very close to the true solution (figure 10). The CPU time required forrunning the Petrov-Galerkin adjoint model is proportional to O(n), which is similar tothat required for running Galerkin adjoint model.

7.5.2. Determining the perturbation sizeWith the extra non-linearity provided by the Petrov-Galerkin method the size of theperturbations now becomes important and so we compare the two approaches devel-oped here to obtain these so that every solution variable now has its own perturbationsize at every time level. The first approach is based on traditional Taylor series erroranalysis (52) and the second approach is relatively simple (55) and is based on the

22

Page 24: The independent set perturbation method for efficient ...

(a) Geopotential height (b) Geopotential height

(c) Velocity component u (d) Velocity component u

(e) Velocity component v (f) Velocity component v

Figure 9: The comparison of the optimised initial conditions (using the ISP sensitivity analysis approach)using between the Petrov-Galerkin FE model (left panel); and the Galerkin FE model (right panel). Thesimulation period is [0, 24] hrs; and the sparse observational data is available at 9 locations (every 2000 kmalong the x and y directions). The optimisation procedure starts from the initial guess controls which aretaken from the true flow field at t = 1 hrs. Grid A (see table 1) is used.

23

Page 25: The independent set perturbation method for efficient ...

(a) Geopotential height (b) Geopotential height

(c) Velocity component u (d) Velocity component u

(e) Velocity component v (f) Velocity component v

Figure 10: The Petrov-Galerkin FE model: the optimised solution at t = 24 hrs using the ISP sensitivityanalysis approach (the simulation period is [0, 24] hrs). Left panel: the optimised solution; right panel: the’true’ solution. The sparse data is assimilated at 9 locations: at every 2000 km along the x and y directionsat time level t = 24 hrs. The optimisation procedure starts from the initial guess controls which are takenfrom the true flow field at t = 1 hrs. Grid B (see table 1) is used.

24

Page 26: The independent set perturbation method for efficient ...

(a) Perturbation size in u (×10−5 m) (b) Perturbation size in u (×10−5 m)

(c) Perturbation size in v (×10−5 m) (d) Perturbation size in v (×10−5 m)

Figure 11: The Optimised perturbation size at t = 24 hrs (Sparse data at 9 locations: observed at every2000 km along the x and y directions). Left panel: the first order approach; Right panel: the second orderapproach. Grid A (see table 1) is used.

(figures 12 and 11) observations that modeling and resolved physics terms in the equa-tions have approximately equal orders of magnitude. Thus the two approaches shouldyield comparable perturbation size distributions at time levels t = 0.05 hrs (figure 12)and t = 24 hrs (figure 11). The simpler approach seems to have its largest perturba-tion sizes in the faster areas of the flow where as for the second order approach sucha correlation is not so clear. This is due to the use of the second order term on thedenominator of equation (58) and may be due to increases in errors in the formation ofhigher order derivatives - second order derivatives in this case.The simpler approach is at its most accurate when the linear term in A is comparablein magnitude to the non-linear terms in A - the discretised system of equations at everytime step. For small time step sizes this is clearly not the case as the mass matrices fromthe time discretisation have the dominant contribution. However, often one choosestime step sizes based on what one can get away with and in this case the linear and non-linear terms may have a similar size and their relative magnitudes may be determinedapproximately by the grid Courant number C.

25

Page 27: The independent set perturbation method for efficient ...

(a) Perturbation size in u (×10−5 m) (b) Perturbation size in u (×10−5 m)

(c) Perturbation size in v (×10−5 m) (d) Perturbation size in v (×10−5 m)

Figure 12: The Optimised perturbation size at t = 0.05 hrs (Sparse data at 9 locations: observed at every2000 km along the x and y directions.). Left panel: the first order approach; Right panel: the second orderapproach. Grid A (see table 1) is used.

26

Page 28: The independent set perturbation method for efficient ...

8. Further Discussion and Future Perspectives

The application of adjoints is often limited to flow problems where the linearized ap-proximation is valid. One of the critical issues for adjoint based approaches is how todeal with highly non-linear discrete systems, see [51, 52]. We show how this can bedone by applying the ISP sensitivity analysis to a Petrov-Galerkin method that intro-duces highly non-linear terms. We show that the ISP sensitivity approach can be usedto help assimilate data using a highly non-linear model (see figure 10). This should beseen as a step towards applying the method to much more complex problems whichtypically parametrize (model) unresolved processes using highly non-linear terms e.g.Large Eddy Simulation methods for turbulence modelling.For the ISP sensitivity approach, the gradient/sensitivity of the cost function J is exactwhen the discrete forward model is quadratic. To test its accuracy in a highly non-linearmodel, the ISP sensitivity approach is applied here to a Petrov-Galerkin version of thesame shallow water model. The optimal results obtained are promising (see figure 10).For highly non-linear systems (such as produced by the Petrov-Galerkin approach usedhere), the perturbation size is one of the critical issues affecting the accuracy of sensi-tivity analysis. A simple formula is developed and shown to work well in practice forthe Petrov-Galerkin FE model.In view of the encouraging results obtained (note: these results are model dependent),we plan to test the ISP sensitivity analysis method on more complex models. Anotherdirection of research for exploration is to test performance of the ISP sensitivity anal-ysis approach vs the performance of other AD packages such as the readily availableTAF and TAPENADE. The ISP sensitivity approach is suitable for use in parallel com-puting as it is based on coloring methods which can easily extract fine grain parallelism.In addition, the next generation of atmospheric and oceanic models will be even morecomplex than current generation in for example oceans, atmospheric and multi-phaseflows. Thus there is a pressing need to develop methods that can differentiate thesemodels within reasonable CPU times. Often these models are so complex that currentAD tools will simply fail or require extensive intervention to produce sensible runtimes. One of the key reasons for this complexity is the use of unstructured meshes andthe associated indirect addressing and additional logic associated with these. Due to themagnitude of effort that goes into compilers AD methods may always lag behind andoften unable to be used with the latest enhancements to modern computer languageslike C++ and FORTRAN. The ISP sensitivity method as an alternative to AD toolsprovides a different approach to tackle this pressing problem. In fact it is relativelyeasy to substitute the formation of the key matrix G in equations (41) with AD tools andhave them operate at this assembly level. This allows the mechanisms developed hereto be used but also in conjunction with AD methods and for the method to scale linearlywith the problem size, see [26] for examples of this approach. The user interventionsometimes necessary with AD tools is redundant with the ISP sensitivity analysis asit is independent of the forward model. That is any new parameterization or assemblyroutines will be automatically differentiated. AD tools may also produce code that ismuch more complex (out of necessity) since the differential of the various terms inthe discrete equations can be highly complex after differentiation. The ISP approachcircumvents this additional overhead at the cost of introducing perturbations into the

27

Page 29: The independent set perturbation method for efficient ...

approach. However, these perturbations sizes can easily be optimized as demonstratedhere.In addition, there is a possibility of developing a modelling framework that can allowall models to be differentiated within that framework with the proviso that all modelsbe written in such a way that matrix vector multiplication involving the forward modelbe easily performed. We hope also that in such modelling frameworks that may coupledifferent physics (multi-physics) such as oceans coupled to an atmosphere and solidscoupled to fluids can also be differentiated using the presently discussed approach.The intent of this work is to make adjoint based methods more accessible with thedevelopment of the ISP sensitivity approach in view of its following advantages:

• reduces the CPU time required to differentiate complex models;

• results in differentiated models that scale optimally with problems size (linearly);

• enables the model to automatically keep up with developments of the forwardmodel;

• enables a modelling framework to be written that can allow all models to bedifferentiated within that framework;

• enables one to extract fine grain parallelism due to the use of coloring methods.

9. Conclusions

The development of the 4D-Var adjoint model for a finite element Galerkin shallowwater model is presented here. Using the ISP sensitivity analysis approach, the adjointmodel is easily implemented and maintained as the forward model is updated. Dif-ferentiation of the discrete forward model is realized by a graph colouring approachcombined with a perturbation method to obtain consistent gradients involving discreteequations.The accuracy of the ISP sensitivity analysis derived adjoint model is validated andthe resulting gradients found to have comparable accuracy to automatic differentiationapplied through the automatic differentiation package TAMC. The ISP sensitivity anal-ysis derived adjoint model is also applied to optimise the initial conditions of the 2Dshallow water model. The rate of convergence, to a local minima, of both the ISP sensi-tivity analysis and automatic differentiation package TAMC are similar. The CPU timeusing the ISP sensitivity analysis approach scales linearly with problem size – althoughthis may be achieved with automatic differentiation methods it may require consider-able effort. For the test case in this paper, using the ISP sensitivity analysis approach,the CPU time for running the adjoint model is 20 times smaller, for the largest problemconsidered, than that required by the automatic differentiation approach. Moreover,it is shown that the CPU time required for the ISP derived adjoint model is a linearfunction of the number of nodes N used in the simulation, O(N), while O(N2) for theautomatic differentiation derived adjoint model.Testing of the ISP sensitivity approach has further been carried out with a highly non-linear Petrov-Galerkin version of the same shallow water model. The optimised initial

28

Page 30: The independent set perturbation method for efficient ...

conditions are very close to the exact ones. The perturbation size is determined bythe first/second order formulations and varies over space and time. As far as the ISPsensitivity analysis is concerned the intermediate complexity shallow water model con-tains all of the complexities associated with a complex flow model (e.g. atmosphericand ocean models): has a highly-non-linear sub-grid-scale model; multiple unknownsat each node requiring multi-dimensional colouring methods; non-uniform and timedependent optimised perturbation sizes. However, using the intermediate complexitymodel it is much easier to understand and examine the performance of the ISP sensi-tivity method.

Acknowledgments

This work was carried out under funding from the UK’s Natural Environment Re-search Council (projects NER/A/S/2003/00595, NE/C52101X/1, NE/C51829X/1 andNE/F012594/1), the Engineering and Physical Sciences Research Council (GR/R60898and EP/I00405X/1) and the Leverhulme Trust (F/07058/AB), and with support from theNURISP framework seven project, the Imperial College High Performance ComputingService and the Grantham Institute for Climate Change. Prof. I. M. Navon would liketo acknowledge support from NSF grant ATM-0931198. Many thanks to Dr Paul Hov-land from Argonne National Laboratory for his advice and Ryder Michelle for helpwith the technical writing up of this work.

Appendix A: graph colouring methods

The graph colouring approach, as shown here, can be used to simplify the structureof the matrices (described above) and help accelerate the matrix equation assemblyprocess. The matrices associated with the non-linear terms can be expressed by a set ofsubmatrices. These sub-matrices are time-independent and can be easily differentiatedto form adjoint systems of equations. The differentiation of discrete forward modelshere is realised using the ISP sensitivity analysis i.e., a perturbation method combinedwith a graph colouring approach. The perturbations associated with each variable ateach node and time level are grouped in terms of colours and calculated concurrently(see the section below).In graph theory, graph coloring is a special case of graph labeling; it is an assignment oflabels traditionally called ”colors” to elements of a graph subject to certain constraints.In its simplest form, it is a way of coloring the vertices of a graph such that no twoadjacent vertices share the same color; this is called a vertex coloring.Graph colouring methods are commonly used to model the dependency between dif-ferent subtasks or data. Here we define the graph Gr = (Vg, Eg), where the vertex set,Vg, are the nodes or cells of the finite element or control volume mesh (i.e. the rowsof a discretisation matrix), and the edge set, Eg, is defined by the connectivity under agiven stencil, see below. The chromatic number (the smallest number of colors neededto color the vertices of Gr so that no two adjacent vertices share the same color), χ(Gr),is bounded by:

ω(Gr) 6 χ(Gr) 6 ∆(Gr) + 1,

29

Page 31: The independent set perturbation method for efficient ...

where ω(Gr) is the clique (a subset of its vertices such that every two vertices in thesubset are connected by an edge) number and ∆(Gr) is the maximum vertex degree [53].χ(Gr) is the minimum number of colours necessary to colour a graph. However, thenumber of colours obtained by a colouring algorithm Nc might exceed this minimum.An example of a quadratic non-linearity in advection terms can be written in a matrixQq whose element assumes the form:

Qqi j =

∫Ω

Niq∂N j

∂xdΩ, (65)

where q =∑N

k=1 Nkqk and q = u∗n, v∗n, un+1 in K1 i, jn , K2 i, jn and K3 i, jn in equation (14),(17) and (19). When forming non-linear quadratic discretisations, it is important to lookat the independent sets of basis functions Nk used in

∫Ω

NiNk∂N j

∂x dΩ for any nodes i and

j. That is for the ith row and jth column of the matrix associated with∫Ω

NiNk∂N j

∂x dΩ notwo basis functions Nk of the same colour contribute a non-zero value to this row andcolumn.For a node-wise Nk (in figure 1) the graph associated with the non-zero’s of the matrixQT

q Qq can be coloured so as to achieve the required independent sets of∫Ω

NiQk∂N j

∂x dΩ,which is also referred to as a distance-two colouring of the sparsity pattern of matrix Q[54]. The matrix Qc

qi j in (65) can be expressed in the colouring scheme:

Qqci j =

∫Ω

NibcN jdΩ, (66)

where,

bc =

Q∑k=1

Qkbck, bc

k =

1 if node k is of colour c;0 at other nodes. (67)

The graph colouring approach outlined here for matrix Q can be applied to efficientlydifferentiate the matrices Kn

1, Kn2 and Kn

3 in equations (12), (15) and (16).Figure 1 shows the distance-two graph colouring scheme used here for u, v and φ atthree time levels t = n − 2, t = n − 1 and t = n. The distance-two graph associatedwith the vertices and edges is coloured with 9 colours. This graph colouring schemeis applied to all the variables at each time level and thus there are 9 colours for eachof the three variables (in figure 1: the top panel for u, the middle panel for v and thebottom panel for φ). Taking into account the three-level time marching methods usedhere, a total of 9 × 3 × 3 = 81 colours is required in this study.

References

[1] D.G. Cacuci, C.F. Weber, E.M. Oblow, and J.H. Marable, Sensitivity theory forgeneral systems of nonlinear equations, Nucl. Sci. Eng., 75 (1980) 88–110.

[2] A. Sandu, D. Daescu, and G.R. Carmichael Direct and Adjoint Sensitivity Anal-ysis of Chemical Kinetic Systems with KPP: I - Theory and Software Tools, At-mospheric Environment, 37 (2003) 5083–5096.

30

Page 32: The independent set perturbation method for efficient ...

[3] A.F. Bennett, B.S. Chua, and L.M. Leslie, Generalized inversion of a globalnumerical weather prediction model, Meteor. Atmos. Phys., 60 (1996) 165–178.

[4] P. Courtier, and O. Talagrand, Variational assimilation of meteorological obser-vations with the direct and adjoint shallow-water equations, Tellus, 42A,(1990)531–549.

[5] R.H. Langland, R.L. Elsberry, and R. M. Errico, Evaluation of physical process inan idealized extratropical cyclone using adjoint sensitivity, Quart. J. Roy. Meteor.Soc., 121 (1995) 1349–1386.

[6] M. Ghil, K. Ide, A. Bennett, P. Courtier, M. Kimoto, M. Nagata, M. Saiki, and M.Sato, Eds., Data Assimilation in Meteorology and Oceanography. MeteorologicalSociety of Japan, 300 pp.

[7] B.F. Farrell, Optimal excitation of neutral Rossby waves, J. Atmos. Sci., 45(1988) 163–172.

[8] W.K. Anderson, and V. Venkatakrishnan, Aerodynamic Design Optimization onUnstructured Grids with a Continuous Adjoint Formulation, Computers and Flu-ids, 28(4) (1999) 443-480

[9] J. Barhen, D.G. Cacuci, J.J. Wagschal, M.A. Bjerke, and C.B. Mullins, Uncer-tainty Analysis of Time-Dependent Nonlinear Systems: Theory and Applicationto Transient Thermal-Hydraulics, Nucl. Sci. Eng. 81 (1982) 23–44.

[10] M. Ionescu-Bujor and D.G. Cacuci, Adjoint Sensitivity Analysis of the Two-fluid Model in RELAP5/MOD3.2, Invited Paper, M and C’99, International Con-ference on Mathematics and Computation, Reactor Physics and EnvironmentalAnalysis in Nuclear Applications, Madrid, Spain, September 27–30 Vol.1 (1999)745–754, Senda Editorial, Madrid, Spain.

[11] A.C. Marta, C.A. Mader, J.R.R.A. Martins, E. Van der Weide, and J.J. Alonso,A methodology for the development of discrete adjoint solvers using automaticdifferentiation tools, International Journal of Computational Fluid Dynamics,21(9–10) (2007) 307–327.

[12] A. Griewank, and A. Walther, Implementation of Checkpointing for the Reverseor Adjoint Mode of Computational Differentiation, ACM Transactions on Math-ematical Software, 26(1) (2000) 19–45.

[13] A. Griewank, and A. Walther, Evaluating Derivatives: Principles and Techniquesof Algorithmic Differentiation, Second Edition, SIAM, Philadelphia, (2008).

[14] A. Griewank, D. Juedes, and J. Utke, ADOL-C, a package for the automaticdifferentiation of algorithms written in C/C++. ACM Trans. Math. Softw, 22(1996) 131–167.

[15] E.J. Nielsen, and W.L. Kleb, Efficient construction of discrete adjoint operatorson unstructured grids using complex variables, AIAA Journal, 44(4) (2006) 827–836.

31

Page 33: The independent set perturbation method for efficient ...

[16] R. Giering, T. Kaminski, and T. Slawig, Generating Efficient Derivative Codewith TAF: Adjoint and Tangent Linear Euler Flow Around an Airfoil. FutureGeneration Computer System, 21(8) (2005) 1345–1355.

[17] L. Hascoet, TAPENADE: a tool for Automatic Differentiation of programs. Pro-ceedings of the ECCOMAS conference,, Jyvaskyla, Finland, July 2004, (2004)14.

[18] N. Rostaing, S. Dalmas, and A. Galligo, Automatic differentiation in Odyssee,Tellus A, 45 (1993) pp 558–568.

[19] R. Giering, and T. Kaminski, Recipes for adjoint code construction, Trans. Math.Software, 24 (1998) 437–474.

[20] M.S. Gockenbach, Understanding code generated by TAMC, IAAA Paper TR00-29 2000 (Department of Computational and Applied Mathematics, Rice Univer-sity: Texas, USA), 2000.

[21] P.T.M. Vermeulen, and A.W. Heemink, Model-reduced variational data assimila-tion, Monthly Weather Review, 134 (2006) 2888–2899.

[22] M.U. Altaf, A.W. Heemink, and M. Verlaan, Inverse shallow-water flow model-ing using model reduction, International Journal for Multiscale ComputationalEngineering, 7 (2009) 577–596.

[23] Y.Cao, J.Zhu, I.M. Navon, and Z.Luo, A reduced order approach to four-dimensional variational data assimilation using proper orthogonal decomposition.Int. J. Numer. Meth. Fluids 53(10) (2007):1571–1583.

[24] D.N. Daescu and I.M. Navon, A dual-weighted approach to order reduction in4d-var data assimilation. Monthly Weather Review 2008; 136(3): 1026–1041.

[25] F. Fang, C.C. Pain, I.M. Navon, M.D. Piggott, G.J. Gorman, P.E. Farrell,P.Allison, A.J.H. Goddard, POD Reduced order 4D-VAR adaptive mesh oceanmodelling. Int. J. Numer. Meth. Fluids, 60(7) (2009) 709–732.

[26] C. Bischof, A. Carles, G. Corliss, A. Griewank, and P. Hovland, ADIFOR -Generating derivative codes from Fortran programs, Sci. Program, 1 (1992) 11–29.

[27] A. Carle, and M. Fagan, ADIFOR 3.0 overview, Technical report CAAM-TR-00-02, Rice University, 2000.

[28] I. Charpentier, Checkpointing Schemes for Adjoint Codes: Application to theMeteorological Model Meso-NH, SIAM J. Sci. Comput. 22(6) (2001), 2135–2151.

[29] C.H. Bischof, H.M. Bucker, P. Hovland, and U. Naumann and J. Utke( Edi-tors) Lecture Notes in Computational Science and Engineering, Advances inAutomatic Differentiation. 64 (2008) DOI: 10.1007/978-3-540-68942-3, pp 370,Springer-Verlag.

32

Page 34: The independent set perturbation method for efficient ...

[30] F. Christakopoulos, D. Jones, and J.D. Muller, Time-stepping for adjoint CFDcodes from automatic differentiation, ECCOMAS CFD 2010 J.C.Pereira and A.Sequeira (Eds), Lisbon, Portugal, 2010.

[31] K. Zhu, I.M. Navon, and X. Zou, Variational data assimilation with a variable res-olution finite- element shallow-water equations model, Monthly Weather Review,122(5) (1994) 946–965.

[32] I.M. Navon, Finite-element simulation of the shallow-water equations model ona limited area domain, Applied Mathematical Modelling, 3(1) (1979) 337–348.

[33] I.M. Navon, FEUDX: a two-stage, high-accuracy, finite-element FORTRAN pro-gram for solving shallow-water equations, Computers and Geosciences, 13(3)(1987) 255–285.

[34] W.Y. Tan, Shallow-water Hydrodynamics: Mathematical Theory and NumericalSolution for a Two-dimensional System of Shallow-water Equations, ElsevierOceanography Series, pp 434, Beijing, 1992.

[35] C.B. Vreugdenhil, Numerical Methods for Shallow-water Flow, Kluwer Aca-demic Publishers: Boston, pp 276, 1994.

[36] J. Galewsky, R.K. Scott, and L.M. Polvani, An initial-value problem for testingnumerical models of the global shallow-water equations, Tellus, 56(5) (2004)429–440.

[37] H.H. Wang, P. Halpern, J. Douglas, and T. Dupont, Numerical solutions of theone-dimensional primitive equations using Galerkin approximation with local-ized basic functions, Monthly Weather Review, 100(10) (1972) 738–746.

[38] J. Douglas, and T. Dupont, Galerkin method for parabolic problems, SIAM. J.Numer. Anal., 7 (1970) 575–626.

[39] A. Grammeltvedt, A survey of finite-difference schemes for the primitive equa-tions for a barotropic fluid, Monthly Weather Review, 97 (1969) 384–404.

[40] F. Fang, C.C. Pain, I.M. Navon, G.J. Gorman, M.D. Piggott and P.A. Allison, Theindependent set perturbation adjoint method: A new method of differentiatingmesh-based fluids models, J. Numer. Meth. Fluids, 66 (2011) 976–999.

[41] O.C. Zienkiewicz, R.L. Taylor, and P. Nithiarasu, The Finite Element Method forFluid Dynamics Sixth Edition. Butterworth-Heinemann, (2005) pp 400.

[42] J.E. Horwedel, GRESS, a preprocessor for sensitivity analysis of Fortran pro-grams, in automatic differentiation of algorithms: theory, implementation, andapplication, A. Griewank, Ed. SIAM, Philadelphia, (1991) 243–250.

[43] D.C. Liu, and J. Nocedal, On the limited memory BFGS method for large scaleoptimization Mathematical, Programming, 45 (1989) 503–528.

33

Page 35: The independent set perturbation method for efficient ...

[44] I.M. Navon, X. Zou, J. Derber, and J. Sela, Variational data assimilation withan adiabatic version of the NMC Spectral model, Monthly Weather Review, 120(1992) 55–79.

[45] F.X Le Dimet, and O. Talagrand, Variational algorithms for analysis and assimila-tion of meteorological observations: theoretical aspects, Tellus, A 38A(2) (1986)97–110.

[46] R. Daley, Atmospheric data analysis, Cambridge University Press, (1991).

[47] R.N. Miller, E.O. Zaron and A.F. Bennett, Data Assimilation in Models withConvective Adjustment, Mon. Weather Rev., 122 (1994) 2607–2613.

[48] K. Ide, P. Courtier, M. Ghil, and A. C. Lorenc, Unified Notation for Data Assim-ilation: Operational, Sequential and Variational, Journal of the MeteorologcialSociety of Japan, 75(1B) (1997) 181–189.

[49] P. Brezillon, J.F. Staub, A.M. Perault-Staub, and G. Milhaud, Numerical Estima-tion of the First Order Derivative: Approximate Evaluation of an Optimal Step,Comp. Maths. with Appls., 7 (1981) 333–347.

[50] J. Donea, and A. Huerta, Finite element methods for flow problems John Wiley& Sons, Ltd. (2003), ISBN: 0-471-49666-9.

[51] R.M. Errico, What is an adjoint model? Bulletin of the American MeteorologicalSociety, 78(11), (1997), 2577–2591.

[52] C. Pires, R. Vautard, and O. Talagrand, On extending the limits of variationalassimilation in nonlinear chaotic systems Tellus A, 48, (1996), 96-121.

[53] Maffray, Frederic. On the coloration of perfect graphs. in Reed, Bruce A.; Sales,Claudia L., Recent Advances in Algorithms and Combinatorics, CMS Books inMathematics, 11, Springer-Verlag. 65-84, doi:10.1007/0-387-22444-0 3, 2003.

[54] Gebremedhin AH, Manne F. and Pothen A. What color is your Jacobian? Graphcoloring for computing derivatives. SIAM Review, 47(4):629–705, 2005.

34

Page 36: The independent set perturbation method for efficient ...

A new ISP approach is used for implementation of a nonlinear FE SW adjoint model ISP reduces the CPU time required for differentiating complex models ISP enables a modelling framework - allows all models to be differentiated within it ISP enables the model to be easily implemented and maintained ISP enables one to extract fine grain parallelism due to the use of colouring methods