stoneforge 0.1.6.dev1__tar.gz → 0.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0}/CHANGELOG.txt +2 -2
- {stoneforge-0.1.6.dev1/stoneforge.egg-info → stoneforge-0.2.0}/PKG-INFO +29 -28
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0}/README.md +10 -5
- stoneforge-0.2.0/docs/_build/html/_sources/index.rst.txt +44 -0
- stoneforge-0.2.0/docs/_build/html/_sources/modules/machinelearning/classification.rst.txt +39 -0
- stoneforge-0.2.0/docs/_build/html/_sources/modules/machinelearning/index.rst.txt +10 -0
- stoneforge-0.2.0/docs/_build/html/_sources/modules/machinelearning/regression.rst.txt +39 -0
- stoneforge-0.2.0/docs/_build/html/_sources/modules/petrophysics/index.rst.txt +60 -0
- stoneforge-0.2.0/docs/_build/html/_sources/modules/petrophysics/permeability.rst.txt +32 -0
- stoneforge-0.2.0/docs/_build/html/_sources/modules/petrophysics/porosity.rst.txt +36 -0
- stoneforge-0.2.0/docs/_build/html/_sources/modules/petrophysics/shale_volume.rst.txt +38 -0
- stoneforge-0.2.0/docs/_build/html/_sources/modules/petrophysics/water_saturation.rst.txt +32 -0
- stoneforge-0.2.0/docs/_build/html/_sources/modules/preprocessing.rst.txt +28 -0
- stoneforge-0.2.0/docs/_build/html/_sources/modules/pseudowells.rst.txt +23 -0
- stoneforge-0.2.0/docs/_build/html/_sources/modules/reservoir/index.rst.txt +15 -0
- stoneforge-0.2.0/docs/_build/html/_sources/modules/reservoir/net_pay.rst.txt +18 -0
- stoneforge-0.2.0/docs/_build/html/_sources/modules/rockphysics.rst.txt +47 -0
- stoneforge-0.2.0/docs/_build/html/_sources/usage/installation.rst.txt +40 -0
- stoneforge-0.2.0/docs/_build/html/_sources/usage/quickstart.rst.txt +28 -0
- stoneforge-0.2.0/docs/conf.py +47 -0
- stoneforge-0.2.0/pyproject.toml +102 -0
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0}/stoneforge/__init__.py +5 -1
- stoneforge-0.2.0/stoneforge/data_management/__init__.py +1 -0
- stoneforge-0.2.0/stoneforge/data_management/preprocessing.py +141 -0
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0}/stoneforge/inversion/regularized_acoustic_reflectivy_inversion.py +0 -2
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0}/stoneforge/inversion/viability_study/bayes.py +3 -4
- stoneforge-0.2.0/stoneforge/io/__init__.py +5 -0
- stoneforge-0.2.0/stoneforge/io/csv.py +134 -0
- stoneforge-0.2.0/stoneforge/io/dlisio_r.py +443 -0
- {stoneforge-0.1.6.dev1/stoneforge/datasets → stoneforge-0.2.0/stoneforge/io}/las2.py +80 -8
- stoneforge-0.2.0/stoneforge/io/las3.py +215 -0
- stoneforge-0.2.0/stoneforge/io/tabr.py +104 -0
- stoneforge-0.2.0/stoneforge/machine_learning/__init__.py +4 -0
- stoneforge-0.2.0/stoneforge/machine_learning/classification/fit.py +266 -0
- stoneforge-0.2.0/stoneforge/machine_learning/classification/predict.py +104 -0
- stoneforge-0.2.0/stoneforge/machine_learning/classification/settings.py +93 -0
- {stoneforge-0.1.6.dev1/stoneforge/machine_learning → stoneforge-0.2.0/stoneforge/machine_learning/classification}/validation.py +27 -62
- {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0/stoneforge/machine_learning}/mlp_classification/fit.py +0 -1
- {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0/stoneforge/machine_learning}/mlp_classification/predict.py +0 -6
- {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0/stoneforge/machine_learning}/mlp_classification/settings.py +0 -3
- {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0/stoneforge/machine_learning}/mlp_classification/validation.py +0 -8
- {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0/stoneforge/machine_learning}/mlp_regression/fit.py +0 -1
- {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0/stoneforge/machine_learning}/mlp_regression/predict.py +0 -6
- {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0/stoneforge/machine_learning}/mlp_regression/settings.py +0 -3
- {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0/stoneforge/machine_learning}/mlp_regression/validation.py +0 -9
- {stoneforge-0.1.6.dev1/stoneforge/data_replacement → stoneforge-0.2.0/stoneforge/machine_learning/regression}/evaluation.py +1 -1
- stoneforge-0.2.0/stoneforge/machine_learning/regression/fit.py +347 -0
- {stoneforge-0.1.6.dev1/stoneforge/data_replacement → stoneforge-0.2.0/stoneforge/machine_learning/regression}/mldr_project.py +0 -2
- stoneforge-0.2.0/stoneforge/machine_learning/regression/predict.py +119 -0
- stoneforge-0.2.0/stoneforge/machine_learning/regression/settings.py +91 -0
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0}/stoneforge/petrophysics/helpers.py +3 -5
- stoneforge-0.2.0/stoneforge/petrophysics/permeability.py +141 -0
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0}/stoneforge/petrophysics/porosity.py +97 -116
- stoneforge-0.2.0/stoneforge/petrophysics/shale_volume.py +319 -0
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0}/stoneforge/petrophysics/total_organic_carbon_content.py +3 -10
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0}/stoneforge/petrophysics/water_saturation.py +90 -85
- stoneforge-0.2.0/stoneforge/preprocessing/data_management.py +348 -0
- stoneforge-0.2.0/stoneforge/preprocessing/data_processing.py +180 -0
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0}/stoneforge/preprocessing/las2.py +9 -10
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0}/stoneforge/pseudo_wells/lithology_generator.py +2 -9
- stoneforge-0.2.0/stoneforge/pseudo_wells/monte_carlo_simulations.py +552 -0
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0}/stoneforge/pseudo_wells/pseudo_tools.py +1 -2
- stoneforge-0.2.0/stoneforge/reservoir/__init__.py +1 -0
- stoneforge-0.2.0/stoneforge/reservoir/net_pay.py +92 -0
- stoneforge-0.2.0/stoneforge/rock_physics/elastic_constants.py +236 -0
- stoneforge-0.2.0/stoneforge/rock_physics/fluid_substitution.py +380 -0
- stoneforge-0.2.0/stoneforge/rock_physics/gem.py +454 -0
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0}/stoneforge/rock_physics/inclusion.py +3 -22
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0}/stoneforge/rock_physics/rock_physics_bounds.py +16 -16
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0}/stoneforge/vis/img.py +2 -2
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0}/stoneforge/wavelets/butterworth.py +3 -5
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0}/stoneforge/wavelets/ormsby.py +3 -3
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0}/stoneforge/wavelets/ricker.py +3 -3
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0/stoneforge.egg-info}/PKG-INFO +29 -28
- stoneforge-0.2.0/stoneforge.egg-info/SOURCES.txt +114 -0
- stoneforge-0.2.0/stoneforge.egg-info/requires.txt +8 -0
- stoneforge-0.2.0/tests/tests_load/test_load.py +13 -0
- stoneforge-0.2.0/tests/tests_net_pay/test_net_pay_analytical.py +75 -0
- stoneforge-0.2.0/tests/tests_net_pay/test_net_pay_hypothetical.py +106 -0
- stoneforge-0.2.0/tests/tests_net_pay/test_net_pay_numerical.py +34 -0
- stoneforge-0.2.0/tests/tests_permeability/test_permeability_analytical.py +68 -0
- stoneforge-0.2.0/tests/tests_permeability/test_permeability_hypothetical.py +151 -0
- stoneforge-0.2.0/tests/tests_permeability/test_permeability_numerical.py +120 -0
- stoneforge-0.2.0/tests/tests_porosity/test_porosity_analytical.py +89 -0
- stoneforge-0.2.0/tests/tests_porosity/test_porosity_hypothetical.py +99 -0
- stoneforge-0.2.0/tests/tests_porosity/test_porosity_numerical.py +82 -0
- {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0}/tests/tests_rock_physics/test_fluid_substitution.py +2 -5
- {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0}/tests/tests_rock_physics/test_gem.py +1 -5
- stoneforge-0.2.0/tests/tests_shale_volume/test_shale_volume_analytical.py +123 -0
- stoneforge-0.2.0/tests/tests_shale_volume/test_shale_volume_hypothetical.py +113 -0
- stoneforge-0.2.0/tests/tests_shale_volume/test_shale_volume_numerical.py +104 -0
- stoneforge-0.2.0/tests/tests_water_saturation/test_water_saturation_analytical.py +75 -0
- stoneforge-0.2.0/tests/tests_water_saturation/test_water_saturation_hypothetical.py +144 -0
- stoneforge-0.2.0/tests/tests_water_saturation/test_water_saturation_numerical.py +128 -0
- stoneforge-0.1.6.dev1/setup.py +0 -37
- stoneforge-0.1.6.dev1/stoneforge/data_replacement/fit.py +0 -451
- stoneforge-0.1.6.dev1/stoneforge/data_replacement/predict.py +0 -185
- stoneforge-0.1.6.dev1/stoneforge/data_replacement/settings.py +0 -103
- stoneforge-0.1.6.dev1/stoneforge/datasets/__init__.py +0 -1
- stoneforge-0.1.6.dev1/stoneforge/datasets/data_info.txt +0 -36
- stoneforge-0.1.6.dev1/stoneforge/datasets/dataload.py +0 -53
- stoneforge-0.1.6.dev1/stoneforge/machine_learning/fit.py +0 -339
- stoneforge-0.1.6.dev1/stoneforge/machine_learning/predict.py +0 -184
- stoneforge-0.1.6.dev1/stoneforge/machine_learning/settings.py +0 -81
- stoneforge-0.1.6.dev1/stoneforge/petrophysics/shale_volume.py +0 -262
- stoneforge-0.1.6.dev1/stoneforge/preprocessing/data_management.py +0 -203
- stoneforge-0.1.6.dev1/stoneforge/preprocessing/data_processing.py +0 -130
- stoneforge-0.1.6.dev1/stoneforge/pseudo_wells/monte_carlo_simulations.py +0 -521
- stoneforge-0.1.6.dev1/stoneforge/rock_physics/elastic_constants.py +0 -234
- stoneforge-0.1.6.dev1/stoneforge/rock_physics/fluid_substitution.py +0 -367
- stoneforge-0.1.6.dev1/stoneforge/rock_physics/gem.py +0 -408
- stoneforge-0.1.6.dev1/stoneforge/tests/tests_ml/test_classification_core.py +0 -133
- stoneforge-0.1.6.dev1/stoneforge/tests/tests_ml/test_las_into_pandas.py +0 -0
- stoneforge-0.1.6.dev1/stoneforge/tests/tests_ml/test_regression.py +0 -137
- stoneforge-0.1.6.dev1/stoneforge/tests/tests_ml/test_regression_core.py +0 -152
- stoneforge-0.1.6.dev1/stoneforge/tests/tests_porosity/parameters_p.py +0 -61
- stoneforge-0.1.6.dev1/stoneforge/tests/tests_porosity/test_porosity.py +0 -105
- stoneforge-0.1.6.dev1/stoneforge/tests/tests_water_saturation/parameters_ws.py +0 -40
- stoneforge-0.1.6.dev1/stoneforge/tests/tests_water_saturation/test_water_saturation.py +0 -54
- stoneforge-0.1.6.dev1/stoneforge.egg-info/SOURCES.txt +0 -82
- stoneforge-0.1.6.dev1/stoneforge.egg-info/requires.txt +0 -9
- stoneforge-0.1.6.dev1/test_carbonate.py +0 -735
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0}/LICENSE +0 -0
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0}/MANIFEST.in +0 -0
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0}/setup.cfg +0 -0
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0}/stoneforge/inversion/__init__.py +0 -0
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0}/stoneforge/inversion/viability_study/__init__.py +0 -0
- {stoneforge-0.1.6.dev1/stoneforge/machine_learning → stoneforge-0.2.0/stoneforge/machine_learning/classification}/__init__.py +0 -0
- {stoneforge-0.1.6.dev1/stoneforge/machine_learning → stoneforge-0.2.0/stoneforge/machine_learning/classification}/evaluation.py +0 -0
- {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0/stoneforge/machine_learning}/mlp_classification/__init__.py +0 -0
- {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0/stoneforge/machine_learning}/mlp_classification/evaluation.py +0 -0
- {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0/stoneforge/machine_learning}/mlp_regression/__init__.py +0 -0
- {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0/stoneforge/machine_learning}/mlp_regression/evaluation.py +0 -0
- {stoneforge-0.1.6.dev1/stoneforge/data_replacement → stoneforge-0.2.0/stoneforge/machine_learning/regression}/__init__.py +0 -0
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0}/stoneforge/petrophysics/__init__.py +0 -0
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0}/stoneforge/preprocessing/__init__.py +0 -0
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0}/stoneforge/preprocessing/las_pandas.py +0 -0
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0}/stoneforge/pseudo_wells/__init__.py +0 -0
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0}/stoneforge/rock_physics/__init__.py +0 -0
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0}/stoneforge/vis/__init__.py +0 -0
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0}/stoneforge/wavelets/__init__.py +0 -0
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0}/stoneforge.egg-info/dependency_links.txt +0 -0
- {stoneforge-0.1.6.dev1 → stoneforge-0.2.0}/stoneforge.egg-info/top_level.txt +0 -0
- {stoneforge-0.1.6.dev1/stoneforge → stoneforge-0.2.0}/tests/tests_rock_physics/test_elastic_constants.py +0 -0
|
@@ -1,22 +1,26 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: stoneforge
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.2.0
|
|
4
4
|
Summary: Geophysics equations, algorithms and methods
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
Author: GIECAR - UFF, Wagner M. Lupinacci, Fernando Vizeu, Fábio Júnior D Fernandes, José A. V. Dias, Mario M. Ramos, Jordan S. Cuno, João Vitor A. Estrella, Ana Carolina, Breno D. Chrispim
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: homepage, https://github.com/giecaruff/stoneforge
|
|
8
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
9
|
+
Classifier: Intended Audience :: Education
|
|
10
|
+
Classifier: Operating System :: Microsoft :: Windows :: Windows 10
|
|
11
|
+
Classifier: Programming Language :: Python :: 3
|
|
12
|
+
Requires-Python: >=3.12
|
|
9
13
|
Description-Content-Type: text/markdown
|
|
10
14
|
License-File: LICENSE
|
|
11
|
-
Requires-Dist:
|
|
12
|
-
Requires-Dist:
|
|
13
|
-
Requires-Dist:
|
|
14
|
-
Requires-Dist:
|
|
15
|
-
Requires-Dist:
|
|
16
|
-
Requires-Dist: matplotlib
|
|
17
|
-
Requires-Dist: pandas
|
|
18
|
-
Requires-Dist:
|
|
19
|
-
|
|
15
|
+
Requires-Dist: dlisio>=1.0.4
|
|
16
|
+
Requires-Dist: numpy>=2.2.0
|
|
17
|
+
Requires-Dist: pytest>=8.3.4
|
|
18
|
+
Requires-Dist: scipy>=1.14.1
|
|
19
|
+
Requires-Dist: scikit-learn>=1.6.1
|
|
20
|
+
Requires-Dist: matplotlib>=3.10.0
|
|
21
|
+
Requires-Dist: pandas>=2.2.2
|
|
22
|
+
Requires-Dist: hypothesis>=6.148.6
|
|
23
|
+
Dynamic: license-file
|
|
20
24
|
|
|
21
25
|
<p align="center">
|
|
22
26
|
<img src="https://raw.githubusercontent.com/giecaruff/logos/main/APPY/stoneforge.png" width="400"/>
|
|
@@ -30,7 +34,7 @@ Part of the <strong>Appy</strong> project
|
|
|
30
34
|
|
|
31
35
|
|
|
32
36
|
<p align="center">
|
|
33
|
-
<a href="https://giecaruff.github.io/
|
|
37
|
+
<a href="https://giecaruff.github.io/stoneforge/"><strong>Documentation</strong> (latest)</a> |
|
|
34
38
|
<a href="http://gcr.sites.uff.br/"><strong>Institutional</strong> (GIECAR website)</a>
|
|
35
39
|
</p>
|
|
36
40
|
|
|
@@ -63,21 +67,18 @@ and them verify the installation using the following command in Python:
|
|
|
63
67
|
```
|
|
64
68
|
>>> import stoneforge
|
|
65
69
|
```
|
|
66
|
-
|
|
67
|
-
## Dataset
|
|
68
70
|
|
|
69
|
-
The stoneforge dataset comprises selected data from eleven wildcat wells in the National Petroleum Reserve in Alaska / by F.N. Zihlman and H.L. Oliver.
|
|
70
|
-
Contains data sets from 11 wildcat wells drilled in the National Petroleum Reserve in Alaska (NPRA).
|
|
71
71
|
|
|
72
|
-
|
|
73
|
-
|
|
72
|
+
|
|
73
|
+
## Dataset
|
|
74
74
|
|
|
75
|
-
|
|
75
|
+
The stoneforge dataset comprises the following data:
|
|
76
76
|
|
|
77
|
+
Four .las data from wildcat wells in the National Petroleum Reserve in Alaska. Those where drilled in the National Petroleum Reserve in Alaska (NPRA). </br>
|
|
78
|
+
[USGS Well Index](https://pubs.usgs.gov/of/1999/ofr-99-0015/Wells/WellIdx.htm)
|
|
77
79
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
+
Two .dlis data from the Mississippi Fan (Gulf of Mexico) from the DSDP (Deep Sea Drilling Project); DSDP Leg 96 - Hole 616; Processed and Original data. </br>
|
|
81
|
+
[DSDP Leg 96 - Hole 616](https://mlp.ldeo.columbia.edu/data/dsdp/leg96/616/)
|
|
80
82
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
- First Release
|
|
83
|
+
Zihlman, F. N creator ; Oliver, H. L ; Geological Survey (U.S.)
|
|
84
|
+
Reston, Va. : Denver, Colo : U.S. Dept. of the Interior, U.S. Geological Survey1999
|
|
@@ -10,7 +10,7 @@ Part of the <strong>Appy</strong> project
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
<p align="center">
|
|
13
|
-
<a href="https://giecaruff.github.io/
|
|
13
|
+
<a href="https://giecaruff.github.io/stoneforge/"><strong>Documentation</strong> (latest)</a> |
|
|
14
14
|
<a href="http://gcr.sites.uff.br/"><strong>Institutional</strong> (GIECAR website)</a>
|
|
15
15
|
</p>
|
|
16
16
|
|
|
@@ -43,13 +43,18 @@ and them verify the installation using the following command in Python:
|
|
|
43
43
|
```
|
|
44
44
|
>>> import stoneforge
|
|
45
45
|
```
|
|
46
|
+
|
|
47
|
+
|
|
46
48
|
|
|
47
49
|
## Dataset
|
|
48
50
|
|
|
49
|
-
The stoneforge dataset comprises
|
|
50
|
-
|
|
51
|
+
The stoneforge dataset comprises the following data:
|
|
52
|
+
|
|
53
|
+
Four .las data from wildcat wells in the National Petroleum Reserve in Alaska. Those where drilled in the National Petroleum Reserve in Alaska (NPRA). </br>
|
|
54
|
+
[USGS Well Index](https://pubs.usgs.gov/of/1999/ofr-99-0015/Wells/WellIdx.htm)
|
|
55
|
+
|
|
56
|
+
Two .dlis data from the Mississippi Fan (Gulf of Mexico) from the DSDP (Deep Sea Drilling Project); DSDP Leg 96 - Hole 616; Processed and Original data. </br>
|
|
57
|
+
[DSDP Leg 96 - Hole 616](https://mlp.ldeo.columbia.edu/data/dsdp/leg96/616/)
|
|
51
58
|
|
|
52
59
|
Zihlman, F. N creator ; Oliver, H. L ; Geological Survey (U.S.)
|
|
53
60
|
Reston, Va. : Denver, Colo : U.S. Dept. of the Interior, U.S. Geological Survey1999
|
|
54
|
-
|
|
55
|
-
Our special thanks to the INDIANA UNIVERSITY for mantaining this dataset
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
.. Stoneforge documentation master file, created by
|
|
2
|
+
sphinx-quickstart on Mon May 27 13:42:11 2024.
|
|
3
|
+
You can adapt this file completely to your liking, but it should at least
|
|
4
|
+
contain the root `toctree` directive.
|
|
5
|
+
|
|
6
|
+
Welcome to Stoneforge's documentation!
|
|
7
|
+
======================================
|
|
8
|
+
|
|
9
|
+
**Version**: 1.4
|
|
10
|
+
|
|
11
|
+
**Stoneforge** is a Python library for geophysics equations, algorithms and methods that also,
|
|
12
|
+
are used in the software Appy. It is linked to the GIECAR laboratory at the Universidade Federal
|
|
13
|
+
Fluminense (UFF) related to the Geology and Geophysics Departament (GGO), and its purpose is to teach
|
|
14
|
+
and develop routines in Python to solve geological and geophysical problems. Main APPy references are :footcite:t:`estrella2022sbgf,estrella2022seg`.
|
|
15
|
+
|
|
16
|
+
.. note::
|
|
17
|
+
This project is under active development as of May 2024.
|
|
18
|
+
|
|
19
|
+
.. toctree::
|
|
20
|
+
:maxdepth: 2
|
|
21
|
+
:caption: Contents:
|
|
22
|
+
|
|
23
|
+
usage/installation
|
|
24
|
+
usage/quickstart
|
|
25
|
+
|
|
26
|
+
modules/petrophysics/index
|
|
27
|
+
modules/reservoir/index
|
|
28
|
+
modules/rockphysics
|
|
29
|
+
modules/pseudowells
|
|
30
|
+
modules/machinelearning/index
|
|
31
|
+
modules/preprocessing
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
Indices and tables
|
|
35
|
+
==================
|
|
36
|
+
|
|
37
|
+
* :ref:`genindex`
|
|
38
|
+
* :ref:`modindex`
|
|
39
|
+
* :ref:`search`
|
|
40
|
+
|
|
41
|
+
References
|
|
42
|
+
----------------
|
|
43
|
+
|
|
44
|
+
.. footbibliography::
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
=========================
|
|
2
|
+
Classification
|
|
3
|
+
=========================
|
|
4
|
+
|
|
5
|
+
This section contains documentation for the Classification module (Machine learning).
|
|
6
|
+
|
|
7
|
+
.. automodule:: stoneforge.machine_learning.classification
|
|
8
|
+
:members:
|
|
9
|
+
:undoc-members:
|
|
10
|
+
:show-inheritance:
|
|
11
|
+
|
|
12
|
+
Settings (Classification)
|
|
13
|
+
--------------------------------
|
|
14
|
+
|
|
15
|
+
.. automodule:: stoneforge.machine_learning.classification.settings
|
|
16
|
+
:members:
|
|
17
|
+
:undoc-members:
|
|
18
|
+
:show-inheritance:
|
|
19
|
+
|
|
20
|
+
Fit (Classification)
|
|
21
|
+
--------------------------------
|
|
22
|
+
|
|
23
|
+
.. automodule:: stoneforge.machine_learning.classification.fit
|
|
24
|
+
:members:
|
|
25
|
+
:undoc-members:
|
|
26
|
+
:show-inheritance:
|
|
27
|
+
|
|
28
|
+
Predict (Classification)
|
|
29
|
+
--------------------------------
|
|
30
|
+
|
|
31
|
+
.. automodule:: stoneforge.machine_learning.classification.predict
|
|
32
|
+
:members:
|
|
33
|
+
:undoc-members:
|
|
34
|
+
:show-inheritance:
|
|
35
|
+
|
|
36
|
+
References
|
|
37
|
+
--------------------------------
|
|
38
|
+
|
|
39
|
+
.. footbibliography::
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
=========================
|
|
2
|
+
Regression
|
|
3
|
+
=========================
|
|
4
|
+
|
|
5
|
+
This section contains documentation for the Regression module in (machine learning).
|
|
6
|
+
|
|
7
|
+
.. automodule:: stoneforge.machine_learning.regression
|
|
8
|
+
:members:
|
|
9
|
+
:undoc-members:
|
|
10
|
+
:show-inheritance:
|
|
11
|
+
|
|
12
|
+
Settings (Regression)
|
|
13
|
+
--------------------------------
|
|
14
|
+
|
|
15
|
+
.. automodule:: stoneforge.machine_learning.regression.settings
|
|
16
|
+
:members:
|
|
17
|
+
:undoc-members:
|
|
18
|
+
:show-inheritance:
|
|
19
|
+
|
|
20
|
+
Fit (Regression)
|
|
21
|
+
--------------------------------
|
|
22
|
+
|
|
23
|
+
.. automodule:: stoneforge.machine_learning.regression.fit
|
|
24
|
+
:members:
|
|
25
|
+
:undoc-members:
|
|
26
|
+
:show-inheritance:
|
|
27
|
+
|
|
28
|
+
Predict (Regression)
|
|
29
|
+
--------------------------------
|
|
30
|
+
|
|
31
|
+
.. automodule:: stoneforge.machine_learning.regression.predict
|
|
32
|
+
:members:
|
|
33
|
+
:undoc-members:
|
|
34
|
+
:show-inheritance:
|
|
35
|
+
|
|
36
|
+
References
|
|
37
|
+
--------------------------------
|
|
38
|
+
|
|
39
|
+
.. footbibliography::
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
=========================
|
|
2
|
+
Petrophysics
|
|
3
|
+
=========================
|
|
4
|
+
|
|
5
|
+
**About:** This section contains documentation for the Petrophysics module. We indicate the reference (Pt-Br) of :footcite:t:`freire2020youtube` for the methods used in this module.
|
|
6
|
+
|
|
7
|
+
This module implements a comprehensive suite of petrophysical models for porosity, shale volume, water saturation, and permeability, following well-established formulations from the geoscience and reservoir engineering literature (e.g., Archie, Simandoux, Indonesia, Larionov, Clavier, Timur, Coates, Tixier).
|
|
8
|
+
|
|
9
|
+
Beyond numerical implementation, the library adopts a multi-layered scientific validation strategy designed to ensure correctness, numerical robustness, and physical consistency across scalar and log-scale data. The testing framework is structured into four complementary levels:
|
|
10
|
+
|
|
11
|
+
1. Analytical (Equation-Based) Validation
|
|
12
|
+
|
|
13
|
+
Each petrophysical model is validated against its analytical formulation using deterministic unit tests. For fixed, physically meaningful inputs, the numerical output is compared directly to the closed-form equation, ensuring exact correspondence with the theoretical model. This guarantees that the implementation faithfully reproduces the published equations and assumptions.
|
|
14
|
+
|
|
15
|
+
2. Vectorization and Numerical Behavior
|
|
16
|
+
|
|
17
|
+
Because petrophysical data are inherently log-based and vectorized, all models are tested using NumPy arrays to verify correct broadcasting, array-wise computation, and performance on realistic datasets. These tests explicitly check:
|
|
18
|
+
|
|
19
|
+
- Vectorized execution (arrays in → arrays out)
|
|
20
|
+
|
|
21
|
+
- Correct propagation of NaN values
|
|
22
|
+
|
|
23
|
+
- Numerical stability across valid physical ranges
|
|
24
|
+
|
|
25
|
+
- Enforcement of physical bounds (e.g., 0 ≤ 𝜙, 𝑉𝑠ℎ, 𝑆𝑤 ≤ 1; 𝑘 ≥ 0)
|
|
26
|
+
|
|
27
|
+
This level ensures the models behave reliably when applied to full well logs rather than isolated scalar values.
|
|
28
|
+
|
|
29
|
+
3. Physical Invariants and Limiting Behavior (Property-Based Testing)
|
|
30
|
+
|
|
31
|
+
Advanced property-based testing is employed to validate physical laws and monotonic trends, independent of any specific numerical example. Using randomized but physically constrained inputs, the models are verified against invariant properties such as:
|
|
32
|
+
|
|
33
|
+
- Increasing resistivity leads to decreasing water saturation
|
|
34
|
+
|
|
35
|
+
- Increasing porosity leads to increasing permeability
|
|
36
|
+
|
|
37
|
+
- Increasing shale volume increases shale-corrected water saturation
|
|
38
|
+
|
|
39
|
+
- Limiting cases (e.g., 𝑉𝑠ℎ→0, 𝑅𝑡→∞, 𝑆𝑤→1) converge to physically meaningful results
|
|
40
|
+
|
|
41
|
+
This approach provides strong guarantees that the models remain physically consistent even outside hand-picked test cases and is particularly effective at identifying subtle numerical or logical errors.
|
|
42
|
+
|
|
43
|
+
4. Cross-Model Consistency
|
|
44
|
+
|
|
45
|
+
Where applicable, cross-model relationships are validated (e.g., shaly-sand models converging to Archie behavior in clean formations). This ensures internal coherence across the petrophysical workflow and reinforces interpretational reliability.
|
|
46
|
+
|
|
47
|
+
.
|
|
48
|
+
|
|
49
|
+
.. toctree::
|
|
50
|
+
:maxdepth: 1
|
|
51
|
+
|
|
52
|
+
shale_volume
|
|
53
|
+
porosity
|
|
54
|
+
water_saturation
|
|
55
|
+
permeability
|
|
56
|
+
|
|
57
|
+
References
|
|
58
|
+
----------------
|
|
59
|
+
|
|
60
|
+
.. footbibliography::
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
=========================
|
|
2
|
+
Permeability
|
|
3
|
+
=========================
|
|
4
|
+
|
|
5
|
+
The library incorporates several classical empirical permeability (k) estimators derived from porosity, water saturation, and resistivity measurements. These models reflect historically validated correlations between rock storage capacity, fluid distribution, and flow properties, providing practical permeability proxies in the absence of core data. While empirical in nature, these methods remain widely used for quick-look evaluations and comparative reservoir analysis.
|
|
6
|
+
|
|
7
|
+
Porosity–saturation–based formulations represent the primary class of estimators:
|
|
8
|
+
|
|
9
|
+
- Timur Model – A foundational empirical relationship linking permeability to porosity (φ) and irreducible water saturation (Sw). The model captures the intuitive dependence of permeability on pore volume and fluid occupancy, typically predicting higher permeability for well-connected pore systems exhibiting low water saturation.
|
|
10
|
+
|
|
11
|
+
- Coates Model – A refinement of the Timur-type approach, incorporating similar dependencies but calibrated to better reflect movable fluid fractions and pore geometry effects. The formulation is frequently applied in conjunction with NMR-derived parameters, although it can be used with conventional porosity and saturation logs.
|
|
12
|
+
|
|
13
|
+
Resistivity-integrated estimators extend permeability prediction by exploiting electrical responses:
|
|
14
|
+
|
|
15
|
+
- Coates–Dumanoir Model – Combines deep formation resistivity (Rt or ResD) with porosity to estimate permeability. This model implicitly links pore structure and fluid distribution to electrical behavior, offering an alternative pathway when saturation estimates are uncertain or unavailable. Proper calibration is essential, as unit consistency and formation-specific constants strongly influence results.
|
|
16
|
+
|
|
17
|
+
- Tixier Model – Utilizes the contrast between deep and shallow resistivity measurements to infer permeability through invasion-profile behavior. The method is based on the premise that permeability governs mud filtrate invasion dynamics; therefore, resistivity differentials can serve as indirect indicators of pore connectivity and transmissibility.
|
|
18
|
+
|
|
19
|
+
These empirical methods do not replace laboratory-derived permeability but provide operationally useful approximations, particularly during early-stage interpretation, interval ranking, or uncertainty screening. Their reliability depends on lithology, pore type, fluid system, and calibration against representative core or test data.
|
|
20
|
+
|
|
21
|
+
Permeability
|
|
22
|
+
----------------
|
|
23
|
+
|
|
24
|
+
.. automodule:: stoneforge.petrophysics.permeability
|
|
25
|
+
:members:
|
|
26
|
+
:undoc-members:
|
|
27
|
+
:show-inheritance:
|
|
28
|
+
|
|
29
|
+
References
|
|
30
|
+
----------------
|
|
31
|
+
|
|
32
|
+
.. footbibliography::
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
=========================
|
|
2
|
+
Porosity
|
|
3
|
+
=========================
|
|
4
|
+
|
|
5
|
+
The library provides a set of conventional porosity estimation techniques derived from density, neutron, and sonic well logs, as well as hybrid formulations designed to mitigate lithology and shale effects. These methods reflect standard petrophysical models and enable users to compute both total and effective porosity under varying geological and logging conditions.
|
|
6
|
+
|
|
7
|
+
- Density-based porosity calculations rely on the bulk density response of the formation. The Density Porosity model estimates total porosity from the contrast between the measured bulk density (RHOB) and assumed matrix (ρ_ma) and fluid (ρ_f) densities. This formulation is grounded in the volumetric mixing law and is particularly effective in clean formations where matrix properties are reasonably constrained.
|
|
8
|
+
|
|
9
|
+
- Neutron-derived porosity exploits the sensitivity of neutron tools to hydrogen concentration. The Neutron Porosity estimator corrects the raw neutron response for shale effects by incorporating shale volume (Vsh) and an apparent shale porosity term. This correction is essential because bound water in clays can significantly inflate neutron readings, leading to overestimated porosity if untreated.
|
|
10
|
+
|
|
11
|
+
- Sonic-based porosity is computed using the Wyllie Time-Average Equation, which models acoustic transit time (Δt) as a linear combination of matrix and fluid contributions. Sonic porosity is often useful in consolidated formations but may require caution in poorly compacted or complex lithologies where the time-average assumption breaks down.
|
|
12
|
+
|
|
13
|
+
To improve robustness and reduce tool-specific biases, the library includes combined estimators:
|
|
14
|
+
|
|
15
|
+
- Neutron–Density Porosity – Computes effective porosity from the joint response of density and neutron logs. Depending on configuration, the estimator uses either the arithmetic mean or a root-mean-square formulation, helping stabilize results where individual logs are affected by lithology or fluid variations.
|
|
16
|
+
|
|
17
|
+
- Gaymard–Poupon Method – A crossplot-inspired correction that integrates neutron and density porosities to better resolve shale-free porosity. This method is widely applied in shaly sand interpretations to compensate for systematic tool deviations.
|
|
18
|
+
|
|
19
|
+
Effective porosity calculations are also explicitly supported:
|
|
20
|
+
|
|
21
|
+
- Effective Porosity – Derives shale-corrected porosity from total porosity and shale volume, accounting for the non-reservoir pore space associated with clays. This adjustment is critical for volumetric evaluations and saturation models.
|
|
22
|
+
|
|
23
|
+
For workflow simplification, the library exposes a façade function that unifies all porosity models under a single interface. This design allows users to select estimation methods based on available logs, formation characteristics, and interpretation strategy while maintaining methodological consistency across analyses.
|
|
24
|
+
|
|
25
|
+
Porosity
|
|
26
|
+
----------------
|
|
27
|
+
|
|
28
|
+
.. automodule:: stoneforge.petrophysics.porosity
|
|
29
|
+
:members:
|
|
30
|
+
:undoc-members:
|
|
31
|
+
:show-inheritance:
|
|
32
|
+
|
|
33
|
+
References
|
|
34
|
+
----------------
|
|
35
|
+
|
|
36
|
+
.. footbibliography::
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
=========================
|
|
2
|
+
Shale Volume
|
|
3
|
+
=========================
|
|
4
|
+
|
|
5
|
+
The library implements a set of established shale volume (Vshale) estimation techniques widely used in petrophysical interpretation. These methods derive shale content from different logging measurements and reflect distinct theoretical assumptions about rock response, mineralogy, and compaction effects. Collectively, they provide flexible alternatives suitable for a variety of geological settings and data availability scenarios.
|
|
6
|
+
|
|
7
|
+
Gamma ray–based approaches constitute the primary group of models. The Gamma Ray Index (IGR) serves as the fundamental normalization step, scaling the measured gamma ray log between clean (GRmin) and shale (GRmax) reference values. From this index, several transformation models are provided:
|
|
8
|
+
|
|
9
|
+
- Linear Model – Assumes a direct proportional relationship between gamma ray response and shale fraction. It is simple, robust, and commonly used as a baseline estimator.
|
|
10
|
+
|
|
11
|
+
- Larionov Model (Young Rocks) – Introduces a nonlinear correction to account for the typical gamma ray behavior of Tertiary or weakly compacted formations, where the linear assumption tends to overestimate shale volume.
|
|
12
|
+
|
|
13
|
+
- Larionov Model (Old Rocks) – Adapts the nonlinear response for older, more compacted lithologies, reflecting reduced gamma ray sensitivity with increasing diagenesis.
|
|
14
|
+
|
|
15
|
+
- Clavier Model – Applies an empirical nonlinear transformation designed to moderate shale volume estimates, particularly in formations exhibiting intermediate gamma ray responses.
|
|
16
|
+
|
|
17
|
+
- Stieber Model – Incorporates a correction that limits shale volume inflation at higher gamma ray index values, often producing more conservative estimates in laminated or dispersed shale systems.
|
|
18
|
+
|
|
19
|
+
Beyond gamma ray methods, the library includes multi-log and specialized estimators:
|
|
20
|
+
|
|
21
|
+
- Neutron–Density Method (Neutron–Density Crossplot) – Computes shale volume using neutron porosity (NPHI) and bulk density (RHOB) measurements via a three-point mixing model. This approach is particularly useful where gamma ray logs are unreliable or where lithology effects must be explicitly handled.
|
|
22
|
+
|
|
23
|
+
- NMR-Based Method – Estimates shale volume from the relationship between total and effective porosity derived from nuclear magnetic resonance (NMR) data, leveraging differences in fluid and bound water responses.
|
|
24
|
+
|
|
25
|
+
By offering multiple formulations, the library enables users to select methods consistent with formation age, mineralogical complexity, logging conditions, and calibration strategy. This multi-model design supports comparative analysis and uncertainty assessment in shale volume interpretation workflows.
|
|
26
|
+
|
|
27
|
+
Shale Volume
|
|
28
|
+
----------------
|
|
29
|
+
|
|
30
|
+
.. automodule:: stoneforge.petrophysics.shale_volume
|
|
31
|
+
:members:
|
|
32
|
+
:undoc-members:
|
|
33
|
+
:show-inheritance:
|
|
34
|
+
|
|
35
|
+
References
|
|
36
|
+
----------------
|
|
37
|
+
|
|
38
|
+
.. footbibliography::
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
=========================
|
|
2
|
+
Water Saturation
|
|
3
|
+
=========================
|
|
4
|
+
|
|
5
|
+
The library implements a suite of widely adopted water saturation (Sw) models derived from resistivity and porosity measurements. These formulations cover both clean and shaly reservoir scenarios, reflecting distinct assumptions about conductive pathways, clay effects, and rock electrical behavior. The available methods enable consistent saturation evaluation across a broad range of lithological and petrophysical conditions.
|
|
6
|
+
|
|
7
|
+
- The Archie Equation constitutes the fundamental clean-formation model. It relates water saturation to true formation resistivity (Rt), porosity (φ), and water resistivity (Rw), governed by the tortuosity factor (a), cementation exponent (m), and saturation exponent (n). Archie’s model assumes that the rock matrix is non-conductive and that electrical conduction occurs exclusively through the formation water. As such, it is most reliable in clean, clay-free reservoirs where surface conductivity is negligible.
|
|
8
|
+
|
|
9
|
+
For shaly formations, the library provides models that explicitly incorporate clay conductivity effects:
|
|
10
|
+
|
|
11
|
+
- Simandoux Model – Extends Archie’s formulation by accounting for the parallel conductive contribution of shale. The model integrates shale volume (Vsh) and shale resistivity (Rsh), making it suitable for dispersed clay systems and laminated shaly sands. It remains one of the most commonly applied shaly-sand saturation equations.
|
|
12
|
+
|
|
13
|
+
- Indonesia (Poupon–Leveaux) Model – Introduces a nonlinear coupling between matrix and shale conductivity terms. This formulation often produces more stable results in formations with moderate-to-high shale content and is particularly valued where Simandoux may overestimate Sw.
|
|
14
|
+
|
|
15
|
+
- Fertl Model – A simplified shaly-formation model designed to reduce sensitivity to shale resistivity uncertainties. Instead of requiring explicit Rsh input, the method uses an empirical correction term controlled by the alpha parameter (α). This approach is operationally convenient when shale resistivity is poorly constrained or unavailable.
|
|
16
|
+
|
|
17
|
+
All shale-corrected models require effective porosity rather than total porosity, reflecting the need to isolate the interconnected pore space contributing to fluid flow and electrical conduction.
|
|
18
|
+
|
|
19
|
+
To streamline interpretation workflows, the library exposes a façade function that unifies all saturation models under a single interface. This design allows users to select the appropriate equation based on reservoir type, shale content, and data quality while preserving parameter consistency.
|
|
20
|
+
|
|
21
|
+
Water Saturation
|
|
22
|
+
----------------
|
|
23
|
+
|
|
24
|
+
.. automodule:: stoneforge.petrophysics.water_saturation
|
|
25
|
+
:members:
|
|
26
|
+
:undoc-members:
|
|
27
|
+
:show-inheritance:
|
|
28
|
+
|
|
29
|
+
References
|
|
30
|
+
----------------
|
|
31
|
+
|
|
32
|
+
.. footbibliography::
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
=========================
|
|
2
|
+
Preprocessing
|
|
3
|
+
=========================
|
|
4
|
+
|
|
5
|
+
This section contains documentation for the Preprocessing module.
|
|
6
|
+
NOTE: Those methods will be modified in the future to be more flexible and
|
|
7
|
+
to allow for more complex workflows.
|
|
8
|
+
|
|
9
|
+
.. automodule:: stoneforge.preprocessing
|
|
10
|
+
:members:
|
|
11
|
+
:undoc-members:
|
|
12
|
+
:show-inheritance:
|
|
13
|
+
|
|
14
|
+
Data Management
|
|
15
|
+
-------------------------
|
|
16
|
+
|
|
17
|
+
.. automodule:: stoneforge.preprocessing.data_management
|
|
18
|
+
:members:
|
|
19
|
+
:undoc-members:
|
|
20
|
+
:show-inheritance:
|
|
21
|
+
|
|
22
|
+
Data Processing
|
|
23
|
+
-------------------------
|
|
24
|
+
|
|
25
|
+
.. automodule:: stoneforge.preprocessing.data_processing
|
|
26
|
+
:members:
|
|
27
|
+
:undoc-members:
|
|
28
|
+
:show-inheritance:
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
=========================
|
|
2
|
+
Pseudo Wells
|
|
3
|
+
=========================
|
|
4
|
+
|
|
5
|
+
This section contains documentation for the Pseudo Wells module.
|
|
6
|
+
|
|
7
|
+
.. automodule:: stoneforge.pseudo_wells
|
|
8
|
+
:members:
|
|
9
|
+
:undoc-members:
|
|
10
|
+
:show-inheritance:
|
|
11
|
+
|
|
12
|
+
Monte Carlo Simulations
|
|
13
|
+
-------------------------
|
|
14
|
+
|
|
15
|
+
.. automodule:: stoneforge.pseudo_wells.monte_carlo_simulations
|
|
16
|
+
:members:
|
|
17
|
+
:undoc-members:
|
|
18
|
+
:show-inheritance:
|
|
19
|
+
|
|
20
|
+
References
|
|
21
|
+
----------------
|
|
22
|
+
|
|
23
|
+
.. footbibliography::
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
=========================
|
|
2
|
+
Reservoir
|
|
3
|
+
=========================
|
|
4
|
+
|
|
5
|
+
**About:** This section contains documentation for the Reservoir analysis module.
|
|
6
|
+
|
|
7
|
+
.. toctree::
|
|
8
|
+
:maxdepth: 1
|
|
9
|
+
|
|
10
|
+
net_pay
|
|
11
|
+
|
|
12
|
+
References
|
|
13
|
+
----------------
|
|
14
|
+
|
|
15
|
+
.. footbibliography::
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
=========================
|
|
2
|
+
Net Pay
|
|
3
|
+
=========================
|
|
4
|
+
|
|
5
|
+
This section is about some methods to stimate some reservoir properties, such as net pay, based on well log data.
|
|
6
|
+
|
|
7
|
+
Basic Calculations
|
|
8
|
+
------------------
|
|
9
|
+
|
|
10
|
+
.. automodule:: stoneforge.petrophysics.net_pay
|
|
11
|
+
:members:
|
|
12
|
+
:undoc-members:
|
|
13
|
+
:show-inheritance:
|
|
14
|
+
|
|
15
|
+
References
|
|
16
|
+
----------------
|
|
17
|
+
|
|
18
|
+
.. footbibliography::
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
=========================
|
|
2
|
+
Rock Physics
|
|
3
|
+
=========================
|
|
4
|
+
|
|
5
|
+
This section contains documentation for the Rock Physics module. We indicate the reference (Pt-Br) of :footcite:t:`wagner2020rock_physics` for the methods used in this module.
|
|
6
|
+
|
|
7
|
+
.. automodule:: stoneforge.rock_physics
|
|
8
|
+
:members:
|
|
9
|
+
:undoc-members:
|
|
10
|
+
:show-inheritance:
|
|
11
|
+
|
|
12
|
+
Elastic Constants
|
|
13
|
+
---------------------
|
|
14
|
+
|
|
15
|
+
.. automodule:: stoneforge.rock_physics.elastic_constants
|
|
16
|
+
:members:
|
|
17
|
+
:undoc-members:
|
|
18
|
+
:show-inheritance:
|
|
19
|
+
|
|
20
|
+
Fluid Substitution
|
|
21
|
+
---------------------
|
|
22
|
+
|
|
23
|
+
.. automodule:: stoneforge.rock_physics.fluid_substitution
|
|
24
|
+
:members:
|
|
25
|
+
:undoc-members:
|
|
26
|
+
:show-inheritance:
|
|
27
|
+
|
|
28
|
+
Gem
|
|
29
|
+
----------------
|
|
30
|
+
|
|
31
|
+
.. automodule:: stoneforge.rock_physics.gem
|
|
32
|
+
:members:
|
|
33
|
+
:undoc-members:
|
|
34
|
+
:show-inheritance:
|
|
35
|
+
|
|
36
|
+
Rock Physics Bounds
|
|
37
|
+
---------------------
|
|
38
|
+
|
|
39
|
+
.. automodule:: stoneforge.rock_physics.rock_physics_bounds
|
|
40
|
+
:members:
|
|
41
|
+
:undoc-members:
|
|
42
|
+
:show-inheritance:
|
|
43
|
+
|
|
44
|
+
References
|
|
45
|
+
----------------
|
|
46
|
+
|
|
47
|
+
.. footbibliography::
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
=========================
|
|
2
|
+
Installing Stoneforge
|
|
3
|
+
=========================
|
|
4
|
+
|
|
5
|
+
This guide will walk you through the installation of the the Stoneforge library.
|
|
6
|
+
|
|
7
|
+
Prerequisites
|
|
8
|
+
=============
|
|
9
|
+
|
|
10
|
+
Before you begin, ensure you have met the following requirements:
|
|
11
|
+
|
|
12
|
+
* You have installed Python 3.8 or later (with pip).
|
|
13
|
+
* You have a Windows/Linux/Mac machine.
|
|
14
|
+
|
|
15
|
+
Installation
|
|
16
|
+
============
|
|
17
|
+
|
|
18
|
+
To install Stoneforge, follow these steps:
|
|
19
|
+
|
|
20
|
+
Windows, Linux and macOS
|
|
21
|
+
------------------------
|
|
22
|
+
|
|
23
|
+
1. Open your terminal.
|
|
24
|
+
|
|
25
|
+
2. Install the Stoneforge package with pip:
|
|
26
|
+
|
|
27
|
+
.. code-block:: bash
|
|
28
|
+
|
|
29
|
+
pip install stoneforge
|
|
30
|
+
|
|
31
|
+
Verify Installation
|
|
32
|
+
===================
|
|
33
|
+
|
|
34
|
+
To verify that Stoneforge has been installed correctly, type the following command in your terminal:
|
|
35
|
+
|
|
36
|
+
.. code-block:: bash
|
|
37
|
+
|
|
38
|
+
pip show stoneforge
|
|
39
|
+
|
|
40
|
+
If no error message is displayed, the installation was successful!
|