Quick Introduction to the Modeling Commons

This is a short introduction to the Modeling Commons. Note that the software is part of a research project, and will almost certainly undergo revisions while you are using it. We welcome suggestions, bug reports, and feature requests; send any and all comments to us at modelingcommons@ccl.northwestern.edu.

The basics

The Modeling Commons is a Web-based application, at http://modelingcommons.org/, designed to make it easy to share NetLogo models with other people, as well as collaborate on those models with others. You will be using it in class to store your models, to show them to the instructors, and to collaborate with others in your group on the model’s development.

The Modeling Commons site should work with all modern Web browsers, but the developers tend to test it most extensively in Chrome, Firefox, and Safari.

In order to participate in the class, you will need to register with the Modeling Commons, and then log in each time you wish to use it.

Finding models

The “search models” text field near the top of nearly every page allows you to look through all of the models in the Modeling Commons. (More precisely, it’ll show you those models that you have permission to view.) The search function will display all of the models whose names, authors, tags, Info tab, and/or Code tab match the word or phrase that you entered. This is a good way to find all of the models on a particular subject, or that use a NetLogo primitive that you don’t quite understand.

Each model has its own page in the Modeling Commons. When you go to that page, you can run the model, discuss it with others, apply social tags, add files, recommend the model, and share it with other people.

Adding models

To add a new model to the Modeling Commons, you must first create it in NetLogo. Save the .nlogo file — and optionally, a preview image — to a folder on your computer. (A common place to do this is on the desktop.)

Click on the “Add model” menu option. You can then enter the name of the model (which can be anything, but should be descriptive), the .nlogo model name on your disk, and (optionally) the preview image you want to associate with it. You will always be able to upload new versions later on, so don’t worry if this version is not perfect. Indeed, part of the goal of the Modeling Commons is to encourage you to experiment; you can always revert to an earlier version if you make a mistake.

For now, ignore the groups and permissions. Click on “Upload model,” and a few moments later, your model will have its own page on the Modeling Commons. Congratulations!

To upload a new version of the model, go to the model’s page, and click on the “upload” tab. You will be able to upload a new version, just as before. (For now, stick with the “replace the existing model” radio button.) After clicking on “upload model,” your new version will replace the existing one.

To upload a new preview image, you will need to use the “files” tab, described below.


Each model can have one or more attachments associated with it. These files can be preview images, external data, PowerPoint presentations, Word documents, PDF documents, or any of a number of other things that should be associated with the model, and which will be part of the zip file that people can download.

To upload a file, go to the “files” tab. Choose a file from your computer, describe it, and indicate what kind of file it is. Then click on “Upload file,” and that file will now be part of the model.

Parents and children

Sometimes, you won’t want to create a new model from scratch, but rather create a variation on an existing model. To do this, create a “child” variant in NetLogo on your computer. Instead of uploading it via the “Add model” menu option, instead go to the “Upload” tab on the model to which you want to add a child. In addition to selecting the file you want to upload, choose the “upload a new child” radio button, giving your model a new name. (If you do not provide a new name, the new model will simply be called “Child of...” and the current model’s name.

If you’re interested in seeing the parents and children for a model, click on the “family” tab, which will show it to you graphically.

Groups and permissions

Groups exist for one reason, and one reason only: To restrict who can view and modify your model. By default, models can be seen and modified by everyone in the Modeling Commons. You can also change the permissions such that only you can view and modify it. In order to give read/write permissions to a limited subset of users, you will need to create a group, assign your model to a group, and then restrict permissions to that group:

  • Create a group by going to the “groups” menu item, and then the “create” tab. You can name the group whatever you want.
  • You can add people to your group via the “invite” tab.
  • You can put a model in a group via the pull-down selection list on a model page, which shows all of the groups of which you are a member.
  • You can change the permission for a model, such that only group members can view or modify it, via other pull-down selection lists on the model page.
  • To open a model to the world, just remove the group. Or you can keep the group, but give the model permissions such that it’s viewable and modifiable by all.


Anyone who has uploaded a version of a model is considered an author. So if you want to make sure that only members of your group will ever be authors, restrict it to group writability immediately! (You can also set it such that only you can modify things.)

A model author can set the permissions or change the group of a model.

Once someone has uploaded a new version, they have all of the same permissions and abilities as the original author.