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
- Upload the
scootercam-predictors
folder to/wp-content/plugins/
- Activate through the ‘Plugins’ menu in WordPress
- Go to Settings → ScooterCam Predictors to configure
- 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)
- Visit OpenWeatherMap
- Sign up for a free account
- Generate an API key (free tier: 1,000 calls/day)
Moon API Key (Required for moonset predictions)
- Visit RapidAPI – Moon Phase API
- Subscribe to the free plan (100 requests/day)
- 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
Factor | Default Weight | Optimal Range |
---|---|---|
Cloud Coverage | 40% | 25-55% (partial clouds) |
Visibility | 25% | >10 km |
Humidity | 20% | 45-75% |
Wind Speed | 15% | 5-15 mph |
Weather Type | 15% | Partly cloudy |
Temperature | 5% | Comfortable range |
Horizon Contrast | 20% | 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:
- Moon illumination ≥ 80% (nearly full to full moon)
- Moonset occurs between 5 AM – 9 AM (dawn viewing)
- Moon sets in western sky (225° – 315° azimuth over Lake Michigan)
- 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:
- GitHub: github.com/scootercam/scootercam-predictors
- Website: scootercam.net
- Documentation: See INSTALLATION.md for detailed setup instructions
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)
- Sunset card display
- Moonset card display
- Dashboard grid layout
- Admin settings page
- Full sunset forecast
- Full moonset prediction
Enjoy predicting those perfect moments! 🌅🌕