stoneforge 0.1.6.dev1__tar.gz → 0.2.0b0__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.
Files changed (99) hide show
  1. stoneforge-0.2.0b0/.gitignore +142 -0
  2. {stoneforge-0.1.6.dev1/stoneforge.egg-info → stoneforge-0.2.0b0}/PKG-INFO +85 -83
  3. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/README.md +8 -5
  4. stoneforge-0.2.0b0/pyproject.toml +95 -0
  5. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/__init__.py +5 -1
  6. stoneforge-0.2.0b0/stoneforge/data_management/__init__.py +1 -0
  7. {stoneforge-0.1.6.dev1/stoneforge/preprocessing → stoneforge-0.2.0b0/stoneforge/data_management}/las2.py +9 -10
  8. stoneforge-0.2.0b0/stoneforge/data_management/las_import.py +19 -0
  9. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/data_replacement/evaluation.py +1 -1
  10. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/data_replacement/fit.py +1 -5
  11. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/data_replacement/mldr_project.py +0 -2
  12. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/data_replacement/predict.py +1 -10
  13. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/data_replacement/settings.py +2 -5
  14. stoneforge-0.2.0b0/stoneforge/datasets/DP1.las +15735 -0
  15. stoneforge-0.2.0b0/stoneforge/datasets/DSDP_leg_96_hole_616_96_original_data.dlis +0 -0
  16. stoneforge-0.2.0b0/stoneforge/datasets/DSDP_leg_96_hole_616_96_processed_data.dlis +0 -0
  17. stoneforge-0.2.0b0/stoneforge/datasets/ES1.las +15337 -0
  18. stoneforge-0.2.0b0/stoneforge/datasets/IK1.las +30843 -0
  19. stoneforge-0.2.0b0/stoneforge/datasets/WD1.las +8333 -0
  20. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/datasets/las2.py +9 -10
  21. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/inversion/regularized_acoustic_reflectivy_inversion.py +0 -2
  22. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/inversion/viability_study/bayes.py +3 -4
  23. stoneforge-0.2.0b0/stoneforge/io/__init__.py +3 -0
  24. stoneforge-0.2.0b0/stoneforge/io/csv.py +134 -0
  25. stoneforge-0.2.0b0/stoneforge/io/dlisio_r.py +269 -0
  26. stoneforge-0.2.0b0/stoneforge/io/las2.py +370 -0
  27. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/machine_learning/fit.py +1 -43
  28. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/machine_learning/predict.py +0 -25
  29. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/machine_learning/settings.py +0 -10
  30. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/machine_learning/validation.py +4 -37
  31. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/mlp_classification/fit.py +0 -1
  32. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/mlp_classification/predict.py +0 -6
  33. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/mlp_classification/settings.py +0 -3
  34. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/mlp_classification/validation.py +0 -8
  35. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/mlp_regression/fit.py +0 -1
  36. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/mlp_regression/predict.py +0 -6
  37. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/mlp_regression/settings.py +0 -3
  38. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/mlp_regression/validation.py +0 -9
  39. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/petrophysics/porosity.py +33 -35
  40. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/petrophysics/shale_volume.py +9 -9
  41. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/petrophysics/total_organic_carbon_content.py +3 -7
  42. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/petrophysics/water_saturation.py +9 -9
  43. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/preprocessing/data_management.py +3 -11
  44. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/preprocessing/data_processing.py +1 -2
  45. stoneforge-0.2.0b0/stoneforge/preprocessing/las2.py +370 -0
  46. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/pseudo_wells/lithology_generator.py +2 -9
  47. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/pseudo_wells/monte_carlo_simulations.py +30 -43
  48. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/pseudo_wells/pseudo_tools.py +1 -2
  49. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/rock_physics/elastic_constants.py +32 -37
  50. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/rock_physics/fluid_substitution.py +16 -16
  51. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/rock_physics/gem.py +20 -21
  52. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/rock_physics/inclusion.py +4 -9
  53. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/rock_physics/rock_physics_bounds.py +3 -3
  54. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/wavelets/butterworth.py +3 -5
  55. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/wavelets/ormsby.py +3 -3
  56. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/wavelets/ricker.py +3 -3
  57. stoneforge-0.1.6.dev1/CHANGELOG.txt +0 -6
  58. stoneforge-0.1.6.dev1/MANIFEST.in +0 -1
  59. stoneforge-0.1.6.dev1/PKG-INFO +0 -83
  60. stoneforge-0.1.6.dev1/setup.cfg +0 -4
  61. stoneforge-0.1.6.dev1/setup.py +0 -37
  62. stoneforge-0.1.6.dev1/stoneforge/tests/tests_ml/test_classification_core.py +0 -133
  63. stoneforge-0.1.6.dev1/stoneforge/tests/tests_ml/test_regression.py +0 -137
  64. stoneforge-0.1.6.dev1/stoneforge/tests/tests_ml/test_regression_core.py +0 -152
  65. stoneforge-0.1.6.dev1/stoneforge/tests/tests_porosity/parameters_p.py +0 -61
  66. stoneforge-0.1.6.dev1/stoneforge/tests/tests_porosity/test_porosity.py +0 -105
  67. stoneforge-0.1.6.dev1/stoneforge/tests/tests_rock_physics/test_elastic_constants.py +0 -0
  68. stoneforge-0.1.6.dev1/stoneforge/tests/tests_rock_physics/test_fluid_substitution.py +0 -40
  69. stoneforge-0.1.6.dev1/stoneforge/tests/tests_rock_physics/test_gem.py +0 -52
  70. stoneforge-0.1.6.dev1/stoneforge/tests/tests_water_saturation/parameters_ws.py +0 -40
  71. stoneforge-0.1.6.dev1/stoneforge/tests/tests_water_saturation/test_water_saturation.py +0 -54
  72. stoneforge-0.1.6.dev1/stoneforge.egg-info/SOURCES.txt +0 -82
  73. stoneforge-0.1.6.dev1/stoneforge.egg-info/dependency_links.txt +0 -1
  74. stoneforge-0.1.6.dev1/stoneforge.egg-info/requires.txt +0 -9
  75. stoneforge-0.1.6.dev1/stoneforge.egg-info/top_level.txt +0 -1
  76. stoneforge-0.1.6.dev1/test_carbonate.py +0 -735
  77. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/LICENSE +0 -0
  78. /stoneforge-0.1.6.dev1/stoneforge/tests/tests_ml/test_las_into_pandas.py → /stoneforge-0.2.0b0/stoneforge/data_management/file_import.py +0 -0
  79. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/data_replacement/__init__.py +0 -0
  80. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/datasets/__init__.py +0 -0
  81. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/datasets/data_info.txt +0 -0
  82. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/datasets/dataload.py +0 -0
  83. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/inversion/__init__.py +0 -0
  84. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/inversion/viability_study/__init__.py +0 -0
  85. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/machine_learning/__init__.py +0 -0
  86. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/machine_learning/evaluation.py +0 -0
  87. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/mlp_classification/__init__.py +0 -0
  88. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/mlp_classification/evaluation.py +0 -0
  89. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/mlp_regression/__init__.py +0 -0
  90. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/mlp_regression/evaluation.py +0 -0
  91. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/petrophysics/__init__.py +0 -0
  92. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/petrophysics/helpers.py +0 -0
  93. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/preprocessing/__init__.py +0 -0
  94. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/preprocessing/las_pandas.py +0 -0
  95. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/pseudo_wells/__init__.py +0 -0
  96. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/rock_physics/__init__.py +0 -0
  97. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/vis/__init__.py +0 -0
  98. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/vis/img.py +0 -0
  99. {stoneforge-0.1.6.dev1 → stoneforge-0.2.0b0}/stoneforge/wavelets/__init__.py +0 -0
