Skip to content

Commit

Permalink
Minor doc improvements (#8)
Browse files Browse the repository at this point in the history
* add addition process to list

* clarify a bit more what does a "process" mean

* even more wording impveoement

* bump version
  • Loading branch information
Datseris authored Mar 17, 2024
1 parent c19e382 commit 21873dd
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 5 deletions.
2 changes: 1 addition & 1 deletion Project.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name = "ConceptualClimateModels"
uuid = "3e640dcb-3446-4ed7-aadb-0366b77312ec"
authors = ["Datseris <[email protected]>"]
version = "0.1.1"
version = "0.1.2"

[deps]
DynamicalSystemsBase = "6e36e845-645a-534a-86f2-f5d4aa5a06b4"
Expand Down
1 change: 1 addition & 0 deletions docs/src/processes.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ a simple way to create new processes for a given climate variable:
ParameterProcess
TimeDerivative
ExpRelaxation
AdditionProcess
TanhProcess
```

Expand Down
23 changes: 19 additions & 4 deletions docs/src/tutorial.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,27 @@
# [Tutorial](@id tutorial)

With ConceptualClimateModels.jl one makes differential equation systems from _processes_.
A _process_ is simply a particular equation defining the dynamics of a climate variable.
ConceptualClimateModels.jl follows a process-based modelling approach
to make differential equation systems from _processes_.
A _process_ is simply a particular _equation_ defining the dynamics of a climate
variable, while also explicitly defining _which_ variable the equation defines.
A vector of processes is composed by the user, and given to the main function [`processes_to_coupledodes`](@ref) which bundles them into a system of equations
that creates a dynamical system.
that creates a dynamical system. The dynamical system can then be further analyzed
in terms of stability properties, multistability, tipping, periodic (or not)
behavior, and many more aspects, via the DynamicalSystems.jl library (see the examples).

Note the distinction: a _process_ is _not_ the climate variable
(such as "clouds" or "insolation"); rather it is the _exact equation_ that
defines the behavior of the climate variable, and could itself utilize
many other already existing climate variables.
In terminology of climate science a _process_ is a generalization
of the term "parameterization".
Many different processes may _describe_ the behavior of a particular variable and
typically one wants to analyze what the model does when using one versus the other
process.


!!! note "Familiarity with DynamicalSystems.jl and ModelingToolkit.jl"
ConceptualClimateModels.jl builds on [ModelingToolkit.jl](https://docs.sciml.ai/ModelingToolkit/stable/) for building the equations representing the climate model, and it builds on [DynamicalSystems.jl](https://juliadynamics.github.io/DynamicalSystemsDocs.jl/dynamicalsystems/dev/) to analyze the models. Familiarity with either package is good to have, and will allow you to faster and better understand the concepts discussed here. Nevertheless familiarity is actually optional as the steps required to use ConceptualClimateModels.jl are all explained in this tutorial.
ConceptualClimateModels.jl builds on [ModelingToolkit.jl](https://docs.sciml.ai/ModelingToolkit/stable/) for building the equations representing the climate model, and it builds on [DynamicalSystems.jl](https://juliadynamics.github.io/DynamicalSystemsDocs.jl/dynamicalsystems/dev/) to further analyze the models. Familiarity with either package is good to have, and will allow you to faster and better understand the concepts discussed here. Nevertheless familiarity is actually optional as the steps required to use ConceptualClimateModels.jl are all explained in this tutorial.


## Introductory example
Expand Down

0 comments on commit 21873dd

Please sign in to comment.