跳转到主要内容

我们追踪什么

WorldMonitor 在规范咽喉要道注册表和 GetChokepointStatus RPC 中拥有 13 个受监测水道。状态 RPC 为每个规范 id 返回一行: suezmalacca_straithormuz_straitbab_el_mandebpanamataiwan_straitcape_of_good_hopegibraltarbosphoruskorea_straitdover_straitkerch_straitlombok_strait 这 13 个中只有 七个 目前带有来自 energy:chokepoint-flows:v1 的实时油气流量估算,因为当前 seeder 中只有这七个有 EIA 基线 id:
规范 id公开名称EIA 基线 id基线流量(mb/d)
hormuz_strait霍尔木兹海峡hormuz21.0
malacca_strait马六甲海峡malacca17.2
suez苏伊士运河 / SUMEDsuez7.6
bab_el_mandeb曼德海峡babelm6.2
dover_strait多佛尔海峡danish3.0
bosphorus博斯普鲁斯海峡turkish2.9
panama巴拿马运河panama0.9
其余六个规范水道仍会接收通行汇总、航行警告、 AIS 中断匹配、威胁分类、中断评分和战争风险等级,但在添加基线支撑的流量模型之前,flowEstimate 缺失。

实时流量

实时流量由 scripts/seed-chokepoint-flows.mjs 在上述七项 子集上计算:
  1. supply_chain:portwatch:v1 读取 PortWatch 历史。
  2. 选择信号:当先前窗口中至少一半的天数有 DWT 覆盖时,使用 capTanker 载重吨位;否则使用油轮计数。
  3. current7d 计算为最近七天的平均值。
  4. baseline90d 计算为先前窗口(最多 90 天,history.slice(-97, -7))的平均值,要求至少 20 个基线天数。
  5. 计算 flowRatio = clamp(current7d / baseline90d, 0, 1.5)
  6. 计算 currentMbd = baselineMbd * flowRatio,保留一位小数。
因此,发布的比率是近期 7 天平均值相对于先前最多 90 天滚动基线的比值。baselineMbd 字段是年度 EIA 2023 参考水平;用于将观测到的比率转换为 mb/d。钳制后流量比率可发布为基线的 0% 到 150%。 仅当 PortWatch 序列至少有 40 个总天数的历史时,实时流量才符合条件。通过该门槛后,seeder 仍要求至少三个近期天数、至少 20 个先前窗口基线天数,以及一个非稀疏基线:使用油轮载重吨位时至少 1 个 DWT-天,或使用船舶计数时至少 0.5 个油轮计数。低于这些下限的行将被省略,而非 报告为零流量。 disrupted 布尔值与颜色徽章是分开的:当最近三个单独天数各自都低于相同 baseline90d 的 85% 时,它为 true。 每个发布的流量估算还可能包含来自 portwatch:disruptions:active:v1 的实时风险上下文。seeder 在受支持咽喉要道 500 公里范围内查找最近的活跃 GDACS REDORANGE 警报,并将其作为 hazardAlertLevelhazardAlertName 呈现。这只是标注:风险丰富化不会改变 currentMbdflowRatiodisrupted 计算。

评分徽章

ChokepointInfo 上公开的 status 字段是一个交通灯评分徽章: greenyellowred。它不是运营关闭状态标签。 评分为:
disruptionScore = min(
  100,
  threatLevelWeight + warningComponent + aisComponent + anomalyBonus
)
其中:
  • threatLevelWeight 是下文分类中的地缘政治基线权重。
  • warningComponent = min(15, activeWarnings * 5)
  • aisComponent = min(15, maxCongestionSeverity * 5),其中低/升高/高 AIS 拥堵严重度映射为 1/2/3。
  • anomalyBonus = 10,仅当通行历史显示相对于先前 30 天通行计数基线出现 50% 或更大的流量 下降,且威胁等级为 war_zonecritical 时。
评分徽章阈值为:
评分范围status
< 20green
20-49yellow
>= 50red

威胁分类

