手把手教你为Bernese5.2自定义测站生成海洋潮汐文件(.BLQ),告别默认EXAMPLE

Bernese5.2海洋潮汐BLQGNSS数据处理
于 2026-05-30 12:00:07 修改
·本内容遵循CC 4.0 BY-SA版权协议

手把手教你为Bernese5.2自定义测站生成海洋潮汐文件(.BLQ)

在GNSS数据处理领域,潮汐改正是提升精度的关键环节之一。许多使用Bernese5.2软件的研究者和工程师都面临一个共同挑战:当处理非IGS核心站(如区域CORS网或工程监测站)数据时,如何为这些自定义测站生成高精度的海洋潮汐改正参数?本文将详细介绍从数据获取到文件整合的全流程解决方案。

1. 理解BLQ文件的作用与结构

海洋潮汐加载改正对GNSS数据处理的影响不容忽视。研究表明,在沿海地区,忽略这项改正可能导致高程方向出现10-15mm的系统性偏差。BLQ文件正是Bernese软件中存储这些改正参数的专用格式。

典型的BLQ文件包含三个主要部分:

  • 文件头信息:标明模型版本和生成日期
  • 测站列表:每个测站占独立段落
  • 潮汐参数:以特定格式排列的振幅和相位值

以FES2014b模型为例,一个测站的完整参数块如下:

TEXT
BJFS FES2014B 2018.01.01
CON 0.00123 0.00234 0.00345 0.00456 0.00567 0.00678 0.00789 0.00890 0.00901 0.01012 0.01123 0.01234

注意:不同潮汐模型(如FES2004与FES2014b)的参数数量和排列顺序可能不同,混合使用会导致计算错误。

2. 获取自定义测站的潮汐参数

对于非IGS核心站,我们需要借助在线计算工具获取潮汐参数。以下是详细操作步骤:

  1. 访问Chalmers大学提供的潮汐加载服务网站:

    TEXT
    http://holt.oso.chalmers.se/loading
  2. 在界面中进行以下设置:

    • 选择"Ocean tide loading"
    • 模型选择"FES2014b"(当前最精确的全球海潮模型)
    • 输出格式保持"Bernese BLQ"
  3. 输入测站坐标(支持多种格式):

    • 十进制度格式:纬度, 经度, 高程
    • DMS格式:DD MM SS.ss N/S, DD MM SS.ss E/W
  4. 填写接收邮箱地址后提交请求

关键参数对比表:

参数项 推荐值 替代选项
潮汐模型 FES2014b FES2004
计算类型 Ocean tide Atmospheric
输出格式 Bernese BLQ ETERNA
坐标系统 ITRF2014 ITRF2008

3. 处理邮件返回结果

通常在提交后5-15分钟内会收到计算结果邮件。邮件内容包含原始计算结果和格式化后的BLQ块。我们需要特别注意:

  • 检查模型一致性(必须与现有文件使用的模型相同)
  • 验证坐标转换是否正确(特别是高程参数)
  • 确认参数数量与排列顺序

典型的邮件结果示例:

TEXT
=== BEGIN BERNESE BLQ FORMAT ===
TEST1 FES2014B 2023.06.15
CON 0.00111 0.00222 0.00333 0.00444 0.00555 0.00666 0.00777 0.00888 0.00999 0.01010 0.01111 0.01212
=== END BERNESE BLQ FORMAT ===

提示:建议将每个测站的原始邮件单独存档,便于后续核查和更新。

4. 整合到现有BLQ文件

将新测站参数添加到EXAMPLE.BLQ文件时,需要遵循严格格式:

  1. 使用文本编辑器(推荐Notepad++或VS Code)打开文件
  2. 在文件末尾添加新块,保持相同的缩进和空行格式
  3. 确保每个测站块之间有一个空行分隔
  4. 保存为纯文本格式,编码选择ASCII或UTF-8无BOM

整合后的文件结构示例:

TEXT
... [原有内容]
 
SITE1 FES2014B 2018.01.01
CON 0.00123 0.00234 0.00345 0.00456 0.00567 0.00678 0.00789 0.00890 0.00901 0.01012 0.01123 0.01234
 
TEST1 FES2014B 2023.06.15
CON 0.00111 0.00222 0.00333 0.00444 0.00555 0.00666 0.00777 0.00888 0.00999 0.01010 0.01111 0.01212

常见整合错误及解决方法:

错误类型 症状 解决方法
模型不一致 软件报格式错误 统一使用相同潮汐模型
缺少空行分隔 参数被错误解析 确保每个测站块间有空行
编码格式错误 显示乱码 转换为ASCII编码
参数数量不符 计算结果异常 核对模型要求的参数数量

5. 验证与测试

完成文件修改后,必须进行严格验证:

  1. 格式检查

    BASH
    bpe -check BLQ EXAMPLE.BLQ
  2. 实际处理测试

    • 选择包含新旧测站的数据集
    • 对比启用/禁用潮汐改正的结果差异
    • 特别关注高程方向的变化
  3. 交叉验证

    • 使用不同工具(如TMD工具箱)计算相同位置的潮汐参数
    • 比较主要分潮的振幅差异(应小于0.5mm)

典型验证结果分析表:

测站 径向差异(mm) 东向差异(mm) 北向差异(mm)
TEST1 0.3 0.4 0.2
SITE2 0.1 0.3 0.4
SITE3 0.2 0.2 0.3

