All notable changes to DVOACAP-Python will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
This release delivers a 2.3x speedup across all prediction benchmarks through algorithmic improvements and vectorization.
- Optimized ionospheric profile calculations - Replaced linear search with binary search in height-to-density interpolation (O(n) → O(log n))
- Vectorized Gaussian integration - Replaced 40-iteration loop with NumPy vectorized operations in
get_virtual_height_gauss - Vectorized oblique frequency computation - Eliminated 1,200 nested loop iterations using NumPy broadcasting
- Optimized Fourier series - Replaced nested loops with NumPy dot products in
compute_fixed_map - Updated Performance-Tips.md - Documented new benchmark timings
- Single prediction: 0.008s → 0.004s (2x faster)
- Multi-frequency (9 predictions): 0.111s → 0.048s (2.3x faster)
- 24-hour scan: 0.282s → 0.118s (2.4x faster)
- Area coverage (100 predictions): 0.82s → 0.35s (2.3x faster)
- Function call reduction: 68-71% fewer function calls
- Obsolete debug scripts (debug_.py, analyze_.py)
- Obsolete test scripts (quick_.py, simple_.py)
- Old generator archive (Dashboard/archive/old_generators/)
This milestone marks the completion of all 5 implementation phases and achievement of 86.6% validation accuracy, making DVOACAP-Python ready for production use.
- NOTICE file - Complete attribution chain for VOACAP → DVOACAP → dvoacap-python
- LICENSE_NOTE.txt - Explanation of MPL headers in Pascal reference files
- RELEASE_NOTES_v1.0.0.md - Comprehensive release documentation
- Performance profiling framework (
profile_performance.py) - 11 diverse test cases covering short/medium/long/polar/equatorial paths
- Solar minimum and solar maximum validation scenarios
- Multi-source space weather data fetching with international fallbacks
- Live Kp and A-index fetching from NOAA SWPC
- Systematic documentation maintenance with pre-commit hooks
- Comprehensive validation framework with regression baselines
- Version bumped to 1.0.0 - Production/Stable status
- LICENSE updated - Proper attribution to Joel Morin as Python port author
- Development classifier - Changed from Beta to Production/Stable
- Author metadata - Updated to "Joel Morin and Contributors"
- Phase 5 status - Marked as complete (100% progress)
- Improved validation pass rate to 86.6% (226/261 tests passing)
- Optimized prediction engine performance (0.009s per prediction)
- Licensing attribution corrected (was incorrectly attributed to Alex Shovkoplyas)
- Reliability calculation verified against FORTRAN RELBIL.FOR
- Absorption loss calculations corrected (677.2 coefficient)
- D-layer absorption coefficient corrections
- Signal distribution calculations validated
- Clarified MIT license compatibility (DVOACAP relicensed from MPL 1.1 to MIT in May 2025)
- Added complete attribution chain acknowledging all contributors
- Documented collaboration with Claude.ai in development process
- Phase 5 signal prediction implementation
- Reference VOACAP validation test suite
- Dashboard with real-time predictions
- PSKReporter integration for real-world validation
- WSPR validation framework
- Comprehensive test coverage across 11 diverse scenarios
- Achieved 86.6% validation pass rate (exceeds 85% target)
- Phase 5 validation complete with 83.8% baseline pass rate
- Documentation workflow improvements
- Reliability calculations match FORTRAN reference
- Absorption loss calculations corrected
- Mode selection logic verified
- Phase 4 raytracing implementation (MUF, FOT, reflectrix, skip distance)
- Multi-hop propagation path calculation
- Reflection point determination
- Virtual height calculations
- Improved ionospheric profile accuracy
- Enhanced layer parameter calculations
- MUF calculation edge cases
- Ray path geometry corrections
- Phase 3 ionospheric profile implementation
- CCIR/URSI coefficient map integration
- Layer parameter calculations (foF2, foE, etc.)
- Electron density profile computation
- Improved solar activity integration
- Enhanced geomagnetic field calculations
- Phase 2 solar and geomagnetic field implementation
- Solar zenith angle calculations (<0.1° error validation)
- IGRF geomagnetic field model
- Local time computations
- Path geometry calculations optimized
- Great circle distance accuracy improved
- Solar position edge cases near poles
- Time zone calculations
- Phase 1 path geometry implementation
- Great circle path calculations (<0.01% error validation)
- Geographic coordinate transformations
- Distance and bearing computations
- Initial project structure
- Core geometry algorithms
- Initial project setup
- Basic module structure
- Development environment configuration
- Core dependencies (numpy, scipy, matplotlib)
- Brief summary of major changes
- Key features or bug fixes
- Performance improvements
- List any backward-incompatible changes
- Migration guide if needed
- Feature 1 description
- Feature 2 description
- Improvement 1
- Improvement 2
- Bug fix 1
- Bug fix 2
- Documentation updates
- New examples or guides
- @contributor1
- @contributor2
- v0.9.0 - Phase 5 complete, 86.6% validation
- v0.8.0 - Phase 4 raytracing
- v0.7.0 - Phase 3 ionospheric profiles
- v0.6.0 - Phase 2 solar/geomagnetic
- v0.5.0 - Phase 1 path geometry
- v0.1.0 - Initial release