Thank you for considering a contribution to acousticTS.
Before opening an issue
Search the existing issues and consult the package documentation. Use the appropriate issue form and include a minimal reproducible example. For numerical problems, identify the model, boundary condition, geometry, parameters, expected result, and any independent reference calculation.
Development setup
Install a current R release and the platform compiler toolchain required for packages containing C++, C, and Fortran source code. On Windows, install the matching version of Rtools.
Install the package dependencies with:
pak::pak()Pull requests
Create a focused branch and keep each pull request limited to one coherent change. Before submitting it:
- Add or update tests for behavior changes.
- Add a
NEWS.mdentry for user-visible changes. - Run
devtools::document()when roxygen comments change. - Run
devtools::test(). - Run
devtools::check().
Do not commit compiled objects, temporary plots, local check directories, or generated files that are already excluded by .gitignore or .Rbuildignore.
R documentation and style
Keep R source lines within 80 characters where practical. Use TRUE and FALSE, never the abbreviations T and F.
Every function must have a meaningful roxygen title and documentation. Internal functions must use @noRd. Exported documentation and examples must not refer to internal functions or internal implementation helpers.
Examples must be deterministic, quick, and safe during R CMD check. Examples that intentionally require unsupported precision, substantial computation, or interactive plotting should be enclosed in \dontrun{} where appropriate.
Compiled code
Changes under src/ must compile without new diagnostics on supported platforms. Preserve upstream copyright and licensing notices. Avoid adding platform-specific compiler flags to package Makevars files.
Numerical changes should include regression tests and clearly state the reference result, tolerance, and applicable parameter range.
