Skip to main content

Compact a column of sediment following Bahr et al., 2001.

Project description


compaction: Compact layers of sediment

Compact a column of sediment following Bahr et al., 2001.

Cite as,

    title={Exponential approximations to compacted sediment porosity profiles},
    author={Bahr, David B and Hutton, Eric WH and Syvitski, James PM and Pratson, Lincoln F},
    journal={Computers \& Geosciences},


Compaction requires Python 3.

Apart from Python, Compaction has a number of other requirements, all of which can be obtained through either pip or conda, that will be automatically installed when you install Compaction.

To see a full listing of the requirements, have a look at the project's requirements.txt file.

If you are a developer of Compaction you will also want to install additional dependencies for running Compaction's tests to make sure that things are working as they should. These dependencies are listed in requirements-testing.txt.


To install Compaction, first create a new environment in which Compaction will be installed. This, although not necessary, will isolate the installation so that there won't be conflicts with your base Python installation. This can be done with conda as:

conda create -n compaction python=3
conda activate compaction

Stable Release

Compaction, and its dependencies, can be installed either with pip or conda. Using pip:

pip install compaction

Using conda:

conda install compaction -c conda-forge

From Source

After downloading the Compaction source code, run the following from Compaction's top-level folder (the one that contains to install Compaction into the current environment:

pip install -e .

Input Files

Configuration File

The main Compaction input file is a yaml-formatted text file that lists constants used by Compaction. Running the following will print a sample Compaction configuration file:

compact show config
c: 5.0e-08
porosity_max: 0.5
porosity_min: 0.0
rho_grain: 2650.0
rho_void: 1000.0

Porosity File

The Compaction porosity file defines initial porosity of each of the sediment layers to be compacted as a two-column CSV file. The first column is layer thickness (in meters) and the second the porosity of the sediment in that layer. A sample porosity file can be obtained with:

compact show porosity
# Layer Thickness [m], Porosity [-]

Output File

The output file of Compaction is a porosity file of the same form as the input porosity file - a CSV file of layer thickness and porosity.


To run a simulation using the sample input files described above, you first need to create a set of sample files:

sequence setup example

You can now run the simulation:

sequence run example/sequence.yaml
# Layer Thickness [m], Porosity [-]


Development Lead


None yet. Why not be the first?

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

compaction-0.2.3.tar.gz (15.0 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page