Skip to content

Releases: lifensame/LandlabGUI

v2.1.2 稳定性修复 · 在线 DEM 下载修复与数据落盘

Choose a tag to compare

@lifensame lifensame released this 11 Sep 07:41

v2.1.2 — 稳定性修复 · 在线 DEM 下载修复与数据落盘

本版集中修复 v2.1.0 反馈中定位到的 bug,重点是在线 DEM 下载执行引擎的运行状态
共 15 条新回归测试(其中 9 条在修复前全部失败),并顺带解决了两个既有问题。

在线 DEM 下载

  • 修复「预计网格」不刷新:只有缩放级别会触发刷新,改经纬度范围或选中搜索结果时那行提示纹丝不动。
  • 修复状态栏行列顺序错误:状态栏写成 真实DEM {1}×{0},与网格 pill 的 shape[0]×shape[1] 相反,现统一为 rows×cols。
  • 修复下载完成后界面卡一下:建网格原先在 GUI 线程执行(实测 1200×1200 网格需 1.4 s),现与下载、存盘一起放入后台线程 —— 主线程只剩约 36 ms 的显示工作。
  • 新增:下载的 DEM 自动落盘。此前下载的高程只存在内存里,关掉即丢;现在自动存成 ESRI ASCII 到 dem_downloads/,可直接用「新建网格 → 从DEM导入」再打开。
  • 新增:「打开下载文件夹」 —— 网格菜单与下载对话框均可直达;下载完成会打印保存路径。

执行引擎与实验报告

  • 修复 once_at_end 步骤拿不到 dt:结束时机的求解类组件会直接 TypeError(如 LinearDiffuser.run_one_step() missing 1 required positional argument: 'dt'),或被静默跳过。
  • 修复 history 跨运行累积:连续跑两次时演化历史的时间轴会回跳。
  • 修复报告步数错误:原先取最后一个历史采样点,最多少报 history_every-1 步;「(含中断)」也是无条件拼接的,正常跑完也会标成中断。
  • 修复工作流名称永远是「未命名」:新增名称输入框,保存/生成报告/AI 助手都会带上真实名称。
  • 修复 history_every 不可配置:此前被写死为 refresh_every//2 且载入即丢,现为独立控件(旧工作流自动沿用原规则,行为不变)。
  • 用户中断后现在也会导出:长任务被停止时更需要保留已达成的中间结果。

顺带修复的既有问题

  • netCDF 导出到中文路径的乱码文件:netCDF4 的 C 层按系统编码解析路径,当中文目录名的 UTF-8 字节恰好是合法 GBK 序列时,它不报错,而是把文件写到当前目录下的乱码文件名里,目标目录反而为空 —— 原有的 except (FileNotFoundError, OSError) 兜底因此永远不触发。现改为总是先写 ASCII 临时文件再移动。
  • Boundary 状态魔数status_at_node[bottom] = 1 改用 grid.BC_NODE_IS_FIXED_VALUE
  • docs/插件开发指南.md 示例自相矛盾:第一节示例未乘 dt、未筛 core_nodes,与紧随其后的 ⚠️ 要求相反,照抄会得到物理上错误的模型。

安装

下载下方的 LandlabGUI-v2.1.2-win64.zip,解压后运行 LandlabGUI.exe 即可(免安装)。
plugins/presets/docs/ 都在 exe 旁边,可直接编辑。

已安装 v2.1.0 的用户可直接用菜单「帮助 → 检查更新」升级。

v2.1.0 架构升级 · 现代科研工作台重构 · 稳定性与体验大版本发布

Choose a tag to compare

@lifensame lifensame released this 08 Sep 09:02

Landlab 地貌模拟工作台 v2.1.0(架构升级与现代化科研工作台重构版)

免安装绿色版:下载解压 LandlabGUI-v2.1.0-win64.zip,双击 LandlabGUI/LandlabGUI.exe 即可直接运行(无需安装 Python 与复杂科学计算依赖)。


一、 现代科研工作台(Titanium Dark)全新视觉与交互重构

  • 沉浸式极简顶栏:彻底移除了笨重的顶部冗余工具栏,消除功能按钮重复与溢出折叠(>>)问题,将宝贵的屏幕垂直空间全部归还给工作区与核心可视化画布。
  • 根治字体乱码与方框 Bug:全局剔除 emoji 字符,彻底解决 Windows 系统字体回落失败导致按钮文字显示为中空方块(□)的问题,界面文字清晰锐利。
  • 现代化操作控制栏:重新设计工作流运行控制,采用精炼翡翠绿渐变 CTA 主按钮与警戒红停止按钮,交互清晰明确。
  • 纯净步骤管理与状态胶囊:步骤列表项采用优雅徽标([组件] / [插件])分类,操作按钮微边框高质感呈现;底部状态栏配备网格节点、步骤数与动画帧数 3 组实时胶囊指示。
  • Matplotlib 科学画布全暗黑协调:消除刺眼白边,自适应冷色阶深色背景,网格、坐标与科学图例深度融合。

