{type:"steps",items:["先看专业气象结论条或城市决策卡,确认今日主判断、最高温中枢和下一观测点。","再看锚点状态和今日气温预测图,确认机场实测、DEB、峰值窗口和关键档位线。","接着看 AI 机场报文解读、气象证据链、失效条件和确认条件,判断这个路径有没有被新观测破坏。","最后看校准模型概率、模型区间、市场温度桶和模型-市场差,判断概率是否已经被市场充分计价。"]},
description:"The PolyWeather docs explain the product's core concepts, settlement logic, intraday meteorology, calibrated probability, and model stack so users can turn airport anchors, official nearby networks, and model context into actionable decisions.",
{type:"paragraph",text:"PolyWeather is not a generic weather app. It is built for weather derivatives and temperature markets, with one job: estimate the likely high-temperature bucket, explain whether the airport or official settlement site may get capped, and surface whether the market is mispricing that outcome."},
{type:"callout",tone:"info",title:"Product focus",text:"The core value is not raw weather reporting. It is the conversion of models, airport-primary observations, official nearby networks, airport forecasts, and settlement rules into usable trading context."},
{type:"bullets",items:["Anchor status: current airport-primary observation, day-high-so-far, and the settlement clock.","Current pace: compares where the airport should be by now versus the actual observation.","Professional meteorology read: headline, confidence, base/upside/downside path, and next observation point.","City decision cards: map-launched city briefs with the AI airport read, expected-high center, market bucket, and model-market difference.","Calibrated model probability / model spread: probability comes from the calibrated engine; spread explains model disagreement.","Evidence chain / failure modes / confirmation: why the read is valid and what would downgrade it."]},
{type:"steps",items:["Start with the professional meteorology read or city decision card: headline, expected-high center, base path, and next observation point.","Use anchor status and the intraday chart to check current observations, DEB, peak window, and key bucket lines.","Read the AI airport read, evidence chain, failure modes, and confirmation rules to see whether the path is still valid.","Then compare calibrated probability, model spread, market bucket, and model-market difference."]},
description:"This page explains how intraday analysis combines the meteorology headline, evidence chain, failure modes, TAF, and calibrated probability into a paid decision workspace.",
{type:"paragraph",text:"The top read gives the headline and confidence first, then the base, upside, downside path, and next observation point. Its job is to tell users what path to verify before they look at probability bars or market prices."},
{type:"callout",tone:"info",title:"Refresh state",text:"If full detail or market scan is still syncing, the intraday modal shows a refresh lock first. Old content is de-emphasized and non-interactive so users do not treat stale cached data as the current read."},
{type:"paragraph",text:"The surface layer comes from hourly temperature, dew point, pressure, wind, precipitation probability, and cloud-cover changes. It answers a near-term question: between now and the peak window, does the local surface setup still support more warming or does it look easier to cap?"},
{type:"paragraph",text:"The upper-air layer combines derived profile signals, airport TAF, and market-side context. It answers a different question: around the peak window, is there a new airport-side or upper-air disturbance that could lock the high in place?"},
],
},
{
id:"peak-window",
title:"Why everything is framed around the peak window",
blocks:[
{type:"paragraph",text:"PolyWeather does not force every city into the same afternoon template. It centers the analysis on the expected high-temperature payoff window for that city on that day, so different cities are not interpreted through the wrong hours."},
{type:"callout",tone:"success",title:"Window-aware reading",text:"When you see a line such as “12:00-16:00 (~5h, around the peak window)”, that is the actual window driving the current structural read."},
],
},
{
id:"trade-language",
title:"How to read the trading language",
blocks:[
{type:"bullets",items:["Supportive: the setup still supports more warming. Do not call the high too early.","Suppressive: further upside looks less reliable. Do not chase the high blindly.","Wait / confirm: the setup is still mixed. Let the next move decide first."]},
{type:"paragraph",text:"城市决策卡会用 city + local_date + locale + METAR signature 作为 AI 解读缓存键。METAR signature 优先使用原始报文,缺失时回退到报文时间、观测时间和温度。"},
{type:"bullets",items:["页面内存缓存:保存 loading 状态、流式进度、机场报文解读片段和最终结果;从其他选项卡切回时优先恢复旧内容。","浏览器 localStorage:保存最终成功的 AI payload,默认 TTL 为 1 小时。","后端 AI 缓存:不再把 local_time 放入缓存键,避免同一报文因当前时间变化反复失效。","市场扫描缓存:完整 all_buckets 结果按城市和日期缓存,默认 TTL 为 10 分钟。"]},
],
},
],
},
"en-US":{
title:"City Decision Cards",
description:"How the city card combines the AI airport read, expected-high center, market bucket mapping, and model-market difference into a verifiable decision.",
sections:[
{
id:"entry-and-permission",
title:"Opening a card from the map",
blocks:[
{type:"paragraph",text:"Users can click a city on the map to open its city decision card. The opportunity board and calendar are Pro surfaces; map exploration and city briefs remain the lightweight entry point."},
{type:"callout",tone:"info",title:"Weather first, market second",text:"The weather decision layer does not use market price input. It first sets the expected-high center from METAR, DEB, the model cluster, and AI reasoning, then maps that center to the relevant market bucket."},
],
},
{
id:"ai-airport-read",
title:"What the AI airport read contains",
blocks:[
{type:"bullets",items:["Final judgment: expected-high center, upside/downside room, and the working decision.","METAR read: report time, observed temperature, dew point / humidity, wind, visibility, clouds, pressure, and NOSIG / TAF airport-side signals.","Reasoning: combines live observations, DEB, the model cluster, and convective / cloud / wind risks into an intraday pace read.","Model-cluster note: model count, model range, and whether the cluster sits within DEB ±2°C.","Risk notes: how later METAR/path breaks should raise or lower the high center.","Raw METAR: preserved so the read can be manually audited."]},
],
},
{
id:"market-layer",
title:"How to read the market layer",
blocks:[
{type:"paragraph",text:"Bucket labels come from the full market bucket list. The card reads label / slug / question text to distinguish exact, or-higher, or-lower, and range buckets, so a 30.5°C weather center is not matched to an unreasonable 16°C or reverse-tail bucket."},
{type:"callout",tone:"info",title:"Model-market difference",text:"Model-market difference = model probability minus market-implied probability. A positive value means the weather probability is above market pricing; a negative value means the YES is already priced more fully by the market. It is not a temperature delta or return."},
{type:"paragraph",text:"YES buy uses executable quote data when available. If either model probability or YES price is incomplete, the card shows the quote match but withholds the model-market difference."},
],
},
{
id:"cache-behavior",
title:"Why tab switching should not blank the AI read",
blocks:[
{type:"paragraph",text:"The card keys AI reads by city + local_date + locale + METAR signature. The signature prefers the raw report and falls back to report time, observation time, and temperature."},
{type:"bullets",items:["In-page memory cache: stores loading state, stream progress, airport-read snippets, and final results so returning from another tab restores prior content first.","Browser localStorage: stores final successful AI payloads for one hour by default.","Backend AI cache: excludes local_time from the key so the same report does not expire merely because the current clock changed.","Market-scan cache: stores full all_buckets results by city and date for 10 minutes by default."]},
description:"This page explains which open models PolyWeather uses, why model coverage differs by region, and how DEB avoids duplicate family weighting.",
{type:"paragraph",text:"PolyWeather's multi-model layer uses the Open-Meteo model API to integrate open NWP and AIFS model forecasts. The label “source: Open-Meteo” means the integration API, not a single model source, and it does not replace ECMWF, DWD, ECCC, NOAA, or JMA attribution."},
{type:"bullets",items:["ECMWF IFS: global traditional NWP.","ECMWF AIFS: ECMWF AIFS model, kept as a separate AIFS path.","DWD ICON: global ICON baseline.","DWD ICON-EU: European regional high-resolution layer.","DWD ICON-D2: European short-range high-resolution layer.","ECCC GEM / GDPS: Canadian global model family.","ECCC RDPS / HRDPS: North American regional and short-range high-resolution layers.","GFS / JMA: retained as global reference models."]},
title:"Why Europe, Asia, and US cities show different models",
blocks:[
{type:"paragraph",text:"Model domains differ, so the same request can return different model fields depending on the city coordinates. If a regional model does not cover a city, it is omitted rather than shown as an empty value."},
{type:"bullets",items:["European cities usually show ECMWF / AIFS / GFS / ICON / ICON-EU / ICON-D2 / GEM or GDPS / JMA. The high-resolution European layer comes mainly from DWD ICON-EU and ICON-D2.","North American cities usually show ECMWF / AIFS / GFS / ICON / GEM / GDPS / RDPS / HRDPS / JMA, plus existing NWS context. The high-resolution North American layer comes mainly from ECCC RDPS and HRDPS.","Asian cities usually rely on ECMWF / AIFS / GFS / ICON / GEM or GDPS / JMA. ICON-EU, ICON-D2, RDPS, and HRDPS usually do not cover Asia, so Asian reads lean more on local official stations, METAR, TAF, JMA, KMA, NMC, HKO, CWA, and other observation enhancement layers."]},
],
},
{
id:"deb-dedup",
title:"How DEB handles the new models",
blocks:[
{type:"paragraph",text:"DEB does not treat every new model as one independent vote. Otherwise ICON / ICON-EU / ICON-D2 would over-amplify the DWD family, and GEM / GDPS / RDPS / HRDPS would over-amplify the Canadian family."},
{type:"bullets",items:["ICON / ICON-EU / ICON-D2 are collapsed into one DWD ICON family, with priority ICON-D2 > ICON-EU > ICON.","GEM / GDPS / RDPS / HRDPS are collapsed into one ECCC GEM family, with priority HRDPS > RDPS > GDPS > GEM.","ECMWF IFS and ECMWF AIFS are kept separate because one is traditional NWP and the other is the AIFS model.","GFS, JMA, MGM, NWS, LGBM, and Open-Meteo remain independent paths.","When the DEB weight string includes “family deduplication” or “家族去重”, the system has collapsed same-family models before applying historical inverse-MAE weighting."]},
{type:"callout",tone:"info",title:"Product meaning",text:"The new models improve regional representativeness and explanation quality. They do not let a region gain extra weight simply because more related model variants exist there."},
{type:"paragraph",text:"The Model Range & Spread panel groups the model stack into Global Baseline, AIFS Model, Europe High-resolution, and North America High-resolution. It shows available model count, spread, model agency, API, model name, resolution, and forecast horizon. Regional models outside their domain are simply not shown."},
{type:"callout",tone:"info",title:"How to read probability",text:"Model vote counts explain which models round into a bucket; they are not the final probability. The final probability should come from the calibrated engine. When LGBM is available, the site labels it as LGBM-calibrated probability, while market price remains only a reference."},
description:"TAF is not the settlement temperature itself, but it is useful for telling you whether the airport side may see clouds, showers, thunderstorms, or wind shifts that cap the high around the payoff window.",
sections:[
{
id:"what-taf-does",
title:"What TAF does inside PolyWeather",
blocks:[
{type:"paragraph",text:"Within the product, TAF acts as an airport-side confirmation layer rather than the main temperature curve. Its job is to tell you whether clouds/rain may suppress the airport high, whether afternoon disruption is building, and whether the airport wind regime is about to shift in stages."},
],
},
{
id:"taf-periods",
title:"What the TAF timing labels mean",
blocks:[
{type:"bullets",items:["Base regime: the default background forecast segment.","Hard shift (FM): a new weather regime begins from an explicit time.","Temporary swing (TEMPO): a temporary disturbance window that does not replace the background regime permanently.","Gradual shift (BECMG): conditions transition across a window instead of flipping instantly.","30% / 40% risk window (PROB30/40): a probabilistic risk window, not a certainty signal."]},
],
},
{
id:"airport-suppression",
title:"What airport-side suppression risk means",
blocks:[
{type:"paragraph",text:"It does not mean the entire city must run cooler. It means the airport station used for settlement is more likely to get capped by clouds, showers, or thunderstorm disruption during the peak window and fail to reach the next warmer bucket."},
{type:"callout",tone:"warning",title:"Important distinction",text:"TAF explains whether the airport side may face suppressive weather over the next few hours. Settlement still comes from the actual settlement station reading, while the official nearby network is only an enhancement layer for lead/lag and spread, not a replacement anchor."},
{type:"paragraph",text:"A market may say “city high”, but the true settlement often comes from a designated airport or official site rather than the broader urban feel. One of the most common mistakes is to trade the city feel instead of the actual settlement station."},
{type:"bullets",items:["Most airport-linked markets settle on airport METAR or the airport primary observing site.","Turkish airport markets keep METAR as the airport anchor, with Turkish MGM retained as a leading-structure reference.","Mainland China airport markets keep METAR as the airport anchor, while NMC current observations act as an official enhancement layer rather than a direct replacement anchor.","Japanese and Korean airport markets can keep METAR as the anchor while using JMA / KMA nearby-network observations as an official enhancement layer.","New airport cities such as Manila and Karachi are anchored to their corresponding METAR / airport-primary station.","Markets with explicitly designated official sites, such as Hong Kong, Lau Fau Shan, and Taiwan station-driven contracts, should be anchored to those official settlement stations rather than generic airport logic."]},
{type:"bullets",items:["TAF is not the settlement station. It only tells you whether airport-side suppressive weather may appear.","If the market settles on an airport site, a hotter downtown feel does not automatically justify a warmer settlement bucket.","Wunderground is a history/reference page, not a physical station. Airport markets still anchor to METAR or the airport primary observing site.","The official nearby network is a lead/lag and spread layer. It should not be mistaken for the final settlement anchor unless the market explicitly names that station.","Hong Kong, Lau Fau Shan, and Taiwan station-driven contracts should not be forced into the generic airport TAF / METAR chain."]},
description:"PolyWeather Side Panel is a browser side-panel tool for weather trading workflows. It auto-detects cities, shows compact intraday and city-profile context, and routes users back to the full dashboard.",
"Shows a compact intraday chart with DEB versus airport-primary observations and official nearby-network observations, including hoverable time and temperature.",
"Shows a compact multi-day daily-high forecast, plus refresh and jump-to-site actions.",
],
},
],
},
{
id:"extension-permission",
title:"Permissions and privacy",
blocks:[
{
type:"bullets",
items:[
"`tabs`: used to inspect the active tab URL and match the current city.",
"`storage`: used for local configuration and local cache only.",
"`sidePanel`: used to render the browser side panel UI.",
"The extension does not require login, does not collect personally identifiable information, and does not upload browsing history. It only requests weather endpoints when needed to render the panel.",
text:"The extension does not attempt to replicate the full analysis stack and does not carry the payment flow. Deeper structural reasoning and full trade context still live on the main site.",
},
{
type:"callout",
tone:"info",
title:"Current positioning",
text:"Think of the extension as monitoring plus lightweight bias, not as a full dashboard replacement.",
},
],
},
{
id:"extension-forecast",
title:"Current forecast logic",
blocks:[
{
type:"paragraph",
text:"The extension now prefers DEB for the multi-day forecast. It falls back to the original daily max only when a DEB value is missing for that date.",