Surface processes parameters#

Stream Power Law parameters#

Declaration example:

spl:
    K: 3.e-8
    d: 0.42
    m: 0.4
    n: 1.0
    G: 1.

This part of the input file define the parameters for the fluvial surface processes based on the Stream Power Law (SPL) and is composed of:

  1. K representing the erodibility coefficient which is scale-dependent and its value depend on lithology and mean precipitation rate, channel width, flood frequency, channel hydraulics. It is used in the SPL law: \(E = K (\bar{P}A)^m S^n\)

The following parameters are optional:

  1. Studies have shown that the physical strength of bedrock which varies with the degree of chemical weathering, increases systematically with local rainfall rate. Following Murphy et al. (2016), the stream power equation could be adapted to explicitly incorporate the effect of local mean annual precipitation rate, P, on erodibility: \(E = (K_i P^d) (\bar{P}A)^m S^n\). d (\(d\) in the equation) is a positive exponent that has been estimated from field-based relationships to 0.42. Its default value is set to 0.0

  2. m is the flow accumulation coefficient from the SPL law: \(E = K (\bar{P}A)^m S^n\) and takes the default value of 0.5.

  3. n is the slope coefficient from the SPL law: \(E = K (\bar{P}A)^m S^n\) and takes the default value of 1.0.

  4. G dimensionless deposition coefficient for continental domain when accounting for sedimentation rate in the SPL following the model of Yuan et al, 2019. The default value is 0.0 (purely detachment-limited model).

Hillslope and marine deposition parameters#

Declaration example:

diffusion:
    hillslopeKa: 0.02
    hillslopeKm: 0.2
    nonlinKm: 500.0
    Gmar: 1.0
    clinSlp: 5.e-5

Hillslope processes in goSPL is defined using a classical diffusion law in which sediment deposition and erosion depend on slopes (simple creep). The marine deposition of freshly deposited sediments by rivers is obtained using a non-linear diffusion and the following parameters can be tuned based on your model resolution:

  1. hillslopeKa is the diffusion coefficient for the aerial domain,

  2. hillslopeKm is the diffusion coefficient for the marine domain,

  3. nonlinKm is the transport coefficient of freshly deposited sediments entering the ocean from rivers (non-linear diffusion),

  4. Gmar is a dimensionless deposition coefficient for marine domain,

  5. clinSlp is the maximum slope of clinoforms (needs to be positive), this slope is then used to estimate the top of the marine deposition based on distance to shore.

The following parameters tune the marine non-linear diffusion solver:

  1. tsSteps is the maximum number of internal time-steps the adaptive controller may take per goSPL step (default: 2000). Increase if the verbose log shows many rejected steps,

  2. offshore is the distance offshore (m) beyond which the clinoform-distance cap is no longer applied (default: 1.0e7),

  3. oFill is the minimum elevation (m) below which the priority-flood algorithm is not applied — used to skip deep ocean cells (default: -6000.0).

The following parameters control how partial-fill deposition in inland depressions is distributed (see Inland depressions & deposition):

diffusion:
    # ... above keys ...
    nlPitVolume: 1.0e9
    nlPitDepth: 100.0
    nlPitK: 10.0
    pitInletBias: 0.10

i. nlPitVolume is the volume threshold (m³) above which a partially-filled depression uses the bathymetric-pile + inlet-bias geometry instead of bottom-up fill (default: 1.0e9), j. nlPitDepth is the depth threshold (m) — both nlPitVolume AND nlPitDepth must be exceeded to trigger the diffusion path (default: 100.0), k. nlPitK is the non-linear diffusion coefficient (m²/yr) used inside selected pits (default: same as nonlinKm). Higher values let the delta wedge prograde further per step, l. pitInletBias is the fraction (0–1) of each pit’s deposit concentrated at the inlets to seed delta progradation; the remainder is distributed as a bathymetric bottom-up baseline. 0.0 = pure bowl fill, 1.0 = original inlet-only spike. Default: 0.10. See Inland depressions & deposition for the underlying algorithm.

Optional additions for non-linear diffusion model

A more complex version of the creep law involves a non-linear relationship between soil flux and topographic gradient.

Note

Several non-linear creep-transport laws have been suggested in the literature and 2 non-linear formulations are available in goSPL.

Either by adding the following to the above parameters:

hillslopenl: 2.5
  1. hillslopenl is the slope exponent in the non-critical hillslope model defined in the work of Wang et al. (2024). Here the coefficient of diffusion is set to the values of hillslopeKa and hillslopeKm.

