Your first 2D run

The 2D model (siim.siim2d) is a raster landscape model — since 0.9.1 it runs standalone on a plain pip install (in-house time loop, flow routing, flexure, and diffusion; see Installation). These snippets are not executed at docs-build time, to keep the build fast; they run anywhere siim is installed.

from siim.siim2d import siim as siim2d

m = siim2d({'zELA': 1000, 'nx': 81, 'ny': 81, 'Lx': 2e4, 'Ly': 2e4,
            'T': 5e5, 'nt': 251, 'seed': 0})
m.run()
m.plot.map(field='bedrock')      # raster field; or m.plot.landscape() for relief

The 2D model takes the same kind of parameter dict as the 1D model. This is the default carved configuration — 'bedrock+ice_thickness' mode with sub-grid glacier-width carving, single-flow routing, and the mode-C routing helpers (trunk-surface routing and routing relaxation) — also spelled mode='C'. Those choices are covered in Configuring a run; every accepted key is listed in Numerical-model parameter reference; plotting and saving runs are in Outputs, plotting, and saved runs.

One caveat on this grid. The example’s nx = ny = 81 over Lx = Ly = 2e4 gives dx = 250 m, and the carve footprint radius R = α_g·H/2 ≈ 2.5·H is only about a cell wide for typical thicknesses — so carving is effectively a sub-grid no-op here and the bed evolves as in plain mode B (the mode-C routing helpers stay active; see Concepts). To resolve the carving (trough width, channel capture), use a grid with dx well below α_g·H/2 (a few tens of metres); see Configuring a run.

Plot calls return Matplotlib objects. A plot is written only when its save/path option is used; m.save() writes a versioned run pickle. Those files live beneath model_outputs/ in the working directory unless you pass an absolute path.