ERP#

DC-1D Resistivty drilling location Auto-detecting

Notes

This module is one of the earlier module designed for predicting flow rate by computing the electrical parameters. Originaly the idea was to automate everything to ease the task for the users. All things, the users need to do, is to arrange the electrical data according to the arrangement proposed by the library in watex.property.P such as:

*pk

*x

*y

*rho

sloc

shape

type

0

790210

1093010

230

low

10

790214

1093016

93

se

V

CP

20

790218 …

1093026

93

up

140

790255

1093116

138

where headers with * means compulsory data and optional otherwise. x and y are utm easting and northing coordinates respectively, while rho is the apparent resistivity at each measurement point(pk). sloc is the column of anomaly boundaries definition. The optional column names such as sloc, shape and type can be None. Inside the table:

  • low means the lower boundary of the selected anomaly, can also be ‘1’

  • up means the uper boundary of selected anomaly, can be 2

  • se means the sounding location on the survey area. can be ves or 0.

  • V anomaly-shape and can be ‘W’, ‘K’, ‘U’, ‘H’, ‘C’ and ‘M’

  • CP anomaly type and can be ‘CB2P’, ‘NC’ or ‘EC’

The main interesting part of this module is the collection of ERP where the module can rewrite the data and arrange it following the aforementioned disposal (above proposed by the library). If data is given in a separate sheets (from excel files), the parser exports each sheet and rewrite accordingly. The limit of this approach is that the parser only read the excel format.

Warning

Thus, once the data is well organized, the module is able to compute all the parameters and select the best location for drilling after analyzing all the different points in dataset. However, this seems too much perfect (not realistic) and far from the practice since in DC - resistivity, the low resistivity does not mean there is a water at that place thereby leading to a misinsterpretationin the choice of locating of the drilling points. To handle this issue, we recommended to use the module watex.method.electrical instead. To force use ERP module, be sure you are a background of the geology of the area and whether you are not in marshes or a complex geological area which unfortunately is something difficult to know in advance. To well organize the watex API and remediate to the problem of automation, it is recommended to use the watex.methods.electrical.DCProfiling. The latter provides fast and efficient way to compute the electrical parameters with a few margin of errors. The module will be deprecated in the future and should be rewritten. The automation of parameter computation from the erp parser sheets such as shape and type of anomaly will henceforth use the deep neural networks.

class watex.methods.erp.ERP(erp_fn=None, dipole_length=None, auto=False, posMinMax=None, **kwargs)[source]#

Bases: object

Electrical resistivity profiling class . Define anomalies and compute its features. Can select multiples anomalies on ERP and give their features values.

Parameters:
  • erp_fn (*) – Path to electrical resistivity profile

  • dipole_length (*) – Measurement electrodes. Distance between two electrodes in meters.

  • auto (*) – Trigger the automatic computation . If the auto is set to True, dont need to provide the posMinMax argument otherwise posMinMax must be given.

  • posMinMax (*) – Selected anomaly boundary. The boundaries matches the startpoint as the begining of anomaly position and the endpoint as the end of anomaly position. If provided , auto will be turn off at False even True.

Notes

Provide the posMinMax is strongly recommended for accurate geo-electrical features computation. If not given, the best anomaly will be selected automatically and probably could not match what you expect.

Hold others informations:

Attributes

Type

Description

lat

float

sation latitude

lon

float

station longitude

elev

float

station elevantion in m or ft

east

float

station easting coordinate (m)

north

float

station northing coordinate (m)

azim

float

station azimuth in meter (m)

utm_zone

str

UTM location zone

resistivity

dict

resistivity value at each station (ohm.m)

name

str

survey location name

turn_on

bool

turn on/off the displaying computa- tion parameters.

best_point

float/int

position of the selected anomaly

best_rhoa

float

selected anomaly app.resistivity

display_autoinfos

bool

