Package: ela
Exploratory Lithology AnalysismastertestingAnalysing 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 lithologiesapply supervised machine learning to interpolate lithologies across a
3D gridvisualise interactively the 3D dataAn introductorysample
workflowgives an overview of some of these capabilities.LicenseMIT (seeLicense.txt)DocumentationThedocumentationincludes the API
documentation.Some notebook tutorials are hostedin a separate github repository
pyela-doc.
pyela-doc includes quick setup instructions with conda.Get a quick tour ofsome legacy
visualisations.
Visualisation features are currently being reengineered.InstallationThe quickest way with conda. We recommend installing conda packages
rather than pip packages whereever possible.on Linux:wgethttps://raw.githubusercontent.com/csiro-hydrogeology/pyela/testing/configs/ela_environment.ymlmy_env_name=ELA# my_env_name=elausercondaenvcreate-n$my_env_name-f./ela_environment.ymlpython=3.7condaactivate$my_env_nameThis should be all to get a working environment. If you want to use
‘ela’ from jupyter lab:condainstall--name${my_env_name}jupyterlabipywidgetsjupyterjupyter-labextensioninstall@jupyter-widgets/jupyterlab-managerpython-mipykernelinstall--user--name${my_env_name}--display-name"Py3 ELA"Windows:callC:\Users\xxxyyy\AppData\Local\Continuum\anaconda3\Scripts\activate.batREM curl should come with anaconda3. Perhaps not with miniconda though.where curlcdc:\tmp
curl -o ela_environment.yml https://raw.githubusercontent.com/csiro-hydrogeology/pyela/testing/configs/ela_environment.ymlsetmy_env_name=ELA
conda env create -n%my_env_name%-f ela_environment.yml python=3.7
conda activate%my_env_name%This should be all to get a working environment. If you want to use 'ela' from jupyter lab:conda install -c conda-forge --name%my_env_name%jupyterlab ipywidgets jupyter
jupyter-labextension install @jupyter-widgets/jupyterlab-manager
python -m ipykernel install --user --name%my_env_name%--display-name"Py3 ELA"Troubleshootingpip packages specified from theenvironment.yamlfiles may have not
installed (under investigation). Check that pvgeo and “our” packages are
installed e.g.conda activate%my_env_name%conda list|grep pvgeoif not present:REM make sure you have git in the PATH e.g.setPATH=C:\Users\per202\AppData\Local\Atlassian\SourceTree\git_local\mingw32\bin\;%PATH%where git

