-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
5 changed files
with
74 additions
and
59 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,18 +1,36 @@ | ||
# EnergyBalanceModels.jl | ||
|
||
Any quantity that may potentially be a dynamic (state) variable, or an explicit function of time, is defined in `src/variables.jl` and must have a default value when defined. They should also be exported and in the rest of the source code they are accessed from the module-level scope. _TODO: Example here_. | ||
Variables that may be dynamic (state) variables must also obtain limits in the `physicall_plausible_limits` function which is in the same file. | ||
Variables that can never be dynamic but are guaranteed to be observed, such as the outgoing longwave radiation, should be preferably defined in the same file but without a default value or limits. | ||
[![docsdev](https://img.shields.io/badge/docs-dev-lightblue.svg)](https://juliadynamics.github.io/ProcessBasedModelling,jl/dev/) | ||
[![docsstable](https://img.shields.io/badge/docs-stable-blue.svg)](https://juliadynamics.github.io/EnergyBalanceModels.jl/stable/) | ||
[![CI](https://github.com/JuliaDynamics/EnergyBalanceModels.jl/workflows/CI/badge.svg)](https://github.com/JuliaDynamics/EnergyBalanceModels.jl/actions?query=workflow%3ACI) | ||
[![codecov](https://codecov.io/gh/JuliaDynamics/EnergyBalanceModels.jl/branch/main/graph/badge.svg)](https://codecov.io/gh/JuliaDynamics/EnergyBalanceModels.jl) | ||
[![Package Downloads](https://shields.io/endpoint?url=https://pkgs.genieframework.com/api/v1/badge/ProcessBasedModelling)](https://pkgs.genieframework.com?packages=ProcessBasedModelling) | ||
|
||
# TODO: | ||
explain that all processes by default use the global variables, | ||
which is why docstrings are written this way. | ||
EnergyBalanceModels.jl is a Julia package for creating and analyzing conceptual | ||
models of climate, such as energy balance models or climate tipping models. | ||
Such conceptual models are simplified representation of basic climate components, | ||
and the processes that connect them, such as flows of energy or mass. | ||
Within this context such models are typically coupled ordinary differential | ||
equations (with partial or stochastic DEs also being possible). | ||
|
||
EnergyBalanceModels | ||
EnergyBalanceModels.jl accelerates both modelling and analysis aspects of working | ||
with such models by: | ||
|
||
""" | ||
module defining various equations and models representing energy balance | ||
processes. It utilizes ModelingToolkit.jl to create a flexible framework | ||
for adding or remove dynamical state variables and adding or removing | ||
equations that represent various processes in the earth system. | ||
""" | ||
- Building upon [ModelingToolkit.jl](https://docs.sciml.ai/ModelingToolkit/stable/) | ||
for creating equations from _symbolic expressions_. | ||
- Utilizing [ProcessBasedModelling.jl](https://github.com/JuliaDynamics/ProcessBasedModelling.jl?tab=readme-ov-file) | ||
to provide a field-specific framework that allows easily testing different physical | ||
hypotheses regarding how climate variables couple to each | ||
other, or how climate processes are represented by equations. | ||
- Offering many predefined processes from current literature and ongoing research. | ||
- Being easy to extend with more climate variables or physical processes. | ||
- Allowing the straightforward coupling of different conceptual models with each other. | ||
- Automating the naming of custom parameters relating to existing climate processes. | ||
- Integrating with [DynamicalSystems.jl](https://juliadynamics.github.io/DynamicalSystemsDocs.jl/dynamicalsystems/dev/) | ||
to automate the start-up phase of typical nonlinear dynamics based workflows. | ||
|
||
To install it, run `import Pkg; Pkg.add("EnergyBalanceModels")`. | ||
|
||
All further information is provided in the documentation, which you can either find | ||
[online](https://juliadynamics.github.io/EnergyBalanceModels.jl/stable/) or build | ||
locally by running the `docs/make.jl` file. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters