Analysing driller’s logs is a tedious and repetitive task in many groundwater modelling projects. Automating the process of extracting useful information from driller's logs allows spending less time on manual data wrangling, more time on its interpretation, and enhances the reproducibility of the analysis.
This package combines features to:
- perform natural language processing on lithology descriptions in the logs, to detect primary and secondary lithologies
- apply supervised machine learning to interpolate lithologies across a 3D grid
- visualise interactively the 3D data
MIT (see License.txt)
Tutorials are hosted in a separate github repo
Get a quick tour of the visualisation part of 'ela'.
'ela' relies on several external packages, and some can be fiddly to install depending on the version of Python and these external packages. This section thus has fairly prescriptive instructions, given in the hope of limiting the risk of issues.
The first part of this section is focused on Linux.
cartopy
and possibly other python packages require proj4
version 4.9+ to be installed (libproj-dev). If your debian/ubuntu repo does not suffice (older versions) you may try:
sudo apt-get install -y libc6
wget http://en.archive.ubuntu.com/ubuntu/pool/universe/p/proj/proj-data_4.9.3-2_all.deb
sudo dpkg -i proj-data_4.9.3-2_all.deb
wget http://en.archive.ubuntu.com/ubuntu/pool/universe/p/proj/libproj12_4.9.3-2_amd64.deb
sudo dpkg -i libproj12_4.9.3-2_amd64.deb
wget http://en.archive.ubuntu.com/ubuntu/pool/universe/p/proj/proj-bin_4.9.3-2_amd64.deb
sudo dpkg -i proj-bin_4.9.3-2_amd64.deb
wget http://en.archive.ubuntu.com/ubuntu/pool/universe/p/proj/libproj9_4.9.2-2_amd64.deb
sudo dpkg -i libproj9_4.9.2-2_amd64.deb
wget http://en.archive.ubuntu.com/ubuntu/pool/universe/p/proj/libproj-dev_4.9.3-2_amd64.deb
sudo dpkg -i libproj-dev_4.9.3-2_amd64.deb
You may want to install Anaconda to install dependencies. Note that I recommend to not let anaconda change your startup file and change the PATH
environment. To activate Anaconda you first need: source ~/anaconda3/bin/activate
. Then choose a conda environment name.
Optionally you may want to do conda update -n base conda
and conda update -n base anaconda-navigator
my_env_name=ELA
conda create --name ${my_env_name} python=3.6
conda activate ${my_env_name}
conda install --name ${my_env_name} rasterio cartopy geopandas pandas nltk scikit-learn scikit-image matplotlib vtk
As of writing (2018-08) conda does not have pyqt5, and a suitable version of mayavi for python3. We use pip
pip install --upgrade pip
For Python 3.x one needs to install pyqt5 for mayavi, as per these instructions. As of Jan 2019 be aware that there is a known issue in mayavi visual rendering with pyqt5 as a backend and 'ela' is affected by this. Nevertheless this is not a commplete blocker for most 'ela' features so installation instructions are kept here.
pip search pyqt5 | sort -g
pip search mayavi
pip install pyqt5
pip install mayavi
Placeholder section. As of Sept 2018 it may be possible to install upon Python 3.6+ with Anaconda 3, and then including mayavi from pip.
As of January 2019 ela is on pypi
pip search ela
pip install ela
Alternatively, from source:
pip install -r requirements.txt
python setup.py install
'ela' aims to complement other Python packages for geoscience, in particular for handling bore data . It depends on the package 'striplog' and is likely to depend on 'lasio' in the future.
3D interactive visualisation: As of 2018-08, using mayavi 4.6 on python 3.6 may be visually buggy, though users reported success on 2019-03. Python 2.7 with mayavi 4.5 via Anaconda2 is known to work.
If in a conda environment trying to use pip
you get:
ModuleNotFoundError: No module named 'pip._internal'
consider:
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py --force-reinstall