conda activate%my_env_name%pip install --no-deps pvgeo
pip install -e git+https://github.com/jmp75/striplog@master#egg=striplog
pip install --no-deps -e git+https://github.com/jmp75/pyela@master#egg=elaManual installationAs of January 2019ela is on pypi.
Whilepip install elamight work on some computers, it isunlikely
that all python geospatial dependencies will install.We highly
recommend you set up a conda environment with all dependent packagesprior to installing ela with pip or from source.‘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.Debian packages for spatial projectionscartopyand possibly other python packages requireproj4version
4.9+ to be installed (libproj-dev). If your debian/ubuntu repo does not
suffice (older versions) you may try:sudoapt-getinstall-ylibc6wgethttp://en.archive.ubuntu.com/ubuntu/pool/universe/p/proj/proj-data_4.9.3-2_all.debsudodpkg-iproj-data_4.9.3-2_all.debwgethttp://en.archive.ubuntu.com/ubuntu/pool/universe/p/proj/libproj12_4.9.3-2_amd64.debsudodpkg-ilibproj12_4.9.3-2_amd64.debwgethttp://en.archive.ubuntu.com/ubuntu/pool/universe/p/proj/proj-bin_4.9.3-2_amd64.debsudodpkg-iproj-bin_4.9.3-2_amd64.debwgethttp://en.archive.ubuntu.com/ubuntu/pool/universe/p/proj/libproj9_4.9.2-2_amd64.debsudodpkg-ilibproj9_4.9.2-2_amd64.debwgethttp://en.archive.ubuntu.com/ubuntu/pool/universe/p/proj/libproj-dev_4.9.3-2_amd64.debsudodpkg-ilibproj-dev_4.9.3-2_amd64.debInstallation of python packages dependenciesWe recommend installingAnacondato install
dependencies. Note that I recommend tonotlet anaconda change your
startup file and change thePATHenvironment. To activate Anaconda
you first need:source ~/anaconda3/bin/activate. Then choose a conda
environment name.Optionally, if your anaconda installation is a bit dated, you may want
to doconda update-nbase condaandconda update-nbaseanaconda-navigatorTo create the conda environment for ela on Linux:# source ~/anaconda3/bin/activatemy_env_name=ELAcondacreate--name${my_env_name}python=3.7condainstall--name${my_env_name}rasteriocartopygeopandaspandasnltkscikit-learnscikit-imagematplotlibvtkcondaactivate${my_env_name}On Windows, using the DOS CMD prompt, assuming you installed Anaconda in
user mode.call%userprofile%\AppData\Local\Continuum\anaconda3\Scripts\activate.batsetmy_env_name=ELA
conda create --name%my_env_name%python=3.7REM if using conda activate  %my_env_name%  I seem to loose conda from the command line, so:conda install --name%my_env_name%conda
conda install --name%my_env_name%rasterio cartopy geopandas pandas nltk scikit-learn scikit-image matplotlib vtk
conda activate%my_env_name%At this point we have installed all the python dependencies ela needs
that are available viaconda.As of writing (2019-08) conda does not have pyqt5, and no suitable
version of mayavi for python3. We resort to usepip. You may want to
do first:pipinstall--upgradepipFor Python 3.x one needs to install pyqt5 for mayavi, as perthese
instructions.
As of Jan 2019 be aware that there is aknown issue in mayavi visual
rendering with pyqt5 as a backend on
Linuxand ‘ela’ is
affected by this. Nevertheless this is not a commplete blocker for most
‘ela’ features so installation instructions are kept here.pipsearchpyqt5|sort-gpipsearchmayavipipinstallpyqt5pipinstallmayaviFor users without admin rights，condainstallpyqt5pipinstallmayavi--userAt this point all mandatory dependencies for ‘ela’ are installed.Installing ELAThere are three options to access ela:use the latest available on pip,clone and install withsetup.pydirect import of the package directory (this is done at runtime from
e.g. a notebook)pipsearchelapipinstallelaAlternatively, from source withsetup.pypipinstall-rrequirements.txtpythonsetup.pyinstallOptional dependenciesAs of 2019-05 you can find new features using deep learning for
classification in the submoduleela.experiment. You will need the
additional dependencies:condainstall--name${my_env_name}gensimtensorflowkeraspipinstallwordcloudIf reading xls files using pandas, need pkgxlrdwith e.g.conda install xlrdusing Jupyter-labYou may use ela as you prefer; we recomment using “Jupyter Lab” to write
notebooks. See theJupyter lab
docfor official
information.The following should be enough otherwise to use ‘ela’Linux:my_env_name=ELAcondainstall--name${my_env_name}jupyterlabipywidgetsjupyterjupyter-labextensioninstall@jupyter-widgets/jupyterlab-managerpython-mipykernelinstall--user--name${my_env_name}--display-name"Py3 ELA"Windows:setmy_env_name=ELA
conda install --name%my_env_name%jupyterlab ipywidgets jupyter
jupyter-labextension install @jupyter-widgets/jupyterlab-manager
python -m ipykernel install --user --name%my_env_name%--display-name"Py3 ELA"Related Geoscience packages‘ela’ aims to complement other Python packages for geoscience, in
particular for handling bore data . It already depends on the package‘striplog’and is
likely to depend on‘lasio’in the future.You should also check the repositoryhydrogeol_utilsKnown issues3D interactive visualisation - Using mayavi 4.6+ on python 3.6+ may bevisually buggyon
Linux. This appears to be a low level issue running on laptop with dual
Intel/NVIDIA Graphic cards.TroubleshootingIf in a conda environment trying to usepipyou get:ModuleNotFoundError: No module named 'pip._internal'consider:curlhttps://bootstrap.pypa.io/get-pip.py-oget-pip.pypython3get-pip.py--force-reinstall