_模板.yaml.example 2.2 KB

123456789101112131415161718192021222324252627282930313233
  1. # 观澜 · 场配置模板 (复制成 <场名>.yaml 后再改)
  2. #
  3. # 约定 (2026-09-17 用户令 2「统一配置」):
  4. # · 场定义一律 **YAML**: configs/farms/<场名>.yaml (历史 .json 仍可加载, 但新场写 yaml)
  5. # · 必需键见 src/windscada/config.py::REQUIRED —— 缺任何一个都会在加载时**响亮报错**
  6. # · 路径写 **安装根相对** 形式 (data/… 、outputs/…); 不要写 C:\ / /Volumes/… 这类本机绝对路径
  7. # · 内置场 rudong 不需要本文件 (零配置也能起); 本文件只在加新场时复制使用
  8. # · 文件名以 _ 开头 = 模板, 不会被 available() 当成场
  9. #
  10. # 另注意: configs/farms/ 下还有一类**同名但不同 schema** 的文件 (机型/场站物理约束 profile:
  11. # 顶层 meta + physical_constraints), 那是另一条分析链的配置, **不是场定义**, 两者别混
  12. # (见 docs §11 与 configs/registry.yaml)。
  13. name: <场站中文名> # 必填: 例 "如东海上风电场"
  14. raw_station: <data/raw 下的目录名> # 必填: 例 "如东" (扫描辨识首选; 可用 src_farm_names 给别名)
  15. n_turbines: 25 # 必填
  16. turbines: "WTG{:02d}:1-25" # 必填: 生成机组号列表的写法 (或直接列 ["WTG01", ...])
  17. rated_kw: 3000 # 必填: 单机额定功率 kW
  18. # 以下 3 个 "src_*" 与 store **必填** (REQUIRED 里的 src_10min/src_alarm/store);
  19. # 显式给了就以它为准, 不给则按 data/raw 扫描结果派生 —— 常规做法是**留空让扫描派生**。
  20. src_10min: <data/raw/<场站>/scada_10min>
  21. src_1min: <data/raw/<场站>/scada_1min>
  22. src_alarm: <data/raw/<场站>/故障报警>
  23. src_workorder: <data/raw/<场站>/风机故障记录>
  24. src_oil: <data/raw/<场站>/油样报告>
  25. src_windcms: <data/raw/<场站>/windcms> # 振动线 CMS 原始导出 (可选)
  26. src_m5: <data/raw/<场站>/m5_cms_tcm> # 振动线 handoff (可选)
  27. store: outputs/<场名>/windscada # 必填: L0 标准仓 (parquet) 落点
  28. contract: reference/<场名>/windscada_contract.yaml
  29. # 原始件里的**场站名写法** (台账/报警按这些别名把本场行筛出来; 集团导出件常与配置名不同)
  30. src_farm_names: [<别名1>, <别名2>]