We welcome contributions from the community! This guide outlines how you can contribute to the MUSICA project.
-
Clone the repository:
git clone https://github.com/NCAR/musica.git cd musica -
Build the project:
mkdir build && cd build ccmake .. make
-
Python development setup:
pip install -e .
For detailed developer options and dependency management, see our Software Development Plan.
We appreciate all types of contributions:
- Bug fixes
- New features
- Performance improvements
- Test coverage improvements
- README improvements
- Code documentation
- Tutorial and example updates
- Wiki contributions
- Bug reports with reproducible examples
- Testing on different platforms
- Validation against known results
- New chemical mechanisms
- Algorithm improvements
- Performance optimizations
- Fork the repository and create a feature branch
- Make your changes following our coding standards
- Add tests for new functionality
- Update documentation as needed
- Submit a pull request with a clear description
We believe in recognizing all contributors appropriately:
Contributors who make substantial, ongoing contributions to the codebase, architecture, or project direction will be listed as authors in:
pyproject.toml(for Python package metadata).zenodo.json(as "creators" for software citations)AUTHORS.md(as core developers)
Contributors who make valuable but smaller contributions will be acknowledged in:
.zenodo.json(as "contributors" with appropriate type)AUTHORS.md(in the Additional Contributors section)- GitHub's contributor list (automatic)
- Follow existing code style and conventions
- Include appropriate tests for new functionality
- Document new features and APIs
We use CMake for C++ dependencies and pip for Python dependencies. See our README for information about specifying dependency versions during development.
If contributing GPU-related code, please test on appropriate hardware and follow our GPU build guidelines.
- Check our documentation
- Read our Software Development Plan
- Contact the maintainers at musica-support@ucar.edu
Thank you for your interest in contributing to MUSICA!