🌊 Professional-grade trajectory analysis powered by OpenDrift + Trajan with a clean, intuitive interface
-
Start the API server:
cd /Users/bilalghalib/Projects/Iraq_Projects/BEIT/scripts/opendrift python gaza_api_bridge.py -
Open your browser to:
http://localhost:5000 -
Use the interface:
- Choose mission profile (Humanitarian, Communication, Precision, Custom)
- Set target coordinates (click map or use presets)
- Configure weather and timing
- Run analysis and get professional results
from gaza_unified_backend import GazaUnifiedAnalyzer
analyzer = GazaUnifiedAnalyzer()
result = analyzer.analyze_mission(
profile_key='humanitarian',
target_lat=31.2794,
target_lon=34.2542,
season='summer',
launch_time='dawn',
analysis_level='standard'
)
print(f"Success Rate: {result.metrics['success_rate']:.1f}%")
print(f"Optimal Launch: {result.optimal_launch['lat']:.6f}, {result.optimal_launch['lon']:.6f}")- Container: 5L Jerry Can with 5m Rope
- Priority: Maximum success rate
- Use Case: Medical supplies, food aid
- Expected: 85%+ success rate, 6-8 days transit
- Container: 2L Bottle (Optimized)
- Priority: Fast delivery + stealth
- Use Case: Waterproof electronics
- Expected: 72%+ success rate, 3-4 days transit
- Container: Heavy Container with 15m Rope
- Priority: Pinpoint accuracy
- Use Case: High-value items
- Expected: 94%+ success rate, 4-6 days transit
- Container: User defined
- Priority: Full parameter control
- Use Case: Advanced users
- Expected: Variable based on settings
- Reverse optimization → finds optimal launch points
- OpenDrift physics → realistic trajectory simulation
- Trajan analysis → professional scientific metrics
- CF-compliant datasets → publication-ready results
- Mission-focused workflow → choose profile, set target, run
- Progressive disclosure → simple start, detailed results
- Multiple export formats → HTML, NetCDF, PDF, animations
- Real-time progress → see analysis steps as they run
- Physics-based modeling → container mass, buoyancy, drag
- Environmental factors → seasonal winds, currents, waves
- Statistical validation → confidence intervals, uncertainty
- Publication standards → CF conventions, metadata
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Web Interface │ ←→ │ API Bridge │ ←→ │ Unified Backend │
│ (HTML/JS) │ │ (Flask) │ │ (Python) │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│
┌────────┴────────┐
▼ ▼
┌─────────────────┐ ┌─────────────────┐
│ OpenDrift │ │ Trajan │
│ Physics Engine │ │ Trajectory │
│ │ │ Analysis │
└─────────────────┘ └─────────────────┘
gaza_unified_interface.html # Main web interface
gaza_api_bridge.py # Flask API server
gaza_unified_backend.py # Core analysis engine
gaza_opendrift_trajan_enhanced.py # Advanced integration
gaza_reverse_optimizer.py # Launch point optimization
gaza_advanced_web_interface.html # Advanced parameter control
| Level | Scenarios | Trajectories | Duration | Use Case |
|---|---|---|---|---|
| Fast | 30 | 750 | 5 min | Quick estimates |
| Standard | 75 | 1,875 | 10 min | Most missions |
| Comprehensive | 150 | 3,750 | 20 min | Important missions |
| Research | 300 | 7,500 | 45 min | Scientific study |
- 🌐 Interactive HTML: Standalone report with embedded data
- 📊 Scientific NetCDF: CF-compliant datasets for research
- 📄 PDF Report: Professional summary document
- 🎬 Animation: MP4 trajectory videos
- 📋 JSON: Machine-readable results
- 📍 Coordinates: Simple GPS coordinates for field use
For advanced users who need full control:
- Open:
gaza_advanced_web_interface.html - Configure: Container geometry, rope systems, physics parameters
- Customize: OpenDrift settings, Trajan analysis options
- Export: Full scientific datasets
pip install flask flask-cors
pip install opendrift # For physics simulation
pip install trajan # For trajectory analysis
pip install numpy matplotlib xarray pandaspip install netcdf4 # For CF dataset export
pip install cartopy # For advanced mapping
pip install scipy # For optimization algorithms# Medical supplies to Gaza
result = analyzer.analyze_mission(
profile_key='humanitarian',
target_lat=31.2794, # Alleight Beach Resort
target_lon=34.2542,
season='summer', # Etesian winds
launch_time='dawn', # Low visibility
analysis_level='comprehensive'
)# Electronics delivery
result = analyzer.analyze_mission(
profile_key='communication',
target_lat=31.2889, # Rafah beach
target_lon=34.2567,
season='summer',
launch_time='night', # Maximum stealth
analysis_level='standard'
)# Full scientific study
result = analyzer.analyze_mission(
profile_key='precision',
target_lat=31.5017, # Gaza City
target_lon=34.4668,
season='autumn', # Variable conditions
launch_time='day',
analysis_level='research' # Maximum detail
)✅ Professional Results: Publication-quality analysis following oceanographic standards
✅ Mission-Focused: Designed for real operational planning, not just research
✅ Clean Interface: Complex science made simple and accessible
✅ Flexible Export: Get results in the format you need
✅ Integrated Pipeline: All tools work together seamlessly
✅ Scientific Rigor: Physics-based modeling with uncertainty quantification
The system is designed to be modular and extensible:
- Add new mission profiles in
gaza_unified_backend.py - Customize container types in the containers dictionary
- Extend export formats in the API bridge
- Add visualization options in the web interface
For issues or questions:
- Check the browser console for API connection errors
- Verify the Flask server is running on port 5000
- Ensure all Python dependencies are installed
- Fallback mode available if API unavailable
🌊 Gaza Delivery Mission Planner - Professional trajectory analysis made simple and accessible.