You are here: Community Web>WebHome (20 Dec 2012)

The UrbanSim Users Community.

The UrbanSim Community consists of users and developers of UrbanSim in agencies and universities across the globe. There are multiple ways to participate in this community. The following types of participation are available to anyone at no cost:

  • First of all, please register and join the growing user community on this website
  • Join a MailingList of users, to receive notices, ask questions and interact with other users.
  • Browse and comment on the open Forums that are contained on this site.
  • Check the status of our continuous integration, and drilldown to our code, bug reports, and feature requests.
  • Participate in UserMeetings provide an annual opportunity to engage face-to-face with other users and with the development team, to engage in presentations by users on their applications, and to get in-depth explanations and demonstrations of new and upcoming features.
  • Of course, download UrbanSim and use it!
Professional training and technical support services are available from the developers of UrbanSim as well:

  • UserTraining courses range from an introductory one-day course, to advanced training on model development and programming.
  • Customized application development services, model specification and estimation, and the development of new features are also available. These services are coordinated by Synthicity LLC

User Contributions to the OPUS and UrbanSim Code

Users are increasingly making contributions to the software, and we want to strongly encourage and support this, and at the same time manage it carefully to ensure quality control and the maintenance of a robust system for all users.

There are two types of contributions. One is code that modifies or adds to the software in the main repository - what is under 'trunk' in the repository, or under opus/src on your local machine. These contributions need to be managed more carefully since they could affect the behavior of the system for other users and make the system more fragile if not handled properly. The second type of contribution would be configurations that currently are stored in project_configs, and tools (such as data preparation or manipulation tools), that currently are located within the main trunk, but probably need to be either moved out to a location that is user accessible for easily contributing to with less need to coordinate code: a simple import and export command for 'plugin' tools. We are working on a design for this, and will try to have this in place by the User Conferences in May.

For source code that goes into trunk, here is a draft protocol:

  1. Contributions should conform to adopted coding standards, such as a minimum level of documentation and unit testing.
  2. Contributers, which we will call 'Developers', should get a Subversion and Trac account by filling out a request at
  3. Developers will be added to the DeveloperGroup on the wiki, and should participate by adding any notes on their planned and completed contributions in the Developers web which has restricted access by the DeveloperGroup.
  4. The TRAC system should be used to notify the developer group of planned or candidate bug fixes and features, including updating its status to completion.
  5. Developers should thoroughly test their contributions locally, running the full test-suite on their local machine, before merging their changes into the repository.
  6. Notable bug fixes and new features should be added to the ReleaseNotes to make sure users can find out what has changed.
  7. Developers should create and use a 'sandbox' in the repository to do experimental work that is complex enough to be likely to cause side effects on other parts of the system, and do their testing in the sandbox before merging into trunk.
  8. Contributions of code should ideally be peer-reviewed by some one other than the original developer. We can create some notification method to solicit review.
We will be developing training material to support developers being able to more quickly learn how to extend the system and add models and features. This is likely to be a combination of on-line documentation and tutorial for those who already have considerable development experience, and an intensive 2-day training session for those that need more of the fundamentals of developing in Python, Numpy, and OPUS. Note that there is already considerable documentation for developers.

Community Links

UrbanSim Users Users please add links and descriptions to your projects below. We may reorganize the layout over time, but initially we organize the links to users by city or metropolitan region. Once you are registered on this site, please add yourself to this list and create a page for your organization and project.

Planning Applications in the United States

  • DetroitMichigan: The Southeast Michigan Council of Governments
  • DurhamNorthCarolina?: The DCHC Metropolitan Planning Organization
  • EugeneSpringfieldOregon: Lane Council of Governments
  • HonoluluHawaii?: Oahu Metropolitan Planning Organization and the City and County of Honolulu
  • HoustonTexas?: Houston-Galveston Area Council
  • PhoenixArizona: Maricopa Association of Governments
  • SaltLakeCityUtah: the Wasatch Front Regional Council
  • SanAntonioTexas: the Alamo Area Council of Governments
  • SanFranciscoCalifornia: the San Francisco County Transportation Authority and the City and County of San Francisco
  • SeattleWashington: The Puget Sound Regional Council
For research applications, please refer to ResearchProjects, and for papers, head to ResearchPapers.
Topic revision: r17 - 20 Dec 2012 - 07:35:51 - PaulWaddell
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback