Check weather forecasts and seasonal patterns for travel dates. Flag bad weather seasons (typhoons, monsoons, extreme heat, heavy rain) and validate if dates are in good weather windows. Use when validating trip dates for weather suitability, checking seasonal risks, or comparing weather across alternative travel dates.
Don't let a cheap flight strand you in a monsoon.
python3 scripts/check_weather.py \
--city Bangkok \
--country TH \
--dates 2025-05-15:2025-05-20 \
--activity outdoor
| Flag | Description | Example |
|---|---|---|
--city | Destination city | Bangkok, Tokyo |
--country | Country code | TH, JP |
--dates | Date range | 2025-05-15:2025-05-20 |
--activity | Planned activity type | beach, outdoor, city, ski |
--strict | Fail on any bad weather | (flag) |
--alt-cities | Compare alternatives | Phuket,Chiang+Mai |
| Risk | When | Warning |
|---|---|---|
| 🌀 Typhoon | Jun-Nov (Asia Pacific) | "Typhoon season - avoid" |
| 🌧️ Monsoon | May-Oct (SE Asia) | "Heavy rain expected" |
| 🔥 Extreme Heat | Apr-Jun (South Asia) | "40°C+ expected" |
| ❄️ Cold Snap | Dec-Feb (North Asia) | "Near freezing" |
| 🌫️ Haze/Smoke | Feb-Apr (SE Asia) | "Air quality poor" |
| 🌊 Rough Seas | Jun-Aug (Some regions) | "Boat tours may cancel" |
📅 May 15-20, 2025 - Bangkok, Thailand
🌡️ Temperature: 32-35°C (hot)
💧 Humidity: 70-80% (humid)
🌧️ Rain chance: 40% (scattered showers)
⚠️ Season: START OF MONSOON
Pattern: Afternoon thunderstorms
Risk: LOW-MODERATE
| Activity | Suitability | Note |
|---|---|---|
| Beach | ⚠️ Fair | Possible afternoon storms |
| Outdoor | ⚠️ Fair | Hot, humid, brief rain |
| City | ✅ Good | Indoor options available |
| Hiking | ❌ Poor | Slippery, hot |
If weather is poor, suggests:
Called by SmartTripClaw to validate PriceRouteOptimizer results:
# For each top option from PriceRouteOptimizer
for option in price_options:
weather_check = WeatherSeasonality.check(
city=option['city'],
dates=option['dates']
)
# Flag bad weather
if weather_check['risk_level'] == 'HIGH':
option['weather_flag'] = 'AVOID'
elif weather_check['season'] == 'shoulder':
option['weather_bonus'] = 10 # Good value season
references/seasonal_calendars.md - Best/worst months by destinationreferences/weather_risks.md - Detailed risk explanations