WordPress plugin for parsing and displaying NOAA weather forecasts with automatic alert detection.
Features
- Automated NOAA Parsing: Downloads and parses weather forecasts hourly
- Alert Detection: Automatically extracts warnings, watches, and advisories
- Three Forecast Types:
- Standard Forecast (miz071.txt)
- Marine Forecast (lmz845.txt)
- Extended Forecast
- Smart Caching: Efficient file-based caching system
- Flexible Display: Multiple shortcodes with different formats
- Emoji Support: Visual indicators for weather conditions and alert severity
Installation
- Upload the plugin folder to
/wp-content/plugins/
- Activate the plugin through the ‘Plugins’ menu in WordPress
- The plugin will automatically create
/wp-content/wx/ directory for cache files
- Forecasts will be downloaded automatically every hour
Alert System
The plugin automatically detects and categorizes weather alerts:
Alert Types
WARNING (🔴 Severe)
- Highest severity
- Requires immediate action
- Examples: Gale Warning, Tornado Warning, Flood Warning
- Emoji indicators: 🌬️💨 (Gale), ⛈️ (Storm), 🌪️ (Tornado), ❄️ (Winter)
WATCH (🟠 High)
- Conditions are favorable for severe weather
- Be prepared to take action
- Examples: Tornado Watch, Flood Watch, Winter Storm Watch
- Emoji indicators: 👀⚠️ (Generic), ⛈️👀 (Storm), 🌪️👀 (Tornado)
ADVISORY (🟡 Moderate)
- Less severe but still important
- Examples: Small Craft Advisory, Wind Advisory, Fog Advisory
- Emoji indicators: ⛵⚠️ (Small Craft), 💨 (Wind), 🌫️ (Fog)
Shortcodes
Alert Shortcodes
Display weather alerts and warnings:
No active alerts
🌬️💨
WARNING: GALE WARNING IN EFFECT UNTIL 3 PM EST THIS AFTERNOON
No active alerts
Marine Alerts
🌬️💨
WARNING: GALE WARNING IN EFFECT UNTIL 3 PM EST THIS AFTERNOON
[weather_alerts] - Standard forecast alerts
[marine_alerts] - Marine forecast alerts (e.g., Gale Warnings)
[extended_alerts] - Extended forecast alerts
[all_weather_alerts] - All alerts from all forecast types
Format Options:
🌬️💨
WARNING: GALE WARNING IN EFFECT UNTIL 3 PM EST THIS AFTERNOON
🌬️💨 GALE WARNING IN EFFECT UNTIL 3 PM EST THIS AFTERNOON
[marine_alerts format="banner"] - Large banner style (default)
[marine_alerts format="list"] - Compact list style
Individual Forecast Periods
Display a specific forecast period:
REST OF TODAY ☁️
Mostly cloudy. Highs in the upper 20s near Lake Michigan in the lower 20s inland. Southwest winds 10 to 15 mph. Gusts up to 30 mph in the afternoon.
– Standard forecast, first period
REST OF TODAY ☁️ 🌬️💨 🌊
Southwest gales to 35 knots decreasing to 30 knots early in the afternoon. Mostly cloudy. Waves 7 to 10 feet.
– Marine forecast, first period
REST OF TODAY ☁️
Mostly cloudy. Highs in the upper 20s near Lake Michigan in the lower 20s inland. Southwest winds 10 to 15 mph. Gusts up to 30 mph in the afternoon.
– Extended forecast, first period
[weather_verbose index="0"] - Standard forecast, first period
[weather_marine index="0"] - Marine forecast, first period
[weather_extended index="0"] - Extended forecast, first period
Index values:
0 = First period (e.g., “REST OF TODAY”)
1 = Second period (e.g., “TONIGHT”)
2 = Third period, etc.
All Forecasts
Display all forecast periods:
Mostly cloudy. Highs in the upper 20s near Lake Michigan in the lower 20s inland. Southwest winds 10 to 15 mph. Gusts up to 30 mph in the afternoon.
Cloudy. Lows near 15. Southwest winds 5 to 10 mph. Gusts up to 20 mph in the evening.
Partly sunny in the morning then becoming mostly sunny. Highs in the mid 30s. South winds 5 to 15 mph with gusts to around 25 mph.
Partly cloudy in the evening then becoming mostly cloudy. Lows in the upper 20s. Southwest winds 5 to 15 mph with gusts to around 30 mph.
Partly sunny in the morning then becoming mostly sunny. Highs in the upper 30s. West winds 5 to 10 mph. Gusts up to 25 mph in the morning.
Partly cloudy in the evening then becoming mostly cloudy. A 50 percent chance of rain showers. Lows in the upper 20s.
Rain showers, possibly mixed with snow showers. Highs in the mid 40s. Chance of precipitation 100 percent.
Snow showers likely, possibly mixed with rain showers. Lows 15 to 20. Chance of precipitation 70 percent.
Mostly cloudy. Highs in the upper 20s.
Mostly cloudy with a 20 percent chance of snow showers. Lows 15 to 20.
Mostly cloudy with a 20 percent chance of rain and snow showers. Highs around 40.
Partly cloudy in the evening then becoming mostly cloudy. A 30 percent chance of snow showers, possibly mixed with rain showers. Lows in the mid 20s.
Partly sunny with a 20 percent chance of snow showers. Highs in the lower 30s.
– All standard forecasts
Southwest gales to 35 knots decreasing to 30 knots early in the afternoon. Mostly cloudy. Waves 7 to 10 feet.
West winds 20 to 25 knots decreasing to 10 to 20 knots in the late evening and early morning, then backing southwest 5 to 15 knots after midnight. Cloudy. Waves 5 to 7 feet subsiding to 3 to 5 feet in the late evening and overnight.
South winds to 30 knots increasing to gales to 35 knots early in the afternoon. Partly sunny. Waves 2 to 4 feet building to 6 to 9 feet.
Southwest gales to 40 knots veering west gales to 35 knots after midnight. Mostly cloudy. Waves 7 to 11 feet.
West winds to 30 knots decreasing to 15 to 20 knots in the late morning and early afternoon, then backing southwest early in the afternoon. Mostly sunny. Waves 6 to 8 feet subsiding to 2 to 4 feet early in the afternoon.
South gales to 40 knots becoming west storm force winds to 60 knots early in the afternoon. Rain showers with snow showers likely. Waves 8 to 12 feet building to 11 to 15 feet early in the afternoon.
Northwest gales to 35 knots decreasing to 20 to 25 knots in the late morning and early afternoon, then backing west early in the afternoon. Mostly cloudy. Waves 8 to 12 feet subsiding to 4 to 6 feet.
– All marine forecasts
Mostly cloudy. Highs in the upper 20s near Lake Michigan in the lower 20s inland. Southwest winds 10 to 15 mph. Gusts up to 30 mph in the afternoon.
Cloudy. Lows near 15. Southwest winds 5 to 10 mph. Gusts up to 20 mph in the evening.
Partly sunny in the morning then becoming mostly sunny. Highs in the mid 30s. South winds 5 to 15 mph with gusts to around 25 mph.
Partly cloudy in the evening then becoming mostly cloudy. Lows in the upper 20s. Southwest winds 5 to 15 mph with gusts to around 30 mph.
Partly sunny in the morning then becoming mostly sunny. Highs in the upper 30s. West winds 5 to 10 mph. Gusts up to 25 mph in the morning.
Partly cloudy in the evening then becoming mostly cloudy. A 50 percent chance of rain showers. Lows in the upper 20s.
Rain showers, possibly mixed with snow showers. Highs in the mid 40s. Chance of precipitation 100 percent.
Snow showers likely, possibly mixed with rain showers. Lows 15 to 20. Chance of precipitation 70 percent.
Mostly cloudy. Highs in the upper 20s.
Mostly cloudy with a 20 percent chance of snow showers. Lows 15 to 20.
Mostly cloudy with a 20 percent chance of rain and snow showers. Highs around 40.
Partly cloudy in the evening then becoming mostly cloudy. A 30 percent chance of snow showers, possibly mixed with rain showers. Lows in the mid 20s.
Partly sunny with a 20 percent chance of snow showers. Highs in the lower 30s.
– All extended forecasts
[weather_verbose_all] - All standard forecasts
[weather_marine_all] - All marine forecasts
[weather_extended_all] - All extended forecasts
Format Options:
Southwest gales to 35 knots decreasing to 30 knots early in the afternoon. Mostly cloudy. Waves 7 to 10 feet.
West winds 20 to 25 knots decreasing to 10 to 20 knots in the late evening and early morning, then backing southwest 5 to 15 knots after midnight. Cloudy. Waves 5 to 7 feet subsiding to 3 to 5 feet in the late evening and overnight.
South winds to 30 knots increasing to gales to 35 knots early in the afternoon. Partly sunny. Waves 2 to 4 feet building to 6 to 9 feet.
Southwest gales to 40 knots veering west gales to 35 knots after midnight. Mostly cloudy. Waves 7 to 11 feet.
West winds to 30 knots decreasing to 15 to 20 knots in the late morning and early afternoon, then backing southwest early in the afternoon. Mostly sunny. Waves 6 to 8 feet subsiding to 2 to 4 feet early in the afternoon.
South gales to 40 knots becoming west storm force winds to 60 knots early in the afternoon. Rain showers with snow showers likely. Waves 8 to 12 feet building to 11 to 15 feet early in the afternoon.
Northwest gales to 35 knots decreasing to 20 to 25 knots in the late morning and early afternoon, then backing west early in the afternoon. Mostly cloudy. Waves 8 to 12 feet subsiding to 4 to 6 feet.
| Period | Forecast |
|---|
| REST OF TODAY ☁️ 🌬️💨 🌊 | Southwest gales to 35 knots decreasing to 30 knots early in the afternoon. Mostly cloudy. Waves 7 to 10 feet. |
| TONIGHT ☁️ 💨 🌊 | West winds 20 to 25 knots decreasing to 10 to 20 knots in the late evening and early morning, then backing southwest 5 to 15 knots after midnight. Cloudy. Waves 5 to 7 feet subsiding to 3 to 5 feet in the late evening and overnight. |
| TUESDAY ☀️ 🌬️💨 🌊 | South winds to 30 knots increasing to gales to 35 knots early in the afternoon. Partly sunny. Waves 2 to 4 feet building to 6 to 9 feet. |
| TUESDAY NIGHT ☁️ 🌬️💨 🌊 | Southwest gales to 40 knots veering west gales to 35 knots after midnight. Mostly cloudy. Waves 7 to 11 feet. |
| WEDNESDAY ☀️ 💨 🌊 | West winds to 30 knots decreasing to 15 to 20 knots in the late morning and early afternoon, then backing southwest early in the afternoon. Mostly sunny. Waves 6 to 8 feet subsiding to 2 to 4 feet early in the afternoon. |
| THURSDAY 🌧️ ❄️ 🌬️💨 🌊 | South gales to 40 knots becoming west storm force winds to 60 knots early in the afternoon. Rain showers with snow showers likely. Waves 8 to 12 feet building to 11 to 15 feet early in the afternoon. |
| FRIDAY ☁️ 🌬️💨 🌊 | Northwest gales to 35 knots decreasing to 20 to 25 knots in the late morning and early afternoon, then backing west early in the afternoon. Mostly cloudy. Waves 8 to 12 feet subsiding to 4 to 6 feet. |
REST OF TODAY ☁️ 🌬️💨 🌊: Southwest gales to 35 knots decreasing to 30 knots early in the afternoon. Mostly cloudy. Waves 7 to 10 feet.
TONIGHT ☁️ 💨 🌊: West winds 20 to 25 knots decreasing to 10 to 20 knots in the late evening and early morning, then backing southwest 5 to 15 knots after midnight. Cloudy. Waves 5 to 7 feet subsiding to 3 to 5 feet in the late evening and overnight.
TUESDAY ☀️ 🌬️💨 🌊: South winds to 30 knots increasing to gales to 35 knots early in the afternoon. Partly sunny. Waves 2 to 4 feet building to 6 to 9 feet.
TUESDAY NIGHT ☁️ 🌬️💨 🌊: Southwest gales to 40 knots veering west gales to 35 knots after midnight. Mostly cloudy. Waves 7 to 11 feet.
WEDNESDAY ☀️ 💨 🌊: West winds to 30 knots decreasing to 15 to 20 knots in the late morning and early afternoon, then backing southwest early in the afternoon. Mostly sunny. Waves 6 to 8 feet subsiding to 2 to 4 feet early in the afternoon.
THURSDAY 🌧️ ❄️ 🌬️💨 🌊: South gales to 40 knots becoming west storm force winds to 60 knots early in the afternoon. Rain showers with snow showers likely. Waves 8 to 12 feet building to 11 to 15 feet early in the afternoon.
FRIDAY ☁️ 🌬️💨 🌊: Northwest gales to 35 knots decreasing to 20 to 25 knots in the late morning and early afternoon, then backing west early in the afternoon. Mostly cloudy. Waves 8 to 12 feet subsiding to 4 to 6 feet.
- Cards Format (default)
[weather_marine_all format="cards"]
- Grid layout with styled cards
- Best for visual appeal
- Each period in its own card
- Table Format
[weather_marine_all format="table"]
- Structured table layout
- Good for comparing periods
- Compact view
- Simple Format
[weather_marine_all format="simple"]
- Plain text with minimal styling
- Fastest to load
- Good for sidebar widgets
Example Usage
Display Marine Alerts and Today’s Forecast
<!-- Show any marine warnings prominently -->
🌬️💨
WARNING: GALE WARNING IN EFFECT UNTIL 3 PM EST THIS AFTERNOON
<!– Show current marine conditions –> <h3>Current Marine Conditions</h3>
REST OF TODAY ☁️ 🌬️💨 🌊
Southwest gales to 35 knots decreasing to 30 knots early in the afternoon. Mostly cloudy. Waves 7 to 10 feet.
Complete Weather Page
<!-- All active alerts -->
<div class="weather-alerts-section">
<h2>Active Weather Alerts</h2>
Marine Alerts
🌬️💨
WARNING: GALE WARNING IN EFFECT UNTIL 3 PM EST THIS AFTERNOON
</div> <!– Standard forecast –> <div class=”standard-forecast”> <h2>Local Forecast</h2>
Mostly cloudy. Highs in the upper 20s near Lake Michigan in the lower 20s inland. Southwest winds 10 to 15 mph. Gusts up to 30 mph in the afternoon.
Cloudy. Lows near 15. Southwest winds 5 to 10 mph. Gusts up to 20 mph in the evening.
Partly sunny in the morning then becoming mostly sunny. Highs in the mid 30s. South winds 5 to 15 mph with gusts to around 25 mph.
Partly cloudy in the evening then becoming mostly cloudy. Lows in the upper 20s. Southwest winds 5 to 15 mph with gusts to around 30 mph.
Partly sunny in the morning then becoming mostly sunny. Highs in the upper 30s. West winds 5 to 10 mph. Gusts up to 25 mph in the morning.
Partly cloudy in the evening then becoming mostly cloudy. A 50 percent chance of rain showers. Lows in the upper 20s.
Rain showers, possibly mixed with snow showers. Highs in the mid 40s. Chance of precipitation 100 percent.
Snow showers likely, possibly mixed with rain showers. Lows 15 to 20. Chance of precipitation 70 percent.
Mostly cloudy. Highs in the upper 20s.
Mostly cloudy with a 20 percent chance of snow showers. Lows 15 to 20.
Mostly cloudy with a 20 percent chance of rain and snow showers. Highs around 40.
Partly cloudy in the evening then becoming mostly cloudy. A 30 percent chance of snow showers, possibly mixed with rain showers. Lows in the mid 20s.
Partly sunny with a 20 percent chance of snow showers. Highs in the lower 30s.
</div> <!– Marine forecast –> <div class=”marine-forecast”> <h2>Marine Forecast</h2>
Southwest gales to 35 knots decreasing to 30 knots early in the afternoon. Mostly cloudy. Waves 7 to 10 feet.
West winds 20 to 25 knots decreasing to 10 to 20 knots in the late evening and early morning, then backing southwest 5 to 15 knots after midnight. Cloudy. Waves 5 to 7 feet subsiding to 3 to 5 feet in the late evening and overnight.
South winds to 30 knots increasing to gales to 35 knots early in the afternoon. Partly sunny. Waves 2 to 4 feet building to 6 to 9 feet.
Southwest gales to 40 knots veering west gales to 35 knots after midnight. Mostly cloudy. Waves 7 to 11 feet.
West winds to 30 knots decreasing to 15 to 20 knots in the late morning and early afternoon, then backing southwest early in the afternoon. Mostly sunny. Waves 6 to 8 feet subsiding to 2 to 4 feet early in the afternoon.
South gales to 40 knots becoming west storm force winds to 60 knots early in the afternoon. Rain showers with snow showers likely. Waves 8 to 12 feet building to 11 to 15 feet early in the afternoon.
Northwest gales to 35 knots decreasing to 20 to 25 knots in the late morning and early afternoon, then backing west early in the afternoon. Mostly cloudy. Waves 8 to 12 feet subsiding to 4 to 6 feet.
</div>
Sidebar Widget
<!-- Compact alert display -->
🌬️💨 GALE WARNING IN EFFECT UNTIL 3 PM EST THIS AFTERNOON
<!– Today’s weather only –>
REST OF TODAY ☁️
Mostly cloudy. Highs in the upper 20s near Lake Michigan in the lower 20s inland. Southwest winds 10 to 15 mph. Gusts up to 30 mph in the afternoon.
Real-World Alert Examples
Gale Warning (Marine)
🌬️💨 WARNING: GALE WARNING IN EFFECT THROUGH LATE TONIGHT
Small Craft Advisory
⛵⚠️ ADVISORY: SMALL CRAFT ADVISORY IN EFFECT UNTIL 8 PM
Winter Storm Watch
❄️👀 WATCH: WINTER STORM WATCH FROM FRIDAY EVENING THROUGH SATURDAY
Styling
The plugin includes comprehensive CSS classes for customization:
Alert Styling
.weather-alert-banner – Banner format alerts
.alert-severe – Red styling for warnings
.alert-high – Orange styling for watches
.alert-moderate – Yellow styling for advisories
Forecast Styling
.weather-card – Individual forecast cards
.weather-table – Table format styling
.weather-type-marine – Marine-specific colors
.weather-type-extended – Extended forecast colors
Custom CSS Example
/* Make marine warnings more prominent */
.weather-type-marine .alert-severe {
border-left-width: 8px;
font-size: 1.2em;
}
/* Change card colors */
.weather-type-marine .weather-card-header {
background: linear-gradient(135deg, #005f73 0%, #0a9396 100%);
}
Data Files
The plugin creates these files in /wp-content/wx/:
Forecast Files
extracted_verbose.php – Parsed standard forecasts
extracted_marine.php – Parsed marine forecasts
extracted_extended.php – Parsed extended forecasts
Alert Files
alerts_verbose.php – Standard forecast alerts
alerts_marine.php – Marine forecast alerts (warnings, advisories)
alerts_extended.php – Extended forecast alerts
Raw Files
miz071.txt – Raw standard forecast from NOAA
lmz845.txt – Raw marine forecast from NOAA
extended.txt – Raw extended forecast from NOAA
Manual Updates
Use the admin page to manually trigger forecast updates:
- Go to Weather Verbose in WordPress admin
- Click Download & Parse Forecasts Now
- Check the status section to verify updates
Troubleshooting
Alerts Not Appearing
- Check if alerts exist: View the raw forecast files in
/wp-content/wx/
- Verify parsing: Check that
alerts_marine.php contains data
- Manual update: Trigger a manual forecast download
- Check shortcode: Ensure using correct shortcode (e.g.,
🌬️💨
WARNING: GALE WARNING IN EFFECT UNTIL 3 PM EST THIS AFTERNOON
not No active alerts
for marine warnings)
Example Alert Detection
The parser looks for lines like:
...GALE WARNING IN EFFECT THROUGH LATE TONIGHT...
...SMALL CRAFT ADVISORY UNTIL 8 PM EST...
...WINTER STORM WATCH FROM FRIDAY EVENING...
Cache Issues
If forecasts seem outdated:
- Delete files in
/wp-content/wx/
- Trigger manual update from admin page
- Check file timestamps in admin page
Technical Details
Update Schedule
- Automatic: Every hour via WordPress cron
- Manual: Admin page button
- Cron job: Can be triggered via
wp-cron.php
Alert Detection Logic
The parser:
- Identifies alert lines (starting with
...)
- Extracts alert text
- Categorizes by type (WARNING, WATCH, ADVISORY)
- Assigns severity level
- Adds appropriate emoji
- Stores separately from forecasts
Performance
- File-based caching: No database queries
- Efficient parsing: Regex-based extraction
- Smart updates: Only downloads when scheduled
- Minimal overhead: Cached PHP arrays
Support
For issues or questions:
- Check
/wp-content/debug.log for errors
- Verify NOAA URLs are accessible
- Ensure
/wp-content/wx/ is writable
Version
Current version: 1.0.0
Author
Rick Xaver, genius