Why we use NetLogo
Since publication of our first edition, NetLogo has continued to increase in both its popularity and its capabilities for scientific modeling. NetLogo is a platform specifically for agent-based modeling: it provides a conceptual approach, a high-level programming language, graphical interfaces, automated simulation experiments, etc. NetLogo is free; available for Windows, MacIntosh, and Linux computers; and includes very complete and professional documentation and tutorials.
We use NetLogo exclusively in our work, including for large and complex models. Its many built-in commands greatly reduce programming effort, and their algorithms are highly optimized so NetLogo codes often execute much faster than they would if programmed simply in a lower-level platform. NetLogo includes “extensions”, sets of additional commands for (e.g.) importing spatial data from GIS, reading and writing .CSV files, linking with the R statistical package, and linking multiple models. The “time” extension supports discrete-event simulation (see Section 14.2.5 of the book), which can greatly speed up some models.
Our paper on speeding up NetLogo codes and using NetLogo for large models is here (with updates).
Here is an example: a frog breeding model used in critical management decisions for major rivers in California. This simulation (click on the thumbnail) includes 372,000 patches and 10,000s of individual frogs.
You can even turn your NetLogo model into a web page very easily; see this example!
NetLogo was written by Uri Wilensky, who founded and directs the Center for Connected Learning and Computer-Based Modeling at Northwestern University, where NetLogo is developed and maintained. NetLogo can be downloaded from their site.
The NetLogo programming information and example models in the second edition of Agent-based and Individual-based Modeling: A Practical Introduction, and on this site, use Version 6.0.4 of NetLogo.
The first edition used NetLogo 5.0. While versions 6.x introduce several substantial changes, the models and examples in our the first edition still work, with a very few exceptions that are listed in the first edition errata sheet (pdf).
NetLogo Citation, Copyright, and Donations
When you produce and publish work using NetLogo, please remember to cite it correctly and to comply with its copyright. Information on citations and the copyright are built into NetLogo: click on “Help” in the main menu and select “About NetLogo”.
We strongly encourage you to join us in contributing to the NetLogo project at Northwestern University via their web site. You can, for example, include a contribution in your course fee or in your research project budget. (We have never had a funding agency question a “software support” budget item that contributes to a free software platform such as NetLogo.)
Having problems installing, running, or programming NetLogo? We cannot help you directly but NetLogo already has excellent user support resources. Try these:
- The NetLogo User Manual (just click “help” in NetLogo), including its tutorials, interface and programming guides, and FAQ.
- Starting in 2021, NetLogo provides a beginner’s guide and “Interactive Dictionary” at https://ccl.northwestern.edu/netlogo/bind/.
- The “Code examples” section of NetLogo’s built-in Models Library. This should be one of the first places to look to learn how to do something new.
- The NetLogo Users Group email list, which you can find from NetLogo’s help menu (just click “help”, then “NetLogo Users Group”). This is an on-line forum that all NetLogo users should belong to. You can post questions to the group, but please be kind to the nice people who answer questions (out of kindness and love of NetLogo) by first searching the group’s email archives thoroughly to see whether your question has already been answered.
- The NetLogo team is now encouraging people to submit programming questions to “Stack Overflow”, an on-line community of programmers that post and answer questions. Go to: http://stackoverflow.com/questions/tagged/netlogo (and, again, search the archives before posting a question).