README.md

May 10, 2024 ยท View on GitHub

๐Ÿ“Œ Description

full open source workflow for generating a geostatistics block model
this script integrates multiple generic tools and modules in a single graphical desktop application
the target audience is academic use by geostatistic professionals or industrial proof of concepts projects
its not suited for production use

๐Ÿ“ธ Screenshot

๐Ÿงฉ Implementation

The main implementation is a windows batch script that calls secondary processes for each step.
It can be adapted to run in other platforms since the provided tools inherit the portability of Python.
This geostatistics estimation process consists of the following steps:

  1. Data and parameter input
  2. Hole desurvey (runlength)
  3. Sample database postprocess
  4. Grid creation
  5. Flag litho solids
  6. Multivariate grade estimation
  7. Estimation Postprocess
  8. QA checks
  9. Reserve Report

๐Ÿ“ฆ Installation

In case a python distribution is not already available, the recomended distribution is Winpython 3.11+.
Download the installer from the link above.
Extract into this windows special folder:
%APPDATA%
The correct path to the python executable should be similar to this example:
C:\Users\user\AppData\Roaming\WPy64-31131\python-3.11.3.amd64\python.exe
Download this entire repository as zip and extract to a valid folder.
Windows blocks executables in protected folders (and subfolders) such as:

  • Desktop
  • Downloads
  • Documents
  • OneDrive Synced folders

Also, its not recomended to use the winpython install folder to save this script.
So you may need to create a new valid folder directly in the C: drive. Ex.:
c:\scripts\geostat

๐ŸŽฌ Run

Double click the main script on Windows Explorer:
bm_geostat_process.bat
The graphical interface should appear.
Optionally, it can be called from the command line. A proper command line can be generated by using the menu File โž” Copy command line on the graphical interface.

๐Ÿ“ Parameters

nameoptionaldescription
lito_meshโŽzero or more vtk format solid meshes defining the lithology volumes
db_headerโŽheader of hole database in csv format (x,y,z)
db_surveyโŽsurvey of hole database in csv format (azimuth, dip)
db_assayโŽassay of hole database in csv format (from, to)
variablesโŽselect which fields will be estimated as grades
regression_enginethe estimation can be adapted to use different engines
scikitopen source scikit linear regression
pykrigeopen source pykrige native python krigging
isatis_isapyproprietary native python krigging from Geovariances
vulcan_djbmestproprietary command line krigging from Maptek
output_gridโŽpath to save the block model in vtk format
output_reservesโ˜‘๏ธpath to save the reserves report in csv format
output_heatmapโ˜‘๏ธpath to save the a heatmap chart of the result in pdf format

๐Ÿ““ Notes

๐Ÿ“š Examples

๐Ÿงฐ Tools

  • bm_geostat_process.bat: main script
  • bm_fivenum_weight.py: descriptive statistics
  • bm_pk_krig3d.py: krigging regressor
  • db_pk_krig3d.py: helper script for kirring regressor
  • db_assay_runlength.py: helper script for sample compositing
  • db_create_from_to.py: helper script for sample composition
  • db_desurvey_straight.py: sample compositing from collar,survey,assay
  • db_info.py: reports generic info about a structured data file
  • db_linear_model.py: linear regressor
  • db_pandas_evaluate.py: run generic calculations on structured data
  • db_voxel_view.py: create heatmap chart from 3d grids
  • vtk_evaluate_array.py: run generic calculations on vtk format files
  • vtk_flag_regions.py: create or flag a grid using solids
  • vtk_mine.py: reserve depletion calculation
  • vtk_reserves.py: reserves report

๐Ÿ™‹ Support

Any question or problem contact:

  • paulo.ernesto

๐Ÿ’Ž License

Apache 2.0
Copyright vale_logo_only Vale 2023