Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 9 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.5%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
machine learning research in water exploration
Basic Info
- Host: GitHub
- Owner: earthai-tech
- License: bsd-3-clause
- Language: Python
- Default Branch: master
- Homepage: https://watex.readthedocs.io
- Size: 139 MB
Statistics
- Stars: 15
- Watchers: 1
- Forks: 5
- Open Issues: 1
- Releases: 22
Topics
Metadata Files
README.md
WATex: machine learning research in water exploration
Life is much better with potable water
Overview
WATex is a Python-based library primarily designed for Groundwater Exploration (GWE). It introduces innovative strategies aimed at minimizing losses encountered during hydro-geophysical exploration projects. Integrating methods from Direct-current (DC) resistivity—including Electrical Profiling (ERP) and Vertical Electrical Sounding (VES)—alongside short-period electromagnetic (EM), geology, and hydrogeology, WATex leverages Machine Learning techniques to enhance exploration outcomes. Key features include: - Automating the identification of optimal drilling locations to reduce the incidence of unsuccessful drillings and unsustainable boreholes. - Predicting well water content, including groundwater flow rates and water inrush levels. - Restoring EM signal integrity in areas plagued by significant interference noise. - And more.
Documentation
For comprehensive information and additional resources, visit the WATex library website. To quickly navigate through the software's API reference, access the API reference page. Explore the examples section for a preview of potential results. Additionally, a detailed step-by-step guide is provided to tackle real-world engineering challenges, such as computing DC parameters and predicting the k-parameter.
License
WATex is distributed under the BSD-3-Clause License.
Installation
WATex is best supported on Python 3.9 or later.
From pip
Install WATex directly from the Python Package Index (PyPI) with the following command:
bash
pip install watex
From conda
For users who prefer the conda ecosystem, WATex can be installed from the conda-forge distribution channel:
bash
conda install -c conda-forge watex
From Source
To access the most current development version of the code, installation from the source is recommended. Use the following commands to clone the repository and install:
bash
git clone https://github.com/WEgeophysics/watex.git
Additional Information
For a comprehensive installation guide, including how to manage dependencies effectively, please refer to our Installation Guide.
Some Demos
1. Drilling Location Auto-detection
In this demonstration, we showcase the process of automatically detecting optimal locations
for drilling by generating 50 stations of synthetic ERP resistivity data. The data is characterized
by minimum and maximum resistivity values set at 10 ohm.m and 10,000 ohm.m, respectively:
python
import watex as wx
data = wx.make_erp(n_stations=50, max_rho=1e4, min_rho=10., as_frame=True, seed=42)
Naive Auto-detection (NAD)
The NAD method identifies a suitable drilling location without considering any restrictions or constraints that might be present at the survey site during Groundwater Exploration (GWE). A location is deemed "suitable" if it is expected to yield a flow rate of at least 1m³/hr:
python
from watex.methods import ResistivityProfiling
robj = ResistivityProfiling(auto=True).fit(data)
robj.sves_
Out[1]: 'S025'
The algorithm proposes station S25 as the optimal drilling location, which is stored
in the sves_ attribute.
Auto-detection with Constraints (ADC)
In contrast, the ADC method accounts for constraints observed in the survey area during
the Drilling Water Supply Chain (DWSC). These constraints are often encountered in real-world
scenarios. For example, a station near a heritage site may be excluded due to drilling restrictions.
When multiple constraints exist, they should be compiled into a dictionary detailing the reasons for
each and passed to the constraints parameter. This ensures that these stations are disregarded during
the automatic detection process:
```python restrictions = { 'S10': 'Household waste site, avoid contamination',
'S27': 'Municipality site, no authorization for drilling',
'S29': 'Heritage site, drilling prohibited',
'S42': 'Anthropic polluted place, potential future contamination risk',
'S46': 'Marsh zone, likely borehole dry-up during dry season'
} robj = ResistivityProfiling(constraints=restrictions, auto=True).fit(data) robj.sves_
Output: 'S033'
``
This method revises the suitable drilling location to stationS33`, taking into account
the specified constraints. Should a station be near a restricted area, the system raises a warning
to advise against risking drilling operations at that location.
Important Reminder: Prior to initiating drilling operations, ensure a DC-sounding (VES) is conducted at the identified location. WATex calculates an additional parameter known as ohmic-area (ohmS) to evaluate the presence and effectiveness of fracture zones at that site. For further information, refer to the WATex documentation.
2. EM Tensor Recovery and Analysis
This demonstration outlines the process of recovering and analyzing electromagnetic (EM) tensor data. We begin by fetching 20 audio-frequency magnetotelluric (AMT) data points stored as EDI objects from the Huayuan area in Hunan Province, China, known for multiple interference noises:
python
import watex as wx
e = wx.fetch_data('huayuan', samples=20, key='noised') # Returns an EM object
edi_data = e.data # Retrieve the array of EDI objects
Before restoring EM data, it's crucial to assess the data quality and evaluate the confidence intervals to ensure reliability at each station. Typically, this quality control (QC) analysis focuses on errors within the resistivity tensor:
python
from watex.methods import EMAP
po = EMAP().fit(edi_data) # Creates an EM Array Profiling processing object
r = po.qc(tol=0.2, return_ratio=True) # Good data deemed from 80% significance level
r
Out[9]: 0.95
To visualize the confidence intervals at the 20 AMT stations:
python
from watex.utils import plot_confidence_in
plot_confidence_in(edi_data)
For a more thorough quality control, we use the qc function to filter out invalid data and
interpolate frequencies. To determine the number of frequencies dropped during this analysis:
python
from watex.utils import qc
QCo = qc(edi_data, tol=.2, return_qco=True) # Returns the quality control object
len(e.emo.freqs_) # Original number of frequencies in noisy data
Out[10]: 56
len(QCo.freqs_) # Number of frequencies in valid data after QC
Out[11]: 53
QCo.invalid_freqs_ # Frequencies discarded based on the tolerance parameter
Out[12]: array([81920.0, 48.53, 5.625]) # 81920.0, 48.53, and 5.625 Hz
The plot_confidence_in function is crucial for assessing whether tensor values for these
frequencies are recoverable at each station. It's important to note that data is considered
unrecoverable if the confidence level falls below 50%.
Should the initial QC rate of 95% not meet our standards, we can proceed to restore the
impedance tensor Z:
python
Z = po.zrestore() # Returns 3D tensors for XX, XY, YX, and YY components
Evaluating the new QC ratio post-restoration confirms the effectiveness of our recovery efforts:
python
r, = wx.qc(Z)
r
Out[13]: 1.0
As observed, the tensor restoration achieves a 100% success rate across all stations, significantly improving upon the initial analysis. To visualize this enhancement in confidence levels:
python
plot_confidence_in(Z)
For further exploration on EM tensor restoration, phase tensor analysis, strike plotting, data filtering, and more, users are encouraged to visit the following links for detailed examples: - EM Tensor Restoring - Skewness Analysis Plots - Strike Plot - Filtering Data
Citations
Should you find the WATex software beneficial for your research or any published work, we kindly ask you to cite the following article:
Kouadio, K.L., Liu, J., Liu, R., 2023. watex: machine learning research in water exploration. SoftwareX, 101367(2023). https://doi.org/10.1016/j.softx.2023.101367
In publications that mention WATex, acknowledging scikit-learn may also be relevant due to its integral role in the software's development.
For additional insights and examples, refer to our compilation of case history papers that utilized WATex.
Contributions
The development and success of WATex have been made possible through contributions from the following institutions:
- Department of Geophysics, School of Geosciences & Info-physics, Central South University, China.
- Hunan Key Laboratory of Nonferrous Resources and Geological Hazards Exploration, Changsha, Hunan, China.
- Laboratoire de Geologie, Ressources Minerales et Energetiques, UFR des Sciences de la Terre et des Ressources Minières, Université Félix Houphouët-Boigny, Côte d'Ivoire.
For inquiries, suggestions, or contributions, please reach out to the developers: * [1,2,3] LKouadio at etanoyau@gmail.com & * [1,2] Liu Rong at liurongkaoyan@csu.edu.cn
Owner
- Name: daniel03
- Login: earthai-tech
- Kind: user
- Location: China
- Company: Central South University
- Website: https://earthai-tech.github.io/
- Twitter: k_kouao
- Repositories: 1
- Profile: https://github.com/earthai-tech
Geophysicist | Lecturer @ AI in Geophysics - Computational Geophysics
Citation (CITATION.cff)
cff-version: 0.1.7
message: "We will appreciate to cite the following paper if watex is integral to a scientific publication:"
preferred-citation:
type: article
authors:
- family-names: "Kouadio"
given-names: "Kouao Laurent"
orcid: "https://orcid.org/0000-0001-7259-7254"
doi: "https://doi.org/10.1016/j.softx.2023.101367"
journal: "SoftwareX"
month: March
title: "watex: machine learning research in water exploration"
issue: 2023
volume: 101367
year: 2023
url: "https://doi.org/10.1016/j.softx.2023.101367"
GitHub Events
Total
- Watch event: 1
- Push event: 2
- Fork event: 1
Last Year
- Watch event: 1
- Push event: 2
- Fork event: 1
Committers
Last synced: 7 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| WEgeophysics | e****u@g****m | 794 |
| Daniel03 | 5****s | 273 |
| dependabot[bot] | 4****] | 7 |
| Daniel | d****l@p****n | 2 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 0
- Total pull requests: 101
- Average time to close issues: N/A
- Average time to close pull requests: 6 minutes
- Total issue authors: 0
- Total pull request authors: 2
- Average comments per issue: 0
- Average comments per pull request: 0.01
- Merged pull requests: 100
- Bot issues: 0
- Bot pull requests: 1
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
- earthai-tech (100)
- dependabot[bot] (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
- Total downloads: unknown
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 21
proxy.golang.org: github.com/earthai-tech/watex
- Documentation: https://pkg.go.dev/github.com/earthai-tech/watex#section-documentation
- License: bsd-3-clause
-
Latest release: v0.3.3
published almost 2 years ago