You are on page 1of 23

REPORTS ON COMPUTATIONAL MATHEMATICS, NO.

85/1996, DEPARTMENT OF MATHEMATICS, THE UNIVERSITY OF IOWA AND CWI REPORT NM-R9603/1996, DEPARTMENT OF NUMERICAL MATHEMATICS, CWI, AMSTERDAM

Benchmarking Sti ODE Solvers for Atmospheric Chemistry Problems I: Implicit versus Explicit
A. Sandu , J.G. Verwer y, M. van Loon z, G.R. Carmichael x , F.A. Potra {, D. Dabdub k, J.H. Seinfeld January 27, 1996

In many applications of atmospheric transport-chemistry problems, a major task is the numerical integration of the sti systems of ordinary di erential equations describing the chemical transformations. This paper presents a comprehensive numerical comparison between ve dedicated explicit and four implicit solvers for a set of seven benchmark problems from actual applications. The implicit solvers use sparse matrix techniques to economize on the numerical linear algebra overhead. As a result they are often more e cient than the dedicated explicit ones, particularly when approximately two or more gures of accuracy are required. In most test cases, sparse rodas, a Rosenbrock solver, came out as most competitive in the 1% error region. Of the dedicated explicit solvers, twostep came out as best. When less than 1% accuracy is aimed at, this solver performs very e ciently for tropospheric gas-phase problems. However, like all other dedicated explicit solvers, it cannot e ciently deal with gas-liquid phase chemistry. The results presented may constitute a guide for atmospheric modelers to select a suitable integrator based on the type and dimension of their chemical mechanism and on the desired level of accuracy. Furthermore, we would like to consider this paper an open invitation for other groups to add new representative test problems to those described here and to benchmark their numerical algorithms in our standard computational environment.

Abstract

Keywords: Atmospheric chemistry, Air pollution modeling, Numerical sti ODEs, Benchmarking, Dedicated explicit solvers, Sparse implicit solvers.

Program in Applied Mathematics and Computational Sciences, The University of Iowa, Iowa City, IA 52246 (sandu@cgrer.uiowa.edu) y Center for Mathematics and Computer Science (CWI), P.O. Box 94079, 1090 GB Amsterdam, The Netherlands (janv@cwi.nl) z Center for Mathematics and Computer Science (CWI), P.O. Box 94079, 1090 GB Amsterdam, The Netherlands. (vanloon@cwi.nl) x Center for Global and Regional Environmental Research and the Department of Chemical and Biochemical Engineering, The University of Iowa, Iowa City, IA 52246 (gcarmich@icaen.uiowa.edu) { Departments of Mathematics and Computer Science, The University of Iowa, Iowa City, IA 52246 (potra@math.uiowa.edu) k Department of Mechanical and Aerospace Engineering, University of California Irvine, Irvine, CA 92717-3975 (dabdub@masaya.eng.uci.edu) Department of Chemical Engineering, California Institute of Technology, Pasadena, CA 91125 (john seinfeld@starbase1.caltech.edu)

1

1 Introduction
To better understand the transport and fate of trace gases and pollutants in the atmosphere, comprehensive atmospheric transport-chemistry models have been developed. For their numerical solution, very often the operator splitting approach is followed. A major computational task is then the numerical integration of the sti ode (ordinary di erential equation) systems describing the chemical transformations. These systems take the special production-loss form where L(t; y ) is a diagonal matrix. The integration must be carried out repeatedly at all spatial grid points for all split intervals chosen. Consequently, a full transport-chemistry computation involves a huge number of sti ode integrations. Although the numerical sti ode eld is well developed and a variety of e cient and quite reliable sti ode solvers is available 11], the general experience is that still faster solvers are needed. There are many such solvers in use in atmospheric models. Often the numerical methods are adapted for a particular chemistry scheme, like qssa methods 12, 13, 27]. In such a case a change in the chemistry scheme necessitates a reconsideration of the numerical scheme as well, which is a disadvantage. Furthermore, this adaptation makes it very hard to really assess and compare the numerical e ciency and accuracy for di erent solvers. Continuing our previous work (see 16, 26] and the references therein), the purpose of the current paper is a comprehensive benchmark comparison between a number of solvers which have been proposed in the literature. We apply them as normal ode solvers without any adaptation for the chemistry scheme. The paper is organized as follows. In Section 2 we brie y describe our test set. This set consists of seven problems based on three tropospheric gas-phase chemistry schemes, namely a small, a medium and a large scheme, one stratospheric scheme coming from nasa, and one hybrid gas-liquid phase scheme from cloud modeling which we obtained from Matthijsen 19]. Because of the diverse applications, these chemical schemes constitute a representative test set for evaluating and comparing numerical solvers. Section 3 is devoted to the solvers. We have tested nine existing solvers, namely twostep 25, 26, 27], chemeq 30], the most simple qssa solver, an extrapolated qssa solver 16], the qssa solver et based on the extrapolation technique of 4], as well as the implicit solvers lsodes 14], vode 2], sdirk4 11] and rodas1 11]. The rst ve of these are special purpose and compute the solution in an explicit way, as opposed to the last four which are all implicit and state-of-the-art in the numerical sti ode eld. For our purpose, the solvers vode, sdirk4 and rodas have been provided with a sparse-matrix technique 20] to economize on the numerical algebra overhead in the modi ed Newton solution. lsodes has already built in a sparsematrix technique and is a successor of lsode 14] which is popular amongst atmospheric chemists as a reference code. By providing the implicit solvers with sparse matrix techniques, they belong to the fastest of their kind. In Section 4 we describe the set up of the experiments. Section 5 contains the results of the comparisons and the nal Section 6 collects a number of general remarks and nal conclusions. All experiments discussed in this paper were carried out on a single processor workstation and concern box-model tests. We emphasize that promising solvers should also be compared in actual 3D transport applications where the issues of memory use, vectorization 15, 28] and parallelization are of great practical importance. Code changes connected with vectorization and/or parallelization for a particular architecture can result in cpu time decreases of orders of magnitude. To enable interested readers to further extend this benchmark comparison using their own solvers, as well as to extend our problem set with other challenging example problems from atmospheric chemistry,
in the strict mathematical sense. However, a Rosenbrock method requires the solution of linear systems of algebraic equations, like an implicit method does if the iterative Newton technique is used. For ease of presentation, in this paper we therefore also call rodas implicit.
1 rodas is a Runge-Kutta-Rosenbrock solver and hence not implicit

dy = f (t; y) := P (t; y) ? L(t; y) y; dt

y(t) = (y1 (t); ::: ; ym(t))T ;

(1)

2

