Open sandreza opened 4 years ago
Can you elaborate on the specific time stepping methods used in the Clima code, and which ones would be good to have implemented in OceanTurb? I know many types of high-order time stepping, but I think you are referring to something quite specific.
For the explicit terms I mean something like the low storage runge kutta schemes. For the implicit terms, in addition to direct solvers, it would be good to have iterative solvers. Not because they are necessary for the simulation of the parameterization, but rather because it makes it as close as possible to the numerical method implemented in CliMa. One fear I have for parameter estimation is that it depends on the numerical method used and this would help us to test whether this is or is not a concern.
Can you identify a specific iterative method with a low storage RK scheme that you would like to see implemented and provide a reference or link to information about the solver you are suggesting so that this issue becomes actionable?
Something like what is on pages 62-64 of the Nodal Discontinuous Galerkin Methods book by Jan S. Hesthaven and Tim Warburton. See, for example, line 424 of https://github.com/sandreza/NodalDiscontinuousGalerkin/blob/master/src/utils.jl
At some point, it would be good to think critically about how to obtain a higher-order time-stepping scheme for nonlinear diffusivities as well as finding methods for testing such ideas. Currently, the previous time-step is used to determine the diffusivity that needs to be implicitly inverted and the explicit part is treated with a lower order explicit method. In the future, we would want similar implementations of time-stepping similar to what is in the CliMa code.