二、 核心架构重构与稳定性修复

  1. 工作流 DAG 拓扑前置依赖校验 (Pre-flight Validation)
    • 基于组件输入/输出元数据实现依赖链校验,未建网格或前置场(如水流路由)缺失时智能预警并推荐修复路径,杜绝运行时突发崩溃。
  2. GIS 动态投影与空间参考引擎
    • 重构导出模块,支持动态生成全球 UTM 投影带、Web Mercator、CGCS2000 及标准 WKT PRJ 文件,彻底解决导出的河网与 DEM 在 ArcGIS / QGIS 中坐标畸变的问题。
  3. 多核多线程并发参数扫描
    • 抽离单次模拟执行逻辑,引入 ThreadPoolExecutor 多核并发,大幅加速敏感性实验与多工况批量计算。
  4. 非规则网格动画插值兜底
    • 修复 Hex / Voronoi 等非规则网格节点数与 shape 冲突引发的演化回放崩溃,采用二维空间插值保底渲染。
  5. 代码坏味道与死代码清理
    • 彻底剔除重复定义的 open_sweep 及死代码引用,提升代码健壮性。

三、 性能压测与负载验证

  • 14,400 节点连续演化 100 步:0.12s
  • 8 组多线程并发参数扫描:0.20s
  • 15 个全量 GIS 结果文件(含 PRJ)导出:0.65s
  • 快照限额与防内存膨胀机制:50 轮连续写入稳定控制在安全线内;
  • 6 视图高频重绘 60 次极限压测通过,长时间运行零内存泄漏。

四、 源码运行方式

�ash git clone https://github.com/lifensame/LandlabGUI.git cd LandlabGUI pip install -r requirements.txt python main.py

v2.0.0 双语界面 · 在线真实DEM · 科研工具链

Choose a tag to compare

@lifensame lifensame released this 03 Sep 15:44

Landlab 地貌模拟工作台 v2.0.0(含最新修复)

免安装版:解压双击 LandlabGUI.exe(无需 Python)。本包为最新构建(含下方全部修复)。

核心功能

  • 87 个 landlab 组件全量支持(自省引擎自动生成参数表单,核心/高级分组 + 滚动)
  • 中文/English 双语界面
  • 工作流搭建 + 后台模拟 + 六视图实时可视化(地形/面积/坡度-面积/剖面/历史/3D)
  • 在线真实 DEM 下载(按地名/经纬度,SRTM/Copernicus 免密钥)
  • 参数扫描批量实验 / 运行历史 A/B 对比(含侵蚀-沉积差值图)/ 回滚续算
  • 一键 Markdown 实验报告;演化动画导出 GIF/MP4
  • 时间轴回放滑块 + 任意字段查看器(χ/ksn/面积等一键切换)
  • 🤖 AI 参数助手:自然语言描述场景,AI 自动配置工作流(OpenAI/DeepSeek/Kimi/Ollama)
  • 插件系统(热重载)+ 内置代码编辑器

质量记录

  • ✅ 4 小时压测:19/19 功能用例 + 30 轮稳定性循环,内存零泄漏
  • ✅ 系统化排查累计修复 20+ 个经验证的 Bug(缓存版本戳/抬升物理/色标堆积/
    进度风暴/运行中状态撕裂守卫/字段过滤/回放守卫等,详见提交历史)

源码运行

pip install -r requirements.txt
python main.py

插件开发文档见仓库 docs/插件开发指南.md

v1.0.1 性能优化 + 稳定性修复

Choose a tag to compare

@lifensame lifensame released this 29 Aug 09:45

v1.0.1(通过 4 小时压测:19/19 用例 + 30 轮稳定性循环,内存零泄漏)

性能

  • 界面卡顿修复:模拟刷新只绘制当前可见视图(此前每帧重画全部 6 视图),
    快照合并到最多 ~3 次/秒 —— 大网格长时间模拟不再拖慢界面

物理修复(影响模拟结果正确性)

  • 画布刷新失效:landlab 字段容器 .get() 的坑导致模拟后视图从不更新
  • 构造抬升被削弱约 500 倍(未乘时间步长)且出水口随地形抬升导致河流不下切;
    现按教程物理 rate×dt、只抬升内部节点,河谷正常发育

其他

  • 参数编辑窗统一:滚动容器 + 核心/高级参数分组(55 参数组件也可用)
  • 87 组件中文名/说明、常用参数中文释义;中英双语界面
  • 在线DEM、参数扫描、实验报告、动画导出等全面健壮性修复

免安装版:解压双击 LandlabGUI.exe(无需 Python)。源码运行见 README。

v1.0.0 首个公开版本

Choose a tag to compare

@lifensame lifensame released this 29 Aug 07:01

Landlab 地貌模拟工作台 v1.0.0

免安装 Windows 版:下载 zip 解压后双击 LandlabGUI.exe 即可(无需 Python)。

功能

  • 87 个 landlab 组件全量支持(自省引擎自动生成参数表单,中文说明)
  • 工作流搭建 + 后台模拟 + 实时可视化(地形/面积/坡度-面积/剖面/历史/3D)
  • 在线真实DEM下载(按地名/经纬度,SRTM/Copernicus 免密钥)
  • 参数扫描批量实验 / 运行历史 A/B 对比 / 一键实验报告
  • 演化动画导出 GIF/MP4;GIS 导出 asc/nc/vtk/obj + 河网 GeoJSON/Shapefile/CSV
  • 插件系统 + 代码编辑器;中文/English 双语界面

源码运行

pip install -r requirements.txt
python main.py