{
  "@context": {
    "@vocab": "https://dynamical.org/schema#",
    "schema": "https://schema.org/",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "dcterms": "http://purl.org/dc/terms/",
    "dynamical": "https://dynamical.org/schema#",
    "AnalysisBatch": "dynamical:AnalysisBatch",
    "queries": {
      "@id": "dynamical:queries",
      "@container": "@list"
    },
    "AnalysisBatchResponse": "dynamical:AnalysisBatchResponse",
    "results": {
      "@id": "dynamical:results",
      "@container": "@list"
    },
    "AnalysisLinks": "dynamical:AnalysisLinks",
    "canonical": {
      "@id": "dynamical:canonical",
      "@type": "xsd:string"
    },
    "catalog": {
      "@id": "dynamical:catalog",
      "@type": "xsd:string"
    },
    "AnalysisQuery": "dynamical:AnalysisQuery",
    "queryId": {
      "@id": "dynamical:queryId"
    },
    "dataProductId": {
      "@id": "dynamical:dataProductId",
      "@type": "xsd:string"
    },
    "location": {
      "@id": "dynamical:location",
      "@type": "@id"
    },
    "variables": {
      "@id": "dynamical:variables",
      "@container": "@list"
    },
    "startTime": {
      "@id": "dynamical:startTime",
      "@type": "xsd:dateTime"
    },
    "endTime": {
      "@id": "dynamical:endTime",
      "@type": "xsd:dateTime"
    },
    "CanonicalLink": "dynamical:CanonicalLink",
    "CatalogLink": "dynamical:CatalogLink",
    "Coordinate": "dynamical:Coordinate",
    "latitude": {
      "@id": "dynamical:latitude",
      "@type": "xsd:decimal"
    },
    "longitude": {
      "@id": "dynamical:longitude",
      "@type": "xsd:decimal"
    },
    "DataProductReference": "dynamical:DataProductReference",
    "id": {
      "@id": "dynamical:id",
      "@type": "xsd:string"
    },
    "version": {
      "@id": "dynamical:version"
    },
    "DeterministicAnalysisResult": "dynamical:DeterministicAnalysisResult",
    "dataProduct": {
      "@id": "dynamical:dataProduct",
      "@type": "@id"
    },
    "point": {
      "@id": "dynamical:point",
      "@type": "@id"
    },
    "analysisTimes": {
      "@id": "dynamical:analysisTimes",
      "@container": "@list"
    },
    "snapshotId": {
      "@id": "dynamical:snapshotId",
      "@type": "xsd:string"
    },
    "links": {
      "@id": "dynamical:links",
      "@type": "@id"
    },
    "data": {
      "@id": "dynamical:data"
    },
    "DeterministicForecastSeries": "dynamical:DeterministicForecastSeries",
    "initTime": {
      "@id": "dynamical:initTime",
      "@type": "xsd:dateTime"
    },
    "validTimes": {
      "@id": "dynamical:validTimes",
      "@container": "@list"
    },
    "leadTimeHours": {
      "@id": "dynamical:leadTimeHours",
      "@container": "@list"
    },
    "EnsembleAnalysisResult": "dynamical:EnsembleAnalysisResult",
    "ensembleMembers": {
      "@id": "dynamical:ensembleMembers",
      "@container": "@list"
    },
    "EnsembleForecastSeries": "dynamical:EnsembleForecastSeries",
    "EnsembleMember": "dynamical:EnsembleMember",
    "member": {
      "@id": "dynamical:member"
    },
    "ErrorDetail": "dynamical:ErrorDetail",
    "detail": {
      "@id": "dynamical:detail",
      "@type": "xsd:string"
    },
    "documentationUrl": {
      "@id": "dynamical:documentationUrl"
    },
    "ForecastBatch": "dynamical:ForecastBatch",
    "ForecastBatchResponse": "dynamical:ForecastBatchResponse",
    "ForecastQuery": "dynamical:ForecastQuery",
    "initTimesAfter": {
      "@id": "dynamical:initTimesAfter"
    },
    "initTimesBefore": {
      "@id": "dynamical:initTimesBefore"
    },
    "validTimeStart": {
      "@id": "dynamical:validTimeStart"
    },
    "validTimeEnd": {
      "@id": "dynamical:validTimeEnd"
    },
    "maxLeadTimeHours": {
      "@id": "dynamical:maxLeadTimeHours"
    },
    "representation": {
      "@id": "dynamical:representation",
      "@type": "xsd:string"
    },
    "ForecastResult": "dynamical:ForecastResult",
    "forecasts": {
      "@id": "dynamical:forecasts",
      "@container": "@list"
    },
    "routing": {
      "@id": "dynamical:routing"
    },
    "HTTPValidationError": "dynamical:HTTPValidationError",
    "Location": "dynamical:Location",
    "Point": "dynamical:Point",
    "requested": {
      "@id": "dynamical:requested"
    },
    "selected": {
      "@id": "dynamical:selected",
      "@type": "@id"
    },
    "method": {
      "@id": "dynamical:method",
      "@type": "xsd:string"
    },
    "Routing": "dynamical:Routing",
    "requestedDataProduct": {
      "@id": "dynamical:requestedDataProduct",
      "@type": "@id"
    },
    "requestedSnapshotId": {
      "@id": "dynamical:requestedSnapshotId",
      "@type": "xsd:string"
    },
    "decision": {
      "@id": "dynamical:decision",
      "@type": "xsd:string"
    },
    "reason": {
      "@id": "dynamical:reason",
      "@type": "xsd:string"
    },
    "fallbackReason": {
      "@id": "dynamical:fallbackReason"
    },
    "coverage": {
      "@id": "dynamical:coverage",
      "@type": "@id"
    },
    "policyRevision": {
      "@id": "dynamical:policyRevision",
      "@type": "xsd:string"
    },
    "RoutingCoverage": "dynamical:RoutingCoverage",
    "selectedValues": {
      "@id": "dynamical:selectedValues",
      "@type": "xsd:integer"
    },
    "finiteValues": {
      "@id": "dynamical:finiteValues",
      "@type": "xsd:integer"
    },
    "SelectedPoint": "dynamical:SelectedPoint",
    "grid": {
      "@id": "dynamical:grid"
    },
    "ValidationError": "dynamical:ValidationError",
    "loc": {
      "@id": "dynamical:loc",
      "@container": "@list"
    },
    "msg": {
      "@id": "dynamical:msg",
      "@type": "xsd:string"
    },
    "type": {
      "@id": "dynamical:type",
      "@type": "xsd:string"
    },
    "input": {
      "@id": "dynamical:input"
    },
    "ctx": {
      "@id": "dynamical:ctx"
    },
    "ValidationErrorDetail": "dynamical:ValidationErrorDetail",
    "Variable": "dynamical:Variable",
    "unit": {
      "@id": "dynamical:unit"
    }
  },
  "@type": "schema:Dataset",
  "schema:name": "Dynamical API JSON-LD context",
  "schema:description": "A JSON-LD @context for the objects Dynamical's own API contract declares: one class per component schema, one property per declared field, typed from the contract. Derived by script (derive-json-ld.py, 2026-11-06) from openapi/dynamical-org-openapi.json.",
  "dcterms:created": "2026-11-06",
  "dcterms:source": [
    "openapi/dynamical-org-openapi.json"
  ]
}