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 inskyborn.plot.scatterinto 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
_NCLDisplaySamplerdisplay-cell validation and batch display-grid
sampling into the native plotting helper, reducing intermediate-array
overhead and lowering memory use for projectedcurly_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
fromskyborn.plot.vectorand 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.scatterfor gridded map and profile stippling with
NCL-style display-space thinning. -
Added
skyborn.plot.scatterto the explicitskyborn.plotpublic 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.scattermodule so the display-space thinning logic stays
isolated and easier to maintain. -
Added
skyborn.plot.vectoras the unified public facade for the
curly-vector feature family:skyborn.plot.vector.curly_vectorskyborn.plot.vector.curly_vector_keyskyborn.plot.vector.CurlyVectorPlotSetskyborn.plot.vector.CurlyVectorKey
-
Consolidated the curly-vector implementation into
skyborn.plot.vectorso 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, andvector_plot.pyfrom
skyborn.plot. -
Kept historical module imports working through package-level
compatibility aliases, so existing imports do not need to break
immediately. -
Narrowed the
skyborn.plotpackage-root export surface so the common
public entry points are now function-first:skyborn.plot.curly_vectorskyborn.plot.curly_vector_keyskyborn.plot.scatterskyborn.plot.add_equal_axesskyborn.plot.createFigure
-
Removed the temporary package-level compatibility aliases for the deleted
historical modulesskyborn.plot.ncl_vector,skyborn.plot.vector_key,
andskyborn.plot.vector_plot. -
Updated plotting examples and user-facing documentation to recommend
skyborn.plot.vectoras the module-oriented import path for curly-vector
usage while preserving the existing package-levelskyborn.plotexports.
Interpolation
-
Enhanced model-level interpolation in
skyborn.interp.interpolation. -
Improved
skyborn.interp.interp_hybrid_to_pressureso 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_levelsskyborn.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_keyskyborn.plot.CurlyVectorPlotSetskyborn.plot.CurlyVectorKey
-
Removed the legacy plotting API names from the public surface:
velovectvelovect_vertical_profiledataset_curly_vectorcurved_quiveradd_curved_quiverkeyCurvedQuiverplotSetCurvedQuiverLegend
-
Split the plotting implementation into clearer modules:
skyborn.plot.vector_plotfor the core curly-vector rendererskyborn.plot.ncl_vectorfor the xarray / Cartopy dataset wrapperskyborn.plot.vector_keyfor the reference-vector annotation artist
-
Replaced wildcard plotting exports with an explicit
skyborn.plotpublic 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_cubefunction and iris dependencies from gridfill module- Use
skyborn.gridfill.xarray.fillfor 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
- Use
π― 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
- 1D Profile Support: New
-
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
- Automatic Pressure Generation:
-
Improved Code Quality:
- Simplified Imports: Removed try-except blocks, direct Fortran module importing
- Parameter Consistency: Updated interface with
temperature, pressureparameter order - Better Documentation: Comprehensive examples for all supported data formats
- Removed Unused Code: Cleaned up
_detect_cyclic_longitudefunction
π 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
- Auto-Coordinate Detection:
-
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 --inplacebuilds all extensions - Cross-Platform Optimization: Automatic compiler detection and platform-specific optimization flags
- Smart Extension Discovery:
setup.pyautomatically finds and compiles all submodules withmeson.buildfiles - 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.pymodifications 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_correlationfunction for analyzing spatial patterns of correlation between gridded data and time series - Enhanced Linear Regression: Improved
linear_regressionfunction 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*.pydfiles) were missing from wheel distributions built via GitHub CI - Improved meson integration: Updated
setup.pyto use meson's native installation capabilities instead of manual file copying - Enhanced build system: Streamlined
meson.buildconfiguration for better wheel compatibility - Fixed macOS wheel building: Set
MACOSX_DEPLOYMENT_TARGET=14.0to resolve OpenMP dependency compatibility issues
Changes
setup.py
- Configured meson to install directly to setuptools build directory using
--python.purelibdirand--python.platlibdirparameters - Added auto-discovery of meson modules for better extensibility
- Simplified build logic by removing complex file copying mechanisms
meson.build
- Changed from
install: falsetoinstall: truewith properinstall_dirconfiguration - Maintained smart copying logic for
--inplacebuilds - Enhanced cross-platform compatibility
GitHub Actions (.github/workflows/build-wheels.yml)
- Set
MACOSX_DEPLOYMENT_TARGET=14.0for macOS arm64 builds to match OpenMP library requirements - Ensures compatibility with
libgomp.1.dylibminimum 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*.pydfiles 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"withmethod="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.xarraymodule 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
- New XArray Interface: Modern
-
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
- New
π§ 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.pngshowing truncation effectsgridfill_missing_data_overview.pngdemonstrating gap filling scenariosgridfill_component_vs_direct_comparison.pngshowing 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
- https://skyborn.readthedocs.io/
- https://github.com/QianyeSu/skyborn
- https://github.com/QianyeSu/skyborn/issues
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
- π Documentation
- π PyPI Package
- π Issues
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
- NEW: Complete documentation site: https://qianyesu.github.io/Skyborn/
- NEW: API reference and usage examples
- NEW: Installation and quickstart guides
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 levelsinterp_sigma_to_hybrid()- Interpolate from Ο-coordinates to hybrid coordinatesinterp_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.1
β¨ New Features
This update primarily introduces two significant new features:
-
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.")
-
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