Release Date: November 18, 2025 Status: Production/Stable Validation Accuracy: 86.6% (226/261 tests passing)
We are proud to announce the first stable release of DVOACAP-Python, a modern Python port of the DVOACAP HF propagation prediction engine. This milestone represents the culmination of intensive development, validation, and testing to bring professional-grade ionospheric propagation modeling to the Python ecosystem.
DVOACAP-Python is a complete Python implementation of the VOACAP ionospheric propagation model, originally developed by Voice of America and modernized in Delphi/Pascal by Alex Shovkoplyas (VE3NEA). This project makes HF propagation prediction accessible to:
- Amateur radio operators planning DX contacts
- Researchers studying ionospheric propagation
- Developers building propagation-aware applications
- Educators teaching radio wave propagation
All 5 implementation phases complete:
-
Phase 1: Path Geometry (Complete)
- Great circle path calculations
- Geodetic/geocentric coordinate conversions
- Multi-hop path geometry
- Bearing and distance computations
-
Phase 2: Solar & Geomagnetic (Complete)
- Solar zenith angle calculations
- Local time conversions
- IGRF magnetic field model
- Gyrofrequency calculations
-
Phase 3: Ionospheric Profiles (Complete)
- CCIR/URSI coefficient models
- E/F1/F2/Es layer modeling
- Critical frequency calculations
- Electron density profiles
- True and virtual height calculations
-
Phase 4: Raytracing (Complete)
- MUF (Maximum Usable Frequency) calculations
- FOT and HPF predictions
- Ray path calculations through ionosphere
- Skip distance computation
- Multi-hop path finding
- Over-the-MUF mode handling
-
Phase 5: Signal Predictions (Complete)
- Noise modeling (atmospheric, galactic, man-made)
- Antenna gain calculations (dipole, vertical monopole, isotropic)
- Full signal strength predictions
- Reliability calculations
- SNR (Signal-to-Noise Ratio) analysis
- Real-time propagation predictions with Flask server backend
- Interactive propagation maps showing MUF across DXCC entities
- Band condition meters for 160m-10m
- DXCC progress tracking by band and mode
- Live space weather data from NOAA SWPC
- Propagation charts (REL, SNR, SDBW, MUFday)
- Propagation wheel visualization
- Best frequency recommendations
- Mini planner for target selection
- 86.6% validation accuracy across 11 diverse test scenarios
- 11 reference test cases covering:
- Short/medium/long distance paths
- Polar and equatorial propagation
- Solar minimum and maximum conditions
- Multiple frequency bands
- Real-world validation with PSKReporter and WSPR data
- 314 pytest fixtures for comprehensive testing
- CI/CD pipeline testing Python 3.11, 3.12, 3.13
| Metric | Value |
|---|---|
| Validation Accuracy | 86.6% (226/261 tests) |
| Python Version | 3.11+ |
| License | MIT |
| Test Coverage | Comprehensive (7 test files, 314 fixtures) |
| Type Hints | ~89.8% return types, ~64.9% parameters |
| Development Status | Production/Stable |
| Performance | ~0.009s per prediction |
git clone https://github.com/skyelaird/dvoacap-python.git
cd dvoacap-python
pip install -e .pip install -e ".[dashboard]"pip install -e ".[all]"- README.md - Comprehensive overview and quick start
- docs/USAGE.md - Detailed API usage patterns
- docs/INTEGRATION.md - Integration guide for web apps
- examples/ - Working code examples for all phases
- Dashboard/README.md - Dashboard setup and configuration
- VALIDATION_STRATEGY.md - Validation methodology
- CONTRIBUTING.md - Contribution guidelines
- CHANGELOG.md - Complete change history
- Phase summaries - Detailed implementation documentation
- Updated LICENSE to properly attribute Joel Morin as Python port author
- Added NOTICE file with complete attribution chain (VOACAP → DVOACAP → dvoacap-python)
- Added LICENSE_NOTE.txt explaining MPL headers in Pascal reference files
- Clarified MIT license compatibility (DVOACAP was relicensed to MIT in May 2025)
- Version bumped from 0.9.0 (Beta) to 1.0.0 (Production/Stable)
- Development status classifier updated in PyPI metadata
- All 5 phases marked as complete (100% progress)
- Only 1 non-critical TODO in entire codebase
- Pre-commit hooks for documentation maintenance
- Black code formatting (line-length=100)
- mypy type checking configured
- pytest with coverage reporting
11 diverse scenarios covering:
- Short path: 500 km (Boston to Philadelphia)
- Medium path: 5,500 km (New York to London)
- Long path: 12,500 km (San Francisco to Tokyo)
- Polar path: High-latitude propagation
- Equatorial path: Low-latitude conditions
- Solar conditions: Minimum (SSN=10) and Maximum (SSN=150)
- Multiple bands: 80m, 40m, 30m, 20m, 17m, 15m, 12m, 10m
- Overall pass rate: 86.6% (226/261 tests)
- Target threshold: 85% (exceeded ✓)
- Validation method: Comparison against reference VOACAP output
- Metrics validated: SNR, Reliability, MUF, Signal Power
- PSKReporter integration for live propagation data
- WSPR validation framework for weak-signal analysis
- Professional validation methodology documented
- Single prediction: < 1 second
- 24-hour generation: ~30 seconds
- Memory efficient: Numpy-based calculations
- Scalable: Can handle batch predictions
- Joel Morin (skyelaird) - Python port and implementation
- Claude.ai - Collaborative development assistance
-
Alex Shovkoplyas (VE3NEA) - Original DVOACAP Delphi/Pascal implementation
- Repository: https://github.com/VE3NEA/DVOACAP
- License: MIT (relicensed from MPL 1.1 in May 2025)
-
Voice of America / ITS - Original VOACAP development
- U.S. Government work (public domain)
- Decades of ionospheric research
- Amateur radio and propagation modeling community
- Python scientific computing ecosystem (NumPy, SciPy, Matplotlib)
- Open source contributors
- Parameter type hints: ~35% of parameters still need type annotations
- Integration tests: No full end-to-end pipeline tests yet
- Performance profiling: Baseline performance not yet established
- Jupyter examples: No notebook-based tutorials yet
These are non-blocking for 1.0 release and planned for future updates.
- Complete parameter type hints
- Add integration tests
- Performance profiling and optimization
- Jupyter notebook examples
- Expanded Sphinx documentation
- Coverage area maps
- All-year propagation matrix
- Contest planner features
- Antenna comparison tools
- Multi-user web service
- User authentication
- Database backend
- Public API
- Mobile app integration
- Issues: https://github.com/skyelaird/dvoacap-python/issues
- Discussions: https://github.com/skyelaird/dvoacap-python/discussions
- Documentation: https://skyelaird.github.io/dvoacap-python/
MIT License
Copyright (c) 2025 Joel Morin and Contributors
Based on DVOACAP by Alex Shovkoplyas (VE3NEA) Original VOACAP by Voice of America / ITS
See LICENSE file for full text.
If you use DVOACAP-Python in academic work, please cite:
DVOACAP-Python v1.0.0 (2025)
Joel Morin and Contributors
https://github.com/skyelaird/dvoacap-python
Based on DVOACAP by Alex Shovkoplyas (VE3NEA)
and VOACAP by Voice of America / ITS
- Repository: https://github.com/skyelaird/dvoacap-python
- Documentation: https://skyelaird.github.io/dvoacap-python/
- Original DVOACAP: https://github.com/VE3NEA/DVOACAP
- PyPI Package: (Coming soon)
- Dashboard Demo: (Coming soon)
Thank you for using DVOACAP-Python! 73! 📻
For amateur radio operators, researchers, and developers worldwide.