一个基于浏览器运行的盐度计算工具,适用于鱼缸维护、常压实验与常规工程估算场景。
本项目支持:
- 比重与盐度数值双向换算
- 样品温度与仪器校准温度修正
- 比重计校准报告修正
- 补水、换水与固体盐补加的盐度调整计算
当前实现以 TEOS-10 / GSW-JS 为热力学计算基础,全部逻辑在前端完成,无需后端服务。
- 比重
↔盐度数值双向换算 17.5°C、20°C、25°C及自定义参考温度- 校准报告线性插值修正
- 校准报告导入、导出与浏览器本地缓存
- 盐度调整计算
- 固体盐补加质量估算
- 页面内置计算依据与参考来源说明
直接使用浏览器打开 index.html 即可,无需构建或安装依赖。
.
├─ index.html
├─ styles.css
├─ app.js
├─ LICENSE
├─ README.md
├─ README.en.md
└─ vendor/
└─ teos10/
├─ TEOS10_gsw_saar_data.js
├─ TEOS10_gsw_oceanographic_toolbox_min.js
└─ TEOS10_gsw_saar_min.js
换算模块支持两个方向:
比重 → 盐度盐度 → 比重
主要输入项包括:
- 测得比重或盐度数值
- 样品温度
- 仪器校准温度
其中,校准报告修正仅在 比重 → 盐度 路径下参与计算。
校准报告面板支持录入以下数据:
- 标称比重
- 修正值
- 不确定度
当测得值位于两个相邻标称点之间时,程序采用线性插值计算当前修正值。
支持能力包括:
- 手动编辑
- JSON 导出
- JSON / CSV 导入
- 浏览器本地自动缓存
调整模块支持以下模式:
- 直接补加
- 等体积换水
- 加入固体盐
该模块面向实际操作规划,不用于完整混合热力学平衡模拟。
本项目采用官方 TEOS-10 / GSW-JS 工具箱进行密度计算。
在当前页面实现中:
- 页面显示盐度数值记为
Sdisp - 换算流程内部按
SP = Sdisp处理 - 通过
gsw_sr_from_sp(SP)计算SR - 在当前输入条件下采用
SA ≈ SR的工程近似 - 密度通过
gsw_rho_t_exact(SA, t, p)计算
当前页面固定采用:
p = 0 dbar
因此,本工具适用于:
- 表层条件
- 常压条件
- 鱼缸维护
- 常规实验估算
盐度至比重:
SG = ρsw(Sdisp, tsample) / ρw(tref)
比重至盐度:
ρtarget = SG × ρw(tref)
F(Sdisp) = ρsw(Sdisp, tsample) - ρtarget = 0
反算过程采用二分法数值求解。
SGcorrected = SGmeasured + Correction(SGmeasured)
当测得值位于两个相邻校准点之间时:
Correction(SG) = C1 + (C2 - C1) × (SG - SG1) / (SG2 - SG1)
直接补加:
Vadd = Vtank × (Starget - Scurrent) / (Ssource - Starget)
等体积换水:
Vreplace = Vtank × (Starget - Scurrent) / (Snew - Scurrent)
固体盐补加:
Msalt = Msystem × (Starget - Scurrent) / (1000 - Starget)
- 当前实现固定采用
0 dbar - 页面未采集经纬度与压力剖面
- 绝对盐度部分采用
SA ≈ SR工程近似 - 页面盐度以便于使用的
ppt风格数值展示 - 校准不确定度当前仅展示,不自动传播到最终结果
如需面向科研级海洋资料处理,建议进一步扩展:
- 完整
gsw_sa_from_sp(SP, p, lon, lat)链路 - 压力输入
- 地理位置输入
- 不确定度传播分析
- TEOS-10 官方网站
- TEOS-10 Manual (2015)
- GSW-JS Repository
- Getting Started with TEOS-10 and the Gibbs Seawater Oceanographic Toolbox
- gsw_rho_t_exact
- gsw_SR_from_SP
本项目基于 MIT License 发布。详见 LICENSE。