Desktop application for building, running and reading MODFLOW 6 and MODFLOW-USG groundwater models. The graphical interface, a Python script, a notebook and an embedded AI agent are four views of the same model, kept in sync by one backend.
GWlink is in beta and runs on macOS (Apple Silicon) and Windows. Request access at gwlink.gwlab.cl/request-access. Current version is 0.1.92, see CHANGELOG.md.
Download GWlinkViewer for macOS or Windows.
GWlinkViewer is a free, read only desktop edition built from the same code as GWlink. It imports MODFLOW 6 and MODFLOW-USG model folders and opens .gwlink projects to inspect the model and its results. It cannot edit the model, run MODFLOW or save changes.
GWlinkViewer is distributed through its own installers for macOS and Windows and uses a separate update channel. Its version matches the full GWlink version. It is distinct from MODFLOW AI, whose open_in_viewer tool turns a MODFLOW 6 model built and run locally into a read only browser link valid for 30 days.
The workflow runs left to right through the stages DATA, GRID, TIME, PACKAGES, RUN, ZBUD, RESULTS and MATCH.
- Data. Shapefiles, GeoJSON, DXF, GeoTIFF and point clouds in UTM. Rivers, lakes and boundaries fetched from OpenStreetMap. Existing MODFLOW 6, MODFLOW-USG and MODFLOW-2005 models imported as they are.
- Grid. Voronoi and quadtree meshes refined around wells, rivers and faults, written as DISV or DISU.
- Packages. Properties and boundary conditions linked to spatial data by value, by zone or by expression, so a change in a shapefile flows through to the model. 18 MODFLOW 6 packages including SFR, MAW, LAK, HFB and the GWT transport pair, 16 MODFLOW-USG packages including CLN.
- Time. Stress periods and time series as curves bound to parameters, resolved by the backend at every period.
- Run. Writes the input files, runs the engine, follows convergence and solver diagnostics live.
- Results. Heads, drawdown, water table, budgets, zone budgets, contours, 2D cross sections and a 3D viewer with iso-surfaces.
- Match. History matching with PEST++ over observations and zones.
- Script and notebook. The model is also a FloPy script and a Jupyter notebook, generated from the same state, byte for byte the same code in both.
- Agent. An AI agent that runs on your own Claude Code or Codex account. It changes the model only by driving the real controls of the interface, so everything it does is visible on screen and can be recorded and replayed as a flow.
Every model below was written by someone else. GWlink opens it, writes it back, runs it and renders the head iso-surfaces in 3D. Each poster links to the recorded clip of the real interface doing exactly that. The full list, grouped by publisher, is at gwlink.gwlab.cl/validation.
The round trip is a strong check on the file layer. It catches a package silently dropped, an array reshaped or a stress period lost. It is not a claim that GWlink reproduces every published figure to the last decimal, and it says nothing about whether your own model is a good model. Details in docs/validation.md.
Four GWlink workspaces under examples/, ready to open on your first session. Each holds the project, the model GWlink wrote, the run where it fits, and the published deck it was imported from. Freyberg USG with 25 stress periods, a DISV Voronoi grid, TWRI, and an SFR chain coupled to lakes. Each one is public domain or GWLab's own, and each is part of the validation suite above.
Open an issue. The HELP stage inside the app also has a Report a problem link that opens an email with the version and build already filled in.
- Website gwlink.gwlab.cl
- Changelog gwlink.gwlab.cl/changelog
- Specifications, engine by engine and package by package gwlink.gwlab.cl/specifications
- FAQ gwlink.gwlab.cl/faq
GWlink is developed by GWLab in Santiago, Chile.






























