This package contains an implementation of the Cole-Cole decomposition (CCD) scheme, which is used in near-surface geophysical applications to describe electrical polarization signatures measured for frequencies in the mHz range up to multiple kHz.
In the CCD, spectral induced polarization (SIP) signatures are described by a superposition of elementary polarization terms, which are suitably distributed to cover at least the frequency range spanned by the measurement data.
For more information, please refer to the homepage of the project: https://m-weigand.github.io/ccd_tools
Parts of this code were described in two open-access publications:
1. Weigand and Kemna, 2016, Computers and Geosciences
2. Weigand and Kemna, 2016, Geophysical Journal International
Please refer to the Changelog.md
- Online version of the docs
- The sphinx-generated documentation is located in docs/doc
The following functionality is planned to be implemented in the near future (2020+). After that, new feature will probably only be implemented when required. For additional todo-items, please refer to the issues of this project and to the file TODO.
- improve testing framework for ccd_time
- implement Cole-Cole decomposition (c less than 1) also for conductivity formulation
- improve Jupyter integration and provide examples
- proof-of-concept web interface
- implement the addition of a high-frequency EM-Cole-Cole term, decoupled from the other polarization terms
Detailed installation guide for Windows and Linux.
Stable versions are released to pipy and can be installed using:
pip install ccd_tools
Install the source package using setuptools:
python setup.py build
python setup.py install
The package can also be installed to a user-defined directory:
export PYTHONUSERBASE=$HOME/inst/pip_installs
export PYTHONPATH=$HOME/inst/pip_installs/lib/python3.4/\
site-packages/:$PYTHONPATH
python setup.py install --user
export PATH=$HOME/inst/pip_installs/bin:$PATH
For developers:
python seutp.py develop --user
To build the documentation:
cd docs/doc
make html
setuptools developer guide:
https://pythonhosted.org/setuptools/setuptools.html
We recommend installing and using Anaconda. Anaconda conveniently installs Python, the Jupyter Notebook, and all needed packages for ccd-tools.
Use the following installation steps:
-
Download Anaconda with Python 3 version (currently Python 3.6).
-
Install the version of Anaconda which you downloaded, following the instr uctions on the download page.
-
To install ccd-tools, open the Anaconda prompt and use the following command:
pip install ccd_tools
-
To run the Notebook within the Anaconda prompt, navigate to the notebook directory and use:
jupyter notebook
This will print some information about the notebook server in your terminal, including the URL of the web application (by default, http://localhost:8888). It will then open your default web browser to this URL. When the notebook opens in your browser, you will see the Notebook Dashboard, including a list of the notebooks, files, and subdirectories of the directory where the notebook server was started.
If Jupyter Notebooks are used with Virtualenvm, the Jupyter Widget JavaScript library needs to be installed and enabled, using the following commands:
pip install ipywidgets
jupyter nbextension enable --py widgetsnbextension --sys-prefix
Dependencies for the ccd tools are listed in the file requirements.txt. When pip is used, all requirements can be installed using:
pip install -r requirements.txt
Additional requirements to build the documentation can be found in the file requirements_doc.txt, and can be installed using:
pip install -r requirements_doc.txt
On Debian Linux systems, the following Python packages are required to run the Cole-Cole decomposition routines:
numpy
scipy
matplotlib
geccoinv
sip_models
In order to build the documentation, the additional packages are required: ::
sphinx
Under Debian-related Linux systems, these packages can be installed using the commands:
sudo apt-get install texlive-latex-base texlive-latex-extra\
texlive-fonts-recommended texlive-fonts-extra dvipng
sudo apt-get install python2.7-numpy python-matplotlib python2.7-scipy\
python-setuptools python-nose python-tornado
In order to build the documentation, the following sphinx-related packages must be installed:
sudo apt-get install python-sphinx
sudo apt-get install python-sphinx python-sphinxcontrib.blockdiag
pip install sphinxcontrib-programoutput
geccoinv and sip_models have to be installed according to their own documentation.
Under Windows, the program was tested using the 'pythonxy' distribution (https://code.google.com/p/pythonxy/).
This program is licenced under the GPL3 or later licence. See LICENCE.txt and headers of individual files for more information.
Some third-party packages used for the homepage (gh-pages branch) have individual licences.