{"id":21173679,"url":"https://github.com/hildobby/fire-suppression-abm","last_synced_at":"2025-10-27T16:06:47.297Z","repository":{"id":67877592,"uuid":"232576685","full_name":"hildobby/fire-suppression-abm","owner":"hildobby","description":"Agent-based modeling  2D wildfire suppression simulator tool built on the mesa framework in Python","archived":false,"fork":false,"pushed_at":"2020-11-20T11:54:10.000Z","size":11060,"stargazers_count":12,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-09T23:25:39.286Z","etag":null,"topics":["agent-based-modeling","agent-based-simulation","firefighting","mesa","modeling","modeling-agents","simulation","spacial-models","wildfires"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hildobby.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-01-08T14:04:35.000Z","updated_at":"2025-04-13T08:07:07.000Z","dependencies_parsed_at":"2023-05-02T13:16:11.130Z","dependency_job_id":null,"html_url":"https://github.com/hildobby/fire-suppression-abm","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hildobby/fire-suppression-abm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hildobby%2Ffire-suppression-abm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hildobby%2Ffire-suppression-abm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hildobby%2Ffire-suppression-abm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hildobby%2Ffire-suppression-abm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hildobby","download_url":"https://codeload.github.com/hildobby/fire-suppression-abm/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hildobby%2Ffire-suppression-abm/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279170788,"owners_count":26118639,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-16T02:00:06.019Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent-based-modeling","agent-based-simulation","firefighting","mesa","modeling","modeling-agents","simulation","spacial-models","wildfires"],"created_at":"2024-11-20T16:48:43.633Z","updated_at":"2025-10-16T08:51:22.066Z","avatar_url":"https://github.com/hildobby.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Agent-based Modeling: Wildfire prevention simulation using agent-based modeling written in Python 3+\n=========================================\n[![Build Status](https://travis-ci.org/hildobby/Asian-paced_Yodeling.svg?branch=master)](https://travis-ci.org/hildobby/Asian-paced_Yodeling)\n\nThis project uses [Mesa](https://github.com/projectmesa/mesa), an Apache2 licensed agent-based modeling (or ABM) \nframework in Python.\n\nThis repository allows users to simulate a wildfire in a randomly generated forest environment. The random generation \nis based on user settable settings from the visualisation tool provided by mesa. This simulation is created in a 2D grid of size 100x100. The firefighting agents will attempt to extinguish said fire using a strategy chosen by the user, the firefighter's success depends on the settings used in the simulation. The program also allows for sensitivity analysis with a built-in script.\n\n![A screenshot of the simulation's visualisation](https://github.com/hildobby/fire-suppression-abm/blob/master/src/visualisation.png)\n\n*Above: A screenshot of the visualisation tool provided by Mesa.*\n\nFeatures\n------------\n\n* User settable settings for environment generation such as wind direction, wind strength, rivers, rain, # of firefighting agents and other parameters.\n* Multiple firefighting strategies ('Go to the closest fire', 'Go to the biggest fire', 'Random movements', \n'Parallel attack' and 'Indirect attack')\n* Sensitivity analysis (One-factor-a-time OFAT) of the environmental settings\n\nRunning the server\n------------\n\n**Cloning the repository**\n\nTo clone the repository using `git`, run the following command in your command line tool:\n```bash\ngit clone https://github.com/hildobby/fire-suppression-abm.git\n```\n\n**In order to download all the required packages**\n\nTo download all the packages using `pip`, navigate to the repository's local directory and run the following:\n```bash\npip install -r \"requirements.txt\"\n```\n**In order to run the server with visualisation**\n\nTo run the simulation with the GUI in python, run the following fromt your cloned repository's local directory:\n```bash\npython src/server.py\n```\n\nRunning the Sensitivity Analysis\n------------\nTo run the Sensitivity analysis run the following command\n```bash\npython src/sensitivity_analysis/ofat_sa.py\n```\nwhere the built-in BatchRunner of mesa is used. More precisely, the child class BatchRunnerMP is used\nwhich allows for parallel computing.\nOne needs to determine manually which parameters to feed to the \nmesa build in BatchRunner such as the wind strength, the bounds and the number of cores to use.\n\n\n\n\nWhat remains to be worked on\n------------\n\n* Add tests and use codecov\n* Adding new types of agents\n* Implementing new fire fighting methods\n* Make agents able to change their method depending on the circumstances\n\n\nLitterature used for the project's formulas and settings\n------------\n* Alexandridis, A., Vakalis, D., Siettos, C. I., \u0026 Bafas, G. V. (2008). A  cellular  automata  model for forest fire spread prediction: The case of the wildfire that swept through spetses island in 1990. Applied Mathematics and Computation, 204 (1), 191–201\n* Brooks, M. L., D’antonio, C.  M., Richardson, D.  M., Grace, J. B., Keeley, J. E., DiTomaso, J. M.,... Pyke, D. (2004). Effects  of  invasive alien plants on fire regimes. BioScience, 54 (7), 677–688\n* Cheney, N. P., Gould, J. S., McCaw, W. L., \u0026 Anderson, W. R. (2012). Predicting  fire behaviour in dry eucalypt forest in southern australia. Forest Ecology and Management, 280, 120-131. Retrieved from http://www.sciencedirect.com/science/article/pii/S0378112712003325 doi:https://doi.org/10.1016/j.foreco.2012.06.012\n* DeBano, L. F., Neary, D. G., \u0026 Ffolliott, P. F. (1998). Fire effects on ecosystems. John Wiley \u0026 Sons. Grimm, V., Berger, U., DeAngelis, D. L., Polhill, J. G., Giske, J., \u0026 Railsback,S. F. (2010).The odd protocol:A review and first update. Ecological Modelling, 221 (23), 2760-2768. Retrieved  from http://www.sciencedirect.com/science/article/pii/S030438001000414X doi: https://doi.org/10.1016/j.ecolmodel.2010.08.019\n* Hansen, R. (2012, 05). Estimating the amount of water required to extinguish wildfires under different conditions and in various fuel types. International Journal of Wildland Fire, 21, 525-536. doi: 10.1071/WF11022 CO\n* Hu, X., \u0026 Sun, Y. (2007). Agent-based modeling and simulation of wildland fire suppression. In 2007 winter simulation conference (pp. 1275-1283).\n* Lee,  Y.-H.,  Fried,  J., Albers,  H., \u0026 Haight, R. (2012, 11). Deploying initial attack resources for wildfire suppression: Spatial coordination, budget constraints, and capacity constraints. Canadian  Journal of  Forest Research, 43, 56-65. doi:  10.1139/cjfr-2011-0433\n* McKinney,  W.   (2012). Python  for  data  analysis: Data wrangling with pandas, numpy, and ipython.” O’Reilly Media, Inc.”.\n* Millman, K. J., \u0026 Aivazis, M. (2011). Python for scientists and engineers. Computing in Science \u0026 Engineering, 13 (2), 9–12.\n* Nolan, R. H., Boer, M.  M., Collins,  L., Resco  de Dios, V., Clarke, H., Jenkins, M.,... Bradstock, R. A. (2020). Causes and consequences of eastern australia’s 2019-20  season of mega-fires. Global change biology.\n* Russoa, L., Vakalisb, D., \u0026 Siettos, C. (2013). Simulating the wildfire in rhodes in 2008 with a cellular automata model. CHEMICAL  ENGINEERING, 35.\n* Shinneman, D. J.,  Germino, M. J., Pilliod, D. S., Aldridge, C. L., Vaillant, N. M., \u0026 Coates, P. S (2019). The  ecological uncertainty  of wildfire fuel breaks: examples from the sagebrush steppe. Frontiers in Ecology and the Environment, 17 (5), 279–288.\n* Williams,  F. (1977). Mechanisms of fire spread. In Symposium (international) on combustion (Vol. 16, pp. 1281–1294)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhildobby%2Ffire-suppression-abm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhildobby%2Ffire-suppression-abm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhildobby%2Ffire-suppression-abm/lists"}