use dss in ClimaODEfunction; update docs #321
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Purpose
Closes #293.
Hides some internals from users with respect to setting up the ClimaODEFunction:
-Employs dss! in all tutorials and experiments. internally, whether or not dss! does anything depends on the domain of the model/whether spectral elements are used.
-creates the function get_ClimaODEFunction(model, Y) which creates the clima ode function suitable for the model (implicit/explicit tendencies, jacobian, dss)
To-do
get_ClimaODEFunction(model, Y)
(or do we need to? does it matter if the jacobian is nothing, the update_jacobian function does nothing?)This arises because we have:
AbstractLandModel <: AbstractModel
AbstractImExModel <: AbstractModel
AbstractExpModel <: AbstractModel
currently in this PR, we only have the single method for AbstractModel for all jacobian functions, and for the get_ClimaODEFunction.
Make clear in tutorials when to use explicit steppers vs imex timesteppers. Right now this has to be inferred from the type of the model or type of the component models of a land model.
Content
Creates
get_ClimaODEFunction
, which required a functionmake_jacobian
, and uses this is all tutorials/experimentsReview checklist
I have:
In the Content, I have included