4、原始数据解读:Campbell / NRG 数据格式解析,时间戳、通道、单位

好,咱们直接进入正题。拿到测风数据的第一件事,不是急着算平均风速,而是先看懂原始文件长什么样。说白了,你得先知道数据是怎么“躺”在文件里的,才能把它“扶”起来干活。

我个人习惯,拿到一个陌生站的数据,先打开看一眼文件头。Campbell 和 NRG 是咱们风资源评估里最常见的两种采集器,它们的原始数据格式差别不小。今天我就带你把它俩扒个底朝天。

4.1 Campbell 数据格式:表格式的“老实人”

Campbell 的数据,通常以 .dat 或 .csv 结尾。它的结构非常规整,像个表格。我最早接触 Campbell 是在内蒙古的一个项目上,当时打开文件一看,嗯,很舒服。

典型的 Campbell 文件长这样:

TOA5,CR1000,CR1000,CPP,12345,CR1000_Table1,1,1,1
TIMESTAMP,RECORD,WS_ms_Avg,WD_deg_Avg,Temp_C_Avg
TS,RN,AVG,AVG,AVG
2019-01-01 00:00:00,1,5.23,234.5,-3.2
2019-01-01 00:10:00,2,6.11,245.1,-3.5
2019-01-01 00:20:00,3,4.87,228.9,-3.8

这里有几个关键点,我一个个说。

4.1.1 文件头:数据的身世

第一行是文件头,记录了采集器型号、程序名、表名等信息。你不需要背下来,但要知道它存在。我曾经遇到过一个项目,数据文件头被误删了,结果后面解析程序全报错。嗯,这里要注意:文件头不能丢

4.1.2 时间戳:Campbell 的“身份证”

Campbell 的时间戳格式非常标准,就是 YYYY-MM-DD HH:MM:SS。它记录的是每个数据记录的开始时间。比如 00:00:00 那行,代表 0:00 到 0:10 这10分钟的平均值。

我个人建议,拿到数据后第一件事,检查时间戳是否连续。跳秒、缺行、重复,都是常见问题。我在新疆的一个项目上,发现时间戳连续跳了3个小时,后来发现是采集器电池没电了。

4.1.3 通道与单位:藏在列名里

Campbell 的通道名就是列名,比如 WS_ms_Avg 代表“风速,米/秒,平均值”。单位通常嵌在列名里,或者单独有一行单位行(第三行)。

常见的通道名对照表:

列名 含义 单位
WS_ms_Avg 平均风速 m/s
WD_deg_Avg 平均风向 °
Temp_C_Avg 平均温度
Std_WS_ms 风速标准差 m/s
Max_WS_ms 最大风速 m/s
我的小技巧: 如果列名里带 _Avg_Std_Max,说明采集器已经帮你算好了统计量。但要注意,有些老版本 Campbell 可能不写单位行,这时候你得对照采集程序来确认。

4.2 NRG 数据格式:紧凑型的“实干家”

NRG 的数据格式,跟 Campbell 完全不是一个路子。它更紧凑,更像一个“数据流”。我第一次接触 NRG 文件时,差点没看懂——因为它没有明显的列名。

典型的 NRG 原始文件(.txt 或 .rwd)长这样:

1,01/01/19 00:00,5.23,234.5,-3.2
2,01/01/19 00:10,6.11,245.1,-3.5
3,01/01/19 00:20,4.87,228.9,-3.8

你看,没有列名,没有单位行。这就是 NRG 的风格——一切靠“约定”。

4.2.1 时间戳:NRG 的“美国时间”

NRG 的时间戳格式是 MM/DD/YY HH:MM,注意,是月/日/年,不是日/月/年。这一点特别容易搞混。我曾经在云南的一个项目上,就因为没注意这个,把 3 月 4 日的数据当成了 4 月 3 日,结果整段数据全错了。避坑指南:拿到 NRG 数据,先确认时间格式

另外,NRG 的时间戳通常不带秒,只有到分钟。而且它记录的是结束时间,不是开始时间。比如 00:10 那行,代表 0:00 到 0:10 这10分钟的平均值。这一点跟 Campbell 正好相反。

4.2.2 通道与单位:靠“位置”说话

NRG 没有列名,所以通道是靠位置来识别的。通常,第一列是记录号,第二列是时间戳,第三列是风速,第四列是风向,第五列是温度,以此类推。

但问题来了——不同项目的通道顺序可能不一样。比如有的项目把温度放在第四列,风向放在第五列。所以,你必须有一份通道映射表,或者叫“配置表”。

我一般会要求业主提供 NRG 的配置表,里面会写明:

  • 通道 1:风速(m/s)
  • 通道 2:风向(°)
  • 通道 3:温度(℃)
  • 通道 4:风速标准差(m/s)
注意: 如果没有配置表,千万别瞎猜。我曾经见过一个项目,把风速和风向通道搞反了,结果算出来的风玫瑰图完全不对。后来花了整整两天才排查出来。

4.3 两种格式的核心差异对比

我把 Campbell 和 NRG 的核心差异整理成了一张表,方便你对照:

对比项 Campbell NRG
文件结构 有文件头、列名、单位行 无列名,纯数据流
时间戳格式 YYYY-MM-DD HH:MM:SS MM/DD/YY HH:MM
时间戳含义 开始时间 结束时间
通道识别 靠列名 靠位置 + 配置表
单位信息 列名或单位行 配置表中说明
常见扩展名 .dat, .csv .txt, .rwd

4.4 数据解读的“三步走”流程

不管哪种格式,我拿到原始数据后,都会走一遍这个流程。你可以把它当成一个标准操作程序:

  1. 看文件头:确认采集器型号、时间范围、采样间隔。
  2. 看时间戳:检查格式、连续性、是否有缺失或重复。
  3. 看通道与单位:确认每个通道对应的物理量和单位。

这三步走完,你才算真正“读懂”了原始数据。否则,后面所有的分析都是空中楼阁。

核心要点:

  • Campbell 数据:列名即通道,时间戳是开始时间,格式标准。
  • NRG 数据:位置即通道,时间戳是结束时间,格式需确认。
  • 无论哪种格式,时间戳和通道映射是数据清洗的第一步。

好了,Campbell 和 NRG 的原始数据格式,咱们就聊到这儿。你想想看,其实没那么复杂,对吧?关键就是搞清楚“时间戳怎么读”和“通道怎么对应”。这两个问题搞定了,后面的数据清洗就顺了。

原始数据解读核心逻辑 原始数据文件 Campbell 格式 NRG 格式 文件头 + 列名 + 单位行 时间戳:开始时间,YYYY-MM-DD HH:MM:SS 通道:靠列名识别 无列名,纯数据流 时间戳:结束时间,MM/DD/YY HH:MM 通道:靠位置 + 配置表 核心:时间戳 + 通道映射 = 数据清洗第一步

蓝海数据掘金营,专注资料整理