Recent Releases of Skyborn

Skyborn - Skyborn 0.4.0

New Features

  • Atmospheric Diagnostics Expansion: Added new compiled diagnostics and Python bindings for atmospheric-column workflows, including DCAPE and the updated tropical-cyclone / growth-rate calculation paths.
  • Hybrid and Sigma Interpolation Modernization: Expanded the vinth2p family with clearer column-major and C-order entry points, improved ECMWF handling, and updated hybrid / sigma remapping helpers.

Improvements

  • Spharm and Wind Analysis Refactoring: Refined spherical-harmonic and reduced-vector-wind internals to reduce wrapper overhead, improve caching, and make the public flow clearer.
  • Plotting Pipeline Acceleration: Moved more scatter and curly-vector validation / sampling work into native helpers to reduce Python-side overhead and temporary-array churn.
  • Build and Documentation Cleanup: Continued Meson build modernization and refreshed documentation and tests around the reorganized interfaces.

Cleanup

  • Legacy API Removal: Removed the old Iris interface and other unused legacy paths, and tightened the wind-analysis / spectral-helper APIs.
  • Regression Coverage: Added focused tests for the updated interpolation, plotting, spectral-helper, and wind-analysis paths.

Climate Change - Climate Data Processing and Analysis - Fortran
Published by QianyeSu about 1 month ago

Skyborn - Skyborn 0.3.22

Improvements

  • Tropical cyclone potential intensity diagnostics modernization: aligned the workflow with recent upstream validation data and decomposition conventions while keeping the compiled backend as the primary execution path.
  • spharm internal optimization: improved the internal spherical-harmonic helper flow so repeated potential-field reconstruction can reuse intermediate spectral results more efficiently.
  • windspharm performance improvements: reduced Python-side overhead in the tested wind-decomposition workflow family while preserving established public numerical conventions.
  • Growth-rate and pressure-interpolation additions: added compiled atmospheric-column growth diagnostics and pressure-coordinate interpolation support for Chemke-style workflows, including batch evaluation, spectral smoothing, and zonal-wavenumber mode support.

Bug Fixes

  • Tropical cyclone potential intensity parity and robustness: fixed remaining pressure, outflow, and missing-column handling issues and improved agreement with the current upstream reference implementation.
  • spharm and windspharm regression coverage: added focused tests for updated internal spectral-helper and wind-analysis paths, including shape-validation coverage for the optimized flow.

Climate Change - Climate Data Processing and Analysis - Fortran
Published by QianyeSu about 1 month ago

Skyborn - v0.3.21 (Apr 30, 2026)

Improvements

  • Scatter Placement Acceleration: Moved the cell-interior candidate
    generation path in skyborn.plot.scatter into the native C helper so
    projected stippling workflows spend less time in Python loops and
    temporary array construction
  • Curly-Vector Display-Space Sampling Optimization: Moved
    _NCLDisplaySampler display-cell validation and batch display-grid
    sampling into the native plotting helper, reducing intermediate-array
    overhead and lowering memory use for projected curly_vector
    workflows on larger grids
  • Display-Curve Validation Fast Path: Extended the native
    curly-vector tracer so it can return both data-space and display-space
    curves in one pass and run the display-curve quality screening in C
    while preserving the previous plotted geometry

Cleanup

  • Plot Internal Simplification: Removed unused internal helper aliases
    from skyborn.plot.vector and kept the low-level plotting tests
    importing their implementation modules directly

Climate Change - Climate Data Processing and Analysis - Fortran
Published by QianyeSu about 2 months ago

Skyborn - v0.3.20 (Apr 20, 2026)

Skyborn 0.3.20

This release expands Mann-Kendall trend analysis, adds modern interpolation kernels and diagnostics, modernizes several regridding and interpolation backends, and improves scatter stippling plus cross-section handling.

