<htmllang="en"><head><metacharset="UTF-8"/><metaname="viewport"content="width=device-width, initial-scale=1.0"/><title>Introduction · Persefone</title><metaname="title"content="Introduction · Persefone"/><metaproperty="og:title"content="Introduction · Persefone"/><metaproperty="twitter:title"content="Introduction · Persefone"/><metaname="description"content="Documentation for Persefone."/><metaproperty="og:description"content="Documentation for Persefone."/><metaproperty="twitter:description"content="Documentation for Persefone."/><script data-outdated-warnersrc="assets/warner.js"></script><linkhref="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css"rel="stylesheet"type="text/css"/><linkhref="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.050/juliamono.min.css"rel="stylesheet"type="text/css"/><linkhref="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/fontawesome.min.css"rel="stylesheet"type="text/css"/><linkhref="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/solid.min.css"rel="stylesheet"type="text/css"/><linkhref="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/brands.min.css"rel="stylesheet"type="text/css"/><linkhref="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.8/katex.min.css"rel="stylesheet"type="text/css"/><script>documenterBaseURL="."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js"data-main="assets/documenter.js"></script><script src="search_index.js"></script><script src="siteinfo.js"></script><script src="../versions.js"></script><linkclass="docs-theme-link"rel="stylesheet"type="text/css"href="assets/themes/documenter-dark.css"data-theme-name="documenter-dark"data-theme-primary-dark/><linkclass="docs-theme-link"rel="stylesheet"type="text/css"href="assets/themes/documenter-light.css"data-theme-name="documenter-light"data-theme-primary/><script src="assets/themeswap.js"></script></head><body><divid="documenter"><navclass="docs-sidebar"><aclass="docs-logo"href="index.html"><imgsrc="assets/logo.png"alt="Persefone logo"/></a><divclass="docs-package-name"><spanclass="docs-autofit"><ahref="index.html">Persefone</a></span></div><buttonclass="docs-search-query input is-rounded is-small is-clickable my-2 mx-auto py-1 px-2"id="documenter-search-query">Search docs (Ctrl + /)</button><ulclass="docs-menu"><liclass="is-active"><aclass="tocitem"href="index.html">Introduction</a></li><li><spanclass="tocitem">User guide</span><ul><li><aclass="tocitem"href="using.html">The Persefone.jl Package</a></li><li><aclass="tocitem"href="gui.html">Graphical User Interface</a></li><li><aclass="tocitem"href="config.html">Configuration</a></li></ul></li><li><spanclass="tocitem">Developer guide</span><ul><li><aclass="tocitem"href="developing.html">Developing Persefone</a></li><li><aclass="tocitem"href="adapting.html">Adapting Persefone</a></li><li><aclass="tocitem"href="architecture.html">Source code architecture</a></li><li><aclass="tocitem"href="gis.html">Maps and weather data</a></li><li><aclass="tocitem"href="species-dsl.html">Defining new species</a></li></ul></li><li><spanclass="tocitem">Core</span><ul><li><aclass="tocitem"href="simulation.html">Simulation</a></li><li><aclass="tocitem"href="io.html">Input and Output</a></li></ul></li><li><spanclass="tocitem">Nature</span><ul><li><aclass="tocitem"href="nature.html">Nature</a></li><li><aclass="tocitem"href="energy.html">Dynamic Energy Budgets</a></li><li><aclass="tocitem"href="species.html">Species</a></li></ul></li><li><aclass="tocitem"href="crops.html">Crop submodel</a></li><li><aclass="tocitem"href="farm.html">Farm submodel</a></li></ul><divclass="docs-version-selector field has-addons"><divclass="control"><spanclass="docs-label button is-static is-size-7">Version</span></div><divclass="docs-selector control is-expanded"><divclass="select is-fullwidth is-size-7"><selectid="documenter-version-selector"></select></div></div></div></nav><divclass="docs-main"><headerclass="docs-navbar"><aclass="docs-sidebar-button docs-navbar-link fa-solid fa-bars is-hidden-desktop"id="documenter-sidebar-button"href="#"></a><navclass="breadcrumb"><ulclass="is-hidden-mobile"><liclass="is-active"><ahref="index.html">Introduction</a></li></ul><ulclass="is-hidden-tablet"><liclass="is-active"><ahref="index.html">Introduction</a></li></ul></nav><divclass="docs-right"><aclass="docs-navbar-link"href="https://git.idiv.de/persefone/persefone-model"title="View the repository"><spanclass="docs-icon fa-brands"></span><spanclass="docs-label is-hidden-touch">Repository</span></a><aclass="docs-navbar-link"href="https://git.idiv.de/persefone/persefone-model/-/tree/master/docs/src/index.md"title="Edit source"><spanclass="docs-icon fa-solid"></span></a><aclass="docs-settings-button docs-navbar-link fa-solid fa-gear"id="documenter-settings-button"href="#"title="Settings"></a><aclass="docs-article-toggle-button fa-solid fa-chevron-up"id="documenter-article-toggle-button"href="javascript:;"title="Collapse all docstrings"></a></div></header><articleclass="content"id="documenter-page"><p><ahref="https://persefone-model.eu"><imgsrc="assets/persefonejl_logo_v3_splash.png"alt="Persefone.jl splash screen"/></a></p><h1id="Introduction"><aclass="docs-heading-anchor"href="#Introduction">Introduction</a><aid="Introduction-1"></a><aclass="docs-heading-anchor-permalink"href="#Introduction"title="Permalink"></a></h1><p><ahref="https://persefone-model.eu">Persefone.jl</a> models agricultural practice and how it impacts animal species at a landscape scale. It includes a farm submodel, a crop growth submodel, and individual-based models of multiple indicator species. Its aim is to investigate how changes in farm operations (e.g. through policy changes in the CAP) influence biodiversity.</p><p>The model is open-source software available on <ahref="https://git.idiv.de/persefone/persefone-model">Gitlab</a>.</p><p><em>Last updated: 2023-10-27 (commit b27fb1b)</em></p></article><navclass="docs-footer"><aclass="docs-footer-nextpage"href="using.html">The Persefone.jl Package »</a><divclass="flexbox-break"></div><pclass="footer-message">Powered by <ahref="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <ahref="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><divclass="modal"id="documenter-settings"><divclass="modal-background"></div><divclass="modal-card"><headerclass="modal-card-head"><pclass="modal-card-title">Settings</p><buttonclass="delete"></button></header><sectionclass="modal-card-body"><p><labelclass="label">Theme</label><divclass="select"><selectid="documenter-themepicker"><optionvalue="documenter-light">documenter-light</option><optionvalue="documenter-dark">documenter-dark</option><optionvalue="auto">Automatic (OS)</option></select></div></p><hr/><p>This document was generated with <ahref="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.1.2 on <spanclass="colophon-date"title="Tuesday 31 October 2023 18:07">Tuesday 31 October 2023</span>. Using Julia version 1.9.3.</p></section><footerclass="modal-card-foot"></footer></div></div></div></body></html>
<htmllang="en"><head><metacharset="UTF-8"/><metaname="viewport"content="width=device-width, initial-scale=1.0"/><title>Introduction · Persefone</title><script data-outdated-warnersrc="assets/warner.js"></script><linkhref="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css"rel="stylesheet"type="text/css"/><linkhref="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css"rel="stylesheet"type="text/css"/><linkhref="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css"rel="stylesheet"type="text/css"/><linkhref="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css"rel="stylesheet"type="text/css"/><linkhref="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css"rel="stylesheet"type="text/css"/><linkhref="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css"rel="stylesheet"type="text/css"/><script>documenterBaseURL="."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js"data-main="assets/documenter.js"></script><script src="siteinfo.js"></script><script src="../versions.js"></script><linkclass="docs-theme-link"rel="stylesheet"type="text/css"href="assets/themes/documenter-dark.css"data-theme-name="documenter-dark"data-theme-primary-dark/><linkclass="docs-theme-link"rel="stylesheet"type="text/css"href="assets/themes/documenter-light.css"data-theme-name="documenter-light"data-theme-primary/><script src="assets/themeswap.js"></script></head><body><divid="documenter"><navclass="docs-sidebar"><aclass="docs-logo"href="index.html"><imgsrc="assets/logo.png"alt="Persefone logo"/></a><divclass="docs-package-name"><spanclass="docs-autofit"><ahref="index.html">Persefone</a></span></div><formclass="docs-search"action="search.html"><inputclass="docs-search-query"id="documenter-search-query"name="q"type="text"placeholder="Search docs"/></form><ulclass="docs-menu"><liclass="is-active"><aclass="tocitem"href="index.html">Introduction</a><ulclass="internal"><li><aclass="tocitem"href="#Running-the-model"><span>Running the model</span></a></li><li><aclass="tocitem"href="#Model-input"><span>Model input</span></a></li></ul></li><li><aclass="tocitem"href="odd.html">Overview, Design, Details (ODD)</a></li><li><spanclass="tocitem">Developing</span><ul><li><aclass="tocitem"href="developing.html">Developing Persefone</a></li><li><aclass="tocitem"href="adapting.html">Adapting Persefone</a></li><li><aclass="tocitem"href="architecture.html">Source code architecture</a></li><li><aclass="tocitem"href="gis.html">Maps and weather data</a></li><li><aclass="tocitem"href="species-dsl.html">Defining new species</a></li></ul></li><li><spanclass="tocitem">Core</span><ul><li><aclass="tocitem"href="simulation.html">Simulation</a></li><li><aclass="tocitem"href="io.html">Input, Output, and Settings</a></li></ul></li><li><spanclass="tocitem">Nature</span><ul><li><aclass="tocitem"href="nature.html">Nature</a></li><li><aclass="tocitem"href="energy.html">Dynamic Energy Budgets</a></li><li><aclass="tocitem"href="species.html">Species</a></li></ul></li><li><aclass="tocitem"href="crops.html">Crop submodel</a></li><li><aclass="tocitem"href="farm.html">Farm submodel</a></li></ul><divclass="docs-version-selector field has-addons"><divclass="control"><spanclass="docs-label button is-static is-size-7">Version</span></div><divclass="docs-selector control is-expanded"><divclass="select is-fullwidth is-size-7"><selectid="documenter-version-selector"></select></div></div></div></nav><divclass="docs-main"><headerclass="docs-navbar"><navclass="breadcrumb"><ulclass="is-hidden-mobile"><liclass="is-active"><ahref="index.html">Introduction</a></li></ul><ulclass="is-hidden-tablet"><liclass="is-active"><ahref="index.html">Introduction</a></li></ul></nav><divclass="docs-right"><aclass="docs-edit-link"href="https://git.idiv.de/xo30xoqa/persephone/-/blob/master//docs/src/index.md#"title="Edit source"><spanclass="docs-icon fa"></span><spanclass="docs-label is-hidden-touch">Edit source</span></a><aclass="docs-settings-button fas fa-cog"id="documenter-settings-button"href="#"title="Settings"></a><aclass="docs-sidebar-button fa fa-bars is-hidden-desktop"id="documenter-sidebar-button"href="#"></a></div></header><articleclass="content"id="documenter-page"><h1id="Introduction"><aclass="docs-heading-anchor"href="#Introduction">Introduction</a><aid="Introduction-1"></a><aclass="docs-heading-anchor-permalink"href="#Introduction"title="Permalink"></a></h1><p>Persefone is an agent-based, socio-economic-ecological model of agricultural landscapes in Europe under the Common Agricultural Policy (CAP).</p><p>It's aim is to investigate how policy affects farmer decision-making, and how this in turn affects various animal species. It includes a farm submodel, a crop-growth submodel, and an ecological submodels.</p><h2id="Running-the-model"><aclass="docs-heading-anchor"href="#Running-the-model">Running the model</a><aid="Running-the-model-1"></a><aclass="docs-heading-anchor-permalink"href="#Running-the-model"title="Permalink"></a></h2><p>To run a single experiment, execute <code>run.jl</code>:</p><pre><codeclass="nohighlight hljs">julia run.jl -c <CONFIG></code></pre><p>Other commandline arguments are:</p><pre><codeclass="nohighlight hljs">usage: run.jl [-c CONFIGFILE] [-s SEED] [-o OUTDIR] [-l LOGLEVEL]
[--version] [-h]
optional arguments:
-c, --configfile CONFIGFILE
name of the configuration file
-s, --seed SEED inital random seed (type: Int64)
-o, --outdir OUTDIR location of the output directory
-l, --loglevel LOGLEVEL
verbosity: "debug", "info", or "quiet"
--version show version information and exit
-h, --help show this help message and exit</code></pre><h2id="Model-input"><aclass="docs-heading-anchor"href="#Model-input">Model input</a><aid="Model-input-1"></a><aclass="docs-heading-anchor-permalink"href="#Model-input"title="Permalink"></a></h2><p>Persefone requires three input files: a configuration file and two map files. How to generate the map files is documented <ahref="gis.html">elsewhere</a>. The <ahref="io.html">configuration file</a> defines parameter values and looks like this (see <code>src/parameters.toml</code> for a complete list of parameters):</p><pre><codeclass="language-TOML hljs">### Persefone - a socio-economic-ecological model of European agricultural landscapes.
###
### This is the default configuration file for Persefone, containing all model parameters.
### The syntax is described here: https://toml.io/en/
[core]
configfile = "src/parameters.toml" # location of the configuration file
outdir = "results" # location and name of the output folder
overwrite = "ask" # overwrite the output directory? (true/false/"ask")
processors = 2 # number of processors to use on parallel runs
seed = 2 # seed value for the RNG (0 -> random value)
# dates to start and end the simulation
startdate = 2022-01-01
enddate = 2022-12-31
[world]
landcovermap = "data/landcover_jena.tif" # location of the landcover map
farmfieldsmap = "data/fields_jena.tif" # location of the field geometry map
[farm]
farmmodel = "FieldManager" # which version of the farm model to use (not yet implemented)
[nature]
targetspecies = ["Wolpertinger", "Wyvern"] # list of target species to simulate
popoutfreq = "daily" # output frequency population-level data, daily/monthly/yearly/end/never
indoutfreq = "end" # output frequency individual-level data, daily/monthly/yearly/end/never
[crop]
cropmodel = "linear" # crop growth model to use, "linear" or "aquacrop" (not yet implemented)</code></pre><divclass="admonition is-info"><headerclass="admonition-header">Parameter scanning</header><divclass="admonition-body"><p>You can set any parameter to a list of different values, e.g. <code>seed = [1,2,3]</code>. Persefone will then set up and run multiple simulations, one for every possible combination of parameters that you entered (i.e. do a full-factorial simulation experiment).</p></div></div><p><em>Last updated: 2023-07-27 (commit 1e6e7d6)</em></p></article><navclass="docs-footer"><aclass="docs-footer-nextpage"href="odd.html">Overview, Design, Details (ODD) »</a><divclass="flexbox-break"></div><pclass="footer-message">Powered by <ahref="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <ahref="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><divclass="modal"id="documenter-settings"><divclass="modal-background"></div><divclass="modal-card"><headerclass="modal-card-head"><pclass="modal-card-title">Settings</p><buttonclass="delete"></button></header><sectionclass="modal-card-body"><p><labelclass="label">Theme</label><divclass="select"><selectid="documenter-themepicker"><optionvalue="documenter-light">documenter-light</option><optionvalue="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <ahref="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <spanclass="colophon-date"title="Thursday 27 July 2023 10:12">Thursday 27 July 2023</span>. Using Julia version 1.9.1.</p></section><footerclass="modal-card-foot"></footer></div></div></div></body></html>