-
Notifications
You must be signed in to change notification settings - Fork 3
Getting Started
π v1.0.1 Release - Production Ready with 2.3x Performance Boost! DVOACAP-Python has reached production-ready status with comprehensive HF propagation prediction capabilities validated against VOACAP reference data. Version 1.0.1 delivers a 2.3x speedup through algorithmic optimizations.
This guide will help you install DVOACAP-Python and run your first propagation prediction.
- Python 3.11 or higher
- pip (Python package manager)
- git (for cloning the repository)
Choose the installation option that fits your needs:
For developers who want just the propagation engine without the web dashboard:
# Clone the repository git clone https://github.com/skyelaird/dvoacap-python.git cd dvoacap-python # Install just the propagation engine pip install -e .
Includes:
- Core propagation prediction engine
- All ionospheric data files (CCIR/URSI maps)
- Basic command-line tools
Disk space: ~50 MB
Includes the Flask server and web-based visualization dashboard:
# Clone the repository git clone https://github.com/skyelaird/dvoacap-python.git cd dvoacap-python # Install library + dashboard dependencies pip install -e ".[dashboard]"
Includes:
- Everything from Option 1
- Flask web server
- Interactive dashboard UI
- Real-time visualization tools
Disk space: ~60 MB
Includes all dependencies plus testing and development tools:
# Clone the repository git clone https://github.com/skyelaird/dvoacap-python.git cd dvoacap-python # Install everything pip install -e ".[all]"
Includes:
- Everything from Options 1 and 2
- pytest and testing tools
- Development utilities
- Code quality tools
Disk space: ~70 MB
Verify your installation:
# Test the installation python -c "from dvoacap import FourierMaps; print('DVOACAP installed successfully!')" # Run basic tests (development installation only) pytest tests/test_path_geometry.py -v
This example computes ionospheric parameters at a single location:
from dvoacap import FourierMaps, ControlPoint, IonoPoint, compute_iono_params import math # Load CCIR/URSI ionospheric maps maps = FourierMaps() maps.set_conditions(month=6, ssn=100, utc_fraction=0.5) # June, SSN=100, noon UTC # Create control point at Philadelphia pnt = ControlPoint( location=IonoPoint.from_degrees(40.0, -75.0), east_lon=-75.0 * math.pi/180, distance_rad=0.0, local_time=0.5, # Noon local zen_angle=0.3, # Solar zenith angle zen_max=1.5, mag_lat=50.0 * math.pi/180, mag_dip=60.0 * math.pi/180, gyro_freq=1.2 ) # Compute ionospheric parameters compute_iono_params(pnt, maps) # Display results print(f"E layer: foE = {pnt.e.fo:.2f} MHz at {pnt.e.hm:.0f} km") print(f"F1 layer: foF1 = {pnt.f1.fo:.2f} MHz at {pnt.f1.hm:.0f} km") print(f"F2 layer: foF2 = {pnt.f2.fo:.2f} MHz at {pnt.f2.hm:.0f} km")
Expected output:
E layer: foE = 3.45 MHz at 110 km
F1 layer: foF1 = 5.20 MHz at 200 km
F2 layer: foF2 = 8.50 MHz at 300 km
Predict propagation between two locations:
from dvoacap import PredictionEngine from datetime import datetime # Initialize prediction engine engine = PredictionEngine() # Configure prediction result = engine.predict( tx_lat=40.0, # Philadelphia tx_lon=-75.0, rx_lat=51.5, # London rx_lon=-0.1, frequency=14.2, # 20m band utc_time=datetime(2025, 6, 15, 12, 0), # Noon UTC ssn=100, # Solar activity tx_power=100, # Watts tx_antenna_gain=2.0 # dBi ) # Display results print(f"MUF: {result.muf:.2f} MHz") print(f"Signal strength: {result.snr:.1f} dB") print(f"Reliability: {result.reliability:.0f}%") print(f"Best frequency: {result.fot:.2f} MHz")
If you installed with dashboard support, start the web interface:
cd Dashboard
pip install -r requirements.txt
python3 server.pyThen open your browser to: http://localhost:8000
Dashboard Features:
- Interactive propagation map
- Real-time band condition meters
- DXCC tracking
- Solar data integration
- One-click prediction updates
See the Dashboard Guide for complete documentation.
Solution:
# Make sure you're in the repository directory cd dvoacap-python # Reinstall in editable mode pip install -e .
Solution:
# Install in user directory (no sudo required) pip install -e . --user
Solution:
# Install numpy and scipy separately first pip install numpy scipy # Then install DVOACAP pip install -e .
Solution:
# Make sure Flask is installed pip install flask # Check if port 8000 is available lsof -i :8000 # Use a different port if needed python3 server.py --port 8080
Now that you have DVOACAP-Python installed:
- API Reference - Learn about core classes and methods
- Architecture - Understand the 5-phase structure
- Integration Guide - Build applications with DVOACAP
- Dashboard Guide - Customize the web interface
- Examples Repository - More code examples
- Issues: github.com/skyelaird/dvoacap-python/issues
- Discussions: github.com/skyelaird/dvoacap-python/discussions
- Troubleshooting: Troubleshooting Guide
Ready to make some predictions! π‘ 73!