New Features

  • Expanded Mann-Kendall trend analysis to support the same core test families as pymannkendall, while extending them to multidimensional NumPy and xarray workflows.
  • Added public support for grouped multivariate, regional, correlated multivariate, seasonal, correlated seasonal, pre-whitening, trend-free pre-whitening, Hamed-Rao, Yue-Wang, and partial Mann-Kendall workflows.
  • Added standalone partial-Mann-Kendall APIs for one-dimensional, multidimensional, and xarray inputs.
  • Added modern Fortran kernels for hybrid-to-pressure and sigma-to-hybrid interpolation in skyborn.interp.
  • Added public hybrid-level diagnostics: skyborn.interp.pressure_at_hybrid_levels and skyborn.interp.delta_pressure_hybrid.

Improvements

  • Modernized the compiled rcm2rgrid, rcm2points, triple2grid, grid2triple, and shared linint2 sources to free-form Fortran .f90 while keeping the public entry points unchanged.
  • Improved interpolation performance and build behavior by reducing eager-wrapper overhead, trimming temporary-array use, splitting duplicated support-library compilation in src/skyborn/interp/meson.build, and renaming the internal vinth2p acceleration module from vinth2p_backend to vinth2p_kernels.
  • Improved skyborn.plot.scatter so cell-interior stippling now works better for masked rectilinear grids and also supports inferred curvilinear cell geometry.

Bug Fixes

  • Extended skyborn.calc.troposphere WMO tropopause workflows to handle time-varying single-axis isobaric cross-sections such as (time, level, lat) and (time, level, lon) while preserving the correct output dimensions.
  • Dropped incompatible 2D auxiliary source-grid coordinates such as TLAT and TLONG after rcm2rgrid remapping instead of raising coordinate-size conflicts.
  • Restored legacy exact-hit missing-value behavior in rcm2points and rgrid2rcm so unresolved fields can still fall through to the historical interpolation logic when appropriate.
  • Added focused tests for the updated Mann-Kendall, troposphere, and interpolation dispatch and wrapper paths.

Climate Change - Climate Data Processing and Analysis - Fortran
Published by QianyeSu about 2 months ago

Skyborn - v0.3.19 (Apr 7, 2026)

New Feature

  • Added skyborn.plot.scatter for gridded map and profile stippling with
    NCL-style display-space thinning.

  • Added skyborn.plot.scatter to the explicit skyborn.plot public API.

  • Added focused plotting tests, examples, and documentation for the new
    scatter-stippling workflow.

  • Implemented the public scatter entry point in its own
    skyborn.plot.scatter module so the display-space thinning logic stays
    isolated and easier to maintain.

  • Added skyborn.plot.vector as the unified public facade for the
    curly-vector feature family:

    • skyborn.plot.vector.curly_vector
    • skyborn.plot.vector.curly_vector_key
    • skyborn.plot.vector.CurlyVectorPlotSet
    • skyborn.plot.vector.CurlyVectorKey
  • Consolidated the curly-vector implementation into
    skyborn.plot.vector so the public wrapper logic and the low-level
    vector helper surface now live in one top-level module.

  • Removed the separate top-level implementation files
    ncl_vector.py, vector_key.py, and vector_plot.py from
    skyborn.plot.

  • Kept historical module imports working through package-level
    compatibility aliases, so existing imports do not need to break
    immediately.

  • Narrowed the skyborn.plot package-root export surface so the common
    public entry points are now function-first:

    • skyborn.plot.curly_vector
    • skyborn.plot.curly_vector_key
    • skyborn.plot.scatter
    • skyborn.plot.add_equal_axes
    • skyborn.plot.createFigure
  • Removed the temporary package-level compatibility aliases for the deleted
    historical modules skyborn.plot.ncl_vector, skyborn.plot.vector_key,
    and skyborn.plot.vector_plot.

  • Updated plotting examples and user-facing documentation to recommend
    skyborn.plot.vector as the module-oriented import path for curly-vector
    usage while preserving the existing package-level skyborn.plot exports.

Interpolation

  • Enhanced model-level interpolation in
    skyborn.interp.interpolation.

  • Improved skyborn.interp.interp_hybrid_to_pressure so hybrid-sigma to
    pressure remapping now chooses a more suitable execution path for ordinary
    in-memory arrays and Dask-backed arrays instead of always forcing the older
    chunked workaround.

  • Added public hybrid-level diagnostics:

    • skyborn.interp.pressure_at_hybrid_levels
    • skyborn.interp.delta_pressure_hybrid
  • Improved below-ground temperature extrapolation support in the hybrid-level
    interpolation workflow while keeping compatibility with the older Skyborn
    helper calling pattern.