display the selected three best anomaly points selected automatic- cally.

  • To get the geo-electrical-features, create an erp object by calling:

    >>> from watex.methods.erp import ERP
    >>> anomaly_obj =ERP(erp_fn = '~/location_filename')
    

The call of the following erp properties attributes:

properties

Type

Description

select_best_point_

float

Best anomaly position points

select_best_value_

float

Best anomaly app.resistivity value.

best_points

float

Best positions points selected automatically.

best_sfi

float

Best anomaly standart fracturation index value.

best_anr

float

Best

best_power

float

Best anomaly power in meter(m).

best_magnitude

float

Best anomlay magnitude in ohm.m

best_shape

str

Best anomaly shape. can be V, W,``K``, H, C, M.

best_type

str

Best anomaly type. Can be : - EC for Extensive conductive. - NC for narrow conductive. - CP for conductive plane. - CB2P for contact between two planes.

Examples

>>> from watex.methods.erp import ERP
>>> anom_obj= ERP(erp_fn = 'data/l10_gbalo.xlsx', auto=False,
...                  posMinMax= (90, 130),turn_off=True)
>>> anom_obj.name
... l10_gbalo
>>> anom_obj.select_best_point_
...110
>>> anom_obj.select_best_value_
...132
>>> anom_obj.best_magnitude
...5
>>> nom_obj.best_power
..40
>>> anom_obj.best_sfi
...1.9394488747363936
>>> anom_obj.best_anr
...0.5076113145430543
property best_anr#

Get the select best anomaly ratio abest_anr along the ERP

property best_east#

Get the easting coordinates of selected anomaly

property best_index#

Keeop the index of selected best anomaly

property best_lat#

Get the latitude coordinates of selected anomaly

property best_lon#

Get the longitude coordinates of selected anomaly

property best_magnitude#

Get the magnitude of the select select_best_point.

property best_north#

Get the northing coordinates of selected anomaly

property best_points#

Get the best points from auto computation

property best_power#

Get the power from the select select_best_point.

property best_rhoaRange#

Collect the resistivity values range from selected anomaly boundaries.

property best_sfi#

Get the standard fraturation index from select_best_point_

property best_shape#

Find the selected anomaly shape

property best_type#

Get the select best anomaly type

dataType = {'.csv': <function read_csv>, '.html': <function read_json>, '.json': <function read_json>, '.sql': <function read_sql>, '.xlsx': <function read_excel>}#
property dipoleLength#

Get the dipole length i.e the distance between two measurement.

erpLabels = ['pk', 'east', 'north', 'rhoa']#
property fn#

erp file type

property posi_max#

select_best_point_ boundaries using the station locations of unarbitrary positions got from :attr:`~.ERP.dipoleLength.

Type:

Get the right position of

Type:

attr

property posi_min#

select_best_point_ boundaries using the station locations of unarbitrary positions got from :attr:`~.ERP.dipoleLength.

Type:

Get the left position of

Type:

attr

property rhoa_max#

select_best_point_ boundaries using the magnitude got from :attr:`~.ERP.abest_magnitude.

Type:

Get the top position of

Type:

attr

property rhoa_min#

select_best_point_ boundaries using the magnitude got from :attr:`~.ERP.abest_magnitude.

Type:

Get the buttom position of

Type:

attr

sanitize_columns()[source]#

Get the columns of electrical resistivity profiling dataframe and set new names according to ERP.erpLabels .

property select_best_point_#

Select the best anomaly points.

property select_best_value_#

Select the best anomaly points.

class watex.methods.erp.ERPCollection(listOferpfn=None, listOfposMinMax=None, erpObjs=None, **kws)[source]#

Bases: object

Collection objects. The class collects all erp survey lines. Each erp is an singleton class object with their corresponding attributes. The goal is to build a container geao-elecricals to straigthforwardly given to watex.bases.features.GeoFeatures class.

