Planning method

Weather coverage: reading place, time, and provider limits

Weather data is always about an area, a period, a provider method, and an issue time. Turning a broad forecast into “weather at this attraction right now” discards those boundaries and creates confidence the source did not provide.

Asmaliana’s weather tool is designed to return the provider’s actual coverage and an advisory interpretation—not a venue-level sensor reading or safety guarantee.

Verified production uses the rights-cleared MET Malaysia Government Open API for a Melaka Tengah (Ds078) area forecast and official warning feed. The adapter validates the upstream schemas, records the provider’s issue/valid times, caches permitted results for five minutes, and fails closed when the provider is unavailable or a query is outside its documented horizon. Development and preview can still use the explicit synthetic demo adapter; demo output must not guide travel.

Spatial coverage

A provider value can apply to a:

These are not interchangeable. A registered location_id lets the adapter map a request through a reviewed configuration instead of accepting an arbitrary coordinate or URL. The response should state the provider’s actual coverage label or granularity.

If no supported mapping exists, the correct result is no_location_data. Quietly choosing an unknown “nearest” point could be misleading unless the method, distance, terrain limits, and evidence are explicitly designed and disclosed.

Temporal coverage

Three times are easy to confuse:

  1. Issue time — when the provider produced the forecast or advisory.
  2. Valid period — when the described condition is meant to apply.
  3. Retrieval time — when Asmaliana received it.

Retrieving an old forecast now does not make it current. Cache age is also not the same as forecast validity.

A query outside the provider’s documented horizon should return out_of_forecast_range. It should not extrapolate the last available day or replace the missing live result with demo data.

Forecast, observation, and warning

These evidence types answer different questions:

The service should not relabel one as another. An observation at a station is not automatically a current measurement at a venue, and a regional warning should remain regional.

“No warning” is not “safe”

An empty alert list can mean many things:

Even a valid “no applicable alert” result addresses only that provider and query. It does not establish that travel is safe. Users should follow the relevant authoritative current service for urgent safety decisions.

Explicit result states

A useful response distinguishes:

These are business/evidence outcomes. The surrounding HTTP status depends on whether the request was valid and whether the operation contract can represent the unavailable state normally.

Cache behavior

Weather caching is useful only when the provider permits it and the response keeps its original issue/valid times. A cache hit should expose age and source. It must not generate a new issue time or reset evidence freshness.

When the upstream call fails:

What a response should tell you

Before using an advisory, inspect:

If those fields are absent, a friendly sentence alone cannot support a reliable decision.

Weather in an itinerary

Weather is one dimension of a plan, not a universal veto or approval. A planner may use available advisory state to flag an outdoor preference or a published warning, while still reporting:

The planner should not invent weather resilience for a place or promise that an indoor stop is unaffected.

Privacy and precision

A weather query rarely needs a traveller’s exact starting coordinate. Registered coarse location IDs reduce both privacy exposure and false precision. Exact origins belong to transient route/planning inputs and are excluded from ordinary logs.

Practical checklist

Coverage is part of the weather fact. Removing it does not simplify the answer; it changes the claim.