Community Guidelines
Sapsan welcomes contributions from the community, looking to improve the pipeline and to grow its library of models. Let's make ML models more accessible together!
General Suggestions
Please feel free to post any bugs you run into or make suggestions through the Issues. I will do my best to address them as soon as possible.
If you would like to contribute directly, then a Pull Request would be the most straightforward way to do so. Once approved, you will be added as a contributor to Sapsan on GitHub.
Adding a Model
You would like to contribute to Sapsan's 'model zoo'? That's great! Here are the steps to do so
1. Create a new folder under sapsan/lib/estimator
with the name to reflect your model (custom_model
for now).
2. Place your python script with the model into that folder, adhering to the format outlined in the template (see Custom Estimator for details)
* make sure you initialize the model with sapsan/lib/estimator/custom_model/__init__.py
* add to sapsan/lib/estimator/__init__.py
a line to access your model, such as
sapsan/examples
. Make sure the example data is either randomly generated, provided in a small batch, or can be auto-downloaded.
4. Write a short description of your model for the Estimators' page on the Wiki. It is a good idea to provide a graph to show the structure of your model (graph example), along with the links to any publications of the model if such exist.
5. Pull Request it!
Once approved, your model will be included in automatic testing on push for all future Sapsan releases.
Analytical Tools
We use a huge variety of tools to analyze our results depending on the problem at hand. Sapsan certainly won't be able to cover everything, but it tries to cover the most general ones (e.g. power spectrum). If there is something major missing, please write about it in the Issues or create a Pull Request. For the latter, the tools should be added into sapsan/utils
. You can further add to either
1. plot.py
as a separate function
if it is a visual analysis (e.g. plotting probability density function)
2. physics.py
as a separate Class
for any type of physics-based calculations
3. Anything custom is fine too
Analytical Turbulence Models
I am looking to expand a library of analytical turbulence models (i.e. gradient model) to compare ones results with. There are lots of flavors of such, hence a pull request would be highly appreciated. Analytical models should be added as a separate Class
in sapsan/utils/physics.py
. In addition, please prepare a short description of it for the Wiki.