Climate Change - Climate Data Processing and Analysis - Fortran
Published by QianyeSu 2 months ago

Skyborn - v0.3.18 (Apr 2, 2026)

Plotting API Cleanup

  • Renamed the NCL-like vector plotting public API to the new names:

    • skyborn.plot.curly_vector (unified arrays + xarray entry point)
    • skyborn.plot.curly_vector_key
    • skyborn.plot.CurlyVectorPlotSet
    • skyborn.plot.CurlyVectorKey
  • Removed the legacy plotting API names from the public surface:

    • velovect
    • velovect_vertical_profile
    • dataset_curly_vector
    • curved_quiver
    • add_curved_quiverkey
    • CurvedQuiverplotSet
    • CurvedQuiverLegend
  • Split the plotting implementation into clearer modules:

    • skyborn.plot.vector_plot for the core curly-vector renderer
    • skyborn.plot.ncl_vector for the xarray / Cartopy dataset wrapper
    • skyborn.plot.vector_key for the reference-vector annotation artist
  • Replaced wildcard plotting exports with an explicit skyborn.plot public API.

  • Added type annotations to the renamed public plotting entry points and key artist class.

  • Updated plotting tests, examples, and documentation to the new curly-vector API only.

Climate Change - Climate Data Processing and Analysis - Fortran
Published by QianyeSu 2 months ago

Skyborn - v0.3.17 (Mar 30, 2026)

v0.3.17

Skyborn v0.3.17 introduces optional CDO integration, expands platform support, and includes several important fixes and performance improvements.

  • Added optional CDO integration through the new skyborn.cdo namespace.
  • Added official Python 3.14 support across Linux, macOS, and Windows.
  • Added manylinux2014 wheel builds for better compatibility with older Linux environments.
  • Removed the skyborn.conversion GRIB-to-NetCDF conversion module and its related tests and documentation.
  • Fixed numerical drift in the modern spharm Fortran implementation to better match legacy SPHEREPACK behavior.
  • Improved windspharm performance by speeding up the modern spharm backend while keeping results equivalent.

Climate Change - Climate Data Processing and Analysis - Fortran
Published by QianyeSu 3 months ago

Skyborn - v0.3.16 (Dec 28, 2025)

What's Changed

πŸ› Bug Fixes

  • Fix mann_kendall_xarray dimension handling for scalar dimensions and preserve dimension order
  • Remove deprecated macOS Intel (macos-13) CI support
  • Enhance .zenodo.json metadata for accurate package description and academic citations

πŸ“¦ Dependencies

  • Bump pypa/cibuildwheel from 3.2.1 to 3.3.0
  • Bump actions/checkout from 5 to 6

Climate Change - Climate Data Processing and Analysis - Fortran
Published by QianyeSu 6 months ago

Skyborn - v0.3.15 (Oct 29, 2025)

New Features in the interp Submodule: Enhanced Interpolation and Regridding Capabilities

  • Added rcm2points: Nearest neighbor interpolation from curvilinear grids to arbitrary point sets
  • Added rcm2rgrid: Regridding from curvilinear grids to regular latitude-longitude grids
  • Added rgrid2rcm: Reverse regridding from regular latitude-longitude grids to curvilinear grids
  • Added grid_to_triple: Convert regular grids to irregular triplet representation (x, y, value)
  • Added triple_to_grid: Map irregular triplets to regular grids (nearest neighbor, supports search radius/spherical distance)

Climate Change - Climate Data Processing and Analysis - Fortran
Published by QianyeSu 8 months ago

Skyborn - v0.3.14 (Sept 9, 2025)

