Output variables & visualisation#
goSPL writes its results to the directory given by the output: dir key of
the input file. Each output interval (time: tout) produces, per MPI rank, an
HDF5 data file plus a small XDMF descriptor; a top-level .xmf /
.xdmf file ties the per-step, per-rank pieces together. Open the top-level
``gospl.xdmf`` in ParaView (or any XDMF reader) — it exposes every surface
field below as a node-centred scalar that can be coloured, warped and filtered.
This page lists the fields goSPL can write and what they mean, then shows how to turn the flat-mesh or global-sphere output into a 3-D surface in ParaView.
Output fields#
Many fields are only written when the corresponding process is enabled (noted in the When written column). Unless stated otherwise, lengths are in metres and rates are per year; discharges/fluxes are volumetric (m³/yr).
Core surface#
Field |
Meaning |
When written |
|---|---|---|
|
Surface elevation of the bed. |
always |
|
Cumulative erosion (negative) and deposition (positive) since the start of the run. |
always |
|
Erosion–deposition rate over the current step (m/yr; negative = incision). |
always |
Water & drainage#
Field |
Meaning |
When written |
|---|---|---|
|
Water flow accumulation (drainage discharge, m³/yr) on the actual surface. |
always |
|
Flow accumulation on the depression-filled surface — drainage routed through lakes/pits. |
always |
|
Filled water-surface elevation (lake / depression water level). |
when depressions are filled |
|
River sediment load carried downstream (m³/yr). |
always |
|
Fine-fraction sediment load/flux (dual-lithology runs only); coarse flux = |
dual lithology |
|
Surface exposed fine fraction (mud share, 0–1, of the topmost stratigraphic layer) — the in-place composition, complementing the |
dual lithology |
|
Precipitation rate forcing the run (m/yr). |
when rainfall is set |
|
Evaporation rate (m/yr). |
when evaporation is set |
Soil, tectonics & flexure#
Field |
Meaning |
When written |
|---|---|---|
|
Soil / regolith thickness. |
|
|
Vertical tectonic displacement rate applied this step (m/yr; positive = uplift). |
vertical tectonics |
|
Flexural isostatic vertical deflection (m; positive = up). |
|
Glacial (ice) fields#
Written only when an ice section is present (see Surface processes parameters). The
diagnostic glacial model derives these each step from the routed ELA
accumulation — there is no ice-thickness time integration.
Field |
Meaning |
Units |
|---|---|---|
|
Ice thickness from the Bahr discharge scaling \(H=\mathrm{eheight}\cdot\mathrm{fwidth}\cdot Q^{0.3}\). Zero below the terminus. |
m |
|
Ice discharge \(Q\) — the volume of ice routed through each cell (the glacial analogue of river |
m³/yr |
|
Basal sliding velocity magnitude from Glen’s sliding law on the ice thickness and bed slope (\(u_b\propto H^{n-1}|\nabla s|^{n-1}\nabla s\)). This is the driver of abrasion. |
m/yr |
|
Glacial (vertical) abrasion rate \(E_g = K_g\,|u_b|^{l}\) — bed lowering by sliding ice. (Lateral valley-wall erosion, |
m/yr |
|
Glacial meltwater delivered to the rivers — the ice accumulation released as liquid water where the ice melts out (ablation zone / terminus). With |
m³/yr |
Note
To see glacial valley deepening, colour by erodep / EDrate (the
bed change) — iceAbr reports only the vertical abrasion rate. To see
valley widening (U-shaping), enable lateral wall erosion with
abrasion: Kl > 0 (see Surface processes parameters) and inspect erodep across the
valley: vertical Kg deepens the trough, lateral Kl lowers the flanking
walls. Increasing Kg deepens more but does not widen — widening is
controlled by Kl.
Stratigraphy#
Written when stratigraphic recording is on (strat interval set), in the
separate h5/stratal.<step>.p<rank>.h5 files. These are per-layer arrays
(one column per recorded layer): stratZ (layer elevation), stratH (layer
thickness), phiS (porosity), stratK (erodibility multiplier), stratP
(per-layer provenance), and, under dual lithology, stratHf (fine-fraction
thickness) and phiF (fine porosity). The per-layer fine fraction is
stratHf / stratH.
The stratal HDF5 files have no XDMF wrapper of their own. Several post-processing tools turn them into figures (all documented, with the exact commands, in Running goSPL):
3-D volume for ParaView —
gospl-strata-volumestacks the layers into a wedge (triangular-prism) volume coloured by lithology or provenance.Publication sections / wells / Wheeler diagrams —
gospl-sectiondraws vector cross-sections (along x/y/a path), horizontal depth slices, synthetic wells (one, or several side by side viawell_panel) and chronostratigraphic (Wheeler) charts, coloured by deposition elevation, thickness, lithology, porosity, age, provenance or depositional facies (water depth at deposition). Distance is shown in km, time in ky; see Running goSPL for the full option list.Surface composition over time — instead of the pile, colour the main
gospl.xdmfbysurfFineFrac(in-place mud share) orsedLoadF(fine transport flux).
Visualising in ParaView#
The mesh is stored flat — node coordinates plus the elev (Z) scalar — so
by default ParaView shows a flat sheet (planar model) or a smooth sphere (global
model) coloured by whatever field you pick. Apply one of the filters below to
turn elevation into relief.
Flat / planar model — Warp By Scalar#
Load the
.xdmfand colour by a field (e.g.elev).Apply Filters → Alphabetical → Warp By Scalar.
Set Scalars = Z (the elevation), choose a Scale Factor (1 for true scale, larger for vertical exaggeration), and Apply.
The sheet now stands up as topography; re-colour by erodep, FA,
iceH, … as needed.
Global / spherical model — Calculator radial warp#
For a global run the nodes already lie on a sphere of radius ~6 378 137 m, so a Warp By Scalar would displace them incorrectly. Instead push each node radially by its (exaggerated) elevation with a Calculator filter:
Apply Filters → Alphabetical → Calculator.
Tick Coordinate Results and Result Normals.
Set the expression to:
(iHat*coordsX + jHat*coordsY + kHat*coordsZ) * (1 + Z*50/6378137)
Here
coordsX/Y/Zare the node coordinates,Zis the elevation scalar, and50is the vertical-exaggeration factor (raise/lower to taste;1gives true scale). The term1 + Z·50/6378137scales the radius by the (exaggerated) elevation as a fraction of the planet radius.Apply, then in the Properties set the Interpolation to Flat (rather than Gouraud) so faceted relief reads clearly.
Note
6378137 is Earth’s radius in metres — goSPL’s default. If you are
modelling another planet, set the planet radius (and surface gravity, used
by the flexural-isostasy solver) in the domain block of the input file and
substitute that radius into the formula above. For example, a Mars run
(radius ≈ 3 389 500 m, gravity ≈ 3.71 m/s²):
domain:
npdata: ['input/mesh', 'v', 'c', 'z'] # spherical mesh: vertices, cells, elevation
radius: 3389500.0 # planet radius (m); default 6378137 (Earth)
gravity: 3.71 # surface gravity (m/s^2); default 9.81 (Earth)
flowdir: 6 # MFD flow directions
would use ... * (1 + Z*50/3389500) in the Calculator. (The bc edge
key is for flat/planar meshes only — a spherical planet mesh has no edges.)
Re-colour the warped surface by any output field to inspect topography, drainage, ice or sediment in 3-D.
Gridded export for PyGMT / ArcGIS (basins, χ, river profiles)#
goSPL’s native output is an unstructured triangular mesh, which PyGMT and ArcGIS
do not read directly. The gospl-grid tool reassembles the global mesh,
interpolates every surface field of a step onto a regular CF-NetCDF grid
(lon/lat for global meshes), and runs a raster D8 hydrology pass to add
drainage_area, basin and chi (\(\chi\)); a companion notebook
API extracts per-basin river longitudinal profiles. The base level for
catchments/χ defaults to the run’s sea level. See Running goSPL
for the command, options and the river-profile API.