2 The benchmark problems The seven test problems are based on a set of ve chemical schemes which are presently being used in various studies. for problems of a small dimension for which the dense matrix numerical algebra costs are not dominating. and some of them need an analytical Jacobian. Although the chemical conditions are identical and the calculated results very close. part need it in the standard form. several general remarks are in order: All the test problems were uniformly coded in fortran using the KPP symbolic preprocessor 5]. If this ratio is small. we give in Table 1 the number of nonzero elements in the Jacobian matrix. Lest we miss the obvious. The same urban and rural scenarios are simulated with cbm-iv and with al. The ratio between the number of nonzeroes in the Jacobian matrix and the square of the dimension gives an indication to which extent a sparse matrix solution may improve the timing compared to a standard dense matrix solution. since part of the algorithms need the derivative function in production-destruction form. Before brie y describing each problem. The sparse matrix technique we have used is based on a diagonal Markowitz criterion (see Section 3.5 for some more details). This time interval is su ciently large for taking into account several diurnal cycles originating from the photochemical reactions. say less than about 1/4. then a good sparse solution technique will be signi cantly more e cient than the standard dense solution. In mathematical terms this implies that for these short lived species 3 . All are fully documented elsewhere.all the software we have used for the problems and the solvers has been put on a ftp-site (see 9] and the instructions therein). and the 84-species mechanism implemented in the stem-ii model. Four of them describe gas-phase. and one describes gas-liquid phase chemistry. The table shows that for our test problems both the ratio for the Jacobian and the resulting ll-in are quite small. They are based on the assumption that all short lived species. causing the problem to be sti . The dedicated explicit algorithms are scalarly implicit and exploit the production-loss form of the ode system. All problems were run for ve days. the 32-species cbm-iv scheme. The tropospheric gas-phase problems are based on three di erent chemical schemes. as well as the number of nonzero entries in the Newton matrix after the lu factorization. This uniformity is important for a meaningful intercomparison. are only weakly coupled to all other species. An important issue in our numerical comparison is the use of a sparse matrix technique 20] to economize on the linear algebra costs which the sti solvers spend in the modi ed Newton iteration. the performances of the numerical solvers depend on the chemical mechanism used. the gain in using a more e cient matrix solution will be hardly noticeable in the overall costs. This is the case for Problem A (see also 26]). Varying the size of the mechanism is important since both implicit and explicit solvers are considered for this benchmark. This mechanism will be referred to as al. The stratospheric gas-phase problem contains 34 species and the tropospheric gas-liquid phase one 65. fortran code de ning the test problems can be obtained from 9]. For all models the unit of components of dy=dt used in the numerical tests is number of molecules/cm3 /second. We will make this point later in the paper. All three are used in present applications and are representative of those being used in the atmospheric chemistry models. As a measure of these costs. None of the solvers was favoured/inhibited by a cheaper/ more expensive implementation of these functions. These are the 15species eusmog scheme. and a reordering of the species exists which gives rise to a small ll-in after the factorization.

of these. It consists of 15 reactions between 15 species and is extensively described in 23]. then the special purpose explicit methods can fail completely. either they are small and hence do not introduce sti ness. the coupling between short and long lived species may be stronger. E 84 34 65 674 246 506 768 280 629 F G Table 1: The dimension of the test problems. i. The problem is a highly parameterized version of the emep msw-w ozone chemistry scheme 22]. 2 For one dt O] O] O] 2 P P O](t + h) = L O] + ( O](t) ? L O] ) e?L O] h : O] O] 2. Inspection of all the tables presented here will reveal that these latter eigenvalues exist only for the tropospheric wet problem G. the predominance of the above reaction now trivially implies that ?L O] is close to a sti eigenvalue of the Jacobian matrix of the whole system and. For each problem we therefore illustrate the eigenvalue relationship in a table showing the species and eigenvalues for which the relationship is found to exist and the distribution of the remaining part of the spectrum 3 of the Jacobian (see also Fig. where L O] is a constant since the concentrations of O2 and M are xed. namely twostep using Gauss-Seidel iteration. Consider atomic oxygen O which is a very fast reacting species. In many models a typical predominant removal step for O (by some orders of magnitude) is reaction with O2 and a third body M . or they are large but cannot be associated with a single short lived species. It has been used before in the comparisons reported in 26]. the number of nonzeroes in the Jacobian matrix. In this remaining part. 8 in 18]). 24]. that in rst approximation the exact solution for O is given by This exact solution for truly constant coe cients forms the starting point for the popular qssa methods. Because for atomic oxygen coupling through the production rate P 0] is very weak too. Information about the eigenvalues can be found in Table 2. it predicts to a great extent whether an explicit solver of the type used in this paper can be justi ed in advance2 .. since Gauss-Seidel iteration introduces a form of 'triangular implicitness'. and that no sti eigenvalues exist which are not close to a loss term.1 Problem A: The eusmog model 4 . eigenvalues thus can be of two sorts. This problem is borrowed from a model which is currently implemented and tested at the cwi in a Dutch smog prediction code in the framework of the project eusmog 23. y ) is close to a sti eigenvalue of the Jacobian matrix. This observation is in line with our test results. the loss term ?Li (t. the following reasoning explains this. in addition. Although this explanation is not mathematically rigorous for the nonlinear problems we deal with. and the number of nonzeroes in the Newton matrix after the lu factorization. The di erence between the numbers in the third and second row is the ll-in. Following 18].Problem A B. where it has also been documented.e. If these latter eigenvalues exist. C Dimension 15 32 Jacobian 57 276 Factorized 57 300 D. L = k O ] M ]. 3 All the eigenvalues were computed with the routine dgees from lapack. Hence there exists no coupling with other species through the loss rate. k O + O2 + M ! O3 + M: The kinetics for O is then well described by the scalar ode d O] = P ? L O].

The values of initial concentrations and the values of hourly emissions are given in Table 5. Information about the sti ness of the models in terms of the eigenvalues of the Jacobian is presented in Table 3. 1] and Lurmann et al..g.. third Bio scenario (see 8]). and the values of hourly emissions are given in Table 5. consisting of 32 chemical species involved in 70 thermal and 11 photolytic reactions. marine) environments.2 Problems B and C: The cbm-iv model These problems are based on the Carbon Bond Mechanism IV (cbm-iv) 10].g. The emission was performed in equal quantities at the beginning of each time interval. the large negative eigenvalues associated with these species are not present. The cbm-iv mechanism was designed for the numerical simulation of chemical processes in urban and in regional scale models. Information about the sti ness of the models in terms of the eigenvalues of the Jacobian is given in Table 4. while problem E a rural one. The values of initial concentrations. respectively. near urban centers) and remote (e. 4 Plus 2. 0] ?0:14. based on the work of Atkinson et. 2. This helps to relate our results to those presented in the above mentioned paper. CO .Problem Species i Re ( i ) OH ?9 All other 2 ?4 10?4 . 17] can be used to study the chemistry of both highly polluted (e. al. The concentration of H2 O was held xed throughout simulation. The simulated conditions and initial concentrations are identical to those employed in problems B and C. It follows the ipcc Chemistry Intercomparison Study. The mechanism. O . Problem D is an urban scenario. 0] Table 2: Distribution of real part of the spectrum of the Jacobian for eusmog problem A. The test problems D and E are based on the largest chemical system tested here. 5 . consisting of 84 chemical species4 involved in 142 thermal and 36 photolytic reactions. The initial concentrations and the levels of hourly emissions follow those described in 21]. Test problem C describes a rural scenario and simulates a clean atmosphere. based on ipcc scenario 3. The emission was released in equal quantities at the beginning of each time interval. H 2 2 2. 0] B A Table 3: Distribution of real part of the spectrum of the Jacobian for cbm-iv problems B and C. Test problem B describes an urban scenario and simulates a heavily polluted atmosphere.3 Problems D and E: The al model 4 species whose concentrations were held xed throughout simulation: H2 O. They employ the kinetic mechanism that is presently used in the stem-ii regional-scale/transport/chemistry/removal model 3]. Problem Species i O (1 D ) O (3 P ) (urban) C (rural) Re ( i ) Re ( i ) ?8:11 108 ?8:11 108 ?8:26 104 ?8:26 104 ROR ?2:47 103 ?2:46 103 OH ?46 ?3:5 TO2 ?4:27 ?4:2 All other 2 ?1:5. Since al does not treat explicitly O(1D) and O(3P ).

