Skip to content

Releases: skyelaird/dvoacap-python

1.0.2 Maintenance Release

01 May 19:26
96f75a6

Choose a tag to compare

[1.0.2] - 2026-05-01

Fixed

  • Long-path signal/SNR calculation - For HF paths longer than 7000 km, the engine was mixing in an unimplemented _evaluate_long_model stub that returned an empty Prediction(). The smooth-interpolation branch in _combine_short_and_long then pulled power_dbw toward 0 dBW and back-derived a nonsensically small total_loss_db, producing constant -0.7 dBW signal levels and SNRs of +150 dB or worse for any region beyond 7000 km, with reliability pinned at 100%. Paths beyond 10000 km returned all-zero predictions outright. Until a real long-path model exists, the short-path result is used at all distances. (#137)
  • TX power propagation to user-added antennas - params.tx_power was stamped onto current_antenna once before the per-frequency loop, where current_antenna still pointed at the isotropic default. select_antenna() then swapped in the user antenna whose tx_power_dbw came from its constructor, leaving a 100 W radio configuration treated as 10 W (a 10 dB undercount). The assignment now happens inside the loop after antenna selection. (#137)
  • Dashboard buttons unresponsive - A duplicate const now declaration inside initializeDashboard() (and again inside its setInterval callback) caused a SyntaxError that prevented the entire <script> block from parsing, leaving triggerRefresh and showSettings undefined when their onclick handlers fired. Renamed the duplicate locals to currentHourInt / tickHour. (#134, #135)
  • Gray-line terminator rendering - drawGrayLine() swept a 2° lat/lon grid for points where |solar altitude| < 6°, then bucketed them into 5°-wide latitude bands and emitted one rectangle per (band, longitude segment), rendering the twilight zone as a visible staircase of 10°-tall blocks. Replaced with a closed-form analytic solve at every longitude, drawn as a single smooth polygon. (#136)

Added

  • Regression tests for PredictionEngine - Asserts long-distance predictions produce physically plausible signal levels and that params.tx_power reaches user-added antennas. (#137)

Changed

  • Dashboard packaged as installable subpackage - Moved from Dashboard/ to src/dvoacap/dashboard/, added dvoacap-dashboard console-script entry point, and shipped HTML/JS/CSS with the package so pip install dvoacap[dashboard] followed by dvoacap-dashboard is sufficient. Backward-compatible python Dashboard/server.py shim retained. (#133)

What's Changed

  • Claude/fix pypi publishing 019fhuvqpxhzdmkjtyjxcubv by @skyelaird in #132
  • Make the dashboard pip-installable by @skyelaird in #133
  • Fix duplicate 'now' declarations breaking dashboard JS by @skyelaird in #134
  • Fix duplicate 'now' declaration in served.html so dashboard buttons work by @skyelaird in #135
  • Draw gray-line terminator as a smooth analytic band by @skyelaird in #136
  • Fix nonsense signal/SNR for HF paths longer than 7000 km by @skyelaird in #137
  • Release v1.0.2 by @skyelaird in #138

Full Changelog: 1.0.1...1.0.2

v1.0.1 - Performance Release

18 Nov 19:35
1c360ed

Choose a tag to compare

🚀 DVOACAP-Python v1.0.1 - Performance Release

2.3x faster predictions through algorithmic optimizations while maintaining 86.6% validation accuracy!

⚡ Performance Improvements

Operation v1.0.0 v1.0.1 Speedup
Single prediction 0.008s 0.004s 2.0x
Multi-frequency (9) 0.111s 0.048s 2.3x
24-hour scan 0.282s 0.118s 2.4x
Area coverage (100) 0.820s 0.350s 2.3x

🔧 Key Optimizations

  • Binary search for height-density interpolation (O(n) → O(log n))
  • Vectorized Gaussian integration using NumPy (eliminated 40-iteration loop)
  • Vectorized oblique frequency computation (eliminated 1,200 nested iterations)
  • Optimized Fourier series with NumPy dot products

📦 Installation

# Core library
pip install dvoacap

# With dashboard
pip install dvoacap[dashboard]

# Full installation
pip install dvoacap[all]

📊 What's Included

  • 86.6% validation accuracy maintained
  • ✅ All 5 implementation phases complete
  • ✅ Production-ready HF propagation predictions
  • ✅ Interactive web dashboard
  • ✅ Real-time space weather integration
  • ✅ Python 3.11+ support

🔗 Resources

🙏 Credits

Original DVOACAP by Alex Shovkoplyas (VE3NEA)
Original VOACAP by Voice of America / ITS


73! 📻

What's Changed

Read more