Thank you very much for developing GRAMM further or for fixing bugs, so that the entire community can benefit from it!
Do not hesitate to contact the project administrators at the beginning of your work. Changes to GRAMM have to go through a complex validation process, so it is advantageous if the validation body, which is currently Dietmar Oettl, knows exactly the content of the changes.
-- main : production and bug fixes
-- V2XXX : release ready commits and bug fixes
-- features/feature-xx: always branch from develop and delete after merging to develop
- main branch is inteded for production release. Keep it simple and easy to rollback
- V2XXX branch is for release preparation. Only for release ready commits.
If you're developing a new feature
- Create a feature branch from
V2XXX
branch - Branch name dependend on your new
feature
- When your code is ready for release, pull request to the
V2XXX
branch - Delete the feature branch
If you're making a bug fix
- Pull request to the
V2XXX
branch - Add an issue tag in the commit message or pull request message
If you're making a hot fix, which has to be deployed immediately.
- Pull request to
V2XXX
andmain
branch
Support is provided by the Technical University of Graz, Austria.
If you find a bug in the source code, you can help us by submitting an issue to our GitHub Repository. Even better, you can submit a Pull Request with a fix or send us an E Mail. Please test the bug fix by one ore more projects and document the changes.
GRAMM is developed on .Net5. You can use Visual Studio or Visual Studio Code for development across platforms or Visual Studio 2019 in Windows.
The released GRAMM application was compiled with GDAL and ECMWF coupling. If you want to compile without ECMWF coupling delete the constant _ECMWF_
and remove the dependencies for GDAL in the compiler settings or in the file Source.csproj.
If you want to compile with ECMWF coupling, keep the flag _ECMWF_
and install the dependencies for GDAL.
The program version including GDAL and ECMWF coupling was not tested at Linux.
For performance reasons, static jagged arrays and as few classes as possible are used (avoidance of boxing/unboxing).
We follow the Microsoft design rules.
- Use the present tense ("Add feature" not "Added feature")
- Use the imperative mood ("Change array a[] to..." not "Changes array a[] to...")
- Reference issues and pull requests liberally after the first line