OpenGeoSys

Automates OpenGeoSys 6 THMC subsurface simulations from forcing conversion to VTU output parsing.

155|6|Updated Mar 31, 2026
One-click install
npx skills add https://github.com/lzwei196/KISS-Knowledge-Infrastructure-for-Scientific-Simulation --skill opengeosys-lzwei196
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: OpenGeoSys
Source: https://github.com/lzwei196/KISS-Knowledge-Infrastructure-for-Scientific-Simulation/tree/main/models/OpenGeoSys
Command: npx skills add https://github.com/lzwei196/KISS-Knowledge-Infrastructure-for-Scientific-Simulation --skill opengeosys-lzwei196

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires numpy, pandas, lxml, meshio, matplotlib, pyvista, and includes scripts (resource) and references (resource) components.

What problem does it solve? Running OpenGeoSys 6 correctly requires strict SI units, XML project files, boundary submeshes, and solver configuration expertise; small unit or format mistakes cause silent, physically wrong results. This Skill packages validated tools, stage guides, and diagnostic triplets so an agent can configure, execute, and verify OGS-6 groundwater and THMC simulations without manual XML editing or unit-conversion guesswork. ## Core Features & Use Cases - Forcing and soil data conversion: Convert recharge, precipitation, temperature, and head time series (mm/day, °C, m head) into strict SI OGS inputs, and derive intrinsic permeability, porosity, storage, and van Genuchten parameters from soil texture via pedotransfer functions. - Execution and output parsing: Generate .prj project files, run the OGS binary with convergence checks, and extract VTU/PVD results into CSV time series and summary JSON. - Failure diagnosis: 18 symptom-to-remedy diagnostic triplets cover silent unit traps (Pa vs kPa, K vs °C, m² vs Darcy), missing boundary submeshes, and solver divergence. - Use Case: Simulate gravity-driven groundwater flow or heat transport in a porous aquifer by converting CMFD recharge forcing and HWSD soil properties, running the OGS FEM solver, and validating the simulated temperature or pressure against observed time series. ## Quick Start Run python preflight_check.py in this directory, then ask the agent to convert your recharge CSV and soil texture into OGS inputs and execute the LiquidFlow benchmark simulation.

Frequently Asked Questions about OpenGeoSys

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run an OpenGeoSys 6 groundwater simulation from CSV forcing data?

Convert forcing data with convert_forcing_to_ogs.py (handling mm/day to m/s and °C to K), generate material properties with convert_soil_to_ogs.py, then execute via run_ogs.py with a .prj template and VTU mesh. Parse results with parse_ogs_output.py into CSV time series.

What units does OpenGeoSys 6 require for inputs?

OGS-6 requires strict SI units with no internal conversion: pressure in Pa, temperature in Kelvin, permeability in m² (intrinsic, not hydraulic conductivity or Darcy), and time in seconds. Supplying kPa, °C, or days produces silently wrong results.

How do I convert hydraulic conductivity to OpenGeoSys permeability?

Convert hydraulic conductivity K (m/s) to intrinsic permeability using κ = K × μ / (ρ × g), approximately K × 1.02e-7 for water at 20°C. The convert_soil_to_ogs.py tool performs this conversion automatically from soil texture or HWSD data.

Why does my OpenGeoSys run crash with 'Could not find mesh'?

OGS-6 applies boundary conditions on separate boundary submesh VTU files, not geometry-based selections. A missing submesh file causes a fatal startup error; extract boundary faces from the bulk mesh into matching submesh VTU files.

Can OpenGeoSys 6 simulate coupled thermal-hydro-mechanical processes?

Yes, OGS-6 supports coupled processes including HT, HydroMechanics, ThermoRichardsMechanics, and TH2M, run monolithically or with staggered operator-split coupling selected in the project file. Primary variables span pressure, temperature, displacement, and concentration.

Why does my transient OGS simulation show constant pressure at all timesteps?

A specific storage or porosity of zero eliminates the transient mass matrix, degenerating the equation to steady state so pressure never changes. Set storage (1/Pa) and porosity above zero for transient LiquidFlow runs.