Skip to main content

gempy-3x

GemPy 3.x 隱式三維地質建模的實證型工作規範(繁體中文)。 只要使用者提到 GemPy、gempy_engine、gempy_viewer、隱式地質建模、位勢場(potential field) 插值、surface points / orientations CSV、structural frame、lith_block、 地質網格匯出(STL/PLY 給 FLAC3D/3DEC/PyVista)、地質不確定性與 realizations、 蒙地卡羅地質建模、地層位態(orientation / dip / azimuth)計算、V 字法則、三點法、 QGIS→GemPy 前處理,或要新增/修改/批次執行建模 notebook,都應使用本 skill—— 即使沒有明講「GemPy」三個字(例如只說「幫我加一組地質模型」「改剖面」「算位態」)。 嚴禁憑記憶臆造 GemPy API:v1/v2(Theano 時代)語法在 v3 一律無效。

소스 정보

저장소
r14521128/GEMPY_V3X_skill
최근 소스 활동
2026년 7월 31일 07:13
감지된 SKILL.md 언어
중국어
스타
0
포크
0

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
gempy-3x
description
GemPy 3.x 隱式三維地質建模的實證型工作規範(繁體中文)。 只要使用者提到 GemPy、gempy_engine、gempy_viewer、隱式地質建模、位勢場(potential field) 插值、surface points / orientations CSV、structural frame、lith_block、 地質網格匯出(STL/PLY 給 FLAC3D/3DEC/PyVista)、地質不確定性與 realizations、 蒙地卡羅地質建模、地層位態(orientation / dip / azimuth)計算、V 字法則、三點法、 QGIS→GemPy 前處理,或要新增/修改/批次執行建模 notebook,都應使用本 skill—— 即使沒有明講「GemPy」三個字(例如只說「幫我加一組地質模型」「改剖面」「算位態」)。 嚴禁憑記憶臆造 GemPy API:v1/v2(Theano 時代)語法在 v3 一律無效。
license
MIT
# GemPy 3.x 隱式地質建模工作規範 本 skill 做兩件事: 1. **正確使用 GemPy 3.x API** —— 所有寫進 [references/gempy3-api.md](references/gempy3-api.md) 的用法都來自實際跑通的 notebook,不是從記憶或網路教學抄來的。 2. **提供一套可複製的建模/不確定性分析流程紀律** —— Step 0~10 的 notebook 模板、 唯讀輸入正本、路徑集中管理、realization 命名與可重現性要求。 ## 核心原則 1. **禁止臆造 API**。GemPy 從 v2 到 v3 改版幅度極大,網路上大量教學仍是 v1/v2 語法(`gp.create_data`、`gp.set_interpolator`、Theano/Aesara 相關), 直接照抄一定壞。寫任何 GemPy 程式碼前,先確認該用法出現在 [references/gempy3-api.md](references/gempy3-api.md) 或官方文件 docs.gempy.org。 不確定就明講不確定,並提供查證方式。 2. **外科手術式修改**。只動使用者要求的部分;notebook 的其他 cell 與既有變數命名 保持原樣。地質建模 notebook 的 cell 之間有大量隱性依賴(globals 旗標、helper 函式),順手「整理」極容易弄壞下游。 3. **每一步都要有可驗證輸出**。每個 Step 結束時印出摘要、畫圖或存檔—— 地質模型的錯誤常常是「安靜地算出錯的東西」,沒有中間檢查就抓不到。 4. **模型參數或地質假設有疑義時先問**。擾動哪個參數、用什麼機率分布、 內插解析度、接觸關係(ERODE/ONLAP)——這些是地質判斷,不要替使用者默默決定。 5. **輸入資料視為唯讀正本**。擾動或修改一律另存新檔/新資料夾,不覆蓋原始 CSV。 詳見 [references/project-conventions-template.md](references/project-conventions-template.md)。 ## 建模流程模板(Step 0~10) 建議所有建模 notebook 共用同一套流程,換模型時只改輸入路徑與輸出代號: | Step | 內容 | 關鍵輸出 | |---|---|---| | 0 | 匯入套件(gempy、gempy_viewer、pyvista、rasterio) | GemPy 版本號 | | 1 | 路徑設定 `_INPUT`/`_OUTPUT` + 檔案存在檢查 | ✅/⚠️ 檔案清單 | | 2 | 讀 CSV + 欄位驗證 + 地層名稱交叉比對 | 筆數、地層種類 | | 3 | 座標平移(大座標→局部座標)+ DEM 仿射平移 + 模型範圍 | 平移後 DEM | | 4 | `gp.create_geomodel(...)` 初始化 | 解析度、網格尺寸 | | 5 | 地層堆疊 `map_stack_to_surfaces` + ERODE/ONLAP + 顏色 | structural_frame 表 | | 6 | `gp.set_topography_from_file(...)` 套地形 | DEM 驗證訊息 | | 7 | 自訂剖面 `set_section_grid` + `gp.compute_model` | 計算成功旗標 | | 7.5 | lith_block 匯出(npy + csv + ID 對照表) | `lith_block_3d.npy` | | 8A/8B | 2D 剖面視覺化(俯視圖、X/Y 剖面、自訂剖面) | PNG 圖組 | | 9 | 網格匯出:STL(原始)+ PLY(地表裁切+精簡)+ CSV | `*.stl` / `*.ply` | | 10 | 互動式 3D(`gpv.plot_3d`,批次執行時保持註解) | — | 每個 Step 的細節、常見錯誤與陷阱(lith_block 的 C/F order 轉換、地形裁切、 檔名非法字元⋯⋯)見 [references/workflow.md](references/workflow.md)。 ## 常見任務入口 - **寫或改 GemPy 程式碼** → 先讀 [references/gempy3-api.md](references/gempy3-api.md) 確認 API 簽名與已驗證用法。 - **建立新專案 / 訂定專案慣例** → 用 [references/project-conventions-template.md](references/project-conventions-template.md) 填出該專案的凍結參數、資料夾規範與地層清單,放進專案根目錄,之後一律以它為準。 - **不確定性分析、多組 realizations、蒙地卡羅** → 讀 [references/uncertainty-analysis.md](references/uncertainty-analysis.md) 的命名規範、擾動設計與可重現性 checklist。 - **從地表露頭計算地層位態(orientations)、V 字法則、三點法** → 讀 [references/orientation-vnotch.md](references/orientation-vnotch.md)。 重點:**不要拿整組露頭點做全域 PCA**,那樣算出來的位態會被地形帶偏。 - **除錯 notebook** → 讀 [references/workflow.md](references/workflow.md) 對應 Step 的常見錯誤段落,以及 gempy3-api.md 末尾的疑難排解表。 - **論文寫作引用 / 理論問題** → 讀 [references/theory-references.md](references/theory-references.md)(方法論引用鏈)。 ## 執行與驗證習慣 - 跑 notebook 用 `jupyter nbconvert --to notebook --execute`、papermill, 或請使用者在 VS Code / JupyterLab 執行。 - 改完 cell 後至少驗證:JSON 結構有效、路徑存在、無殘留舊路徑。 - **重大修改後要能重新 compute 出結果才算完成**(Step 7 成功 + Step 8 有圖), 不要只改完程式碼就宣告完工。 - 產出檔案後回報實際路徑與筆數/尺寸,讓使用者能快速抽查。 ## 適用版本 - 附帶範例(`examples/`)**實測通過於 GemPy 2025.2.0**。 - API 清單來自 2025.2.0 與 2026.0.3 兩代的實作經驗;2026.0.3 為撰稿時的最新穩定版, 但未逐項在該版重測。 - 支援 Python 3.10–3.12。 動手前先執行 `python -c "import gempy; print(gempy.__version__)"` 確認使用者的版本, 遇到簽名不符以官方文件 https://docs.gempy.org 為準,並告知使用者這是版本差異。
GitHub에서 보기