Skip to main content

Well log mnemonic identification using lasio and dlisio to load LAS/DLIS/ASCII files into DataFrames

Project description

LASMnemonicsID

LASMnemonicsID Logo

Well log mnemonic identification and standardization for LAS, DLIS, and ASCII formats

PyPI Python Versions License


Features

  • Multi-format support: LAS, DLIS, ASCII/CSV/TXT/DAT
  • Automatic mnemonic standardization: GR, RHOB, NPHI, DT, SP, CALI, RT, etc.
  • Batch processing: Parse entire directories recursively
  • Customizable naming: Override default standard names
  • Case-insensitive extensions: Works with .las/.LAS, .dlis/.DLIS, .csv/.CSV, etc.
  • Pandas integration: Returns clean DataFrames ready for analysis

Installation

pip install lasmnemonicsid

This installs support for all formats (LAS, DLIS, ASCII/CSV/TXT).


Quick Start

LAS Files

from LASMnemonicsID import parseLAS

# Parse single LAS file
df = parseLAS("well.las")
print(df.head())

# Parse directory
data = parseLAS("/path/to/las/files/")
for filename, df in data.items():
    print(f"{filename}: {df.shape}")

DLIS Files

from LASMnemonicsID import parseDLIS

# Parse single DLIS file
df = parseDLIS("well.dlis")
print(df.columns)

# Parse directory
data = parseDLIS("/path/to/dlis/files/")

ASCII/CSV/TXT Files

from LASMnemonicsID import parseASCII

# Parse CSV
df = parseASCII("well_log.csv", depth_col="DEPTH")

# Parse tab-separated TXT
df = parseASCII("well_log.txt", delimiter="\t")

# Parse directory
data = parseASCII("/path/to/csv/files/")

Advanced Usage

Custom Preferred Names

preferred = {
    "deepres": "RT",
    "deepres_preferred_original": "AT90",
    "gamma": "GR"
}

df = parseLAS("well.las", preferred_names=preferred)

Batch Processing

from pathlib import Path

dir_path = Path("/data/wells/")
data = parseLAS(dir_path, verbose=True, preferred_names=preferred)

for fname, df in data.items():
    print(f"{fname}: {df.shape}")
    print(df.head(3))

Mixed Format Directories

las_data = parseLAS("/data/wells/")
dlis_data = parseDLIS("/data/wells/")
ascii_data = parseASCII("/data/wells/")

all_data = {**las_data, **dlis_data, **ascii_data}

Supported Mnemonics

The package automatically standardizes these curve types:

Curve Type Standard Name Example Aliases
Gamma Ray GR gr, cggr, cgr, gam, gamma, gammaray, grc, grd, hgr, sgr, lgr, pgr
Spontaneous Potential SP sp, idsp, spr, spl, spdl, spdhp, spc, sp0, sp1, cgsp, dlsp
Caliper CALI caliper, calip, cal, dcal, acal, cala, cald, cale, calh, hcal, xcal, ycal
Deep Resistivity RT rt, rtao, rt90, ild, idph, rild, rd, ae90, at90, atrt, lld, lldc, res, resd
Shallow Resistivity RXO rxo, rxoz, msfl, mcfl, sflcc, mgl, m1rx, r40o, aht10
Density RHOB rhob, rhoz, den, denb, denc, hrho, hrhob, zden, hden, denf, denn
Density Correction DRHO dcor, dcorr, dc, decr, drh, zcor, zcorr, hhdr, denscorr
Neutron Porosity NPHI cn, phin, cnc, cns, hnphi, nphi, npor, cncc, nprl, neut, neutpor
Sonic (Compressional) DT dt, dtc, dtco, dtcomp, deltat, slow, slowness, tt, ac, acco, delt, dtcomp
Sonic (Shear) DTS dts, dtsh, dtsm, dtsc, dtsd, dtsqi, dtshear, deltas, tts, stt, dtshear
Photoelectric Factor PEF pe, pef, pefz, pdpe, pedf, pedn, hpedn, pe2, pef8, lpe

Testing

pytest tests/ -v
pytest tests/test_las.py -v
pytest tests/test_dlis.py -v
pytest tests/test_ascii.py -v

API Reference

parseLAS(input_path, verbose=True, preferred_names=None)

Parse LAS file(s) and standardize mnemonics.

Parameters:

  • input_path (str/Path): LAS file or directory
  • verbose (bool): Print parsing info
  • preferred_names (dict): Custom name mappings

Returns: DataFrame (single file) or dict (multiple files)

parseDLIS(input_path, verbose=True, preferred_names=None)

Parse DLIS file(s) and standardize mnemonics.

Parameters:

  • input_path (str/Path): DLIS file or directory
  • verbose (bool): Print parsing info
  • preferred_names (dict): Custom name mappings

Returns: DataFrame (single file) or dict (multiple files)

parseASCII(input_path, verbose=True, preferred_names=None, depth_col="DEPTH", delimiter=",")

Parse ASCII/CSV/TXT file(s) and standardize mnemonics.

Parameters:

  • input_path (str/Path): ASCII file or directory
  • verbose (bool): Print parsing info
  • preferred_names (dict): Custom name mappings
  • depth_col (str): Name of depth column
  • delimiter (str): Field separator

Returns: DataFrame (single file) or dict (multiple files)


How to Cite

APA

Nobleza Energy. (2026). LASMnemonicsID: Well log mnemonic identification for LAS, DLIS, and ASCII formats [Software]. GitHub. https://github.com/Nobleza-Energy/LASMnemonicsID

BibTeX

@software{LASMnemonicsID,
  author = {Nobleza Energy},
  title = {LASMnemonicsID: Well log mnemonic identification for LAS, DLIS, and ASCII formats},
  year = {2026},
  publisher = {GitHub},
  url = {https://github.com/Nobleza-Energy/LASMnemonicsID}
}

License

MIT License - see LICENSE file.


Contributing

Contributions welcome! Submit a Pull Request.


Support


Made with ❤️ by Nobleza Energy

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lasmnemonicsid-0.0.5.tar.gz (15.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lasmnemonicsid-0.0.5-py3-none-any.whl (13.9 kB view details)

Uploaded Python 3

File details

Details for the file lasmnemonicsid-0.0.5.tar.gz.

File metadata

  • Download URL: lasmnemonicsid-0.0.5.tar.gz
  • Upload date:
  • Size: 15.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for lasmnemonicsid-0.0.5.tar.gz
Algorithm Hash digest
SHA256 65ab53cb5e34c2f308b841dd73b1a5da23aa4e728304e2ba23fe346eb6d75046
MD5 e03fc90dc2f8b831c0f10c09af76c6c2
BLAKE2b-256 fcd7f3a2e088b495b9d9eb2ff55212c1e926df259325cd2fe2ac6b36c0fc4d04

See more details on using hashes here.

File details

Details for the file lasmnemonicsid-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: lasmnemonicsid-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 13.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for lasmnemonicsid-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 d7f8eecf013a08fbe623bd5521a5fa3e6b03488fbfdb2edd53e6e26235cf6a61
MD5 ab2049897b28a9b1f70768b3f5e247bb
BLAKE2b-256 9c77bec4361a74b07cd6cca83318d214c0b1f09fce31139c7ced5b868e9ccaa0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page