ScooterCam Predictors

A comprehensive WordPress plugin that predicts sunset and moonset viewing conditions over Lake Michigan with advanced horizon weather analysis.

Features

Sunset Predictor

  • 0-100 scoring system with letter grades (A+ to F)
  • 3-Day evening forecast for sunset planning
  • Horizon weather analysis – compares conditions at your location with across the water
  • Analyzes cloud cover, visibility, humidity, wind, and weather type
  • Customizable scoring weights

Moonset Predictor

  • Predicts spectacular moonset events (full moon setting at dawn over Lake Michigan)
  • Only shows predictions when conditions are worth watching
  • Considers moon illumination, position, and timing
  • Dual-location weather analysis (essential for lake viewing)
  • Tracks next viewing opportunities

Card Display Shortcodes

  • Modern, responsive card-style layouts
  • Perfect for dashboard-style pages
  • Matches current weather conditions design
  • Fully responsive – stacks on mobile

Installation

Quick Install

  1. Upload the scootercam-predictors folder to /wp-content/plugins/
  2. Activate through the ‘Plugins’ menu in WordPress
  3. Go to Settings → ScooterCam Predictors to configure
  4. Enter your API keys and adjust settings

Via Git

cd /wp-content/plugins/
git clone https://github.com/scootercam/scootercam-predictors.git

Then activate in WordPress Admin.

API Keys Required

OpenWeatherMap API Key (Free)

  1. Visit OpenWeatherMap
  2. Sign up for a free account
  3. Generate an API key (free tier: 1,000 calls/day)

Moon API Key (Required for moonset predictions)

  1. Visit RapidAPI – Moon Phase API
  2. Subscribe to the free plan (100 requests/day)
  3. Copy your RapidAPI key

Configuration

Default Locations (Lake Michigan)

The plugin comes pre-configured for Lake Michigan viewing:

Home Location (South Haven, MI)

  • Viewing location on the eastern shore
  • Lat: 42.4032, Lon: -86.2736

Horizon Location (Kenosha, WI)

  • Weather across the lake to the west
  • Lat: 42.5847, Lon: -87.8212

You can customize these in Settings for any location worldwide.

Shortcodes

Sunset Shortcodes

Simple displays:

[sunset_score]
[sunset_time]
[sunset_description]

[sunset_score]          # Shows: 85/100 (B+)
[sunset_time]           # Shows: 7:32 PM
[sunset_description]    # Shows: Excellent sunset conditions expected

Full display:

[sunset_full]

[sunset_full]           # Complete sunset predictor with 3-day forecast

Card display:

[sunset_card]

[sunset_card]           # Modern card-style display

Moonset Shortcodes

Simple displays:

[moonset_score]
[moonset_time]
[moonset_description]

[moonset_score]         # Shows score or "No notable moonset today"
[moonset_time]          # Shows moonset time
[moonset_description]   # Shows viewing conditions

Full display:

[moonset_full]

[moonset_full]          # Complete moonset predictor

Card display:

[moonset_card]

[moonset_card]          # Modern card-style display

Creating a Dashboard Page

Use the cards together in a responsive grid:

<div class="scootercam-cards-grid">

[sunset_card]

[moonset_card] </div>

The cards will automatically display 2 columns on desktop and stack on mobile.

How the Scoring Works

Sunset Scoring Factors

FactorDefault WeightOptimal Range
Cloud Coverage40%25-55% (partial clouds)
Visibility25%>10 km
Humidity20%45-75%
Wind Speed15%5-15 mph
Weather Type15%Partly cloudy
Temperature5%Comfortable range
Horizon Contrast20%Different conditions across water

The Horizon Contrast feature is unique – it compares your local weather with conditions across the lake. This creates the most dramatic sunsets when you have clear skies but clouds exist across the water to light up.

Moonset Criteria

A moonset is considered “notable” when ALL conditions are met:

  1. Moon illumination ≥ 80% (nearly full to full moon)
  2. Moonset occurs between 5 AM – 9 AM (dawn viewing)
  3. Moon sets in western sky (225° – 315° azimuth over Lake Michigan)
  4. Clear weather conditions at both locations

If any criteria isn’t met, the plugin displays “No notable moonset today” instead of showing a misleading score.

Customization

Adjusting Scoring Weights

In Settings → ScooterCam Predictors, you can adjust the importance of each weather factor. The plugin will automatically recalculate scores based on your preferences.

Custom Locations

Change the home and horizon locations to use the plugin anywhere – great for:

  • Ocean coastlines
  • Large lakes
  • Mountain viewing locations
  • Any location where distant weather matters

Custom Styling

The plugin includes a style.css file you can customize. All elements use the scootercam- class prefix for easy targeting:

.scootercam-forecast-card {
    /* Your custom styles */
}

Caching

The plugin intelligently caches API responses:

  • Weather data: 30 minutes
  • Moon data: 1 hour

This reduces API calls while keeping predictions current. With typical usage, you’ll use:

  • ~50-100 OpenWeatherMap calls per day (well within free 1,000/day limit)
  • ~25-50 Moon API calls per day (within free 100/day limit)

File Structure

scootercam-predictors/
├── scootercam-predictors.php          # Main plugin file
├── README.md
├── INSTALLATION.md
├── FILE-CHECKLIST.md
├── includes/
│   ├── class-sunset-predictor.php     # Sunset prediction engine
│   ├── class-moonset-predictor.php    # Moonset prediction engine
│   ├── admin-settings.php             # Settings registration
│   └── admin-page.php                 # Admin interface
├── templates/
│   ├── sunset-full.php                # Full sunset display
│   └── moonset-full.php               # Full moonset display
└── assets/
    └── css/
        └── style.css                  # Plugin styles

Requirements

  • WordPress 5.0 or higher
  • PHP 7.4 or higher
  • OpenWeatherMap API key (free)
  • RapidAPI Moon API key (free, required for moonset predictions)

Support

For issues, feature requests, or questions:

License

GPL v2 or later

Changelog

Version 2.0.0 (October 20, 2025)

  • NEW: Combined sunset and moonset predictors into unified plugin
  • NEW: Card-style shortcodes for modern layouts ([sunset_card], [moonset_card])
  • NEW: Responsive grid support
  • Improved caching system
  • Better error handling
  • Enhanced admin interface
  • Complete rewrite with proper WordPress standards

Version 1.0.0

  • Initial release of separate plugins

Credits

Created by ScooterCam for Lake Michigan sunset and moonset photography.

Screenshots

(Add screenshots here after deployment)

  1. Sunset card display
  2. Moonset card display
  3. Dashboard grid layout
  4. Admin settings page
  5. Full sunset forecast
  6. Full moonset prediction

Enjoy predicting those perfect moments! 🌅🌕