StratiGraphics.jl
Stratrigraphy simulation solver for the GeoStats.jl framework
Install / Use
/learn @JuliaEarth/StratiGraphics.jlREADME
StratiGraphics.jl
A tool for creating 3D stratigraphy from 2D geostatistical processes.

This package provides an implementation of Markov-Poisson sampling as described in Hoffimann 2018. In this method, geostatistical algorithms from the GeoStats.jl framework are used to quickly generate surfaces of a 3D stratigraphic model.
Installation
Get the latest stable release with Julia's package manager:
] add StratiGraphics
Usage
To illustrate the usage of the package, consider a set of satellite images containing spatial patterns that we would like to reproduce in a 3D stratigraphic model:

Each image can serve as a training image for a multiple-point geostatistical process such as ImageQuilting.jl:
using ImageQuilting
proc1 = QuiltingProcess(TI1, (30,30))
proc2 = QuiltingProcess(TI2, (30,30))
proc3 = QuiltingProcess(TI3, (30,30))
procs = [proc1, proc2, proc3]
We define a geological environment as a set of geological processes, a set of transition probabilities between the processes, and an event duration process:
using StratiGraphics
# transition probabilities
P = rand(3,3)
P = P ./ sum(P, dims=2)
# event duration process
ΔT = ExponentialDuration(1.0)
env = Environment(procs, P, ΔT)
We can simulate the environment from an initial state (e.g. flat land) and for a number of epochs to produce a geological record:
nepochs = 10
init = LandState(zeros(100,100))
record = simulate(env, init, nepochs)
From the record, we can produce the strata in the form of surfaces:
strata = Strata(record)
We can choose between an :erosional (default) versus a :depositional stacking:
strata = Strata(record, :depositional)
We can then convert the surfaces into a 3D voxel model by specifying the vertical resolution:
voxelize(strata, 50) # produce a 100x100x50 voxel model

For a reproducible example, please check the GeoStatsTutorials.
Citation
If you find StratiGraphics.jl useful in your work, please consider citing the thesis:
@PHDTHESIS{Hoffimann2018,
title={Morphodynamic Analysis and Statistical Synthesis of Geomorphic Data},
author={Hoffimann, J{\'u}lio},
school={Stanford University},
url={https://searchworks.stanford.edu/view/12746435},
year={2018},
month={September}
}
Asking for help
If you have any questions, please open an issue.
Related Skills
node-connect
349.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.0kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
