lookup_weather
Retrieves comprehensive weather data including current conditions, hourly, and daily forecasts.
**Specific Data Available:** Temperature (Current, Feels Like, Max/Min, Heat Index), Wind (Speed, Gusts, Direction), Celestial Events (Sunrise/Sunset, Moon Phase), Precipitation (Type, Probability, Quantity/QPF), Atmospheric Conditions (UV Index, Humidity, Cloud Cover, Thunderstorm Probability), and Geocoded Location Address.
**Location & Location Rules (CRITICAL):**
The location for which weather data is requested is specified using the `location` field.
This field is a 'oneof' structure, meaning you MUST provide a value for ONLY ONE
of the three location sub-fields below to ensure an accurate weather data lookup.
1. Geographic Coordinates (lat_lng)
* Use it when you are provided with exact lat/lng coordinates.
* Example:
{"location": {"lat_lng": {"latitude": 34.0522, "longitude": -118.2437}}} // Los Angeles
2. Place ID (place_id)
* An unambiguous string identifier (Google Maps Place ID).
* The place_id can be fetched from the search_places tool.
* Example:
{"location": {"place_id": "ChIJLU7jZClu5kcR4PcOOO6p3I0"}} // Eiffel Tower
3. Address String (address)
* A free-form string that requires specificity for geocoding.
* City & Region: Always include region/country (e.g., "London, UK", not "London").
* Street Address: Provide the full address (e.g., "1600 Pennsylvania Ave NW, Washington, DC").
* Postal/Zip Codes: MUST be accompanied by a country name (e.g., "90210, USA", NOT "90210").
* Example:
{"location": {"address": "1600 Pennsylvania Ave NW, Washington, DC"}}
**Usage Modes:**
1. **Current Weather:** Provide `location` only. Do not specify `date` and `hour`.
2. **Hourly Forecast:** Provide `location`, `date`, and `hour` (0-23). Use for specific times (e.g., "at 5 PM") or terms like "next few hours" or "later today". If the user specifies minute, round down to the nearest hour. Hourly forecast beyond 120 hours from now is not supported. Historical hourly weather is supported up to 24 hours in the past.
3. **Daily Forecast:** Provide `location` and `date`. Do not specify `hour`. Use for general day requests (e.g., "weather for tomorrow", "weather on Friday", "weather on 12/25"). If today's date is not in the context, you should clarify it with the user. Daily forecast beyond 10 days including today is not supported. Historical weather is not supported.
**Parameter Constraints:**
* **Timezones:** All `date` and `hour` inputs must be relative to the **location's local time zone**, not the user's time zone.
* **Date Format:** Inputs must be separated into `{year, month, day}` integers.
* **Units:** Defaults to `METRIC`. Set `units_system` to `IMPERIAL` for Fahrenheit/Miles if the user implies US standards or explicitly requests it.
* The grounded output must be attributed to the source using the information from the `attribution` field when available.