地缘政治威胁基线在 server/worldmonitor/supply-chain/v1/get-chokepoint-status.ts 中按咽喉要道分配,并在 server/worldmonitor/supply-chain/v1/_scoring.mjs 中加权。
威胁等级权重含义
war_zone70活跃海战、封锁或海峡关闭
critical40对商船的活跃攻击
high30军事扣押风险或武装护航区
elevated15军事紧张或争议水域
normal0无重大军事威胁
当前分配:
规范 id公开名称威胁等级权重战争风险枚举
suez苏伊士运河high30WAR_RISK_TIER_HIGH
malacca_strait马六甲海峡normal0WAR_RISK_TIER_NORMAL
hormuz_strait霍尔木兹海峡war_zone70WAR_RISK_TIER_WAR_ZONE
bab_el_mandeb曼德海峡critical40WAR_RISK_TIER_CRITICAL
panama巴拿马运河normal0WAR_RISK_TIER_NORMAL
taiwan_strait台湾海峡elevated15WAR_RISK_TIER_ELEVATED
cape_of_good_hope好望角normal0WAR_RISK_TIER_NORMAL
gibraltar直布罗陀海峡normal0WAR_RISK_TIER_NORMAL
bosphorus博斯普鲁斯海峡elevated15WAR_RISK_TIER_ELEVATED
korea_strait朝鲜海峡normal0WAR_RISK_TIER_NORMAL
dover_strait多佛尔海峡normal0WAR_RISK_TIER_NORMAL
kerch_strait刻赤海峡war_zone70WAR_RISK_TIER_WAR_ZONE
lombok_strait龙目海峡normal0WAR_RISK_TIER_NORMAL

通行异常

anomalyBonus 的通行异常检测基于紧凑通行计数 历史,而非实时 mb/d 流量模型。它将最近七次通行计数与转换为七天基线的前 30 天进行比较:
baselineAvg7 = (sum(days -37..-8) / availableBaselineDays) * 7
dropPct = round((baselineAvg7 - recent7) / baselineAvg7 * 100)
signal = dropPct >= 50 AND threatLevel in {war_zone, critical}
若触发信号,处理器会附加一段描述,例如 Traffic down 55% vs 30-day baseline, vessels may be transiting dark (AIS off)。 异常路径在该比较之前设有门槛:它要求至少 37 天 的紧凑通行计数历史,且归一化的七天基线至少为 14 次通行。稀疏基线不返回异常信号。

国家敞口

GetCountryChokepointIndex 返回一个国家与 HS2 章节的独立敞口模型。它受 Pro 限制,并缓存在 supply-chain:exposure:{ISO2}:{HS2}:v1 当双边 HS4 进口产品可用时,敞口计算如下:
productWeight = product.totalValue / totalSectorValue
routeCoverage = overlappingRouteIds / chokepoint.routeIds.length
contribution = routeCoverage * exporter.share * productWeight * 100
敞口按咽喉要道在匹配产品和顶级出口商间求和汇总。对于 HS2 27shockModelSupported = true 的咽喉要道获得 1.5 倍能源模型加成,上限为 100。 当双边产品数据不可用时,回退评分为:
exposureScore = overlappingCountryRouteIds / chokepoint.routeIds.length * 100
同样适用 HS2 27 支持能源加成和 100 上限。vulnerabilityIndex 是加权的前三名评分:
top1 * 0.5 + top2 * 0.3 + top3 * 0.2

来源溯源

咽喉要道状态结合了 Redis 支撑的通行汇总、流量估算、 航行警告、AIS 中断匹配和静态威胁分类。如果某个规范咽喉要道在当前周期缺少上游通行覆盖, transitSummary.dataAvailable 为 false,并设置响应级别的 upstreamUnavailable 标志,以便客户端渲染部分覆盖的 UI。 刷新节奏:
  • energy:chokepoint-flows:v1:Railway 种子循环,每 6 小时。
  • supply_chain:chokepoints:v4:状态热点探测,每 30 分钟。
  • supply_chain:transit-summaries:v1:AIS 中继紧凑通行汇总。

已知限制

  • 七个实时流量行由能源基线支撑;其余六个受监测 水道尚未发布 mb/d 估算。
  • 多佛尔海峡实时流量行当前映射到 EIA danish 基线 id。 请将 baselineMbd 视为来源参考,将 id 视为规范的 WorldMonitor 行 id。
  • AIS 和 PortWatch 覆盖在严重干扰或冲突密集 地区附近可能下降。缺失的上游覆盖以不可用数据呈现,而非 被合成为零交通。
  • 基线是用于 mb/d 转换的年度 EIA 参考水平。实时 比率本身使用近期 PortWatch 观测值与上文所述的先前滚动 基线窗口进行对比。

更正

请参阅 /corrections 了解计划的修订日志格式。如果您 今天发现一个错误的数字,请在 公开仓库 提交一个 GitHub issue。