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