v0.3.12 (Aug 19, 2025)
Major Performance Enhancements
-
Modernized Spherical Harmonics (spharm) Submodule: Complete Fortran code modernization for significantly improved windspharm performance:
- Modern Fortran Standards: Updated legacy Fortran code to modern standards with improved memory management and vectorization
- ~25% Performance Boost: Windspharm calculations now run approximately 25% faster across all operations
- Optimized Algorithms: Enhanced spherical harmonic transformations with better numerical efficiency
- Memory Optimization: Improved memory layout and access patterns for better cache performance
- Cross-Platform Compatibility: Better compiler optimization support across different platforms and architectures
- Maintained Accuracy: All numerical results remain identical while achieving significant speed improvements
-
Enhanced Build System: Streamlined compilation process for the modernized Fortran components
-
Python 3.13 Support: Added full compatibility with Python 3.13:
- Wheel Distribution: Pre-compiled wheels now available for Python 3.13 across all supported platforms
- Build System Compatibility: Updated build configuration to support Python 3.13's new features and requirements
- Cross-Platform Testing: Comprehensive testing on Linux x86_64, macOS (Intel & Apple Silicon), and Windows x64
- Future-Ready: Ensures Skyborn stays current with the latest Python ecosystem developments
🔧 Technical Improvements
-
Fortran Modernization:
- Replaced obsolete Fortran constructs with modern equivalents
- Improved array bounds checking and memory safety
- Enhanced numerical stability in edge cases
- Better integration with F2PY for Python bindings
-
Performance Optimizations:
- Vectorized mathematical operations in spherical harmonic calculations
- Optimized Legendre polynomial computations
- Reduced function call overhead in critical computation paths
- Enhanced caching strategies for frequently used calculations
-
Platform and Build Improvements:
- Extended Python Support: Now supports Python 3.9, 3.10, 3.11, 3.12, and 3.13
- Multi-Platform Wheels: Automated wheel building for Linux x86_64, macOS Intel/Apple Silicon, and Windows x64
- CI/CD Enhancements: Improved build matrix with comprehensive testing across all supported Python versions
- Future ARM64 Linux Preparation: Infrastructure ready for ARM64 Linux support when Python wheel ecosystem matures
Performance Benchmarks
Windspharm operation speedups compared to previous version:
- Vorticity Calculation: ~25% faster execution time
- Divergence Calculation: ~25% faster execution time
- Helmholtz Decomposition: ~25% faster execution time
- Streamfunction/Velocity Potential: ~25% faster execution time
- Combined Operations: ~25% faster execution time