diff --git a/README.md b/README.md index 51a92acb1642f84540f64a65fddb65a00928c156..75f36bfe7d3dec76d79c60918fa20f3abaef8e7c 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,35 @@ This is an example project to demonstrate Literate Programming to create [NetLogo](https://ccl.northwestern.edu/netlogo/) models from ODD+C protocols using [Yarner](https://github.com/mlange-42/yarner). -## How to use this project +The document you are currently reading contains the 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. 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 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 `;-`: + +```netlogo +;- A code block +let x 0 +``` + +When a code block is referenced by another code block using a macro with `; ==>`, it is placed inside the referencing code block: + +```netlogo +;- Outer code block +; ==> A code block. +let y 1 +``` + +The resulting extracted code would look like this: + +```netlogo +let x 0 +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 TODO @@ -220,6 +248,12 @@ to update-patches end ``` +## References + +Grimm V, Berger U, Bastiansen F, Eliassen S, Ginot V, Giske J, Goss-Custard J, Grand T, Heinz S, Huse G, Huth A, Jepsen JU, Jørgensen C, Mooij WM, Müller B, Pe’er G, Piou C, Railsback SF, Robbins AM, Robbins MM, Rossmanith E, Rüger N, Strand E, Souissi S, Stillman RA, Vabø R, Visser U, DeAngelis DL. 2006. **A standard protocol for describing individual-based and agent-based models**. *Ecological Modelling* 198:115-126. + +Grimm V, Berger U, DeAngelis DL, Polhill G, Giske J, Railsback SF. 2010. **The ODD protocol: a review and first update**. *Ecological Modelling* 221: 2760-2768. + ## Appendix ### Code