Skip to content

Commit 397cc43

Browse files
committed
Prepare v1.0.1 release documentation and fix version inconsistency
- Fix version number in __init__.py (1.0.0 → 1.0.1) to match pyproject.toml - Add comprehensive release notes (RELEASE_NOTES_v1.0.1.md) - Add GitHub release description (GITHUB_RELEASE_v1.0.1.md) - Document 2.3x performance improvements and optimizations - Ready for PyPI publication
1 parent c3ce315 commit 397cc43

3 files changed

Lines changed: 224 additions & 1 deletion

File tree

GITHUB_RELEASE_v1.0.1.md

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# 🚀 DVOACAP-Python v1.0.1 - Performance Release
2+
3+
**2.3x faster** predictions through algorithmic optimizations while maintaining 86.6% validation accuracy!
4+
5+
## ⚡ Performance Improvements
6+
7+
| Operation | v1.0.0 | v1.0.1 | Speedup |
8+
|-----------|--------|--------|---------|
9+
| Single prediction | 0.008s | 0.004s | **2.0x** |
10+
| Multi-frequency (9) | 0.111s | 0.048s | **2.3x** |
11+
| 24-hour scan | 0.282s | 0.118s | **2.4x** |
12+
| Area coverage (100) | 0.820s | 0.350s | **2.3x** |
13+
14+
## 🔧 Key Optimizations
15+
16+
- **Binary search** for height-density interpolation (O(n) → O(log n))
17+
- **Vectorized Gaussian integration** using NumPy (eliminated 40-iteration loop)
18+
- **Vectorized oblique frequency computation** (eliminated 1,200 nested iterations)
19+
- **Optimized Fourier series** with NumPy dot products
20+
21+
## 📦 Installation
22+
23+
```bash
24+
# Core library
25+
pip install dvoacap
26+
27+
# With dashboard
28+
pip install dvoacap[dashboard]
29+
30+
# Full installation
31+
pip install dvoacap[all]
32+
```
33+
34+
## 📊 What's Included
35+
36+
-**86.6% validation accuracy** maintained
37+
- ✅ All 5 implementation phases complete
38+
- ✅ Production-ready HF propagation predictions
39+
- ✅ Interactive web dashboard
40+
- ✅ Real-time space weather integration
41+
- ✅ Python 3.11+ support
42+
43+
## 🔗 Resources
44+
45+
- 📖 [Full Release Notes](RELEASE_NOTES_v1.0.1.md)
46+
- 📖 [Changelog](CHANGELOG.md)
47+
- 🌐 [Documentation](https://skyelaird.github.io/dvoacap-python/)
48+
- 📦 [PyPI Package](https://pypi.org/project/dvoacap/)
49+
50+
## 🙏 Credits
51+
52+
Original DVOACAP by Alex Shovkoplyas (VE3NEA)
53+
Original VOACAP by Voice of America / ITS
54+
55+
---
56+
57+
**73!** 📻

RELEASE_NOTES_v1.0.1.md

Lines changed: 166 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,166 @@
1+
# DVOACAP-Python v1.0.1 Release Notes
2+
3+
**Release Date:** November 18, 2025
4+
**Status:** Production/Stable
5+
6+
## 🎯 Overview
7+
8+
Version 1.0.1 is a performance-focused release that delivers a **2.3x speedup** across all prediction benchmarks while maintaining the 86.6% validation accuracy achieved in v1.0.0. This release focuses on algorithmic optimizations and vectorization improvements without any breaking changes to the API.
9+
10+
## 🚀 Performance Improvements
11+
12+
This release delivers significant performance gains through systematic optimization of core computational algorithms:
13+
14+
### Benchmark Results
15+
16+
| Operation | v1.0.0 | v1.0.1 | Speedup |
17+
|-----------|--------|--------|---------|
18+
| Single prediction | 0.008s | 0.004s | **2.0x** |
19+
| Multi-frequency (9 predictions) | 0.111s | 0.048s | **2.3x** |
20+
| 24-hour scan (24 predictions) | 0.282s | 0.118s | **2.4x** |
21+
| Area coverage (100 predictions) | 0.820s | 0.350s | **2.3x** |
22+
23+
### Optimization Details
24+
25+
1. **Binary Search for Height-Density Interpolation**
26+
- Replaced linear search (O(n)) with binary search (O(log n))
27+
- Affects ionospheric profile calculations
28+
- Reduces function call overhead by 68-71%
29+
30+
2. **Vectorized Gaussian Integration**
31+
- Replaced 40-iteration explicit loop with NumPy vectorized operations
32+
- Applied to virtual height calculations (`get_virtual_height_gauss`)
33+
- Leverages NumPy's optimized C implementations
34+
35+
3. **Vectorized Oblique Frequency Computation**
36+
- Eliminated 1,200 nested loop iterations
37+
- Uses NumPy broadcasting for batch operations
38+
- Significant impact on multi-frequency predictions
39+
40+
4. **Optimized Fourier Series Calculations**
41+
- Replaced nested loops with NumPy dot products
42+
- Applied to `compute_fixed_map` function
43+
- Improves CCIR/URSI coefficient map computations
44+
45+
## 📦 What's Changed
46+
47+
### Changed
48+
- Optimized ionospheric profile calculations with binary search
49+
- Vectorized Gaussian integration in virtual height computations
50+
- Vectorized oblique frequency calculations
51+
- Optimized Fourier series computations with NumPy operations
52+
- Updated performance documentation with new benchmarks
53+
54+
### Removed
55+
- Obsolete debug scripts (debug_*.py, analyze_*.py)
56+
- Obsolete test scripts (quick_*.py, simple_*.py)
57+
- Old generator archive (Dashboard/archive/old_generators/)
58+
59+
### Fixed
60+
- Version number consistency across package files
61+
62+
## 🔬 Validation Status
63+
64+
- **86.6% validation accuracy** maintained (same as v1.0.0)
65+
- All 11 diverse test paths validated:
66+
- Short paths (150-500 km)
67+
- Medium paths (1,000-5,000 km)
68+
- Long paths (10,000+ km)
69+
- Polar propagation
70+
- Equatorial propagation
71+
- Solar minimum conditions
72+
- Solar maximum conditions
73+
74+
## 📥 Installation
75+
76+
### From PyPI (Recommended)
77+
78+
```bash
79+
# Core library only
80+
pip install dvoacap
81+
82+
# With dashboard
83+
pip install dvoacap[dashboard]
84+
85+
# Full development installation
86+
pip install dvoacap[all]
87+
```
88+
89+
### From Source
90+
91+
```bash
92+
git clone https://github.com/skyelaird/dvoacap-python.git
93+
cd dvoacap-python
94+
pip install -e .
95+
```
96+
97+
## 🚀 Quick Start
98+
99+
```python
100+
from dvoacap import FourierMaps, ControlPoint, IonoPoint, compute_iono_params
101+
import math
102+
103+
# Load ionospheric maps
104+
maps = FourierMaps()
105+
maps.set_conditions(month=6, ssn=100, utc_fraction=0.5)
106+
107+
# Create control point
108+
pnt = ControlPoint(
109+
location=IonoPoint.from_degrees(40.0, -75.0),
110+
east_lon=-75.0 * math.pi/180,
111+
distance_rad=0.0,
112+
local_time=0.5,
113+
zen_angle=0.3,
114+
zen_max=1.5,
115+
mag_lat=50.0 * math.pi/180,
116+
mag_dip=60.0 * math.pi/180,
117+
gyro_freq=1.2
118+
)
119+
120+
# Compute ionospheric parameters
121+
compute_iono_params(pnt, maps)
122+
123+
print(f"E layer: foE = {pnt.e.fo:.2f} MHz at {pnt.e.hm:.0f} km")
124+
print(f"F1 layer: foF1 = {pnt.f1.fo:.2f} MHz at {pnt.f1.hm:.0f} km")
125+
print(f"F2 layer: foF2 = {pnt.f2.fo:.2f} MHz at {pnt.f2.hm:.0f} km")
126+
```
127+
128+
## 📊 Features
129+
130+
- **HF Propagation Prediction:** Maximum Usable Frequency (MUF), signal strength, reliability
131+
- **Ionospheric Modeling:** E, F1, F2, and Es layer calculations with CCIR/URSI coefficients
132+
- **Ray Tracing:** Multi-hop propagation path calculation
133+
- **Solar & Geomagnetic:** Real-time space weather integration
134+
- **Interactive Dashboard:** Web-based visualization with DXCC tracking
135+
- **Validation:** 86.6% accuracy against reference VOACAP output
136+
137+
## 🔗 Links
138+
139+
- **Documentation:** https://skyelaird.github.io/dvoacap-python/
140+
- **Repository:** https://github.com/skyelaird/dvoacap-python
141+
- **Bug Tracker:** https://github.com/skyelaird/dvoacap-python/issues
142+
- **PyPI Package:** https://pypi.org/project/dvoacap/
143+
- **Original DVOACAP:** https://github.com/VE3NEA/DVOACAP
144+
145+
## 🙏 Acknowledgments
146+
147+
- **Alex Shovkoplyas (VE3NEA)** - Original DVOACAP implementation
148+
- **Voice of America / ITS** - Original VOACAP development
149+
- Amateur radio and propagation modeling community
150+
151+
## 📄 License
152+
153+
MIT License - See [LICENSE](LICENSE) for details
154+
155+
**Original DVOACAP:** Relicensed from Mozilla Public License v1.1 to MIT in May 2025
156+
157+
## 🎯 Coming Next
158+
159+
- Comprehensive type hints throughout codebase
160+
- Enhanced Sphinx API documentation
161+
- Community engagement and integration examples
162+
- Performance profiling tools for user applications
163+
164+
---
165+
166+
**For Amateur Radio Operators:** This tool helps predict HF propagation for better DX contacts! 73! 📻

src/dvoacap/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
# Modern Python 3.11+ uses built-in types for annotations
1212

13-
__version__ = "1.0.0"
13+
__version__ = "1.0.1"
1414
__author__ = "Joel Morin and Contributors"
1515
__license__ = "MIT"
1616

0 commit comments

Comments
 (0)