{
  "service": "weatherq",
  "description": "The weather now at a latitude and longitude, from the nearest airport's report (METAR), in one shape whatever the station.",
  "usage": [
    "GET /48.43,-123.37               -- the weather now: the nearest station's report, in weatherq's words",
    "GET /?lat=48.43&lon=-123.37",
    "GET /sources                     -- how AWC's two files are doing: when the cron last read them, the newest report"
  ],
  "answer": {
    "now": "The nearest station within 25 km that reported the sky in the last 90 minutes and can see precipitation. via names the source; code is its report verbatim.",
    "words": {
      "condition": [
        "clear",
        "mostly-clear",
        "partly-cloudy",
        "mostly-cloudy",
        "cloudy",
        "foggy",
        "haze",
        "smoky",
        "blowing-dust",
        "drizzle",
        "rain",
        "heavy-rain",
        "sun-showers",
        "isolated-thunderstorms",
        "thunderstorms",
        "strong-storms",
        "freezing-drizzle",
        "freezing-rain",
        "sleet",
        "wintry-mix",
        "hail",
        "flurries",
        "snow",
        "heavy-snow",
        "blowing-snow"
      ],
      "cover": [
        "clear",
        "few",
        "scattered",
        "broken",
        "overcast"
      ],
      "precipitation": [
        "none",
        "rain",
        "drizzle",
        "snow",
        "freezing-rain",
        "freezing-drizzle",
        "sleet",
        "mixed",
        "hail",
        "unknown"
      ],
      "intensity": [
        "light",
        "moderate",
        "heavy"
      ],
      "thunder": [
        "none",
        "nearby",
        "overhead"
      ],
      "obscuration": [
        "none",
        "fog",
        "mist",
        "haze",
        "smoke",
        "dust"
      ]
    },
    "nulls": "null means the report doesn't say. none means it says there's none: precipitation.kind none, obscuration none, thunder false.",
    "condition": "One word for the sky: Apple WeatherKit's condition names, kebab-case. A new one may appear: treat any you don't know as cloudy.",
    "layers": "cover at each of the WMO's levels: low under 2 km, middle to 6 km, high above. null where the report can't see.",
    "detail": "showers: from cumulus, with breaks. blowing: snow, dust or sand off the ground. convective: storm clouds. sleet is ice pellets; mixed is rain and snow.",
    "automatic": "station.automatic is an AUTO report, with no observer. A US automatic station's clear means no cloud below 12,000 ft.",
    "wind": "Converted from knots. averagingPeriodInMinutes is 2 in the US and Canada, 10 elsewhere.",
    "available": "false, with a reason, where no station is close enough. A model will answer there in a later version."
  },
  "sources": [
    "NOAA Aviation Weather Center: every station's latest METAR, one file read every 5 minutes, and its station list, daily."
  ],
  "auth": "None. CORS is open, so a browser can call this directly.",
  "terms": "Free, unsupported, not for volume, and as is. Send a User-Agent that names your app. https://almanac.observer/#use"
}