D (urban) C. 0] ?0:03. 6 .1 0.2 0 | Xylene (cbm-iv) 10 0.2 0 | Aromatics (al) 20 0. are lumped as Aromatics in the al model. which are treated independently in cbm-iv. 0] D Table 4: Distribution of real part of the spectrum of the Jacobian for al problems D and E.01 NO2 20 0.2 0 | PAN 1 | 0 | Alkans 50 2 0 | Alkens 10 1 0 | Ethene 10 0.01 HONO 1 | 30 | O3 100 | 0 | H2 O2 1 | 2 | CO 300 2 100 | HCHO 10 0.15 K Altitude 0 km Pressure 1013. initial concentrations and hourly emissions for the tropospheric problems B. E (rural) Initial Emission Initial Emission Species (ppb) (ppb/hour) (ppb) (ppb/hour) NO 50 1 0.1 Relative humidity 80% Temperature 288. Toluene and Xylene.2 0 | ALD2 10 0.1 0. Problem B.4 0 | Toluene (cbm-iv) 10 0. D and E.2 0.Problem Species i OH CRO2 CHO2 MAOO MV KO MCRG All other (urban) E (rural) Re ( i ) Re ( i) ?28 ?1:81 ?1:45 ?1:38 ?1:45 ?1:30 ?1:23 ?1:17 ?1:23 ?1:17 ?1:23 ?1:17 2 ?0:3. C.25 mbar Air density 2:55 1019 mlc/cm3 Table 5: Physical conditions.2 0 | Isoprene 10 1 1 0.