6. 自动化处理技巧

对于需要批量处理大量测站的情况,可以开发自动化脚本:

PYTHON
import requests
import re
 
def generate_blq(station_list):
base_url = "http://holt.oso.chalmers.se/loading/submit"
for name, lat, lon in station_list:
params = {
'model': 'FES2014b',
'format': 'bernese',
'coords': f"{lat},{lon},0",
'email': 'your@email.com'
}
response = requests.post(base_url, data=params)
if response.status_code == 200:
print(f"Request for {name} submitted successfully")

注意:自动化访问需遵守网站的使用政策,避免高频请求导致IP被封。

关键自动化处理步骤:

  1. 从站点坐标文件(如CRD)提取位置信息
  2. 批量提交计算请求
  3. 解析返回邮件并提取BLQ块
  4. 自动追加到主BLQ文件
  5. 生成变更日志和校验报告

7. 常见问题排查

在实际操作中可能会遇到以下典型问题:

问题1:邮件未收到计算结果

  • 检查垃圾邮件文件夹
  • 确认邮箱服务器未拦截科学邮件
  • 重新提交时更换邮箱提供商(如从公司邮箱改为Gmail)

问题2:软件报BLQ格式错误

BASH
ERROR: Invalid BLQ format at line 45
  • 检查行尾符(推荐使用Unix/LF格式)
  • 确认没有多余的空格或制表符
  • 验证参数是否为科学计数法格式

问题3:不同模型间的参数差异

  • 建立转换对照表
  • 开发参数转换脚本
  • 在文件头添加明确的模型声明

长期维护建议:

  • 建立版本控制系统管理BLQ文件变更
  • 记录每个测站的参数来源和生成日期
  • 定期检查模型更新(FES系列约每5年更新一次)
制作和修改Bernese5.2解算数据所需要的海洋潮汐(.BLQ)和大气潮汐文件(.ATL)
本文介绍了如何在Bernese5.2中更新海洋潮汐文件EXAMPLE.BLQ,使用FES2014b模型获取潮汐参数,并指导如何生成大气潮汐文件EXAMPLE.ATL,涉及S1/S2质心修正和IERS2010建议的模型。,
keyanfeiwu
1416
从零到一:为Bernese5.2高精度解算定制专属的潮汐改正文件
本文详解为Bernese5.2高精度GNSS解算定制海洋潮汐(.BLQ)与大气潮汐(.ATL)改正文件的关键技术:包括FES2014b模型优选、Chalmers在线工具使用流程、GUI与手动生成ATL方法、常见错误排查(如Grid file not found)、精度验证三步法,以及动态分季改正和多模型混合策略,显著提升沿海/内陆站点高程方向解算精度至±2mm内。
weixin_30565327
402
海洋环境噪声生成代码,主要是风噪声
5. **有色噪声**:风噪声通常不是纯白噪声,而是具有特定频率色度的“有色”噪声,这部分可能涉及滤波器的设计。"example.m" 文件则提供了如何使用上述核心代码的示例。
Charles Tu
1104
matlab_t_tide_v1.2.zip
这个工具包包含多个功能各异的MATLAB脚本和数据文件,帮助用户处理与海洋潮汐相关的复杂计算。让我们逐一探讨这些文件的功能和相关知识点。1.
燕儿归
461
ThingSpeak Tidal and Wind Surge Forecasting Example:使用神经网络预测天文潮汐和风驱动水位的示例代码-matlab开发
在压缩包"NeuralTideWindForecast.zip"中,我们可以期待找到以下内容:1. MATLAB源代码文件:包含神经网络模型的定义、训练、验证和预测的脚本。2.
weixin_38626080
15
使用js动态显示潮汛表
在压缩包文件"web2"中,可能包含了一个完整的示例项目,包括HTML、CSS和JavaScript文件。你可以解压文件,查看并学习其中的实现方式。
453
Mike21工具
**网格生成**:生成适应复杂地形的高质量网格,这对于精确模拟流体流动至关重要。3. **设定初始和边界条件**:根据实际情况设定流体的初始状态和边界条件,如流速、水位、潮汐变化等。4.
3612
example-usage.py
Sentinel-1能够提供包括干涉合成孔径雷达InSAR)、地面运动监测和海洋监测等多种数据服务。它对于灾害管理和环境监测具有重要作用。
2
Sentinel2A_calendarRange_Example.js
Sentinel2A_calendarRange_Example.js"这一文件,很可能是包含了如何使用JavaScript API在GEE平台上获取Sentinel-2A卫星在特定时间范围内数据的示例代码
此星光明
3
MATLAB实现的声纳信号处理与海洋声场仿真工具包
一套基于MATLAB开发的水下声学计算工具集,包含MVDR波束形成算法response_MVDR.m)及多个典型声纳应用场景示例(example2_1.m至example2_4.m),覆盖基础海洋
你查看秘密网页.doc
### 你查看秘密网页:深入理解与实践#### 一、引言在互联网的浩瀚海洋中,每一个网站都是一个独立的信息岛,而这些岛屿之间通过无数条链接相连,构成了我们所熟知的万维网。
26
Asymptote By Example
#### 七、赵爽弦图绘制技巧1. **使用循环构造图形**:对于重复的图形元素,如赵爽弦图中的多个正方形,可以使用循环语句如`for`循环)来简化代码,提高效率。2.
47