Or by defining the following two parameters:

hillslopeSc: 0.8
hillslopeNb: 4
  1. hillslopeSc is the critical slope,

  2. hillslopeNb is the number of terms used in the truncated Taylor series formulation.

In this last model, the non-linear creep formulation is described in Barnhart et al. (2019) (section 3.4.3 EQ. 14).

Glacial erosion#

Declaration example:

ice:
    icedir: 1
    Ki: 6.e-6
    melt: 10.
    diff: 20.
    # Either constant glacial parameters
    hterm: 1700.0
    hela: 1850.0
    hice: 2100.0
    # Or using a file to characterise glacial evolution
    # evol: 'data/ice_evol.csv'
    fwidth: 1.5
    eheight: 0.25
  1. icedir is the flow direction used to evaluate ice flow (default: 1 - i.e. SFD),

  2. Ki is the erodibility coefficient for glacial erosion (default: 0.0 — set this to enable ice-driven erosion in the SPL),

  3. melt is the melting-factor amplifier used by the implicit ice solver to make sub-ELA cells act as strong sinks (default: 10.). This is a numerical solver knob, not the physical melt multiplier — the meltwater released into the river network uses the unamplified local ablation rate (see Ice accumulation and meltwater),

  4. diff is the diffusion coefficient applied to the ice flow accumulation,

  5. hterm is the glacier terminus elevation (m),

  6. hela is the equilibrium-line altitude (m),

  7. hice is the ice cap altitude (m).

Then the user can specify the initial soil thickness if any by setting either:

or:

  1. evol is the glacier characteristics over time (csv file). When used hterm, hela, hice are not required because they are defined in this file.

When the flexural isostasy is turned-on the glacier thickness is also calculated based on the following parameters:

  1. fwidth glacier width factor (default value: 1.5).

  1. eheight thickness-to-width ratio (default value: 0.25).

Important

The glacial evolution file is defined as a 4 columns csv file containing in the first column the time in years (it doesn’t need to be regularly temporally spaced) and in the second the glacier characteristics for the given time. When goSPL interprets this file, it will interpolate linearly between the defined times to find the values of hterm, hela and hice for every time step.

Soil production, erosion, transport and deposition#

Declaration example:

soil:
    soilK: 4.e-6
    maxProd: 50.e-6
    depthProd: 0.5
    roughnessL: 1.0
    decayDepth: 0.7
    bedrockConv: 0.0001
    uniform: 0.5
    map: ['test_mesh8/hsoil', 'soil']
  1. soilK is the erodibility coefficient for soil,

  2. maxProd is the soil production maximum rate (m/yr),

  3. depthProd is the soil production decay depth (m),

  4. roughnessL is the roughness length scale,

  5. decayDepth is the soil transport decay depth for non-linear diffusion where the coefficient of diffusion is set to the values of hillslopeKa and hillslopeKm,

  6. bedrockConv is the soil to bedrock conversion fraction, bedrock begins where soil production is a very small fraction of the maximum soil production (optional).

Then the user can specify the initial soil thickness if any by setting either:

  1. uniform a uniform soil thickness on the entire surface (m),

or:

  1. map a soil thickness map.

Important

When defining a soil thickness grid, one needs to use the npz format and needs to specify the key corresponding to the soil thickness value in the file. In the above example this key is 'soil'. The soil grid needs to define values for all vertices in the mesh in metres.

Sediment surface erodibility factor#

Declaration example:

sedfactor:
    - start: 200000.
      uniform: 3
    - start: 400000.
      map: ['facEro','fsed']

One could choose to impose variable erodibility factors through space and time to reflect different surficial rock composition. For example, those maps could be set to represent different rock erodibility index as proposed in Mossdorf et al. (2018). The factor are then used in front of the erodibility coefficient (K in the SPL).

Important

When defining your variable erodibility factors grid, you needs to use the npz format and your factors would be specified by a key corresponding to the factor values for each vertice of the mesh. In the above example this key is 'fsed'.

Compaction & porosity variables definition#

Declaration example:

compaction:
    phis: 0.49
    z0s: 3700.0

We assume a depth-porosity relationship for the sediment compaction based on the following parameters:

  1. porosity at the surface phis, default value is set to 0.49,

  2. e-folding depth z0s (in metres), default value is set to 3700.

Note

See the technical documentation for more information.