34 lines
1.1 KiB
Python
34 lines
1.1 KiB
Python
#!/usr/bin/env python
|
||
# -*- coding: utf-8 -*-
|
||
"""
|
||
生成纯水 IOPs(吸收与散射系数)插值表
|
||
参考 Pope & Fry (1997) 吸收系数 + Morel & Luukko (1974) 后向散射系数
|
||
"""
|
||
|
||
import numpy as np
|
||
import pandas as pd
|
||
import os
|
||
|
||
|
||
def generate_csv():
|
||
anchor_points = {
|
||
400: [0.017, 0.0076], 440: [0.015, 0.0049], 500: [0.026, 0.0029],
|
||
555: [0.060, 0.0019], 600: [0.245, 0.0014], 650: [0.340, 0.0010],
|
||
709: [0.735, 0.0007], 750: [2.470, 0.0005], 800: [2.070, 0.0004]
|
||
}
|
||
wl_anchors = list(anchor_points.keys())
|
||
aw_anchors = [v[0] for v in anchor_points.values()]
|
||
bbw_anchors = [v[1] for v in anchor_points.values()]
|
||
|
||
wavelengths = np.arange(400, 801, 1)
|
||
aw_interp = np.interp(wavelengths, wl_anchors, aw_anchors)
|
||
bbw_interp = np.interp(wavelengths, wl_anchors, bbw_anchors)
|
||
|
||
df = pd.DataFrame({'Wavelength': wavelengths, 'aw': aw_interp, 'bbw': bbw_interp})
|
||
save_path = os.path.join(os.path.dirname(__file__), 'pure_water_iops.csv')
|
||
df.to_csv(save_path, index=False)
|
||
print(f"纯水 IOPs 表已生成: {save_path}")
|
||
|
||
|
||
if __name__ == '__main__':
|
||
generate_csv() |