Skip to content
Snippets Groups Projects
Commit 44b70d7d authored by Martin Lange's avatar Martin Lange
Browse files

moved section 'How it works' down, added TOCs

parent ebca44a1
No related branches found
No related tags found
1 merge request!4How it works, how to use it
Pipeline #16033 passed with stage
in 13 seconds
......@@ -4,6 +4,33 @@ This is an example project to demonstrate Literate Programming to create [NetLog
The document you are currently reading contains the [ODD protocol](#rabies-model-odd-protocol) ([Grimm et al. 2006, 2010](#references)) of a model for Rabies in red foxes. The ODD description is interleaved with code blocks showing the NetLogo code used for the described aspect (ODD+C). Using the Literate Programming tool [Yarner](https://github.com/mlange-42/yarner), these code blocks are extracted from the document and arranged into a working NetLogo model.
* [How to use it](#how-to-use-it)
* [How it works](#how-it-works)
* [Rabies model - ODD protocol](#rabies-model-odd-protocol)
* [References](#references)
* [Appendix](#appendix)
## How to use it
**Read the ODD**
The best way to understand how to use Literate Programming with Yarner to create a NetLogo model from an ODD protocol is to read the below [ODD+C of the Rabies model.](#rabies-model-odd-protocol) It contains the complete code of the model, except the UI elements.
See section [How it works](#how-it-works) for how the model is extracted from this document.
**Run from downloads**
The [Downloads](https://git.ufz.de/oesa/literate-netlogo/-/jobs/artifacts/main/download?job=build) contain a folder `model` with files `Model.nlogo` and `Code.nls`. Open the `.nlogo` file with NetLogo.
**Build from sources**
1. [Install Yarner](https://mlange-42.github.io/yarner/installation.html)
2. Clone the sources of this example:
`git clone https://git.ufz.de/oesa/literate-netlogo.git`
3. `cd` into folder `literate-netlogo`
4. Run command `yarner` to extract the model code
5. Open file `model/Model.nlogo` with NetLogo
## How it works
Yarner scans the document for code blocks and puts them together using macros. Each code block has a name, given in its first line and prefixed with `;-`:
......@@ -30,27 +57,16 @@ let y 1
For a comprehensive guide and a description of all features, see the [Yarner documentation](https://mlange-42.github.io/yarner/).
## How to use it
**Read the ODD**
The best way to understand how to use Literate Programming with Yarner to create a NetLogo model from an ODD protocol is to read the below [ODD+C of the Rabies model.](#rabies-model-odd-protocol) It contains the complete code of the model, except the UI elements.
**Run from downloads**
The [Downloads](https://git.ufz.de/oesa/literate-netlogo/-/jobs/artifacts/main/download?job=build) contain a folder `model` with files `Model.nlogo` and `Code.nls`. Open the `.nlogo` file with NetLogo.
**Build from sources**
1. [Install Yarner](https://mlange-42.github.io/yarner/installation.html)
2. Clone the sources of this example:
`git clone https://git.ufz.de/oesa/literate-netlogo.git`
3. `cd` into folder `literate-netlogo`
4. Run command `yarner` to extract the model code
5. Open file `model/Model.nlogo` with NetLogo
## Rabies model - ODD protocol
* [Purpose](#purpose)
* [Entities, state variables, and scales](#entities-state-variables-and-scales)
* [Process overview and scheduling](#process-overview-and-scheduling)
* [Design concepts](#)
* [Initialization](#)
* [Input data](#)
* [Submodels](#)
### Purpose
The purpose of this model is to demonstrate how NetLogo models can be created from ODD protocols, using Literate Programming with Yarner.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment