Campbell Prediction System Wiki emxsys.com
- 1 Overview
- 2 Participation
- 3 CPS Software
- 4 Software Development
- 4.1 Introduction
- 4.2 Information Sets
- 4.3 Requirements Artifacts
- 4.4 Analysis & Design Artifacts
- 4.5 Project Manangement Artifacts
- 4.6 Environment Artifacts
- 5 Developer FAQ
The Campbell Prediction System (CPS) project is a visualization tool for wildland fire behavior students, instructors and tacticians. The purpose of the tool is to provide an analysis of a fireground's fire behavior potential and to visualize the areas of risk and/or opportunity. The project is an effort to enhance the class room training of both wildland firefighters and fire behavior analysts, and to provide useful output on active wildland fires as well as historical fires.
This Wiki is oriented towards developers and users who are interested in the lower level details of the CPS implementation. If you are interested in a high-level view of the system or a Quick Start guide you should visit my Emxsys website.
This project is based on the work and training material developed by Doug Campbell. The following is a summary of Doug's work:
- The Campbell Prediction System is a practical way to use on-scene observations in order to determine fire behavior strategies and tactics. A combination of scientific research and the knowledge of the successful firefighters' methods and practices are utilized to explain fire behavior. In these situations the observed fire behavior becomes the baseline for fire behavior predictions. A special logic replaces intuition allowing an explanation of how tactics are developed. Developing a strong case for acting on the potential rather than waiting for the fire to make the change, would avoid the loss of life due to firefighters late reactions. If people could explain what the potential of the fire is in their situation, fewer accidents would occur. The Campbell Prediction System provides the logic and language to do so.
The program's fireground analysis logic leverages the BEHAVE algorithms of Rothermel and Albini, as well as the study of Uncertainty Propagation in Wildland Fire Behavior Modeling by Andreas Bachmann. Thanks to Andi Bachmann for contributing his Behave java classes.
The 3D visualization features leverage the NASA WorldWind Java SDK and the VisAD SDK. This project is destined to become a NetBeans module within the Emxsys (Emergency Management Expert System) project.
There are several ways that you can participate in the CPS project:
- Visit and Peruse - Visit the Project Vision and Software Development Plan and other related pages to stay abreast of the CPS development efforts.
- Monitor Message Forums - Read and discuss fire behavior and/or programming issues in the message forums. Kenai membership is required to post messages, but reading messages does not. The General Discussion forum is for CPS and fire behavior related topics; the Developers Forum is for programming issues.
- Join a Mailing List - Join one of the mailing lists to stay abreast of the project via email -- Kenai membership not required. The General Information List is used to monitor the project status. The Software Commits List is used to monitor changes in the codebase, and the Software Issues List is used to monitor bug reports.
- Download and Test - Download and test the CPS software. Testing is a critical component in the development of quality software. Bug reports can be submitted and monitored via JIRA Issue Tracking.
- Become a Contributor or Developer - When you bookmark this project you become and Observer and I will send you an email with instructions on how to increase your site privileges.
- Follow on Twitter - You can follow this project on Twitter under Emxsys.
Are you a Project Kenai member? An account is required to access some features of this project. Creating a user account is free (no strings attached). To join, simply click in the Join Now link at the top of the page.
Following is a context diagram depicting the boundaries and connections to the system.
Figure 1. Context Diagram.
Following are some screen shots of the v1.0 application developed in the Construction Phase of this project.
Figure 2. Version 1.0 Example.
Figure 2 shows a typical screen layout.
Note that on the left hand side of the screen, three panels are arrayed vertically to emphasize the "alignment of forces" concept taught by the Campbell Prediction System method. The center of the screen contains a map and terrain viewer for selecting and viewing a location of interest. And the right hand side of the screen depicts the fire behavior calculations in various charts.
Figure 3. Haul Chart.
Figure 3 shows an example of a fire behavior outputs that are familiar with wildland firefighters. This chart is reactive to all fire environmental inputs, particularly fuel model, wind, slope and time of day (solar preheating).
Figure 4. Fuel Temperature Chart
Figure 4 shows an example of diurnal fuel temperature. This display emphasizes the effect of solar preheating of the fuel bed. This display is very reactive to changes in location (i.e., the terrain aspect).
Figure 5. Spread Direction Chart
Figure 4 shows another example fire behavior output, in this case it shows the fire's spread direction and flame length. This very sensitive to wind. At lower wind speeds, slope plays a more significant factor.
The objective of the v1.0 release is to convert the application over to the NetBeans RCP (rich client platform) architecture and to vet the fire behavior calculations against BehavePlus.
Current development on v1.0 is taking place within the Subversion trunk repository.
The current down-loadable release is CPS v1.0. Version 1.0 incorporates the NASA WorldWind Java SDK for the terrain viewer. Fire behavior calculations are point based using general winds and local terrain calculations with diurnal air temperature and relative humidity inputs. All of the USFS standard fuels models are available, with helpful guides in the help section.
Version v1.0 can be downloaded here.
- Download and use LANDFIRE Fuel Model data from the USGS
- Perform fire behavior calculations for a fire ground area instead of just a point
- Augmenting fire behavior predictions with observed fire signatures
- Discovering trigger points and fire tracks via data mining
Automated setups are under construction. Until then, simply download the appropriate OS dependent zip file and unzip at your desired location. For PC/Linux, within the folder hierarchy you will find a "bin" folder that contains the application launcher. For the Mac, the zip file contains and application ready to run.
The current documentation and screenshots (v1.0) can be viewed at the Emxsys.com/Documentation page.
I have adopted a subset of the Rational Unified Process® (or RUP®) for the CPS project. RUP is a disciplined software engineering process which can be adapted to small or agile projects. Within the RUP software lifecycle, development progresses through four sequential phases: inception, elaboration, construction and transition. One pass through these phases is a development cycle. Within a single phase, each pass though software development activities that produces a stable-release is know as an iteration. There may be several iterations within a phase. Collectively, this is known as iterative development.
Currently, the Campbell Prediction System is the beginning of the Elaboration Phase.
Software development activities, known as disciplines, produce an number of artifacts such as documents, plans, and executables. These artifacts have been organized into a matrix for easy access (see Table 1 below). The artifacts are grouped together by discipline. An X or an O indicates which phase(s) will update the artifact. The 'X markers are hyper-linked to the artifact.
Users and stakeholders should read the documents in the Requirements section, in particular, Vision and Use-Cases. If you are interested in the development of this product, you should read the documents within the Project Management section.
Information Set Matrix
- Information Set Matrix Key
- X indicates that an artifact exists in this phase.
- O indicates that an artifact is anticipated, or TBD.
- A blank cell indicates that an artifact is not anticipated.
|X||User Interface Prototype|
|Analysis and Design|
|O||Software Architecture Document|
|O||O||O||Test Evaluation Summary|
|X||End-User Support Material|
|X||Software Development Plan|
- Table 1. Information Sets Matrix
- The Vision document collects, analyzes and defines the high-level needs and features of the Campbell Prediction System project. It provides the problem and vision statements.
- Terms and definitions used within the Campbell Prediction System project. (UNDER DEVELOPMENT)
- The Software Architecture Document provides a comprehensive architectural overview of the system, using a number of different architectural views to depict different aspects of the system. (UNDER DEVELOPMENT)
- The software development plan is a comprehensive composite artifact that gathers all information required to manage the project. It encloses a number of artifacts developed during the Inception phase and is maintained throughout the project.
- The development case shows how the generic RUP applies to the context of this project. A development case also provides an overview of the process to be followed, something understood by everyone on the project.
- The programming guidelines describe the conventions to be used when working with the Java programming language and the NetBeans IDE.
Implementation notes and FAQ regarding NetBeans, JOGL and WorldWind have been moved to the DeveloperFAQ "Lessons Learned" page.