πŸŒ€ New TC Genesis Potential Index (GPI) Module

  • Tropical Cyclone Potential Intensity Calculations: Complete implementation of Emanuel's potential intensity theory

    • 19-25x Performance Acceleration: Achieves 19-25 times speedup compared to pure Python implementations
    • Multi-Dimensional Support: Handles single profiles, 3D gridded, and 4D time series data
    • Comprehensive Unit Handling: Automatic unit detection and conversion for temperature, pressure, and humidity
    • xarray Native Interface: Full integration with xarray data structures and metadata preservation
  • Key Features:

    • Potential Intensity Calculation: Maximum sustained wind speed and minimum central pressure
    • Smart Dimension Detection: Automatically identifies time, level, lat, and lon dimensions
    • Extensive Unit Support: Handles various unit formats (K/Β°C/Β°F, Pa/hPa/mb/atm, kg/kg/g/kg/%)

Climate Change - Climate Data Processing and Analysis - Fortran
Published by QianyeSu 9 months ago

Skyborn - v0.3.13 (Aug 31, 2025)

πŸ”§ Breaking Changes

  • Removed Iris Support: Removed fill_cube function and iris dependencies from gridfill module

    • Use skyborn.gridfill.xarray.fill for xarray DataArrays instead
    • Iris cube support was causing package conflicts and installation difficulties
    • Focus shifted to xarray-based workflows which are more common in the scientific Python ecosystem

🎯 Tropopause Calculation Enhancements

  • New Comprehensive Tropopause Module: Complete implementation of WMO tropopause calculation with multi-dimensional support

    • 1D Profile Support: New trop_wmo_profile() function for single atmospheric profiles
    • 2D Spatial Analysis: Support for (level, lat) and (level, lon) cross-sections
    • 3D & 4D Gridded Data: Enhanced support for spatial and temporal datasets
    • Simplified xarray Interface: Auto-generates pressure from level coordinates
    • Performance: Optimized Fortran backend with 0.38ms per profile processing
  • Enhanced xarray Integration:

    • Automatic Pressure Generation: trop_wmo(temperature) - no pressure array needed
    • Smart Dimension Detection: Automatically detects lat, lon, level, and time dimensions
    • Metadata Preservation: Maintains coordinate information and CF-compliant attributes
    • Flexible Input Formats: Works with any dimension ordering and coordinate names
  • Improved Code Quality:

    • Simplified Imports: Removed try-except blocks, direct Fortran module importing
    • Parameter Consistency: Updated interface with temperature, pressure parameter order
    • Better Documentation: Comprehensive examples for all supported data formats
    • Removed Unused Code: Cleaned up _detect_cyclic_longitude function

🌊 New Geostrophic Wind Module

  • Complete Geostrophic Wind Implementation: New high-performance module for calculating geostrophic wind components from geopotential height fields

    • SIMD-Optimized Fortran Backend: Vectorized calculations with OpenMP parallelization for optimal performance
    • Multi-Dimensional Support: Handles 2D, 3D, and 4D data arrays with automatic dimension handling
    • Automatic Parameter Detection: Smart longitude cyclicity detection and south-to-north latitude ordering
    • Dual Interface Design: Both NumPy arrays and xarray DataArrays supported
  • xarray Integration: Seamless integration following established patterns

    • Auto-Coordinate Detection: from skyborn.calc.geostrophic.xarray import geostrophic_wind
    • Zero Manual Parameters: result = geostrophic_wind(z) - that's it!
    • CF-Compliant Output: Standard metadata with eastward/northward wind components
    • Multi-Resolution Support: Adaptive algorithms work with 0.25Β° to 10Β° grids
  • Optimized Algorithms: Production-ready implementation

    • Finite Difference Method: Uses geostrophic balance equations with proper boundary conditions
    • Coriolis Parameter Handling: Accurate f-plane approximation with pole region handling
    • Memory Efficient: Single precision (float32) processing with minimal memory footprint
    • Flexible Grid Support: Works with both cyclic and regional domains

