Compact a column of sediment following Bahr et al., 2001.
Cite as,
@article{bahr2001exponential,
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},
volume={27},
number={6},
pages={691--700},
year={2001},
publisher={Pergamon}
}
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
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
After downloading the Compaction source code, run the following from Compaction's top-level folder (the one that contains setup.py) to install Compaction into the current environment:
pip install -e .
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
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 [-]
100.0,0.5
100.0,0.5
100.0,0.5
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
example/sequence.yaml
You can now run the simulation:
sequence run example/sequence.yaml
# Layer Thickness [m], Porosity [-]
100.0,0.5
96.18666488709239,0.4801774231522433
92.78860257194452,0.4611407154102571