@@ -0,0 +1,142 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ lib/
18
+ lib64/
19
+ parts/
20
+ sdist/
21
+ var/
22
+ wheels/
23
+ pip-wheel-metadata/
24
+ share/python-wheels/
25
+ *.egg-info/
26
+ .installed.cfg
27
+ *.egg
28
+ MANIFEST
29
+
30
+ # PyInstaller
31
+ # Usually these files are written by a python script from a template
32
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
33
+ *.manifest
34
+ *.spec
35
+
36
+ # Installer logs
37
+ pip-log.txt
38
+ pip-delete-this-directory.txt
39
+
40
+ # Unit test / coverage reports
41
+ htmlcov/
42
+ .tox/
43
+ .nox/
44
+ .coverage
45
+ .coverage.*
46
+ .cache
47
+ nosetests.xml
48
+ coverage.xml
49
+ *.cover
50
+ *.py,cover
51
+ .hypothesis/
52
+ .pytest_cache/
53
+
54
+ # Translations
55
+ *.mo
56
+ *.pot
57
+
58
+ # Django stuff:
59
+ *.log
60
+ local_settings.py
61
+ db.sqlite3
62
+ db.sqlite3-journal
63
+
64
+ # Flask stuff:
65
+ instance/
66
+ .webassets-cache
67
+
68
+ # Scrapy stuff:
69
+ .scrapy
70
+
71
+ # Sphinx documentation
72
+ docs/_build/
73
+
74
+ # PyBuilder
75
+ target/
76
+
77
+ # Jupyter Notebook
78
+ .ipynb_checkpoints
79
+
80
+ # IPython
81
+ profile_default/
82
+ ipython_config.py
83
+
84
+ # pyenv
85
+ .python-version
86
+
87
+ # pipenv
88
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
89
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
90
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
91
+ # install all needed dependencies.
92
+ #Pipfile.lock
93
+
94
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow
95
+ __pypackages__/
96
+
97
+ # Celery stuff
98
+ celerybeat-schedule
99
+ celerybeat.pid
100
+
101
+ # SageMath parsed files
102
+ *.sage.py
103
+
104
+ # Environments
105
+ .env
106
+ .venv
107
+ env/
108
+ venv/
109
+ ENV/
110
+ env.bak/
111
+ venv.bak/
112
+
113
+ # Spyder project settings
114
+ .spyderproject
115
+ .spyproject
116
+
117
+ # Rope project settings
118
+ .ropeproject
119
+
120
+ # mkdocs documentation
121
+ /site
122
+
123
+ # Local tests
124
+ .ml_project
125
+ .pkl
126
+
127
+ # Overall pickle files
128
+ *.pkl
129
+
130
+ # ml test
131
+ .mlprj
132
+ catboost_info
133
+
134
+ # mypy
135
+ .mypy_cache/
136
+ .dmypy.json
137
+ dmypy.json
138
+
139
+ # Pyre type checker
140
+ .pyre/
141
+
142
+ .vscode/
@@ -1,83 +1,85 @@
1
- Metadata-Version: 2.1
2
- Name: stoneforge
3
- Version: 0.1.6.dev1
4
- Summary: Geophysics equations, algorithms and methods
5
- Home-page: https://github.com/giecaruff/stoneforge
6
- Author: GIECAR - UFF
7
- License: MIT
8
- Requires-Python: >=3.10
9
- Description-Content-Type: text/markdown
10
- License-File: LICENSE
11
- Requires-Dist: numpy==1.26.4
12
- Requires-Dist: pytest==8.1.1
13
- Requires-Dist: scipy==1.13.0
14
- Requires-Dist: scikit-learn==1.4.2
15
- Requires-Dist: xgboost==2.0.3
16
- Requires-Dist: matplotlib==3.8.4
17
- Requires-Dist: pandas==2.2.2
18
- Requires-Dist: catboost==1.2.5
19
- Requires-Dist: lightgbm==4.3.0
20
-
21
- <p align="center">
22
- <img src="https://raw.githubusercontent.com/giecaruff/logos/main/APPY/stoneforge.png" width="400"/>
23
-
24
- <h2 align="center">Algorithms, methods and equations for geophysics in Python</h2>
25
-
26
- <p align="center">
27
- Part of the <strong>Appy</strong> project
28
- </p>
29
-
30
-
31
-
32
- <p align="center">
33
- <a href="https://giecaruff.github.io/sites/"><strong>Documentation</strong> (latest)</a> |
34
- <a href="http://gcr.sites.uff.br/"><strong>Institutional</strong> (GIECAR website)</a>
35
- </p>
36
-
37
-
38
- <p align="center">
39
- <a href="https://github.com/giecaruff/stoneforge/actions"><img src="https://github.com/giecaruff/stoneforge/actions/workflows/CI.yml/badge.svg" alt="Latest version on PyPI"/></a>
40
- <a href="https://badge.fury.io/py/stoneforge"><img src="https://badge.fury.io/py/stoneforge.svg" alt="PyPI version" height="20"></a>
41
- </p>
42
-
43
- <!--
44
- [![https://github.com/giecaruff/stoneforge/actions](https://github.com/giecaruff/stoneforge/actions/workflows/CI.yml/badge.svg)](https://github.com/giecaruff/stoneforge/actions)
45
- -->
46
-
47
-
48
- ## About
49
-
50
- The Stoneforge library is linked to the GIECAR laboratory at the Universidade Federal Fluminense (UFF) related to the Geology and Geophysics Departmnet <a href="http://geologiaegeofisica.sites.uff.br/"> (GGO)</a>, and its purpose is to teach and develop routines in Python to solve geological and geophysical problems.
51
-
52
-
53
- ## Installation and first steps
54
-
55
- To install stoneforge use the following syntax in your command interpreter environment:
56
-
57
- ```
58
- $pip install stoneforge
59
- ```
60
-
61
- and them verify the installation using the following command in Python:
62
-
63
- ```
64
- >>> import stoneforge
65
- ```
66
-
67
- ## Dataset
68
-
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
-
72
- Zihlman, F. N creator ; Oliver, H. L ; Geological Survey (U.S.)
73
- Reston, Va. : Denver, Colo : U.S. Dept. of the Interior, U.S. Geological Survey1999
74
-
75
- Our special thanks to the INDIANA UNIVERSITY for mantaining this dataset
76
-
77
-
78
- Change Log
79
- ==========
80
-
81
- 0.1.0 (29/01/2022)
82
- ------------------
83
- - First Release
1
+ Metadata-Version: 2.4
2
+ Name: stoneforge
3
+ Version: 0.2.0b0
4
+ Summary: Geophysics equations, algorithms and methods
5
+ Project-URL: homepage, https://github.com/giecaruff/stoneforge
6
+ 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
7
+ License: MIT
8
+ License-File: LICENSE
9
+ Classifier: Development Status :: 5 - Production/Stable
10
+ Classifier: Intended Audience :: Education
11
+ Classifier: License :: OSI Approved :: MIT License
12
+ Classifier: Operating System :: Microsoft :: Windows :: Windows 10
13
+ Classifier: Programming Language :: Python :: 3
14
+ Requires-Python: >=3.10
15
+ Requires-Dist: dlisio>=1.0.3
16
+ Requires-Dist: ipympl>=0.8.4
17
+ Requires-Dist: lightgbm>=4.5.0
18
+ Requires-Dist: matplotlib>=3.10.0
19
+ Requires-Dist: notebook>=6.4.0
20
+ Requires-Dist: numpy>=2.2.0
21
+ Requires-Dist: pandas>=2.2.2
22
+ Requires-Dist: pytest>=8.3.4
23
+ Requires-Dist: scikit-learn>=1.6.1
24
+ Requires-Dist: scipy>=1.14.1
25
+ Requires-Dist: xgboost>=2.1.4
26
+ Description-Content-Type: text/markdown
27
+
28
+ <p align="center">
29
+ <img src="https://raw.githubusercontent.com/giecaruff/logos/main/APPY/stoneforge.png" width="400"/>
30
+
31
+ <h2 align="center">Algorithms, methods and equations for geophysics in Python</h2>
32
+
33
+ <p align="center">
34
+ Part of the <strong>Appy</strong> project
35
+ </p>
36
+
37
+
38
+
39
+ <p align="center">
40
+ <a href="https://giecaruff.github.io/sites/"><strong>Documentation</strong> (latest)</a> |
41
+ <a href="http://gcr.sites.uff.br/"><strong>Institutional</strong> (GIECAR website)</a>
42
+ </p>
43
+
44
+
45
+ <p align="center">
46
+ <a href="https://github.com/giecaruff/stoneforge/actions"><img src="https://github.com/giecaruff/stoneforge/actions/workflows/CI.yml/badge.svg" alt="Latest version on PyPI"/></a>
47
+ <a href="https://badge.fury.io/py/stoneforge"><img src="https://badge.fury.io/py/stoneforge.svg" alt="PyPI version" height="20"></a>
48
+ </p>
49
+
50
+ <!--
51
+ [![https://github.com/giecaruff/stoneforge/actions](https://github.com/giecaruff/stoneforge/actions/workflows/CI.yml/badge.svg)](https://github.com/giecaruff/stoneforge/actions)
52
+ -->
53
+
54
+
55
+ ## About
56
+
57
+ The Stoneforge library is linked to the GIECAR laboratory at the Universidade Federal Fluminense (UFF) related to the Geology and Geophysics Departmnet <a href="http://geologiaegeofisica.sites.uff.br/"> (GGO)</a>, and its purpose is to teach and develop routines in Python to solve geological and geophysical problems.
58
+
59
+
60
+ ## Installation and first steps
61
+
62
+ To install stoneforge use the following syntax in your command interpreter environment:
63
+
64
+ ```
65
+ $pip install stoneforge
66
+ ```
67
+
68
+ and them verify the installation using the following command in Python:
69
+
70
+ ```
71
+ >>> import stoneforge
72
+ ```
73
+
74
+ ## Dataset
75
+
76
+ The stoneforge dataset comprises the following data:
77
+
78
+ 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>
79
+ [USGS Well Index](https://pubs.usgs.gov/of/1999/ofr-99-0015/Wells/WellIdx.htm)
80
+
81
+ 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>
82
+ [DSDP Leg 96 - Hole 616](https://mlp.ldeo.columbia.edu/data/dsdp/leg96/616/)
83
+
84
+ Zihlman, F. N creator ; Oliver, H. L ; Geological Survey (U.S.)
85
+ Reston, Va. : Denver, Colo : U.S. Dept. of the Interior, U.S. Geological Survey1999
@@ -46,10 +46,13 @@ and them verify the installation using the following command in Python:
46
46
 
47
47
  ## Dataset
48
48
 
49
- 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.
50
- Contains data sets from 11 wildcat wells drilled in the National Petroleum Reserve in Alaska (NPRA).
49
+ The stoneforge dataset comprises the following data:
51
50
 
52
- Zihlman, F. N creator ; Oliver, H. L ; Geological Survey (U.S.)
53
- Reston, Va. : Denver, Colo : U.S. Dept. of the Interior, U.S. Geological Survey1999
51
+ 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>
52
+ [USGS Well Index](https://pubs.usgs.gov/of/1999/ofr-99-0015/Wells/WellIdx.htm)
53
+
54
+ 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>
55
+ [DSDP Leg 96 - Hole 616](https://mlp.ldeo.columbia.edu/data/dsdp/leg96/616/)
54
56
 
55
- Our special thanks to the INDIANA UNIVERSITY for mantaining this dataset
57
+ Zihlman, F. N creator ; Oliver, H. L ; Geological Survey (U.S.)
58
+ Reston, Va. : Denver, Colo : U.S. Dept. of the Interior, U.S. Geological Survey1999
@@ -0,0 +1,95 @@
1
+ [project]
2
+ name = "stoneforge"
3
+ version = "0.2.0-beta.0"
4
+ authors = [
5
+ {name = "GIECAR - UFF"},
6
+ {name = "Wagner M. Lupinacci"},
7
+ {name = "Fernando Vizeu"},
8
+ {name = "Fábio Júnior D Fernandes"},
9
+ {name = "José A. V. Dias"},
10
+ {name = "Mario M. Ramos"},
11
+ {name = "Jordan S. Cuno"},
12
+ {name = "João Vitor A. Estrella"},
13
+ {name = "Ana Carolina"},
14
+ {name = "Breno D. Chrispim"},
15
+ ]
16
+ description = "Geophysics equations, algorithms and methods"
17
+ readme = "README.md"
18
+ requires-python = ">=3.10"
19
+ dependencies = [
20
+ "dlisio>=1.0.3",
21
+ "numpy>=2.2.0",
22
+ "pytest>=8.3.4",
23
+ "scipy>=1.14.1",
24
+ "scikit-learn>=1.6.1",
25
+ "xgboost>=2.1.4",
26
+ "matplotlib>=3.10.0",
27
+ "pandas>=2.2.2",
28
+ "lightgbm>=4.5.0",
29
+ "notebook>=6.4.0",
30
+ "ipympl>=0.8.4"
31
+ ]
32
+ classifiers = [
33
+ "Development Status :: 5 - Production/Stable",
34
+ "Intended Audience :: Education",
35
+ "Operating System :: Microsoft :: Windows :: Windows 10",
36
+ "License :: OSI Approved :: MIT License",
37
+ "Programming Language :: Python :: 3"
38
+ ]
39
+
40
+ [project.urls]
41
+ homepage = "https://github.com/giecaruff/stoneforge"
42
+
43
+ [project.license]
44
+ text = "MIT"
45
+
46
+
47
+ [tool.hatch.metadata]
48
+ allow-direct-references = true
49
+
50
+ [build-system]
51
+ requires = ["hatchling"]
52
+ build-backend = "hatchling.build"
53
+
54
+ [dependency-groups]
55
+ dev = [
56
+ "pytest>=8.3.5",
57
+ "pytest-cov>=6.1.1",
58
+ "ruff>=0.11.8",
59
+ "sphinx>=8.1.3",
60
+ "sphinx-rtd-theme>=3.0.2",
61
+ ]
62
+
63
+ [tool.hatch.build]
64
+ include = ["stoneforge/**"] # Include the main package
65
+ exclude = ["tests", "docs"] # Exclude unnecessary files
66
+
67
+ [tool.uv]
68
+ package = true
69
+
70
+
71
+ [tool.ruff]
72
+ # Set the maximum line length to 79.
73
+ line-length = 79
74
+ indent-width = 4
75
+
76
+ [tool.ruff.lint]
77
+ extend-select = [
78
+ "D", # pydocstyle
79
+ "NPY", # numPy specific rules npy
80
+ "PD", # Pandas-vet
81
+ "N", # PEP8
82
+ "PL", # Pylint
83
+ ]
84
+
85
+ [tool.ruff.lint.pydocstyle]
86
+ convention = "google"
87
+
88
+ [tool.pytest.ini_options]
89
+ pythonpath = "stoneforge"
90
+ minversion = "6.0"
91
+ addopts = "-ra -q"
92
+ testpaths = [
93
+ "tests",
94
+ ]
95
+ norecursedirs = [".venv", ".git", "__pycache__"]
@@ -6,4 +6,8 @@ from . import preprocessing # noqa: F401
6
6
  from . import rock_physics # noqa: F401
7
7
 
8
8
  from . import inversion # noqa: F401
9
- from . import wavelets # noqa: F401
9
+ from . import wavelets # noqa: F401
10
+
11
+ __version__ = "0.1.6-beta.2"
12
+ __author__ = "GIECAR - UFF"
13
+ __description__ = "Geophysics equations, algorithms and methods"
@@ -0,0 +1 @@
1
+ from . import las_import
@@ -93,12 +93,12 @@ def read(lasfile):
93
93
  lasfile : string or file-like object
94
94
  The path of the file to read or an existing file-like object to read from.
95
95
 
96
- Returns
96
+ Returns:
97
97
  -------
98
98
  dict
99
99
  A dictionary containing the sections of the LAS file.
100
100
 
101
- Notes
101
+ Notes:
102
102
  -----
103
103
  The structure of the returned dictionary is specified below.
104
104
  The dictionary keys are the section names: 'version', 'well', 'parameter', 'curve', 'other', 'data'.
@@ -113,12 +113,12 @@ def read(lasfile):
113
113
  'description'.
114
114
  For information on the structure of a LAS 2.0 line, please also refer to its specification [1]_.
115
115
 
116
- References
116
+ References:
117
117
  ----------
118
118
  .. [1] LAS 2.0 standard - http://www.cwls.org/wp-content/uploads/2017/02/Las2_Update_Feb2017.pdf -
119
119
  Retrieved August 14, 2019
120
120
 
121
- Examples
121
+ Examples:
122
122
  --------
123
123
  The examples below contains ficticious data.
124
124
  In the first example we see the version information for the file.
@@ -234,8 +234,7 @@ def _section_format_getter(section):
234
234
  maxwidths = dict.fromkeys(_line_elements, 0)
235
235
  for line in section:
236
236
  for key in line:
237
- if len(line[key]) > maxwidths[key]:
238
- maxwidths[key] = len(line[key])
237
+ maxwidths[key] = max(maxwidths[key], len(line[key]))
239
238
 
240
239
  return _default_line_format_format.format(**maxwidths)
241
240
 
@@ -275,7 +274,7 @@ def write(lasfile, data, section_titles=None, section_formats=None):
275
274
  A dictionary where the key is the section name and value is the format string that will be used to format the
276
275
  lines in the respective section. For further information please refer to the Notes section.
277
276
 
278
- Notes
277
+ Notes:
279
278
  -----
280
279
  This function does not guarantee that the output file will follow the LAS 2.0 standard. If mandatory sections or
281
280
  lines are missing from the inputs, the file will be written nevertheless. The only required field for the function
@@ -299,16 +298,16 @@ def write(lasfile, data, section_titles=None, section_formats=None):
299
298
  logs, "{:>8.4f} {:>8.4f} {:>8.4f}" is the default format.
300
299
  Each section format can be individually omitted.
301
300
 
302
- See Also
301
+ See Also:
303
302
  --------
304
303
  read : Reads the contents of a LAS 2.0 file.
305
304
 
306
- References
305
+ References:
307
306
  ----------
308
307
  .. [1] LAS 2.0 standard - http://www.cwls.org/wp-content/uploads/2017/02/Las2_Update_Feb2017.pdf -
309
308
  Retrieved August 14, 2019
310
309
 
311
- Examples
310
+ Examples:
312
311
  --------
313
312
  Minimal example of usage. This would not produce a valid LAS 2.0 file since it is missing many of the mandatory
314
313
  sections and lines.
@@ -0,0 +1,19 @@
1
+ import os
2
+
3
+ def import_folder(self,ext = '.las'):
4
+
5
+ # ------------------------------------ #
6
+ # all paths
7
+ files = []
8
+ # r=root, d=directories, f = files
9
+ for r, _, f in os.walk(self.data_path):
10
+ for file in f:
11
+ if file.endswith(ext):
12
+ files.append(os.path.join(r, file))
13
+
14
+ c_resumo = self.data_path+'\\'
15
+
16
+
17
+ for i in files:
18
+ n1 = i.replace(c_resumo, '')
19
+ self.well_names_paths[n1.replace(ext,'')] = i
@@ -1,5 +1,5 @@
1
1
  import numpy as np
2
- from sklearn.metrics import mean_absolute_error, r2_score
2
+ from sklearn.metrics import r2_score
3
3
  #from sklearn.metrics import mean_absolute_percentage_error
4
4
  #import pickle mean_absolute_error
5
5
  import json
@@ -1,22 +1,18 @@
1
- import numpy as np
2
1
  import numpy.typing as npt
3
2
  import pickle
4
3
  import json
5
- import warnings
6
4
  import os
7
5
 
8
6
  from sklearn.tree import DecisionTreeRegressor
9
7
  from sklearn.svm import SVR
10
- from sklearn.linear_model import LogisticRegression
11
8
  from sklearn.ensemble import RandomForestRegressor
12
9
  import lightgbm as lgb
13
- from catboost.core import CatBoostRegressor
10
+ #from catboost.core import CatBoostRegressor
14
11
  from sklearn.model_selection import GridSearchCV
15
12
  from sklearn.preprocessing import PolynomialFeatures
16
13
  from sklearn.linear_model import LinearRegression
17
14
  from xgboost import XGBRegressor
18
15
  from sklearn.preprocessing import StandardScaler
19
- from sklearn.preprocessing import LabelEncoder
20
16
  from sklearn.preprocessing import MinMaxScaler
21
17
 
22
18
  LR_METHODS = [
@@ -1,6 +1,4 @@
1
1
  import numpy as np
2
- import matplotlib.pyplot as plt
3
- import pandas as pd
4
2
  import shutil
5
3
  import os
6
4
 
@@ -1,19 +1,10 @@
1
1
  import numpy as np
2
2
  import numpy.typing as npt
3
3
  import pickle
4
- import warnings
5
- import json
6
4
  import os
7
5
 
8
- from sklearn.linear_model import LinearRegression
9
- from sklearn.linear_model import LogisticRegression
10
- from sklearn.svm import SVR
11
- from sklearn.tree import DecisionTreeRegressor
12
- from sklearn.ensemble import RandomForestRegressor
13
6
  from sklearn.preprocessing import PolynomialFeatures
14
- from xgboost import XGBRegressor
15
- import lightgbm as lgb
16
- from catboost.core import CatBoostRegressor
7
+ #from catboost.core import CatBoostRegressor
17
8
 
18
9
  "linear_regression_simple",
19
10
  "linear_regression_polynomial",
@@ -1,8 +1,5 @@
1
- import numpy as np
2
- import numpy.typing as npt
3
1
  import json
4
2
  import pickle
5
- import warnings
6
3
  import os
7
4
 
8
5
  # TODO: if method is not listed do not execute and gives error to the user
@@ -15,7 +12,7 @@ LR_METHODS = [
15
12
  "random_forest_regression",
16
13
  'lightgbm_regression',
17
14
  'xgboost_regression',
18
- 'catboost_regression'
15
+ #'catboost_regression'
19
16
  ]
20
17
 
21
18
  def methods():
@@ -33,7 +30,7 @@ def settings(method: str = "linear_regression_simple", path = ".", verbose = Fal
33
30
  if method == "linear_regression_simple" or method =="linear_regression_polynomial":
34
31
  new_settings = {}
35
32
  overall_settings = {}
36
- if not 'degree' in kwargs:
33
+ if 'degree' not in kwargs:
37
34
 
38
35
  #if path:
39
36
  # saves({'degree':1}, os.path.join(path, 'polinomial'))