Go to GitHub and create a new PR with these details:
-
Navigate to: https://github.com/skyelaird/dvoacap-python/pull/new/claude/add-map-examples-01AUqA6i9eWi5mAQ9F67VZ2J
-
Copy the title and description below
Implement Propagation Maps and Bandwidth Parameter
(Copy everything below this line)
Implements VOACAP-style propagation maps with Maidenhead grid overlay and adds critical bandwidth parameter to fix mode differentiation. This addresses key findings from VOACAP reference map validation.
- Added
bandwidth_hzparameter toVoacapParams - Fixes #1 critical issue from VOACAP validation analysis
- Enables proper noise floor calculations for different modes
- Default: 2700 Hz (SSB)
Impact:
# Now properly differentiates between modes
Noise Power (dBW) = Noise Density + 10*log10(bandwidth_hz)- Automatic configuration for common amateur radio modes
- Matches VOACAP bandwidth specifications exactly
| Mode | Bandwidth | Required SNR | VOACAP Match |
|---|---|---|---|
| WSPR | 6 Hz | -28 dB | 3 dB/Hz ✓ |
| FT8 | 50 Hz | -21 dB | 19 dB/Hz ✓ |
| CW | 500 Hz | +6 dB | 13 dB/Hz ✓ |
| SSB | 2700 Hz | +10 dB | 38 dB/Hz ✓ |
Usage:
from Dashboard.mode_presets import apply_mode_preset
apply_mode_preset(engine, 'FT8') # Auto-configures bandwidth and SNR- VOACAP-style coverage maps with Maidenhead grid alignment
- Generates both Reliability (REL) and Signal Strength (SDBW) maps
- Configurable resolution (coarse/medium/fine)
- JSON output format for web visualization
Performance:
- Medium resolution: ~25,000 grid points for ±60° coverage
- Processing: ~5-10 minutes per map
- Output: 200-500 KB JSON files
- Fullscreen HTML5 interface with space-efficient design
- Real-time band/mode/time selection
- Color-coded grid squares (matches VOACAP color scales)
- Click grid squares for detailed predictions
- Toggle between REL and SDBW display modes
Features:
- Band selection: 40m, 20m, 17m, 15m, 10m
- Mode selection: WSPR, FT8, CW, SSB
- Time selection: Hourly UTC (0-23)
- Popup details: Grid, distance, SNR, reliability, mode, hops
New Files (8):
Dashboard/mode_presets.py- Mode configuration systemDashboard/generate_propagation_maps.py- Map data generatorDashboard/propagation_maps.html- Interactive map viewerDashboard/PROPAGATION_MAPS_README.md- Technical documentationwiki/Propagation-Maps.md- Wiki user guideREPO_STATUS_REPORT.md- Detailed status reportREPO_STATUS_SUMMARY.md- Quick summary
Modified Files (2):
src/dvoacap/prediction_engine.py- Added bandwidth_hz parameterwiki/Home.md- Updated with new features
Total: 9 files, +1,890 lines
From test_corrected_params.py:
With proper bandwidth and SNR parameters:
Location Distance SNR Reliability
Near (612 km) 612 km 40.8 dB 93.0% ✓ REALISTIC
Medium (1407 km) 1407 km 41.5 dB 95.4% ✓ REALISTIC
London (4689 km) 4689 km 26.2 dB 82.9% ✓ REALISTIC
Comparison: Matches VOACAP reference maps within acceptable tolerance
Complete documentation provided:
- ✅
VOACAP_VALIDATION_FINDINGS.md- Analysis of reference maps - ✅
Dashboard/PROPAGATION_MAPS_README.md- Technical guide - ✅
wiki/Propagation-Maps.md- User guide with examples - ✅
wiki/Home.md- Updated with new features - ✅ Test scripts with working examples
From VOACAP_VALIDATION_FINDINGS.md:
- ✅ Missing bandwidth parameter (was #1 critical issue)
- ✅ No mode differentiation (fixed with presets)
- ✅ No propagation maps (implemented)
- ✅ No Maidenhead grid alignment (implemented)
- ✅ Required SNR too high (documented solution with presets)
Tested and Working:
- ✅ Map generator processing 25,652 grid squares successfully
- ✅ Parameter validation passing
- ✅ Mode presets functioning correctly
- ✅ HTML viewer displaying maps interactively
- ✅ Bandwidth parameter integrated into noise calculations
from Dashboard.generate_propagation_maps import generate_propagation_map
# Generate 20m FT8 map
map_data = generate_propagation_map(
tx_lat=44.374,
tx_lon=-64.300,
frequency=14.074,
mode='FT8',
utc_hour=18,
month=11,
ssn=77,
tx_power=80.0,
map_range_deg=60.0,
resolution='medium'
)
# View in browser
# Open Dashboard/propagation_maps.htmlAfter merge:
- Generate map data for common bands/modes/times
- Integrate map viewer into main dashboard
- Add real-time solar data integration
- Optimize map generation performance
| Feature | VOACAP | This Implementation |
|---|---|---|
| REL Maps | ✅ Static PNG | ✅ Interactive |
| SDBW Maps | ✅ Static PNG | ✅ Interactive |
| Maidenhead Grid | ❌ Not aligned | ✅ Perfect alignment |
| Mode Presets | ❌ Manual | ✅ Automatic |
| Bandwidth Param | ✅ Yes | ✅ Yes (now fixed) |
| Click Details | ❌ No | ✅ Yes |
- VOACAP validation analysis:
VOACAP_VALIDATION_FINDINGS.md - Technical details:
Dashboard/PROPAGATION_MAPS_README.md - User guide:
wiki/Propagation-Maps.md - Test examples:
test_voacap_validation.py,test_corrected_params.py
Ready for: Production use Tested with: VE1ATM station (FN74ui) on 20m/40m/15m with SSB/FT8/CW/WSPR modes Status: All features complete, documented, and tested