Parameters:
  • listOferpfn (list, ndarray) – list of different erp files.

  • listOfposMinMax (list) –

    collection of different selected anomaly boundaries. If not provided, the auto will triggered. It’s recommanded to provided for all erp your convenient anomaly boundaries like:

    listOfposMinMax=[(90, 130), (10, 70), ...]
    

    where (90,130)``is boundaries of selected anomaly on the first `erp` line and ``(10,70) is the boundaries of the second erp survey line and so on.

  • erpObjs (list, ndarray) – Collection of objects from ERP. If objects are alread created. Gather them on a list and pass though the argument erpObjs.

  • arguments. (Holds others optionals infos passed as keyword) –

  • =================================== (====================== =============) –

  • Description (Attributes Type) –

  • ===================================

  • User (list_of_dipole_lengths list Collection of dipoleLength.) – can provide the distance between sites measurements as performed on investigations site. If given, the automaticall dipoleLength computation will be turned off.

  • name. (fnames array_like Array of erp survey lines) – If each survey name is the location name then will keep it.

  • numbers (id array_like Each erp obj reference) –

  • geo-electrical (erps_data nd.array Array composed of) – parameters. ndarray(nerp, 8) where num is the number of `erp`obj collected.

  • line (erpdf pd.DataFrame A dataFrame of collected erp) – and the number of lines correspond to the number of collected erp.

  • ===================================

  • of (It's posible to get from each erp collection the singular array) –

  • properties:: (different parameters considered as) –

    >>> from watex.methods.erp import ERP_collection as ERPC
    >>> erpcol = ERPC(listOferpfn='list|path|filename')
    >>> erpcol.survey_ids
    >>> erpcol.selectedPoints
    

:param List of the ERP_collection attribute properties: :param ==================== ============== ===================================: :param Properties Type Description: :param ==================== ============== ===================================: :param selectedPoints array_like Collection of Best anomaly: position points. :param survey_ids array_like Collection of all erp survey: survey ids. Note that each ids is

following by the prefix e.

Parameters:
  • standard (sfis array_like Collection of best anomaly) – fracturation index value.

  • power (powers array_like Collection of best anomaly) –

  • anomaly (magnitudes array_like Colection of best) – magnitude in ohm.m.

  • shape. (shapes array_like Collection of best anomaly) – For more details please refer to ERP.

  • type. (types array_like Collection of best anomaly) – Refer to ERP for more details.

  • =================================== (==================== ==============) –

Examples

>>> from watex.methods.erp import ERP_collection
>>> erpObjs =ERP_collection(listOferpfn= 'data/erp')
>>> erpObjs.erpdf
>>> erpObjs.survey_ids
... ['e2059734331848' 'e2059734099144' 'e2059734345608']
property easts#

Collect the utm_easting value from erp survey line.

erpColums = ['id', 'east', 'north', 'power', 'magnitude', 'shape', 'type', 'sfi']#
exportErp(extension_file=None, savepath=None, **kwargs)[source]#

Export erp data after computing different geo_electrical features.

Parameters:
  • extension_file (str) – Extension type to export the files. Can be xlsx or csv. The default extension_file is csv.

  • savepath (str) – Path like string to save the output file.

get_property_infos(attr_name, objslist=None)[source]#

From each obj erp ,get the attribute infos and set on data array

Parameters:
  • attr_name – Name of attribute to get the informations of the properties.

  • objslist (list) – list of collection objects.

Example:
>>> from watex.methods.erp.ERP_collection as ERPcol
>>> erpObjs =ERPcol(listOferpfn= 'data/erp',
...                export_erpFeatures=True,
...                    filename='ykroS')
property magnitudes#

Get the magnitudes of select anomaly from erp

property norths#

Collect the utm_northing value from erp survey line.

property powers#

Get the power of select anomaly from erp

property selectedPoints#

Keep on array the best selected anomaly points

property sfis#

Collect sfi for selected anomaly points

property shapes#

Get the shape of the selected anomaly.

property survey_ids#

Get the erp filenames

property types#

Collect selected anomalies types from erp.