Skip to content

Msturroc/NEE_abm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Non-Exhaust Emissions Agent-Based Model

The Phibsborough junction in Dublin is a documented non-exhaust emission hotspot. Street-level measurements from Google Air View show ultrafine particle concentrations 70-80% above the Dublin average, largely due to heavy braking at the traffic-light-controlled intersection. With exhaust emissions declining through electrification, brake and tyre wear are becoming the dominant source of traffic-related particulate matter in cities.

This repository contains an agent-based model that simulates the junction at high spatial resolution (200m x 200m grid, adaptive sub-second timestep). Cars, SUVs, electric variants, buses, and microcars navigate the intersection, generating mass-dependent brake and tyre wear emissions that disperse and decay across the grid. A moving observer vehicle samples emissions the same way as the Google Air View car, so simulated and measured distributions can be compared directly.

The model is calibrated against the Air View data using CMA-ES (15 parameters, 2000 evaluations). Global sensitivity analysis via Polynomial Chaos Expansion shows that fleet composition, mean speed, and speed variability interact strongly with each other (all first-order Sobol indices < 0.013, but total-order indices 0.23-0.34). Scenario scripts cover speed limits, electrification with and without regenerative braking, bus modal shift, microcar adoption, and combined policies.

Simulation Animation

Getting Started

Requires Julia >= 1.10. Install dependencies:

using Pkg
Pkg.activate(".")
Pkg.instantiate()

The calibration data (AirView_DublinCity_Measurements_ugm3.csv, 581 MB) is not included due to size. Obtain it from the Google Environmental Insights Explorer and place it in the repository root.

Calibrated parameters are already provided in data/. To re-run calibration:

julia src/cmaes_ecs_v7.jl

To reproduce figures:

julia scripts/figure2_model.jl
julia scripts/figure3_gsa.jl
julia scripts/figure4_speed_var.jl
# etc.

To run the GSA with distributed parallelism:

julia -p 30 src/gsa_passenger_preserving_v5.jl

About

Agent-based model of non-exhaust particle emissions at an urban intersection in pure Julia. Simulates brake, tyre, and road wear with resuspension at sub-second resolution.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages