This site is dedicated to connecting members of the air quality modeling community through an interactive, open-source web resource. Members of the CMAS community are invited to contribute to this site by adding content and participating in discussion forums.
Community modeling is an approach for leveraging the expertise of a broad group of researchers in the field of environmental modeling. The interdisciplinary nature of environmental science requires collaborations between experts in particular subject areas to build integrated environmental modeling systems. Air quality modeling, for example, combines multiple fields, such as chemistry, physics, mathematics, and computer science, in a single piece of software that can be used as both a research and regulatory tool. While it's difficult for an individual person or research group to have expertise on all components of a complex program like an air quality model, community modeling provides a way to connect experts on each of the system components through a common software framework.
Open Source Software
Open source software is computer software for which the source code and certain other rights normally reserved for copyright holders are provided under a software license that meets the Open Source Definition or that is in the public domain. This permits users to use, change, and improve the software, and to redistribute it in modified or unmodified forms. It is very often developed in a public, collaborative manner (source: Wikipedia). All of the software developed and used under a community modeling approach needs to be open source.
Peer production or mass collaboration is a collective action of individual users working independently on a common problem. In the context of software development, it refers to a distributed programming approach where independent programmers share the task of building a complex piece of software. The Linux operating system exemplifies mass collaboration in computer programming. For environmental modeling, peer production is a way to decentralize model development, allowing researchers to freely develop and share new software modules without the constraints of a development agenda. Software developed for peer production is often modular to facilitate simultaneous and targeted development on specific components of the program. While peer production inherently removes very prescriptive guidelines for how collective tasks are being performed, it does require a facilitator to organize and distribute products and to connect the peer community.
The CMAS Center is working to facilitate community development within the air quality modeling field. Promoting the CMAQ, SMOKE, and MCIP software as the core modeling components for peer production, CMAS has spent several years interacting with members of the community to refine how community modeling can work for the field. Communication tools, such as listservs, newsletters, and this wiki, are in place to connect members of the air quality modeling community. The annual CMAS conference provides a forum for community members to share their current work and discuss collaborations. Mechanisms to promote peer production are still being developed by CMAS and are an area where more community guidance is needed.
Open source software is typically posted in an online code repositories, such as SourceForge, to mange how the source code is obtained and tracked in the peer production environment. An alternative approach is to have an offline code repository where community submissions are manually redistributed after review by a steering committee or group of power users. The CMAS Center is in the process of working with the community to determine the best approach for managing open source software in the air quality modeling field.
For the past five years CMAS has convened ad hoc developers meetings during the annual CMAS conference. Open to anyone, the purpose of these meetings is to bring together community members who are interested or actively engaged in model development and want to provide some guidance about how to optimize how the CMAS Center can facilitate community modeling. The 2008 meeting (meeting minutes) called for the creation of better communication tools for the development community and led to the creation of this wiki. The 2009 meeting (meeting minutes) included discussions of branching CMAQ into separate development and production lines and conversations on how to best distribute development code to the community.
In 2012, the ad hoc developers meeting was formalized as a conference session and transformed into a Developers and Users Forum to include a wider part of the community in the discussion. The Developers and Users Forum (meeting minutes) included a panel discussion by five distinguished members of the community and an open conversation on the current and emerging needs of the CMAS community.