πŸ”§ Technical Improvements

  • Hybrid Build System: Implemented innovative meson-setuptools hybrid architecture for seamless extension development

    • Zero-Configuration Module Addition: New Cython/C/Fortran modules automatically discovered and built
    • Unified Workflow: Single command python setup.py build_ext --inplace builds all extensions
    • Cross-Platform Optimization: Automatic compiler detection and platform-specific optimization flags
    • Smart Extension Discovery: setup.py automatically finds and compiles all submodules with meson.build files
    • Backwards Compatible: Maintains existing CI/CD workflows while enabling modern build features
    • Developer Friendly: Copy template meson.build, modify module name, and it's ready to build
  • Enhanced Extension Building: Streamlined process for adding compiled extensions

    • Template-Based: Simple copy and modify approach for new extensions
    • Automatic Integration: No manual setup.py modifications required for new modules
    • Parallel Builds: Meson enables efficient parallel compilation
    • Incremental Updates: Only rebuilds changed modules for faster development cycles
  • Fortran Extensions: Added 2D and 1D specific interfaces (prepared for future compilation)

  • Enhanced Error Handling: Better validation for different data dimensionalities

  • Memory Optimization: Efficient processing of large multi-dimensional arrays

  • CF Compliance: Output follows Climate and Forecast metadata conventions

πŸ“Š New Functionality

  • Spatial Correlation Analysis: Added skyborn.calc.spatial_correlation function for analyzing spatial patterns of correlation between gridded data and time series
  • Enhanced Linear Regression: Improved linear_regression function with robust NaN value handling for climate data with missing observations
  • Multi-Scale Analysis: Seamlessly analyze from single profiles to global climate datasets
  • Time Series Support: Process multi-year datasets with preserved temporal coordinates
  • Cross-Section Analysis: Dedicated support for meridional and zonal cross-sections
  • Automatic Sorting: Intelligent pressure level ordering with user override options

πŸ§ͺ Validation & Testing

  • Successfully tested on realistic atmospheric data (CESM2 model output)
  • Verified accuracy: 99.96% success rate on 663,552 grid points
  • Performance validated: 100 profiles processed in 38ms
  • Cross-validated against standard atmospheric profiles

Climate Change - Climate Data Processing and Analysis - Fortran
Published by QianyeSu 10 months ago

Skyborn - v0.3.12 post1 (Aug 21, 2025)

v0.3.12.post1 - Fix spharm module wheel packaging

Bug Fixes

  • Fixed spharm module wheel packaging: Resolved issue where compiled Fortran extensions (_spherepack*.pyd files) were missing from wheel distributions built via GitHub CI
  • Improved meson integration: Updated setup.py to use meson's native installation capabilities instead of manual file copying
  • Enhanced build system: Streamlined meson.build configuration for better wheel compatibility
  • Fixed macOS wheel building: Set MACOSX_DEPLOYMENT_TARGET=14.0 to resolve OpenMP dependency compatibility issues

Changes

setup.py

  • Configured meson to install directly to setuptools build directory using --python.purelibdir and --python.platlibdir parameters
  • Added auto-discovery of meson modules for better extensibility
  • Simplified build logic by removing complex file copying mechanisms

meson.build

  • Changed from install: false to install: true with proper install_dir configuration
  • Maintained smart copying logic for --inplace builds
  • Enhanced cross-platform compatibility

GitHub Actions (.github/workflows/build-wheels.yml)

  • Set MACOSX_DEPLOYMENT_TARGET=14.0 for macOS arm64 builds to match OpenMP library requirements
  • Ensures compatibility with libgomp.1.dylib minimum target version
  • Compatibility: x86_64 (Intel) wheels are built for macOS 13 and later; arm64 (Apple Silicon) wheels require macOS 14 and later. Users running older macOS versions may need to build from source or use an x86_64 wheel under Rosetta where applicable.

Validation

  • Successfully tested wheel building and installation
  • Confirmed _spherepack*.pyd files are now correctly included in wheel distributions
  • Verified functionality across different installation methods

Installation

Install the updated version:

pip install --upgrade skyborn==0.3.12.post1

Or install from source:

pip install --upgrade git+https://github.com/QianyeSu/Skyborn.git@v0.3.12.post1

Climate Change - Climate Data Processing and Analysis - Fortran
Published by QianyeSu 10 months ago

Skyborn - 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

