@biglimp This repo sub-classes the solweig_runner classes to add Rust version of SOLWEIG.
The only change is that this version swaps-in `solweig.py. It is similar to existing solweig calc scripts but swaps-in Rust functions:
- Shadows
- GVF
- Anisotropic
- L veg
- K veg
These functions were identified through performance profiling and appear to work as intended per test_rustalgos.py
Demo here: Athens-demo.py
Individually these functions run between 3 - 20x faster with overall speedup of around 5x for the Athens demo. Larger rasters or more cores probably more.
@biglimp This repo sub-classes the
solweig_runnerclasses to add Rust version of SOLWEIG.The only change is that this version swaps-in `solweig.py. It is similar to existing solweig calc scripts but swaps-in Rust functions:
These functions were identified through performance profiling and appear to work as intended per
test_rustalgos.pyDemo here:
Athens-demo.pyIndividually these functions run between 3 - 20x faster with overall speedup of around 5x for the Athens demo. Larger rasters or more cores probably more.