OpenCDSS / StateMod GUI
The StateMod GUI (graphical user interface) software is used to view StateMod datasets (see also the StateMod software). The StateMod GUI has not been actively developed in recent years and is not currently used in the standard CDSS modeling environment. Use the following links to download StateMod GUI software.
- CDSS StateMod Software Downloads (official releases) - releases that support State of CO projects
- OpenCDSS StateMod GUI Software Downloads - archive and development releases (currently not available)
Additional StateMod GUI information and resources are available below:
General/User Information
The following sections provide background and information that is useful to StateMod GUI users. StateMod GUI users have typically been interested in viewing data and results without using the command line. Advanced StateMod users typically run the model on the command line and implement automated workflows to process model input and results. CDSS model datasets include documentation about how StateMod is used - see the CDSS website for model datasets and documentation.
Background
The StateMod GUI software provides data-viewing tools for StateMod datasets. The software was envisioned as a tool to view and edit StateMod datasets, run StateMod, and view results from the model. The software includes viewing windows for most StateMod data files, model network, and map interface (if spatial data are provided).
However, CDSS modelers in most cases prefer to use a data-centered approach that involves running TSTool and StateDMI software to prepare model input files, and using software such as TSTool to view output.
The StateMod GUI has not been updated for several years and is not currently used, although it could be enhanced. Attempting to download and compile the software will likely encounter issues due to updates in libraries that are used.
User Documentation
- See the documentation distributed with the software on the CDSS website.
License
The software is licensed using GPL v3+ license.
Report an Issue
To report an issue or request an enhancement, use the StateMod GUI GitHub repository issues. Software developers will evaluate the issue.
Developer Information
The StateMod GUI is written in Java and uses the Eclipse integrated development environment (IDE). The StateMod GUI is comprised of multiple software libraries, some of which are maintained as code in repositories, and some of which are used as third-party binary libraries. See the following developer resources.
Software Developers
The State of Colorado has designated the following as product contacts for development.
Person | GitHub User | Role/Comment |
---|---|---|
Steve Malers (OWF) | smalers | OpenCDSS lead and StateMod GUI developer. |
Brian Macpherson (CWCB) | macphersonbr | State of Colorado CDSS lead. |
Developer Documentation
- See the StateMod GUI repository README.
Development Environment
Compilation is via Eclipse IDE, although it should be possible to use other tools. See the README file for the repository for information about the development environment. Important information includes:
- The current standard is to develop on Windows 10 using Eclipse.
- Git Bash command line tools are also used for Git and development process automation.
Version Control
StateMod GUI code and other electronic assets are housed in the following repositories.
Content | Repository | Comment |
---|---|---|
Main StateMod GUI code | cdss-app-statemodgui-java | README provides additional information. |
Library components | See the main repository README for list. | |
Automated tests | None. | Automated tests have not been implemented for the application. |
Developer documentation | cdss-app-statemodgui-java | See README. |
User documentation | cdss-app-statemodgui-java | See doc folder. |
StateMod GUI software should be updated using a "feature branch" approach as per the OpenCDSS Workflow.
Adding an Issue
The GitHub issues tool is how developers track issues and communicate on progress. For an overview of using GitHub issues, see "Mastering Issues". The following general procedure should be to used add an issue (bug, enhancement request, question, etc.).
- Add a New issue on the StateMod GUI code repository issues page.
- The issue title should short and clear, for example "Button X is inactive"
(which will be indicated as a
bug
below) or "Need command to ABC" (which will be indicated as anenhancement
below). - An issue template (via
.github
folder in repository) is provided with instructions on how to submit the issue. The template provides default fill-in-the-blank sections that are useful for developers. The template text should be edited as appropriate to explain the issue, and is then submitted. Attachments can be used to provide test data or other useful information. Use a zip file if necessary. - The issue labels should be specified as completely possible.
Labels can be adjusted later as necessary.
See the OpenCDSS Version Control / GitHub Repository Issues guidelines.
If the issue author does not have write permissions on the repository, they will not be able to select issue labels.
- Select the issue type as
bug
,enhancement
, orquestion
. - Select the issue priority as
low
,medium
,high
, orcritical
. - Select the issue size as
XS
,S
,M
,L
, orXS
. Note that these are relative sizes and not intended to be detailed hourly estimates.
- Select the issue type as
- The issue title should short and clear, for example "Button X is inactive"
(which will be indicated as a
- There is not currently a GitHub project board defined for StateMod GUI, but it could be added to manage issues.
Testing
StateMod GUI automated testing for the user interface has not been implemented. Underlying code is tested using TSTool and StateDMI tests.