Skip to content

meteo: the shared foundation

@azohra/meteo.core holds the types and helpers the other packages share. It covers units and conversions, angle and wind-vector math with one sign convention, zod schema primitives, the upstream-failure vocabulary, and the code each capability uses to emit its JSON Schema artifacts. The station and briefing packages depend on it because their documents carry these quantities. The grib, j2k, and forecast packages don’t depend on it.

Most readers want one of the other packages. The responsibility table on the project overview lists every package and links its documentation.

Install it on its own with:

Terminal window
pnpm add @azohra/meteo.core

Every export here is a deliberate part of the API. Code doesn’t move into core only to shorten an import. The package contains:

  • Units: the platform’s unit names and conversions (units.ts)
  • Angles: angle math and compass conventions (angles.ts)
  • Wind: the platform’s one wind sign convention (wind.ts)
  • Schema primitives: the shared zod building blocks ianaTimeZone, httpUrl, and the positionFields position claims (schema.ts)
  • Failures: the upstream-failure vocabulary (failures.ts)
  • Schema artifacts: the code that renders each capability’s JSON Schema artifacts (schema-artifacts.ts)

Everything is exported from the package root. There are no subpaths:

import { KMH_PER_MPS } from "@azohra/meteo.core";

Its only dependency is zod.

PageCovers
Units, angles, one wind signThe unit vocabulary, angle helpers, and the wind sign convention the platform’s wire documents share
Failures and schema artifactsThe upstream-failure vocabulary, the shared zod schema primitives, and how capabilities render their JSON Schema artifacts