NCAR / micm

A model-independent chemistry module for atmosphere models
https://ncar.github.io/micm/
Apache License 2.0
6 stars 4 forks source link

Did we use gamma correctly? It's an array, but we only ever use the first element #604

Closed mattldawson closed 1 month ago

mattldawson commented 1 month ago

If gamma is the same for each stage, only one LU decomposition is used for each stage (page 103 Hairer and Wanner, 1996). This may be why there is only one gamma used. Verify that this really is correct

Ideas

[1] Hairer, E., Wanner, G., 1996. Solving Ordinary Differential Equations II: Stiff and Differential-Algebraic Problems, 2nd edition. ed. Springer, Berlin ; New York.

K20shores commented 1 month ago

It appears that any gamma past index 0 is only used for non-autonomous equations.

https://github.com/KineticPreProcessor/KPP/blob/main/int/rosenbrock.f90#L612-L615

Autonomous equations are those that are independent of time $F=F(y)$ and non-autonomus equations are dependent on time $F=F(t,y)$. In our case, I think we are autonomous equations.

Even though the jacobian and forcing are physically dependent on time, this information is already accounted for in the calculation of the rate constants which are not recalculated during timestep refinement.

@sjsprecious @mattldawson @mwaxmonsky @boulderdaze. I think we can close this issue because of this. What do y'all think?

sjsprecious commented 1 month ago

@K20shores I think you are right that the chemistry system is an autonomous equation and the usage of gamma parameter is correct here.

boulderdaze commented 1 month ago

I think your reasoning is well described for me to believe the system solves autonomous equations. I agree with you.