Skip to content

v0.3.12 (Aug 19, 2025)

Choose a tag to compare

@QianyeSu QianyeSu released this 19 Aug 11:53
· 1957 commits to main since this release
0b37cb9

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