Version: Jan 2026
This agent-based model examines how income inequality shapes environmental outcomes through household consumption patterns and political support for climate policy.
These instructions will allow you to run the model on your system.
To run the code, you need to install Julia (v1.10.0). Additionally, the following packages need to be installed:
- Agents - Version 6.2.10
- ArgParse - Version 1.2.0
- [CSV] https://csv.juliadata.org/stable/ - Version 0.10.15
- DataFrames - Version 1.8.1
- DataStructures - Version 0.18.22
- Distributions - Version 0.25.122
- OrderedCollections - Version 1.8.1
- Plots - Version 1.41.1
- StatsBase - Version 0.34.7
- StatsPlots - Version 0.15.8
In order to install a package, start julia and execute the following command:
using Pkg; Pkg.add("<package name>")
The model implementation is located in the model/ folder. In order to run the model, the initial state has to be set up. Our baseline initialization is specified in the experiments/init_baseline.jl file. By default, the subset of data stored during a simulation run is defined in the experiments/data_collection.jl file.
To conduct an experiment and execute several runs of the model (batches) in parallel, execute run_exp.jl. This requires to set-up the experiment(s) in a configuration file, see experiments/baseline.jl as an example. In order to execute an experiment, use the following command:
julia -p <no_cpus> run_exp.jl <config-file> [--chunk <i>] [--no_chunks <n>]
The julia parameter -p <no_cpus> specifies how many CPU cores will be used in parallel. The --chunk and --no_chunk parameters are optional and can be used to break up the experiment into several chunks, e.g., to distribute execution among different machines.
Plots from experiments can be created by using the following command:
julia plot_exp.jl <config-file>
By default, data and plots will be stored in the data/ folder.
For quick tests and exploration of single mechanisms, you can run the simplified script main.jl. It executes a single run of the baseline model and provides a convenient way to check model behavior or inspect generated data without setting up a full experiment. To execute it, run:
julia main.jl
Note: main.jl is not intended for systematic experiments or batch execution. For proper experiments, please use run_exp.jl with the respective configuration files as described above.
Fiona Borsetzky, Dirk Kohlweyer
- ETACE - Economic Theory and Computational Economics, Bielefeld University