7. Developer Documentation¶
Our goal as developers is to ensure that OpenFAST is a sustainable open source software that is well tested and well documented. To that end, we continually work to improve the documentation and test coverage along with feature additions and improvements. This section of the documentation outlines the processes and procedures we have established for external developers to work with the NREL OpenFAST team on code development.
7.1. Getting in touch¶
Please use GitHub Issues to:
- ask usage or development questions
- report bugs
- suggest code enhancements
For other questions regarding OpenFAST, please contact Mike Sprague.
7.2. Contributing to OpenFAST¶
If you’d like to help with general OpenFAST development or work on a particular feature, then first install OpenFAST following the installation instructions for your machine. Next, verify that your installation is valid by running the test suite following the testing instructions.
After a successful and validated build, we encourage reading through the OpenFAST development philosophy to understand the general workflow for individual and coordinated development. Finally, be sure to review the GitHub workflow to avoid any merge or code conflicts.
7.3. Coordination¶
With development happening in parallel between NREL, industry partners, and universities, duplicated effort is likely without proper communication. In that regard, the NREL OpenFAST team maintains the GitHub Issues and Pull Request pages. Any suggested bug fixes, improvements, or new features should be documented there.
7.3.1. Issues and work assignment¶
Issues should be opened with proper documentation and data to fully describe the problem or feature gap. It is here that communication and coordination should happen regarding ongoing work for new development, and developers should make clear any intention to complete a task.
7.3.2. Pull requests and reviews¶
When a code modification is ready for review, a pull request should be submitted along with all appropriate documentation and tests as described in the GitHub workflow. An NREL OpenFAST team member will assign a reviewer and work with the developer to have the code merged into the main repository.
7.4. Documentation¶
OpenFAST documentation is hosted on readthedocs. It
is automatically generated from both the master and dev branches whenever new commits are added.
The documentation can also be generated locally as described in build docs while in development.
Note that a PDF of the documentation can be retrieved from readthedocs by clicking the arrow on the
lower left corner of the page next to v:master or v:dev.
While OpenFAST developer documentation is being enhanced here, developers are encouraged to consult the legacy FAST v8 Programmer’s Handbook.