本附录汇总OGGM params.cfg 与常用运行参数中的核心配置项。参数控制着从文件路径和网格分辨率到
冰动力学常数和崩解法则等各个方面。每个条目包含参数名称、类型、默认值、
中文描述以及常见使用模块;少数只作为函数调用参数出现的条目会在描述中说明。
OGGM_PARAMNAME), (2) 用户提供的 params.cfg 文件,
(3) OGGM内置默认值。具有最高优先级的值胜出。
working_dir、use_multiprocessing、border、baseline_climate和运行函数的时间范围。glen_a、fs、calving_k、cfl_number等会直接改变物理或数值行为,应作为敏感性实验的一部分修改,并在结果中报告。
| 参数 | 类型 | 默认值 | 描述 | 使用者 |
|---|---|---|---|---|
working_dir | str | ~/.oggm | 所有OGGM数据的根目录。冰川目录(GlacierDirectory)位于 working_dir/per_glacier/ 下。 | cfg, GlacierDirectory, workflow |
dl_verify | bool | True | 如为True,验证下载文件的校验和。 | utils, shop模块 |
use_sample_data | bool | False | 如为True,使用oggm-sample-data进行测试和演示,而非下载完整数据集。 | tests, utils |
tmp_dir | str | ~/.oggm_tmp | 用于中间处理文件的临时目录。 | cfg, gis |
cache_dir | str | ~/.oggm_cache | 下载的DEM瓦片、气候数据和RGI文件的缓存目录。 | cfg, shop, gis |
rgi_version | str | 62 | 使用的RGI版本(62表示RGI 6.2;RGI 7在预处理脚本中通常用70G/70C等标识)。 | workflow, GlacierDirectory |
use_rgi_area | bool | True | 如为True,使用RGI报告的面积。如为False,从局部网格计算面积。 | gis, centerlines |
use_intersects | bool | True | 如为True,在处理中包含相交冰川(针对具有相交关系的RGI区域)。 | gis |
clip_intersects | bool | False | 如为True,将相交冰川轮廓裁剪到主冰川的集水区。 | gis |
min_glacier_area_km2 | float | 0.01 | 处理的最小冰川面积(km²)。更小的冰川将被跳过。 | workflow |
| 参数 | 类型 | 默认值 | 描述 | 使用者 |
|---|---|---|---|---|
use_multiprocessing | bool | False | 启用实体任务(entity task)的并行执行;正式批处理时通常显式开启。 | workflow, execute_entity_task |
mp_processes | int | -1 | 多进程的进程数。-1表示使用所有可用CPU。 | workflow |
continue_on_error | bool | False | 如为True,当某个冰川失败时继续处理其他冰川。如为False,立即抛出异常。 | entity_task |
log_history_level | str | INFO | 任务历史记录的日志级别(工作流日志)。 | cfg, workflow |
show_progress | bool | True | 在实体任务(entity task)执行期间显示进度条。 | workflow |
| 参数 | 类型 | 默认值 | 描述 | 使用者 |
|---|---|---|---|---|
grid_dx_method | str | square | 从冰川面积计算网格分辨率的方法。可选值包括'fixed'、'by_bin'、'linear'、'square'。 | gis (define_glacier_region) |
map_proj | str | tmerc | 局部地图投影类型:'tmerc'(横轴墨卡托)或'utm'。 | gis |
border | int | 80 | 局地地图在冰川边界外保留的像素宽度。过去模拟或冰川前进实验通常需要更大的边界。 | gis, workflow |
clip_tidewater_border | bool | True | 对入海型冰川限制过大的局地地图边界,以减少不必要的海域网格。 | gis |
| 参数 | 类型 | 默认值 | 描述 | 使用者 |
|---|---|---|---|---|
use_multiple_flowlines | bool | True | 如为True,分别对每条中心线分支建模。如为False,将支流合并为一条。 | centerlines, flowline |
localmax_window | float | 500. | 寻找冰川头部局地高程极大值时使用的半窗口大小(m)。 | centerlines |
smooth_window | float | 251. | DEM平滑窗口大小(m);设为0表示不平滑。 | gis, centerlines |
q1, q2, rmax | float | 2e-6, 500., 1000. | Kienholz等中心线算法中的头部候选点和路线代价参数。 | centerlines |
f1, f2, a, b | float | 1000., 3000., 4.25, 3.7 | Kienholz等中心线算法中的代价函数参数。 | centerlines |
kbuffer | float | 2.5 | 在汇流处裁剪支流中心线的缓冲距离(像素)。 | centerlines |
terminus_search_percentile | int | 10 | 水体终止冰川寻找末端高程时使用的百分位数;0表示不启用特殊处理。 | centerlines |
terminus_search_altitude_range | float | 100 | 水体终止冰川末端搜索允许的高程范围(m)。 | centerlines |
flowline_dx | int | 2 | 流线网格间距,以局地地图像素为单位。 | centerlines, flowline |
flowline_junction_pix | int | 3 | 在流线汇合处任意裁剪的像素数,用于避免交汇处几何重叠。 | centerlines |
flowline_height_smooth | float | 1 | 沿流线高程的高斯平滑尺度(像素)。 | centerlines |
filter_min_slope | bool | True | 是否过滤过小坡度;与min_slope共同影响流线坡度处理。 | centerlines |
elevation_band_flowline_binsize | float | 30 | 高程带流线(elevation-band flowline)定义使用的海拔分段大小(m)。 | centerlines |
width_alt_range_thres | float | 250. | 宽度计算中用于筛选高程范围的阈值。 | centerlines |
min_n_per_bin | int | 2 | 高度-面积分布每个分箱所需的最少元素数。 | centerlines |
base_binsize | float | 50. | 高度-面积分布的基准分箱大小(m)。 | centerlines |
smooth_widths_window_size | int | 1 | 宽度平滑窗口;0表示不平滑,1表示默认平滑。 | centerlines |
downstream_line_shape | str | trapezoidal | 冰川下游无冰延伸线的冰床形状,可为parabola或trapezoidal。 | centerlines, flowline |
trapezoid_min_bottom_width | float | 50. | 梯形下游线允许的最小底宽(m)。 | flowline |
| 参数 | 类型 | 默认值 | 描述 | 使用者 |
|---|---|---|---|---|
baseline_climate | str | GSWP3_W5E5 | 基线气候数据源:'CRU', 'HISTALP', 'ERA5', 'ERA5L', 'W5E5', 'GSWP3_W5E5'等。 | climate (分派器) |
temp_default_gradient | float | -0.0065 | 默认大气温度递减率(K/m,等价于-6.5 K/km)。 | climate |
temp_melt | float | -1.0 | 融化计算使用的温度阈值(°C)。 | massbalance |
temp_all_solid | float | 0.0 | 低于此温度阈值(°C)的所有降水为固态。 | massbalance |
temp_all_liq | float | 2.0 | 高于此温度阈值(°C)的所有降水为液态。 | massbalance |
melt_f | float | 5 | 温度指数融化因子(temperature-index melt factor;kg m⁻² K⁻¹ day⁻¹),校准时可更新。 | massbalance |
melt_f_min | float | 1.5 | 校准融化因子时允许的下界。 | massbalance |
melt_f_max | float | 17 | 校准融化因子时允许的上界。 | massbalance |
temp_bias_min | float | -15 | 温度偏差校准允许的下界(°C)。 | massbalance |
temp_bias_max | float | 15 | 温度偏差校准允许的上界(°C)。 | massbalance |
prcp_fac | float/None | None | 降水缩放因子;为空时由相关校准逻辑决定。 | massbalance |
prcp_fac_min | float | 0.1 | 降水缩放因子校准允许的下界。 | massbalance |
prcp_fac_max | float | 10 | 降水缩放因子校准允许的上界。 | massbalance |
geodetic_mb_period | str | 2000-01-01_2020-01-01 | 逐冰川匹配大地测量物质平衡(geodetic mass balance)时使用的参考期。 | massbalance |
| 参数 | 类型 | 默认值 | 描述 | 使用者 |
|---|---|---|---|---|
glen_a | float | 2.4e-24 | Glen流动定律的速率因子A(s⁻¹ Pa⁻³)。控制冰的变形能力。 | flowline, inversion |
glen_n | int | 3 | Glen流动定律的指数n(无量纲)。 | flowline, inversion |
fs | float | 0 | 滑动参数 f_s(无量纲)。0 = 无滑动,1 = 最大滑动。 | flowline, inversion |
inversion_glen_a | float | 2.4e-24 | 反演中专门使用的Glen A值(可与演化计算不同)。 | inversion |
inversion_fs | float | 0 | 反演中专门使用的滑动参数。 | inversion |
ice_density | float | 900 | 冰密度(kg m⁻³)。 | flowline, inversion |
mixed_min_shape | float | 0.001 | 混合冰床横截面(bed cross-section)的最小形状参数,用于避免反演中出现退化横截面。 | inversion |
cfl_number | float | 0.02 | 流线求解器中自适应时间步长的CFL数。 | flowline |
cfl_min_dt | float | 60 | CFL自适应步长允许的最小子步长(秒)。 | flowline |
| 参数 | 类型 | 默认值 | 描述 | 使用者 |
|---|---|---|---|---|
use_kcalving_for_run | bool | False | 为入海型冰川启用k-崩解参数化。默认关闭,需在入海型冰川实验中显式开启。 | flowline |
use_kcalving_for_inversion | bool | False | 在反演中对入海型冰川应用崩解校正。默认关闭,开启后需配合入海型冰川预处理和水位约束。 | inversion |
calving_k | float | 0.6 | 水深依赖型崩解法则中的崩解速率常数k(yr⁻¹)。 | flowline |
inversion_calving_k | float | 0.6 | 厚度反演阶段使用的崩解速率常数(yr⁻¹)。 | inversion |
calving_use_limiter | bool | True | 对崩解通量使用限制器,以避免末端冰厚和通量出现数值不稳定。 | flowline |
free_board_marine_terminating | tuple | 10, 50 | 入海型冰川反演中允许的出水高度(freeboard)范围(m)。 | inversion |
free_board_lake_terminating | float | 10 | 湖泊终止冰川使用的出水高度(freeboard)(m)。 | inversion |
calving_line_extension | int | 30 | 为崩解前缘向水体方向延伸的网格点数。 | centerlines, inversion |
calving_front_slope | float | 0.05 | 崩解前缘外侧水下床面坡度,按tan(alpha)表示。 | centerlines, inversion |
| 参数 | 类型 | 默认值 | 描述 | 使用者 |
|---|---|---|---|---|
store_diagnostic_variables | list | volume, volume_bsl, ... | 模型运行期间要写入诊断文件的变量列表。 | flowline |
store_model_geometry | bool | False | 将完整模型几何(所有网格点的表面、冰床、厚度)保存为NetCDF格式。 | flowline |
store_fl_diagnostics | bool | False | 在模型运行期间存储每条流线的诊断变量。该输出很占磁盘,通常只在诊断或教学中开启。 | flowline |
store_fl_diagnostic_variables | list | area, thickness, ... | 启用流线诊断输出时写入的变量列表。 | flowline |
evolution_model | str | SemiImplicit | 配置文件默认使用的流线演化求解器。参见第20章自定义模型注册。 | flowline |
store_monthly_step | bool | False | 运行函数参数;如为True,以月度分辨率写出诊断变量,输出量会显著增大。 | run_* task |
dynamic_spinup_min_ice_thick | float | 2.0 | 动态预热(dynamic spinup)中允许保留的最小冰厚阈值(m),用于避免极薄冰带导致的数值问题。 | flowline, dynamic_spinup |
模型运行期间存储的标准诊断变量集(启用时):
| 变量 | 描述 | 单位 | 是否按流线? |
|---|---|---|---|
volume_m3 | 冰川冰总体积 | m³ | 是 |
area_m2 | 冰川表面积 | m² | 是 |
length_m | 冰川长度(沿主流线) | m | 是 |
ela_m | 平衡线高度 | m a.s.l. | 否 |
calving_m3 | 年度崩解通量 | m³ yr⁻¹ | 是 |
dmdtda_mmwea | 比物质平衡速率 | mm w.e. yr⁻¹ | 否 |
terminus_thick_m | 末端冰厚度 | m | 是 |
calving_rate_myr | 末端崩解速率 | m yr⁻¹ | 是 |
surface_h | 表面高程剖面(如果 store_model_geometry) | m a.s.l. | 是 |
bed_h | 冰床高程剖面(如果 store_model_geometry) | m a.s.l. | 是 |
thickness_m | 冰厚度剖面(如果 store_model_geometry) | m | 是 |
ice_velocity_myr | 表面冰流速(如果 store_model_geometry) | m yr⁻¹ | 是 |
| 模块 | 关键参数 |
|---|---|
oggm.cfg | working_dir, tmp_dir, cache_dir, use_sample_data, dl_verify, dl_retries |
oggm.workflow | use_multiprocessing, mp_processes, continue_on_error, show_progress, rgi_version, min_glacier_area_km2 |
oggm.core.gis | grid_dx_method, dem_source, border_km, map_proj, use_intersects, use_rgi_area, use_local_dem_cache |
oggm.core.centerlines | use_multiple_flowlines, localmax_window, q1, q2, rmax, f1, f2, flowline_dx, downstream_line_shape |
oggm.core.climate / massbalance | baseline_climate, temp_default_gradient, temp_melt, temp_all_solid, temp_all_liq, melt_f, prcp_fac, geodetic_mb_period |
oggm.core.massbalance | temp_melt, temp_all_solid, temp_all_liq |
oggm.core.inversion | glen_a, glen_n, fs, inversion_glen_a, inversion_fs, mixed_min_shape, use_kcalving_for_inversion, inversion_calving_k |
oggm.core.flowline | glen_a, glen_n, fs, ice_density, cfl_number, cfl_min_dt, use_kcalving_for_run, calving_k, calving_use_limiter, evolution_model |