Climate Change - Climate Data Processing and Analysis - Fortran
Published by QianyeSu 10 months ago

Skyborn - v0.3.11 (Aug 9, 2025)

πŸš€ Major Performance Improvements

  • Optimized Mann-Kendall Trend Analysis: Completely rewritten for significantly improved performance:

    • Vectorized Implementation: True vectorization of Mann-Kendall S-score calculation using advanced NumPy operations
    • 15-30x Performance Boost: Processing speeds increased from ~19 to ~1,853 grid points per second for large climate datasets
    • Climate Data Optimized: Specifically tuned for typical climate data dimensions (40Γ—192Γ—288) with ~30-second processing time
    • Memory Efficient: Intelligent chunking strategy with only ~25MB memory usage for full climate grids
    • Batch Processing: Vectorized statistical calculations for clean data series, individual handling for series with missing values
    • Enhanced Dask Support: Improved map_blocks implementation for distributed computing workflows
  • Method Parameter Updates: Replaced deprecated method="auto" with method="theilslopes" throughout the codebase for consistency

πŸ”§ Technical Improvements

  • Simplified Import Structure: Removed conditional/backup import logic in favor of direct scipy.stats imports for improved maintainability
  • Code Quality Enhancements: Eliminated unused backup functions (_mk_score_backup, _theil_sen_backup) that were reducing test coverage
  • Consolidated Test Suite: Merged supplementary test files into main test suite for better organization and reduced maintenance overhead
  • Documentation Fixes: Corrected parameter names in API documentation examples (time_axis β†’ axis)
  • Advanced Vectorization: New _vectorized_mk_score() function using upper triangular indices for O(nΒ²) to O(1) complexity reduction
  • Smart Memory Management: Automatic chunk size estimation based on available memory and data dimensions
  • Robust Error Handling: Graceful handling of edge cases and problematic time series
  • Comprehensive Testing: Full test suite validation with 85% code coverage maintained

🎨 UI/UX Improvements

  • Dark Mode Compatibility: Fixed notification color gradients for better visibility in dark themes:

    • Updated notification system to use deep blue to light blue gradient for improved contrast
    • Enhanced table responsiveness styling for better dark mode support
  • Documentation Accuracy: Corrected function documentation to match actual codebase:

    • Fixed plot module function listings to reflect actual available functions
    • Removed non-existent functions from documentation (plot_field, plot_vector_field, plot_streamlines, plot_contour)
    • Added proper documentation for actual functions (add_equal_axes, createFigure, curved_quiver, add_curved_quiverkey)
    • Updated windspharm interface references for accurate Sphinx linking
    • Standardized "XArray" to "Xarray" throughout documentation

πŸ“Š Performance Benchmarks

For typical climate data analysis scenarios:

  • Small datasets (50Γ—20Γ—30): 6.3x speedup (251 β†’ 1,578 points/sec)
  • Medium datasets (100Γ—30Γ—40): 14.8x speedup (74 β†’ 1,093 points/sec)
  • Large datasets (200Γ—40Γ—50): 31.3x speedup (19 β†’ 595 points/sec)
  • Climate grids (40Γ—192Γ—288): ~30 seconds total processing time

Climate Change - Climate Data Processing and Analysis - Fortran
Published by QianyeSu 10 months ago

Skyborn - v0.3.10 (Aug 8, 2025)

πŸš€ New Features

  • Advanced GridFill Module: Major expansion of grid filling capabilities for atmospheric data interpolation:

    • New XArray Interface: Modern skyborn.gridfill.xarray module with automatic coordinate detection
    • Comprehensive Tutorial: Interactive Jupyter notebook demonstrating wind field gap filling techniques
    • Multiple Interpolation Methods: Basic Poisson, high-precision, zonal initialization, and relaxation parameter tuning
    • Physical Validation: Component-wise vs direct speed filling comparison for vector wind fields
    • Quality Assessment: Grid coverage validation and interpolation accuracy metrics
  • Rossby Wave Source Analysis: Added comprehensive Rossby wave source calculation capabilities to the windspharm module:

    • New rossbywavesource() method in both standard and xarray interfaces
    • Implements the Sardeshmukh & Hoskins (1988) formulation: S = -ΞΆβ‚βˆ‡Β·v - v_Ο‡Β·βˆ‡ΞΆβ‚
    • Support for custom truncation levels and Earth's angular velocity parameters
    • CF-compliant metadata for xarray output with proper units and standard names

