diff --git a/README.md b/README.md index a43426cd2cda35a0225b00bf00574006a22346e1..2b394d796c91bd20d153c62543cd6e85f5837d91 100644 --- a/README.md +++ b/README.md @@ -12,8 +12,7 @@ growth submodel, and individual-based models of multiple indicator species. Its investigate how changes in farm operations (e.g. through policy changes in the CAP) influence biodiversity. -The model is based on the [Agents.jl](https://juliadynamics.github.io/Agents.jl/stable/) -framework. It is currently in the early stages of development. +**The model is still in development. A first version will be available in spring 2024.** ## Usage diff --git a/src/core/simulation.jl b/src/core/simulation.jl index 1a6f390390e63f92fbae0cd8bd8272d962ee5559..e24686d53d8d806ccec70a27e511f8bd8b40bd40 100644 --- a/src/core/simulation.jl +++ b/src/core/simulation.jl @@ -5,6 +5,31 @@ #XXX How can I make the model output during a parallel run clearer? +""" + SimulationModel + +This is the heart of the model - a struct that holds all data and state +for one simulation run. It is created by [`initialise`](@ref) and passed +as input to most model functions. +""" +mutable struct SimulationModel + settings::Dict{String,Any} + rng::AbstractRNG + logger::AbstractLogger + dataoutputs::Vector{DataOutput} + datatables::Dict{String,DataFrame} + date::Date + landscape::Matrix{Pixel} + weather::Dict{Date,Weather} + crops::Dict{String,CropType} + farmers::Vector{Farmer} + farmplots::Vector{FarmPlot} + animals::Vector{Animal} + migrants::Vector{Pair{Animal,Date}} + events::Vector{FarmEvent} +end + + """ simulate(config=PARAMFILE, seed=nothing)