Scootercam Weather Verbose Plugin

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

  1. Upload the plugin folder to /wp-content/plugins/
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. The plugin will automatically create /wp-content/wx/ directory for cache files
  4. 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:

[weather_alerts]
[marine_alerts]
[extended_alerts]
[all_weather_alerts]

[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:

[marine_alerts format=”banner”]
[marine_alerts format=”list”]

[marine_alerts format="banner"]  - Large banner style (default)
[marine_alerts format="list"]    - Compact list style

Individual Forecast Periods

Display a specific forecast 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

[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:

[weather_verbose_all] – All standard forecasts
[weather_marine_all] – All marine forecasts
[weather_extended_all] – All extended forecasts

[weather_verbose_all]          - All standard forecasts
[weather_marine_all]           - All marine forecasts
[weather_extended_all]         - All extended forecasts

Format Options:

[weather_marine_all format=”cards”]
[weather_marine_all format=”table”]
[weather_marine_all format=”simple”]

  1. Cards Format (default)
[weather_marine_all format="cards"]
  • Grid layout with styled cards
  • Best for visual appeal
  • Each period in its own card
  1. Table Format
[weather_marine_all format="table"]
  • Structured table layout
  • Good for comparing periods
  • Compact view
  1. 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 -->

[marine_alerts]

<!– Show current marine conditions –> <h3>Current Marine Conditions</h3>

[weather_marine index=”0″]

Complete Weather Page

<!-- All active alerts -->
<div class="weather-alerts-section">
    <h2>Active Weather Alerts</h2>

[all_weather_alerts]

</div> <!– Standard forecast –> <div class=”standard-forecast”> <h2>Local Forecast</h2>

[weather_verbose_all format=”cards”]

</div> <!– Marine forecast –> <div class=”marine-forecast”> <h2>Marine Forecast</h2>

[weather_marine_all format=”cards”]

</div>

Sidebar Widget

<!-- Compact alert display -->

[marine_alerts format=”list”]

<!– Today’s weather only –>

[weather_verbose index=”0″]

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:

  1. Go to Weather Verbose in WordPress admin
  2. Click Download & Parse Forecasts Now
  3. Check the status section to verify updates

Troubleshooting

Alerts Not Appearing

  1. Check if alerts exist: View the raw forecast files in /wp-content/wx/
  2. Verify parsing: Check that alerts_marine.php contains data
  3. Manual update: Trigger a manual forecast download
  4. Check shortcode: Ensure using correct shortcode (e.g., [marine_alerts] not [weather_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:

  1. Delete files in /wp-content/wx/
  2. Trigger manual update from admin page
  3. 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:

  1. Identifies alert lines (starting with ...)
  2. Extracts alert text
  3. Categorizes by type (WARNING, WATCH, ADVISORY)
  4. Assigns severity level
  5. Adds appropriate emoji
  6. 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

Verified by MonsterInsights