πŸ”§ Improvements

  • Test File Consolidation: Merged duplicate gridfill test files for better maintainability
  • Better Grid Handling: Improved spherical harmonic truncation validation for different grid sizes
  • Documentation Updates: Enhanced gallery with new Rossby wave source visualization examples

πŸ“š Documentation

  • New GridFill Tutorial: Complete interactive demonstration including:

    • Advanced data interpolation techniques with real atmospheric wind data
    • Missing data simulation and quality assessment methodologies
    • Component-wise vs direct approach comparison for vector fields
    • Publication-quality visualizations with integer colorbar formatting
    • Performance analysis and best practices for atmospheric applications
  • New Tutorial Notebooks: Added comprehensive examples for:

    • Rossby wave source analysis and visualization
    • Grid filling techniques with atmospheric data
    • Longitude coordinate system transformations
  • Enhanced Gallery: Updated with new visualization examples including:

    • windspharm_rossby_wave_source_truncations.png showing truncation effects
    • gridfill_missing_data_overview.png demonstrating gap filling scenarios
    • gridfill_component_vs_direct_comparison.png showing physical constraint preservation
    • Improved figure captions and mathematical formulations
    • Better integration of notebook examples

πŸ§ͺ Testing

  • Expanded Test Coverage: Added comprehensive tests for new Rossby wave source functionality
  • Grid Size Validation: Enhanced parameter validation for different grid resolutions
  • Cross-interface Testing: Verified consistency between standard and xarray interfaces

Technical Notes

  • All existing functionality remains backward compatible
  • Enhanced error handling for grid size limitations in spherical harmonic calculations
  • Improved memory efficiency for large-scale atmospheric analysis

Climate Change - Climate Data Processing and Analysis - Fortran
Published by QianyeSu 10 months ago

Skyborn - v0.3.9 (Aug 5, 2025)

What's New

New Features

  • Enhanced Spherical Harmonics Module: Improved performance and stability for atmospheric data analysis
  • New Windspharm Submodule: Added comprehensive wind field analysis capabilities including:
    • Vector wind analysis and spherical harmonic transforms
    • Vorticity and divergence calculations
    • Stream function and velocity potential computations
    • Compatible with various grid types and coordinate systems
  • Optimized Build System: Streamlined compilation process for better cross-platform compatibility

πŸ”§ Improvements

  • Better Error Handling: Enhanced error messages and debugging information
  • Performance Optimizations: Faster execution for large-scale atmospheric calculations
  • Code Quality: Improved type hints and documentation coverage

Bug Fixes

  • Fixed interpolation edge cases in atmospheric data processing
  • Fixed Dimension Handling in Regridding: Resolved dimension change issues in interp.regridding.py module that were causing inconsistent array
    shapes during interpolation operations
  • Resolved compilation issues on various platforms
  • Improved numerical stability in spherical harmonic transforms

Documentation

  • Added comprehensive examples and tutorials
  • Enhanced API reference with mathematical formulations
  • Windspharm Module Documentation: Complete documentation and examples for wind field analysis functions
  • Improved installation and usage guides

Technical Details

Dependencies

  • Updated NumPy compatibility
  • Enhanced F2PY integration
  • Improved Fortran compiler support
  • Windspharm Dependencies: Added support for spherical harmonic wind analysis libraries

Platform Support

  • Linux x86_64 (manylinux2014)
  • macOS (Intel and Apple Silicon)
  • Windows x64

Installation

  pip install skyborn==0.3.9

πŸ”— Links

Qianye Su

Climate Change - Climate Data Processing and Analysis - Fortran
Published by QianyeSu 11 months ago

Skyborn - v0.3.7 (Jul 10, 2025)

What's New in v0.3.7

New Features

  • Emergent Constraints Method: Added new emergent constraints analysis method for climate data analysis
  • Enhanced documentation with interactive particle effects entrance page

