-
Notifications
You must be signed in to change notification settings - Fork 3
Known Issues
Current limitations, bugs, and areas needing improvement in DVOACAP-Python.
- Validation Issues
- Performance Limitations
- Incomplete Features
- Platform-Specific Issues
- Documentation Gaps
- Workarounds
Status: Production Ready Impact: Low Tracking: Validation Status
Description: The current validation shows an 86.6% pass rate when compared against reference VOACAP output across 11 diverse test cases. While the majority of predictions match within acceptable tolerances, approximately 13% of test cases show minor discrepancies.
Affected Areas:
- Signal strength predictions (path loss calculations)
- SNR calculations at edge cases (very low or very high frequencies)
- Reliability calculations for marginal paths
Known Discrepancy Patterns:
- Over-the-MUF modes - Minor discrepancies when frequency > 1.1 × MUF
- High latitude paths - Small geomagnetic field model differences
- Extreme solar conditions - Minor variations at SSN > 200 or SSN < 10
Note: The 86.6% validation rate represents excellent agreement with the reference VOACAP implementation. Most discrepancies are within acceptable engineering tolerances and do not significantly impact practical predictions.
Status: Known Issue Impact: Low Affects: Mode naming (e.g., "1F", "2F", "3F")
Description: Some predictions select different propagation modes (1F vs 2F) compared to reference VOACAP, even when the underlying signal predictions are correct.
Example:
DVOACAP: 7.0 MHz → 2F mode, SNR 12.3 dB
VOACAP: 7.0 MHz → 1F mode, SNR 12.1 dB
Impact: This is cosmetic and doesn't affect the accuracy of signal strength, SNR, or reliability predictions. The mode name is a label for the propagation mechanism, not the prediction itself.
Workaround: Focus on SNR and reliability values rather than mode names.
Status: Significantly Improved Impact: Low (after v1.0.1 optimization) Affects: Dashboard generation, batch processing
Description: Version 1.0.1 introduced comprehensive algorithmic optimizations providing a 2.3x speedup. Full VOACAP predictions remain computationally intensive but are now much faster.
Timing Breakdown (v1.0.1):
- Single frequency prediction: ~4ms (was ~8ms in v1.0.0)
- Full band sweep (9 frequencies): ~48ms (was ~111ms, 2.3x faster)
- 24-hour forecast (12 time points): ~118ms (was ~282ms, 2.4x faster)
- Area coverage (100 predictions): ~350ms (was ~820ms, 2.3x faster)
Root Causes:
- Raytracing calculations (Phase 4) - iterative path finding
- Ionospheric profile generation (Phase 3) - CCIR coefficient processing
- Python overhead vs. compiled Pascal/Fortran
Workarounds:
- Reduce number of target regions
- Increase time step (predict every 3 hours instead of 2)
- Remove unused frequency bands
- Use caching for repeated predictions
Future Improvements:
- Cython/Numba optimization for hot paths
- Parallel processing for multiple regions
- Pre-computed lookup tables for common scenarios
See Performance Tips for optimization strategies.
Status: Low Priority Impact: Low Affects: Large batch operations
Description: Each PredictionEngine instance loads CCIR/URSI coefficient maps (~50 MB) into memory. Running many concurrent instances can consume significant RAM.
Typical Usage:
- Single prediction: ~60 MB
- Dashboard generation: ~100 MB peak
- 100 concurrent predictions: ~1-2 GB
Workaround: Reuse PredictionEngine instances and run predictions sequentially rather than in parallel.
Status: Partial Implementation Impact: Medium Affects: Antenna gain calculations
Description: The current implementation uses simplified antenna models. More complex antenna types (Yagi, log-periodic, phased arrays) are not fully modeled.
Currently Supported:
- Isotropic antennas
- Vertical monopoles
- Simple dipoles
- Basic gain patterns
Not Yet Supported:
- Detailed Yagi modeling
- Log-periodic arrays
- Phased arrays
- Ground reflections for complex antenna systems
Workaround: Use effective gain values rather than detailed antenna modeling.
Future Plan: Implement comprehensive antenna modeling from VOACAP antenna database.
Status: Not Implemented Impact: Medium (seasonal) Affects: Mid-latitude 6m and 10m predictions
Description: Sporadic E layer modeling is not yet implemented. This affects VHF/low-HF predictions during summer months at mid-latitudes.
Impact:
- 6m (50 MHz) predictions may underestimate openings
- 10m band predictions may miss short-skip Es propagation
- Primarily affects May-August at mid-latitudes
Workaround: Use operational data (PSKreporter, DX clusters) to supplement predictions during Es season.
Future Plan: Add Es modeling from VOACAP Es module.
Status: Low Priority Impact: Low
Description: DVOACAP-Python currently outputs to JSON and in-memory Python objects. It does not support VOACAP's native .VOA or .OUT file formats.
Available:
- Python dictionaries/objects
- JSON export
- Custom data structures
Not Available:
- VOACAP .VOA files
- ITU-R P.533 format
- CSV export (easy to add)
Workaround: Convert JSON output to desired format using custom scripts.
Status: Known Issue Impact: Low Affects: Windows users
Description:
Some file path operations may fail on Windows due to path separator differences (\ vs /).
Affected:
- CCIR data file loading (rare)
- Dashboard file paths (occasional)
Workaround:
Use pathlib.Path or ensure paths use os.path.join().
Status: Being addressed in ongoing development.
Status: Platform Limitation Impact: Low Affects: macOS Apple Silicon users
Description: Some NumPy operations may trigger warnings or slowdowns on Apple Silicon Macs without optimized NumPy builds.
Symptoms:
- Warning messages about BLAS/LAPACK
- Slower-than-expected predictions
Workaround: Install NumPy from conda-forge or use Miniforge:
# Install Miniforge (Apple Silicon optimized)
brew install miniforge
conda create -n dvoacap python=3.10
conda activate dvoacap
conda install numpy
# Install DVOACAP
pip install -e .Status: In Progress Impact: Low
Description: While basic usage is well-documented, advanced use cases (custom ionospheric profiles, manual raytracing, antenna pattern customization) lack comprehensive examples.
Available:
- Basic prediction examples
- Path geometry examples
- Dashboard integration
Missing:
- Custom ionospheric profile injection
- Manual raytracing step-by-step
- Antenna gain pattern customization
- Database integration patterns
Future Plan: Expand wiki with advanced tutorials and use case examples.
Status: In Progress Impact: Low
Description: The Sphinx documentation build is functional but some modules lack comprehensive docstrings and examples.
Status: Ongoing improvement as modules mature.
Enable verbose logging:
import logging
logging.basicConfig(level=logging.DEBUG)Validate inputs:
from dvoacap.path_geometry import GeoPoint
# Check valid coordinates
assert -90 <= lat <= 90
assert -180 <= lon <= 180
# Check valid frequencies
assert 1.0 <= frequency_mhz <= 30.0 # HF rangeCompare with reference:
# Run validation tests
python3 test_voacap_reference.pyIf you encounter issues not listed here:
- Check existing issues: GitHub Issues
- Search the wiki: Home, Troubleshooting
-
Provide details:
- Python version
- Operating system
- DVOACAP version
- Minimal reproducible example
- Expected vs. actual behavior
Create new issue: New Issue
High Priority:
- Crashes or data corruption
- Security vulnerabilities
- Major validation failures (> 50% error rate)
Medium Priority:
- Validation discrepancies (current 13.4% minor deviation rate)
- Performance optimization opportunities
- Missing features blocking edge case scenarios
Low Priority:
- Cosmetic issues (mode naming)
- Documentation gaps
- Platform-specific quirks with workarounds
- Feature requests for edge cases
- ✅ All 5 phases complete and validated (86.6% validation)
- ✅ 2.3x performance improvement over v1.0.0
- ✅ Production ready for operational use
- ✅ Enhanced caching and optimization
- ✅ First production release
- ✅ All phases validated
- ✅ Complete VOACAP implementation
- Development phases - see git history for details
- Validation Status - Detailed validation results
- Troubleshooting - Solutions to common problems
- Performance Tips - Optimize prediction speed
- Contributing - Help fix issues
Last Updated: 2025-11-18 Project Status: v1.0.1 Production Ready (86.6% validation accuracy, 2.3x performance boost)