### Persephone - a socio-economic-ecological model of European agricultural landscapes.
###
### Daniel Vedder <daniel.vedder@idiv.de>
### Lea Kolb <lea-deborah.kolb@idiv.de>
### (c) 2022, licensed under the terms of the MIT license
###
### This file defines the module/package for the Persephone model.
### To run the model, either execute `run.jl` from the commandline,
### or import the module using your own wrapper script or software.
###

module Persephone

## define dependencies
using
    Agents,
    ArgParse,
    Dates,
    GeoArrays,
    Logging,
    LoggingExtras,
    Random,
    TOML

## define exported functions and variables
export
    simulate,
    initialise,
    stepsimulation!,
    finalise

## The file that stores all default parameters
const PARAMFILE = "src/parameters.toml"
## (DO NOT CHANGE THIS VALUE! Instead, specify simulation-specific configuration files
## by using the "--configfile" commandline argument, or when invoking simulate().) 

## include all module files - note that the order matters
## (if file b references something from file a, it must be included later)
include("core/input.jl")
include("core/output.jl")
include("farm/farm.jl")
include("crop/crops.jl")
include("nature/nature.jl")
include("nature/wolpertinger.jl")
include("core/simulation.jl")

end