πŸ”§ Improvements

  • Optimized documentation structure and user interface
  • Updated interactive documentation entry page with particle effects
  • Improved cross-platform compatibility
  • Enhanced code quality and test coverage

Documentation

  • New particle effects documentation entrance page
  • Updated API documentation
  • Improved code examples and usage guides
  • Enhanced Sphinx Book Theme with blue color scheme

Bug Fixes

  • Fixed minor issues and improved code quality
  • Resolved documentation build issues
  • Enhanced error handling

πŸ“¦ Installation

pip install skyborn==0.3.7

πŸ”— Links

Climate Change - Climate Data Processing and Analysis - Fortran
Published by QianyeSu 11 months ago

Skyborn - v0.3.6 (Jul 8, 2025)

Skyborn v0.3.6 - GRIB to NetCDF Conversion

New Features

GRIB to NetCDF Conversion

  • NEW: Convert GRIB files to NetCDF format using eccodes
  • NEW: Simple and batch conversion functions
  • NEW: Automatic compression and error handling

Documentation

Improvements

  • Enhanced GitHub Actions workflows
  • Better test coverage and code quality
  • Modern package configuration
  • Support for Python 3.9-3.12

Climate Change - Climate Data Processing and Analysis - Fortran
Published by QianyeSu 11 months ago

Skyborn - v0.3.5 (June 12, 2025)

Updated the curved_quiver_plot.py file to enhance the implementation of the curved quiver key drawing function.

Climate Change - Climate Data Processing and Analysis - Fortran
Published by SQYQianYe about 1 year ago

Skyborn - v0.3.4 (June 11, 2025)

Skyborn v0.3.4

πŸ†• New Features

  • Added Interpolation Module: Supports hybrid-Οƒ coordinate and multidimensional data interpolation
    • interp_hybrid_to_pressure() - Interpolate from hybrid coordinates to pressure levels
    • interp_sigma_to_hybrid() - Interpolate from Οƒ-coordinates to hybrid coordinates
    • interp_multidim() - Interpolation for multidimensional data

πŸ”§ Improvements

  • Removed deprecated io.py file
  • Code cleanup and optimizations

πŸ“¦ Version Update

  • Version number: 0.3.3 β†’ 0.3.4

Release Date: 2025-06-11

Climate Change - Climate Data Processing and Analysis - Fortran
Published by SQYQianYe about 1 year ago

Skyborn - 0.3.3

Climate Change - Climate Data Processing and Analysis - Fortran
Published by SQYQianYe about 1 year ago

Skyborn - 0.3.2

This is a minor release.

Climate Change - Climate Data Processing and Analysis - Fortran
Published by SQYQianYe about 1 year ago

Skyborn - 0.3.1

✨ New Features

This update primarily introduces two significant new features:

  1. Enhanced Visualization: Curved Wind Vector Field Plotting πŸŒͺ️

    • Added the capability to plot wind vector fields that account for airflow curvature.
    • Compared to traditional straight-arrow vector plots, this new method provides a more realistic representation of wind patterns and airflow trajectories in the actual atmosphere, especially useful for analyzing complex weather systems like vortices and jet streams.
    • (Optional: If you want to mention specific functions or modules used, you can add that here, e.g., "This is primarily implemented via the plot_curved_vectors() function.")
  2. Causality Analysis Extension: Integrated Liang Information Flow (Liang Causality) πŸ“Š

    • Integrated the Liang information flow/causality analysis method.
    • This method helps quantify and identify directed causal relationships and the rate of information transfer between different time-series variables, offering a new tool for mechanistic analysis in atmospheric science research.
    • (Optional: You can briefly describe its main application scenarios or advantages, e.g., "Suitable for analyzing interactions and influence pathways between different meteorological elements.")

Climate Change - Climate Data Processing and Analysis - Fortran
Published by SQYQianYe about 1 year ago

Skyborn - 0.1.0

skyborn-0.1.0.tar.gz

Climate Change - Climate Data Processing and Analysis - Fortran
Published by SQYQianYe about 1 year ago