H . C O. N .4 Problem F: A stratospheric model 2 2 2 4.gov.14 490 1 0.7 mbar 8:12 1016 mlc/cm3 F Initial (ppb) 656 2. contact Douglas E. 0] Table 7: Distribution of real part of the spectrum of the Jacobian for the stratospheric problem F. 5 Model available at NASA ftp site.2 H2 370 CO 20 HC` 2. Kinnison.43 K 40 km 65o N 2. kinnison1@llnl.15 NO 10.15 Species Temperature Altitude Latitude Pressure Air density O3 NO2 H2 O HO2 CH4 C`O HOC` 241.75 6100 0. No emissions have been prescribed.22 Table 6: Initial concentrations and physical conditions for the stratospheric problem F. Information about the sti ness of the problem in terms of the eigenvalues of the Jacobian is given in Table 7. O .Species Initial (ppb) O 8. 6 Plus 6 species whose concentrations were held xed throughout simulation: H2 O. Problem Species i O (1 D ) Re ( i ) ?2:53 106 HCO ?1:06 105 C`OO ?1:70 104 CH3 ?9:98 102 H ?1:17 102 CH3O ?16 C` ?4:5 O (3 P ) ?1:37 All other 2 ?0:5. This test problem is based on the chemical mechanism that has been used in the nasa hsrp/aesa stratospheric models intercomparison. 7 . There are 34 species6 involved in 84 thermal and 25 photolytic reactions.7 HNO3 0. CH 2.35 OH 0. The initial concentrations and the values of the rate constants follow the nasa region A scenario5 with the di erence that the photolysis rates were piecewise linearly interpolated. The values of initial concentrations for the most important species are given in Table 6. For a complete description of the problem we refer to the nasa ftp site.

-1e+6.0 0. while the liquidphase mechanism is based on a chemical scheme the authors obtained from 19].15 K Altitude 0 km Relative humidity 80 % Liquid water 0.OH(aq). The gas-phase mechanism is based on cbm-iv. + HO2 (aq) . It contains 65 species7 involved in 77 thermal and 11 photolytic gas-phase chemical reactions.0 PAR 1.2 0. Of numerical interest is the fact that only for the four most negative eigenvalues does the relation i ?Li hold. CH3 O. while (di erent from the gas-phase-only test problems) the number of sti eigenvalues is much larger.5e+2. C H4 .25e+7.5 Problem G: A wet model 5 species whose concentrations were held xed: H2 O (vapour).0436 % Air density 2:50 1019 mlc/cm3 Table 9: Initial concentrations and emissions for the wet problem G. NH 2? HCOO(aq) -4. -2.2e+3.01 O3 60 NO2 0. 8 . -9e+3.3e+5.-15 All other 2 ?10. 7 Plus G 2. 39 liquid-phase chemical reactions and 39 gas-liquid mass transfer reactions. OH . -2e+4. ? NO3 (aq) . O2 . -1.5 0. 0] Table 8: Distribution of real part of the spectrum of the Jacobian for the wet problem G.5 | HCHO 1. C O2 (aq). -30. ? .46e+3. In Table 8 we have listed these large negative eigenvalues and the species with large Li . Species Initial Emission Species Initial (ppb) (ppb/hour) (ppb) NO 0. -1.01 CO 200 H2O2 1.2 | Ethene 2:4 10?2 ISOP 1. but without making a one-to-one correspondence between them. Information about the sti ness of the problem in terms of the eigenvalues of the Jacobian is given in Table 8.2e+5. H(aq). this test problem is the most di cult one.05 Xylene 2 10?2 ?2 SO2 3:3 10 | Toluene 3 10?2 Temperature 288. 3 (aq ) . O(aq ) . This is due to the rapid gas-liquid phase kinetics. H2 O (drops).65e+6. From the numerical point of view. -3.ROR.NO3 (aq) -90. -2. ? HSO3 (aq). -2e+2. O.Problem Species i Re ( i) HNO3 (aq) ?2:2 109 1 O( D) ?8:1 108 ? OH(aq) ?1:8 107 2 SO3?aq) ?1:3 107 ( HCOOH(aq). -8.2e+4. Initial concentrations are given in Table 9. SO2 (aq). -1.

3. This does not hold for all of the explicit solvers. Modi cations. The other ve solvers are explicit and special purpose. The interested reader is referred to 9]. (2) where y n denotes the numerical approximation at time t = tn and h denotes the step size. Hence our comparison emphasizes the numerical properties and performance of the solvers applied. they are ignored in the step size control. can improve their performance notably (see e. The rst is based on the most simple qssa formula y n+1 = e?hL(tn. This formula is explicit because the loss matrix L is diagonal. Often we also prescribe a minimal step size. these extremely small step sizes are redundant because the minimal time constants of importance for photochemical chemistry models are of the order of seconds and species with a time constant truly smaller almost instantaneously get in their (solution dependent) steady state when they are perturbed. However.yn ) yn + (I ? e?hL(tn . Higher accuracy levels are redundant for the actual practice of air pollution modelling. Noteworthy is that at certain times the concentrations of some species (e. radicals) can become smaller than 1. say relative accuracies near 1%.1 QSSA Two qssa solvers were used.yn ))L?1 (tn. from where for each solver and each driver program used our Fortran code can be obtained. Four of them are o -the-shelf. Because these values are insigni cant. 26] where this is illustrated for the eusmog problem).g. Atmospheric chemistry problems containing photochemical reactions can possess time constants as small as 10?8 to 10?9 seconds and step size selection mechanisms do signal these. A numerical comparison should focus on modest accuracies. y n). The implicit solvers are fully documented elsewhere and will be discussed here only very brie y. All sparse implicit solvers work with the analytical Jacobian matrix and can be shown to mimic conservation rules which exist for the ode system. Before brie y describing the solvers. For these we will therefore give the underlying integration formulas.0 mlc/cm3 .3 The solvers We have chosen nine solvers from the literature. y n)P (tn . On the other hand. All solvers use variable step size control. implicit sti ode solvers. The notion explicit thus means that no systems of algebraic 9 . implementation details on the variable step size control are omitted. the sti ness. The choices made for atol and rtol di er per solver and are not speci ed here. for example. several general remarks are in order: The explicit solvers are applied to the given ode system (1) without problem dependent modi cations. such as lumping. 13] where this form of lumping was proposed rst for the qssa method). while the fourth already contained such a technique. The variable step size control requires the choice of a relative error tolerance rtol and an absolute error tolerance atol. The explicit solvers are not standard. The use of a minimal step size improves e ciency since extremely small steps can be selected by a variable step size selection scheme. too large lower bounds for the step size can cause convergence and loss of accuracy problems to the numerical solvers.g. or to enforce conservation for a chemical family (see 12. general purpose. but have the disadvantage of being problem dependent. To save space. Three of them have been modi ed by implementing a sparse matrix technique. With lumping we mean here the technique of grouping species into chemical families to reduce.

so as to compute the new approximations yki+1) .equations need to be solved. where fac = tol=err with err the estimation for the local truncation error. the species are dynamically separated into two categories (fast and slow) according to the relative magnitude of their life-times k = 1=Lk with respect to the current step size h. in an explicit manner. In case of p convergence the integration proceeds with hnew = h min (1:1. the step is rejected and the computations restarted with hnew = 0:6h. . It only restricts hnew . h=2). fac). h=2). However. whereas (2) is of order one. The extrapolated scheme is slightly more than two times expensive per time step of length h. It is emphasized that the step selection in the original chemeq is based uniquely on the convergence of corrector iterates. n+1 n+1 n+1 n yh=2 = Q(yh=2 =2 . Our implementation of chemeq follows the one described in 21] and is based on the following predictor-corrector pairs (the abbreviation Pkn stands for Pk (tn . In the original algorithm. however. h). ( They are applied. 10 (i+1) ? (i) max yk (i+1)yk k y k 0:3 tol. yh +1 = Q(y n.): If k > 5h (slow species): n n n (4a) predictor : yk +1 = yk + h(Pkn ? Ln yk ) k h (P n ? Ln yn + P n+1 ? Ln+1 yn+1 ) n n corrector : yk +1 = yk + 2 k (4b) k k k k k If 0:2h 5h (intermediate species): n n n n n predictor : yk +1 = yk (2 k ? h) + 2hPk k n 2 k +h y n ( n + n+1 ? h) + h (Pkn + Pkn+1 ) ( kn + kn+1 ) n 2 corrector : yk +1 = k k k n + n+1 + h k k If k < 0:2h (fast species): k n n steady state assumption : yk +1 = Pk Ln k 3. denoting yki) as the k-th component of the i-th ( corrected approximation y (i) for y n+1 . a local error greater than tol does not force a step rejection. whereas we use an estimation for the local error to govern the step size. h) refers to (2). The order of accuracy of (3) equals two. The correctors are applied until where tol is an imposed tolerance value for the step size control which is based on atol and rtol. In case of non-convergence. in all occurrences yki) is simply substituted in the right-hand sides of ( the corrector formulas. See 9] for more details. It is currently implemented in the calgrid mesoscale model 29]. y n+1 = 2yh=2 ? yh +1 . The second is based on a Richardson extrapolated form of (2) and reads 16] n+1 n yh=2 =2 = Q(y n. Each category is integrated with a special predictor-corrector formula. etc. y n). (3) where Q(yn . One of the rst dedicated. See 9] for more details.2 CHEMEQ (5a) (5b) (6) A quick inspection will reveal that the corrector formulas are all derived from the implicit trapezoidal rule. Hence. explicit methods for solving chemical equations in comprehensive advectionreaction models is the hybrid algorithm of Young and Boris 30]. following chemeq philosophy.

i. the steady state assumption is made. 2 k k 1 1 n+1 + Ln : L k k ! ! (9) (10) (11) n where k +1 is de ned by n+1 k = 1 P n+1 + P n k 4 k n yk +1 = If k < 0:1h. To describe the formulas used. the equations are corrected using the QSSA type formula n n n n yk +1 = k +1 + (yk ? k +1 ) exp " 1 ? Ln + Ln1+1 h .3 ET y n+1 = e?hLn yn + (I ? e?hLn )(Ln)?1 P n : Like for chemeq. 3. The approximations used for the extrapolation are computed with a predictor-corrector pair of which the corrector is a QSSA type formula.The solver et uses an extrapolation algorithm proposed in 4]. Hence the evaluations of the right-hand side of the implicit formulas have to be thought of as carried out in the same way as for chemeq. The predictor formula implemented in the solver tested in this paper is the simple QSSA formula 3. to some extent. 27] is based on the variable step size. 26. by which (12) can be written as ?1 n y n+1 = F (y n+1 ) := I + hL(tn+1 . we adopt the implicit notation used for chemeq. For details about how the extrapolation is organized and the corrector is used we refer to 4]. In the application of these techniques we exploit.e. y n+1). the trapezoidal rule is used. n n n n yk +1 = yk + h (Pkn ? Ln yk + Pkn+1 ? Ln+1 yk +1 ): k k 2 (7) (8) # If 0:1h k 100h. the corrector dynamically separates the species into three categories: If k > 100h. y n+1) Y + hP (tn+1 . the classical Gauss-Seidel or Jacobi iteration technique is used for computing an approximation to the implicitly de ned y n+1 . two-step backward di erentiation formula (bdf) y n+1 = Y n + hf (tn+1 . (12) Y n = (c + 1)2yn ? y n?1 =(c2 + 2c): The 2nd-order bdf formula (also denoted by bdf2) has been chosen in view of the modest accuracy requirement. c = (tn ? tn?1 )=(tn+1 ? tn ) and h = tn+1 ? tn. n+1 k : The actual implementation uses a variable step size. where = (c + 1)=(c + 2). See also 9] for more details. the production-loss form (1).4 TWOSTEP twostep 25. y n+1 ) : (13) 11 .. Rather than using the common modi ed Newton iteration.

twostep allows a maximal growth in step size at restart by a factor of two. Hence Jacobi iteration is somewhat easier to use. This reduces the costs of solving the linear algebraic systems arising in the modi ed Newton iteration. ::: . given the iterate y (i) as the i-th approximation for the sought solution y n+1 . At restart the one-step backward Euler formula is therefore used. 3. Here we will use both types of iteration techniques. That is. ym) . The latter is popular in the eld of atmospheric chemistry. ym) ]T : The fact that in v the rst (k ? 1) components are taken from the new iterate. ::: . although Gauss-Seidel has to be programmed in line. yki?1 . but still quite acceptable in view of the explicit iteration process. makes (14) a Gauss-Seidel type iteration process. 11] and a successor of the \Livermore Solver" lsode from 14]. where v denotes the intermediate vector ( ( +1) ( (i v = y1i+1). twostep computes the next iterate y (i+1) by the componentwise formula ( ( ( +1) ( (i yki+1) = Fk y1i+1). More precisely. except that we modi ed the code to carefully exploit the sparsity of the Jacobian matrix. This is less than one-step solvers usually allow. then an iteration method of Jacobi or Picard type results. reorders the species using a diagonal Markowitz criterion. which simply means that Y n = y n . Note that for the Gauss-Seidel technique the order of the species plays a role when only a small number of iterations are used. 11]. The explicit iteration process is the same. The necessary routines are automatically generated by the symbolic chemical preprocessor kpp 5]. We used the sparse linear algebra implementation described in 20].5 VODE Vode is a \Variable coe cient Ordinary Di erential Equation" solver based on the implicit bdf formulas 2. In 15] and 26] it has been shown that this is very pro table for atmospheric chemistry problems. which transparently: determines the sparse analytical Jacobian. analyses the pattern of zeros in the Jacobian and builds the data structures needed for the sparse Doolittle lu decomposition. ::: . For more details on the code we refer to 26. in order to minimize the ll-in resulting from the lu decomposition of the matrix used in the modi ed Newton process. In 26. k = 1. ::: . for the computation ( of yki+1) only division by the scalar variable 1 + hLk (tn+1 . 27] this has been shown to work well. In all experiments we in fact restrict the number of iterations to only two. yki). We used vode as a black box with its user parameter istart = 1. 27] and 9]. v ) is required. When we take all m components in v from the old iterate y (i) . so that there is no additional penalty at restart associated with extra linear algebra computations as is the case for implicit solvers using a Newton type iteration. generates loop-free code for the forward-backward substitution routines. yki?1 . Computationally there is not much di erence between the two.The Gauss-Seidel technique is now applied to the nonlinear system of equations y = F (y ). 12 . For a discussion of the mathematical techniques implemented we refer to 2. m: (14) This results in an explicit computation owing to the diagonal form of L. twostep is based on a two-step formula which cannot be applied at an operator-split restart. yki). :::.

e. transport time step. Runge-KuttaRosenbrock method using six stages. Lsodes is a version of the popular bdf code lsode which exploits the sparsity in the Jacobian matrix by calling linear algebra routines from the Yale Sparse Matrix Package 7. subinterval means that we reckon with a 1800 sec. For our application an important di erence is that vode uses a dedicated sparsity technique. It is based on a 4-th order. This means that we split the total integration interval into N subintervals of length t. 3. 6]. The code was applied with its user parameter setting mf = 121. See 9] for other speci c parameter settings.5. Restarts are expensive for implicit solvers using a Newton type iteration due to the linear algebra overhead. We have only modi ed it for the treatment of sparsity as described in Section 3. It is obvious that vode and lsodes are closely related. The code has been modi ed for the treatment of sparsity as described in Section 3. It is based on a 4-th order. it allows a fast increase in step size after a restart. analytical Jacobian with an inner estimation of the sparsity structure. since this length determines the number of restarts.7 RODAS 3. 10?2 rtol i (mlc/cm3) where i estimates the magnitude of the concentration of species i. The 3600 sec.8 LSODES 4 Setup of experiments The solvers are tested as if they were used in an operator splitting environment. i. All strategies were unaltered. since they are able to enlarge the step size after restart considerably faster. This holds in particular for the multistep solvers vode and lsodes. Generally. which is less e cient. lsode and lsodes are often used to solve atmospheric chemical kinetics equations (see e. assuming a Strang splitting symmetrized around the chemistry step. in general. See 9] for speci c parameter settings. We therefore set them componentwise as atoli = max 10?2 . For the one-step implicit solvers rodas and sdirk4 the penalty is less. This means that part of the reaction constants are determined by time of the day dependent photolysis rates which undergo a rapid change at sunrise and 13 . 21]). For all test problems the length of the subintervals equals t = 3600 sec. See 9] for other speci c parameter settings. See 9] for speci c parameter settings. 3. for any explicit solver the penalty is also less because of the absence of linear algebra overhead. This solver is also of one-step type and hence shares the advantage of a fast increase in step size after a restart with sdirk4. It should be stressed that the choice of the subinterval length is important for a box-model comparison.6 SDIRK4 This solver has been borrowed from Hairer and Wanner 11] where a full description along with numerical results can be found. whereas lsodes uses the general Yale package.The performance of vode appeared to be sensitive to the choice of the absolute tolerances. This solver has also been borrowed from Hairer and Wanner 11].5. All test problems contain photochemical reactions. leading to N = 120 new starts over the 5 day period. For each subinterval we then restart the integration of the sti solvers. Because this solver is of one-step type. Using the natural value atol = 1:0 was not always optimal. For atmospheric chemistry applications this is an obvious advantage. diagonally implicit Runge-Kutta method using ve stages. Hence all strategies were unaltered.g.

The work-precision diagram is given in Figure 1. where J = f0 n N : jy (t )j ag : ERk = jJ j k k n yk (tn ) k n2Jk v u u t (15) Hence we compute specieswise a temporal error measure. which we then represent in the plots in two ways. et and chemeq are the slowest among the tested routines. D.sunset. However. in the work-precision diagrams of the following section. where i estimates the magnitude of the concentration of species i in unit mlc/cm3 . It is also worth noting that the qssa performance greatly improves by extrapolation. The good performance of implicit integrators is due in part to the small dimension of the system which means less work with the linear algebra. For an accuracy of two digits. Finally. If the set Jk is empty. Observe that SDA = 2 means 1% accuracy in the error measure used. The numerical results for all test problems are compared to a very accurate reference solution computed by the code radau5 from 11] with the very tight tolerances rtol = 10?12 . Note that the jacobi and (gauss-)seidel versions of twostep have similar performance for this test problem (see also 26]). while in Problems B. With the reference solution y and the numerical solution y available at ftn = t0 + n t. the value of ERk is neglected. atoli = 10?15 i. The implicit integrators and the two versions of twostep perform very well. sparse vode appears to be the fastest. The di erent data points in the plots for the same solvers are associated to runs carried out for di erent relative tolerances. This is of course dependent on the computer architecture used. de ned by SDA1 = ? log10 (max ERk ): k The threshold factor a used here is given the value a = 1:0 mlc/cm3 . F and G by a C 1 function which are zero at nightly periods. Through the number of signi cant digits for the average of ERk .0 mlc/cm3 . In discussing the results presented in the next section we focus on this accuracy level. It is clear that the simplest qssa solver. In Problem A the photolysis rates are given by a C 0 function. k m k=1 (16) (17) and the number of signi cant digits for the maximum of ERk . we ^ rst compute for each species k 1 X yk (tn ) ? y^k (tn ) 2 .1 Problem A: The eusmog model 5 Results and illustrations . All the runs were made in double precision on a HP-UX 935 A workstation with a cpu clock frequency of 125 megaherz and 160 Mbytes ram. Our measure of accuracy is based on a modi ed root mean square norm of the relative error. It is instructive to present the accuracy of the computed results using averaged and maximal errors taken over the number of species. C. We thus plot the SDA values against the measured cpu times on a logarithmic scale in unit seconds. the relative magnitudes shown here should be applicable to scalar computers in general. 0 n N g. The purpose of considering the above de ned error measure instead of the root mean square norm (a = 0) is to avoid chemically meaningless large relative errors for concentration values smaller than 1. This change gives rise to large variations in concentration values and normally force a solver to adjust the step size. 14 5. e ciency is measured by cpu time. E. de ned by SDA1 = ? log10 ! m 1 X ER .

In Figure 2 the numerical results for test problems B and C are presented. 3. twostep jacobi (dashed with \o"). rodas appears to be the fastest. Sparse rodas (solid with \x") and lsodes (solid with \o"). In both scenarios chemeq performs better than the plain qssa scheme but worse than Extrapolated qssa. 5.Problem A (EUSMOG). vode is consistently faster than the general purpose lsodes.5 −1 10 10 CPU time [seconds] 0 Figure 1: Work-precision diagram for test problem A (eusmog): twostep seidel (dashed). vode. SDA_inf. SDA_1.01 sec. qssa is clearly the slowest. for seidel. despite its generality.5 −1 10 10 CPU time [seconds] 0.2 Problems B and C: The cbm-iv model 15 .01 sec.1 sec. Extrapolated qssa (dots with \o"). for test problems B and C lsodes performs very well. A minimal step size larger than 0. for jacobi and 0. This is due to the fact that they use higher order formulas (nicely represented by the higher slopes of their diagrams). 4 4 Problem A (EUSMOG). Since twostep was used with a xed number of only two iterations. Its work-precision diagram is situated to the far right of Figure 2. As expected. The explicit solver et is not competitive at all. the lsodes and sparse vode diagrams are similar. but by extrapolation it gains about one accurate digit for the same cpu time. et (dots with \ "). Working with prede ned sparsity data structures. However.5 3. creates similar problems in twostep seidel.5 Number of Accurate Digits 0 3 3 2. except that the lsodes one is shifted to the right.. Sparse sdirk4 (solid with \ "). lsodes and twostep seidel. which makes the convergence of the Jacobi iteration very slow on part of the time interval.1 sec.5 1. An interesting remark is that the slope of the twostep jacobi diagram decreases when higher accuracies are required. This is due to an imposed minimal step size of 0.5 Number of Accurate Digits 2.5 1 1 0. Among the other integrators. For obtaining two accurate digits. this is directly re ected in the accuracy of the solution.5 2 2 1. chemeq (dash-dots). The gap between the two twostep diagrams is due primarily to the di erent values of the minimal step size used: 0. followed by sdirk. The latter is the best when less accuracy is demanded. Sparse vode (solid). qssa (dots). while the implicit codes are preferable for higher precisions.

5 0 10 10 CPU time [seconds] PROBLEM C (CBM−IV RURAL). SDA_inf. SDA_1. 3. twostep jacobi (dashed with \o").5 3.5 Number of Accurate Digits 0 1 3 3 2.5 1 1 0.5 0.5 1. Extrapolated qssa (dots with \o").5 2 2 1. 4 4 3.5 Number of Accurate Digits 1 3 3 2.5 0 10 10 CPU time [seconds] 0. Sparse rodas (solid with \x") and lsodes (solid with \o").5 Number of Accurate Digits 2.5 1 1 0. 1 PROBLEM C (CBM−IV RURAL). Sparse sdirk4 (solid with \ "). qssa (dots). SDA_1. 4 4 Problem B (CBM−IV URBAN).5 3. Sparse vode (solid). 16 .5 1. SDA_inf.Problem B (CBM−IV URBAN). et (dots with \ ") chemeq (dash-dots).5 10 10 CPU time [seconds] 10 0 10 CPU time [seconds] 1 Figure 2: Work-precision diagram for test problems B and C (cbm-iv): The upper pair of diagrams correspond to problem B and the lower pair to problem C.5 2 2 1. twostep seidel (dashed).5 Number of Accurate Digits 2.

at rst sight. this test problem has a large number of sti eigenvalues. this imposed minimal step size causes convergence problems at part of the time interval. with the exception of twostep seidel. For both problems all sparse implicit solvers outperform the dedicated explicit ones.5 Problem G: The wet model . We tested each routine with the loosest restrictions on step size and tolerance for which the numerical results were still meaningfull. The implicit solvers enjoy this. the situation becomes truly di erent. This means that even for fairly large chemical systems. The timings obtained for integrating the rst 10 seconds (or 1 hour) of evolution are given in Table 10. Among the dedicated integrators. As seen in Table 1. chemeq and the two qssa solvers. the cpu timings being then similar to those obtained for the stratospheric problem. For the sparse implementation a rough estimation of the linear algebra workload is given by the number of nonzero elements in the Newton matrix. but the integrators perform quite di erently relative to each other as shown in Figure 4. Without emissions. even this code selects very small step sizes.3 Problems D and E: The al model The results are reported in Figure 3. since as a rule they allow larger step sizes than twostep. Because we use a sparse linear algebra implementation. 17 5. twostep seidel performs best. In particular. for this problem the implicit codes require less cpu time than for cbm-iv. since the same urban and rural scenarios are simulated with both cbm-iv and al.5. Noteworthy is that the one-step solver rodas is the fastest in the 1% error region. most of which cannot be associated to certain short lived species. See the codes 9] for the exact setting of the parameters. The explicit solver et fails to integrate problem D and is among the slowest for problem E. The chemeq diagram is in between that for qssa and extrapolated qssa. Our test results shown in Figure 3 clearly illustrate this. with m the number of species. There is not much di erence between their performances. The gap between this code and its jacobi version is again due to the fact that seidel iterations allow the use of larger values for the minimal step size. but there is a large gap between them and the explicit codes. It is interesting to compare code performances to those obtained for test problems B and C. the current problems D and E being much larger. their linear algebra workload would have increased as m3 . When looking at the results. If a standard implementation of the implicit solvers was used. whereas for twostep the amount of cpu time almost remains equal. sparse implicit solvers may very well remain competitive. while for dedicated explicit integrators the workload increases linearly with m. Thus. For the more di cult urban problem. the two one-step solvers rodas and sdirk4 are always faster than their bdf counterparts vode and lsodes. They di er however in the number of reactions and species. for su ciently large problems use of explicit integrators seems to be preferable. However.4 Problem F: The stratospheric model 5. The latter clearly performs better in the rural cases than in the urban ones for both cbm-iv and al mechanisms. From an additional investigation we learned that the absence of emissions in the stratospheric problem must play a role here. We have checked this observation by removing the emissions in the cbm-iv model. Still. As we have previously seen. concentration values vary less in between the one hour subintervals. keep in mind the fact that all the implicit solvers integrate the test problem along the ve days interval in less than 10 seconds cpu time. This problem has about the same dimension as the two cbm-iv problems. this number increases almost linearly with m for the test mechanisms considered here. The implicit integrators work best. which explains the curious slopes of twostep in the range of high accuracies for the more di cult urban scenario. Numerical results con rm that the explicit formulas described in Section 3 cannot solve this problem with a reasonable e ciency. with the largest for et. This makes the test problem G numerically challenging in the sense that the explicit methods fail. In this case the implicit solvers also integrate much faster.

3. 4 4 Problem D (STEM URBAN). 4 4 10 CPU time [seconds] Problem E (STEM RURAL).5 Number of Accurate Digits 1 3 3 2. SDA_inf.5 Number of Accurate Digits 2.5 3.5 0. 18 . SDA_1.5 2 2 1.Problem D (STEM URBAN). Extrapolated qssa (dots with \o").5 1 1 0. while lower pair to test problem E.5 2 2 1. twostep jacobi (dashed with \o").5 10 CPU time [seconds] Problem E (STEM RURAL).5 1 1 0. qssa (dots). et (dots with \ ").5 1. twostep seidel (dashed).5 0 10 CPU time [seconds] 10 1 Figure 3: Work-precision diagram for test problems D and E (al): The upper pair of diagrams correspond to test problem D.5 0 10 CPU time [seconds] 10 0. SDA_1. chemeq (dash-dots).5 Number of Accurate Digits 2. Sparse rodas (solid with \x") and lsodes (solid with \o").5 1. Sparse sdirk4 (solid with \ ").5 Number of Accurate Digits 1 3 3 2.5 3. SDA_inf. Sparse vode (solid). 1 3.

Although the original vode had no problems integrating this model. No minimal step size was prescribed for lsodes. 19 . This estimated time is given in the last column of Table 10. For sparse vode the maximal order was restricted to 3. 4 4 Problem F (STRATO). Verwer (janv@cwi.5 10 10 CPU time [seconds] 10 0 10 CPU time [seconds] 1 Figure 4: Work-precision diagram for test problem F (strato): twostep seidel (dashed).5 Number of Accurate Digits 2. the sparse version selected tiny step sizes when a maximal order of 4 or 5 was used.5 2 2 1. The behaviour of the dedicated integrators is typical for standard explicit formulas applied to general sti problems. twostep jacobi (dashed with \o"). 3. still undiscovered errors and/or less optimal settings of user parameters may have a ected part of the numerical results presented here. while for vode a minimum of 10?8 sec. et (dots with \ "). To make the terms of comparison more clear.. we estimated the CPU time that would be needed to complete the ve days simulation.G.5 1. which is not the case when a fully implicit implementation of the bdf2 formula is used (vode with restricted maximal order). Extrapolated qssa (dots with \o").uiowa. The explicit solver et gives a oating point exception on this test problem and is not included in the table. 6 Overall conclusions and remarks Although we have taken any reasonable precaution in implementing the models and in testing the codes. Some e ort has been made to optimize the performance of the implicit solvers for this test problem.5 Number of Accurate Digits 0 1 3 3 2.5 3. In future work we will continue evaluating hybrid and other numerical schemes. The interested reader therefore is invited to repeat the experiments using our codes from 9] and to join us 8 in this benchmark activity.edu).5 0. SDA_inf. which shows that rodas.Problem F (STRATO). Sparse vode (solid). vode and sdirk4 perform equally well. chemeq (dash-dots). The work-precision diagram for the implicit schemes is given in Figure 5.nl) and A. rodas and sdirk4 were used with a minimal stepsize of 10?3 sec. SDA_1. The results presented in the present paper indicate to the following conclusions 8 Contact J. Sparse sdirk4 (solid with \ "). Sandu (sandu@cgrer. Sparse rodas (solid with \x") and lsodes (solid with \o"). appeared to be best. qssa (dots).5 1 1 0.

SDA_inf.5 Number of Accurate Digits 2.5 1.5 1 1 0.3 hours Table 10: The timing of dedicated integrators on test problem G.5 3. The last column represents the estimated Problem G (WET). SDA_1. 3.5 2 CPU time [seconds] 7 Figure 5: Work-precision diagram for test problem G (wet): Sparse (solid).3 min 10. 20 .5 2 CPU time [seconds] 7 0.5 2 2 1. Integrator cpu Estimated time total cpu 19 min 350 days 33 min 650 days 0.Simulated interval qssa 10 sec Extrap qssa 10 sec chemeq 10 sec twostep J 10 sec twostep S 3600 sec cpu time needed to complete the ve days simulation. Sparse sdirk4 (solid with \ ").5 min 15 days 9 min 270 days 5.5 Number of Accurate Digits 3 3 2. Sparse rodas (solid with \x") and lsodes (solid with \o"). 4 4 Problem G (WET).

The best sparse implicit solvers and the best explicit solver (twostep) should also be compared in 3D model applications. The one-step Runge-Kutta solvers rodas and sdirk4 clearly work better on the urban al problem. In most cases sparse vode is more e cient than the related sparse bdf solver lsodes. often with a wide gap. Some additional runs with sparse vode without a minimal step size as well. the di erence in sparse matrix treatment being more important. While box model tests are needed to select and develop promising ode solvers. the issues of memory use. in real 3D transport-chemistry models other factors should be taken into account as well. This solver outperforms the other explicit solvers on all problems. We owe this to the fact that vode uses a dedicated sparsity technique. In most test cases sparse rodas is the fastest in the 1% error region. Carmichael and Potra was supported in part by the doe under grant no DE-FG02-94ER 61855 and by the Center for Global and Regional Environmental Research. since this determines the number of restarts. Gauss-Seidel iteration must be programmed in line which makes twostep jacobi somewhat easier to use. this requires a considerable knowledge of the reaction mechanism. Optimal ode solvers should be tested in a 3D software environment where vectorization and parallelization take place. In general twostep seidel is more e cient than twostep jacobi. when two or more accurate digits are required. Acknowledgements The work of the authors Sandu. vectorization 15. 21 . 28] and parallelization are of great practical importance too. Finally. It is important to note that dedicated explicit solvers can sometimes be signi cantly improved by problem dependent modi cations like lumping and/or group iteration. This code should not be applied to gas-liquid phase problems. Of the dedicated explicit solvers. although their ranking relative to each other may di er per problem. However. In general rodas. In all the cases they give the fastest solution. Restarts are expensive for implicit codes and one-step methods of Runge-Kutta type have an advantage here over multistep methods. Since all the tested implicit solvers are general purpose ones. with vode being the best for problems A and F. demonstrated that this plays a minor role. Of course. twostep is clearly the best. The current research will therefore be continued with a search to determine also a best or near-to-best sparse implicit solver for atmospheric chemistry problems. Also robustness and ease of use are important in 3D models. The authors Verwer and Van Loon gratefully acknowledge support from the rivm (Dutch National Institute of Public Health and Environmental Protection) for the projects eusmog and cirk. except for the use of sparsity. Quite important is the length of the time step in the operator splitting. including the gas-liquid phase one. we de nitely think that within this class of methods there is considerable room for e ciency improvements for atmospheric chemistry applications. twostep is advocated for gas-phase problems only.and remarks: The sparse implicit solvers work e ciently for all problems tested here. We should also mention that lsodes is used without a precribed minimal stepsize. since a subtle tuning of the ode code is cumbersome due to the large variety of conditions that will occur at di erent gridpoints. whereas lsodes uses the general Yale sparse matrix package. Both have been applied with the extra storage option for the Jacobian matrix so as to avoid Jacobian updates when possible. It should be noted that vode appeared to be somewhat sensitive to the choice of the absolute tolerances and the choice of a minimal step size. vode and sdirk4 have comparable performances.

Schultz. Atmospheric Environment. D. and A.A.W..User's guide. Dodge.JR. 14] A. VODE: A variable coe cient ODE Solver. Technical report. Kinet.References 1] R. University of Iowa (cd pub=Ode?benchmark. L. Quasi-steady-state-approximation in air pollution modelling: comparison of two numerical schemes for oxidant prediction.L. Vol. Springer-Verlag. and G.H. Comput. Department of Mathematics. University of Iowa..R.A.W.. mget ). Research Report 114. In: R. 510:219{226.D. M. Hampson. Killus. 15] M. al. Extrapolation techniques used in the solution of sti ODEs associated with chemical kinetics of air quality models. M. Hov. J. and J. Potra. Lurmann. Baulch. Wanner. A. I. WMO publication. 18:1145{1151. Atkinson. and T. 10] M. Kitada.H. and R.O.C. Cox. Hairer and G. Byrne. Peters. 3] G. i. Seinfeld. 1989.). Technical report 67. 1995. Sandu. Intercomparison of tropospheric chemistry/transport models. and I. 1995. Atmospheric Environment.C. Hesstvedt.A symbolic preprocessor for chemistry kinetics . Sherman. G. 1994. Amsterdam. Eisenstat. G. M.C. The symmetric codes. J.A. ii. Ftp site at the Center for Global and Regional Environmental Research. Evaluated kinetic and photochemical data for atmospheric chemistry. Jacobson and R. 10:1038{1051. ODEPACK: A systematized collection of ODE solvers.936. . Eisenstat. Eng. Solving Ordinary Di erential Equations II. A numerical method to predict secondary air pollutants with an application on oxidant generation in an urban atmosphere.C. Int. J.P.K. A second generation model for regional-scale transport/chemistry/deposition.uiowa. 10:971{994. Hindmarsh. 29:403{410. 94:12925{12956. Yale Sparse Matrix Package. 1996.D. Sherman. and E. 1986. 1989. Sci. 1977. Journal of Geophysical Research. Chem.Z.cgrer. Whitten. 17] F.S. Journal of Chemical Kinetics.C. 11] E. Stat. 12] . Loyd. 8] M. Gery. 1989. World meteorological organization. 17:273{284. Turco. R. 1. 22 . Atkinson. R. 20:173{188. Sti and Di erential-Algebraic Problems. 1995.905{10. 9] ftp. 1982. Troe. 1991.F. 4] D. 5] V. 16] L.H. Kerr. M. KPP . The nonsymmetric codes.H.edu. Journal of Geophysical Research.R. 91:10. IMACS Trans. University of Iowa. SIAM J. Meth. Gursky. Dabdub and J. Num. F. Prather et. Isaksen. Scienti c Computing. 1978. Carmichael. A chemical mechanism for use in long-range transport/acid deposition computer modeling. 1986.C. Gursky. 1995. Isaksen. Int. Department of Computer Science. J. and M. Scienti c assesment of ozone depletion. Brown. Damian-Iordache and A.Z.P.H. 7] S. SMVGEAR: a sparse-matrix. Carmichael. Yale Sparse Matrix Package. 1978. 6] S. Atmospheric Environment. 13] E. Stepleman (ed. and A. vectorized Gear code for atmospheric models. Hov. Yale University. North Holland. Department of Mathematics. Improved QSSA methods for atmospheric chemistry integration. Hindmarsh. Hesstvedt. A photochemical kinetics mechanism for urban and regional scale computer modeling. on Scienti c Computation. Jay. A. 1983. 21:115{190.C. 2] P. and A.C. Berlin. Sandu. Schultz.N.

R. van Loon. van Loon.G. On the comparison of numerical methods for the integration of kinetic equations in atmospheric chemistry and transport models.J.R. Atmospheric Environment. 20:191{209. van Loon. A numerical technique for solving sti ODEs associated with the chemical kinetics of reactive ow problems. 21] R. Scire. 1995. 1994. 24] M. Matthijssen. Verwer. 1995. Yamartino. Technical Report 2/93. 27] J. Goodin. University of Iowa.. Saylor and G. Comput. D. J. Laboratoire d'Aerologie OMP. 1995.J.18] G. 26 A:1493{1512. Applied Numerical Mathematics. 19] J. J. 15:1243{1250. Simpson. Andersson-Skold. The Norwegian Meteorological Institute. Damian. Department of Mathematics. Sandu.H. Verwer. Blom. Center for Mathematics and Computer Science.R. Seinfeld.A. 1977. 30:49-58.G. EMEP MSC-W. Journal of Physical Chemistry.G. 18:413-430. Young and J.G. 23 . Spee. and Y. Center for Mathematics and Computer Science. 25] J. P. 45:1{42. Verwer and D. Potra. Updating the chemical scheme for the EMEP MSC-W oxidant model: current status. 1995.S. Gauss-Seidel iterations for sti ODEs from chemical kinetics. V. and G. SIAM Journal of Scienti c Computing. Amsterdam. 1996. Carmichael. Hundsdorfer. 81:2424{2427. Boris. 1995. and E. Numerical smog prediction II: Grid re nement and its application to the Dutch smog prediction model. Jenkin. and J. 29] R. D. Carmichael. Chang. 1995. CWI Report NM-R9411. J. Explicit Methods for sti ODEs from atmospheric chemistry. Ford. 22] D. Y. CWI Report NM-R9523. Numerical solution of the atmospheric di usion equation for chemically reacting ows. 1992. 20] A. Atmospheric Environment. Phys. R. E cient implementation of fully implicit methods for atmospheric chemistry. A comparison of sti ODE solvers for atmospheric chemistry problems. Technical report 79. and M. 1993. 29:2585{2593. Simpson. Blom and W. Amsterdam. Numerical smog prediction I: The physical and chemical model. McRae. 23] M. An implicit-explicit approach for atmospheric transport-chemistry problems. Toulouse. W.H. 28] J.E. Verwer. F. Atmospheric Environment. The CALGRID mesoscale photochemical grid model. G. France.G. 1982. Oslo. 26] J. M.G. J. Applied Numerical Mathematics. 30] T. Private communication. 1996.