pycsamt.interp.export#

export — write EM interpretation results to industry formats.

Supported formats#

  • Oasis Montaj XYZ — point-data profile readable by Geosoft Oasis Montaj and any XYZ-aware GIS tool.

  • LAS 2.0 — CWLS well-log ASCII standard; compatible with petrophyscial software (Petrel, Kingdom, IHS Markit).

  • CSV — flat table; station, depth, log10-rho, lithology.

  • VTK — ASCII rectilinear-grid format readable by Paraview, QGIS, and other 3-D viewers.

Example

>>> from pycsamt.interp import export
>>> export.to_oasis_montaj_xyz(logs, "profile_K1.xyz")
>>> export.to_las(logs[0], "S17.las")
>>> export.to_csv(logs, "all_stations.csv")

Functions

to_csv(logs, path, *[, log_rho])

Write all station logs to a flat CSV file.

to_las(log, path, *[, well_name, company, ...])

Write a single station log to LAS 2.0 format.

to_oasis_montaj_xyz(logs, path, *[, y, ...])

Write pseudo-stratigraphic logs to Oasis Montaj XYZ format.

to_vtk(model, path, *[, log_rho, field_name])

Write a 2-D resistivity model as a VTK rectilinear grid.

pycsamt.interp.export.to_oasis_montaj_xyz(logs, path, *, y=0.0, elevation=None, log_rho=True, channels=None)[source]#

Write pseudo-stratigraphic logs to Oasis Montaj XYZ format.

Each station is written as a separate / Line block. The depth axis is encoded as a negative Z value (depth below surface).

Parameters:
  • logs (list of StratigraphicLog)

  • path (path-like) – Output file path (extension .xyz recommended).

  • y (float) – Northing to assign to all points (single-profile surveys).

  • elevation (ndarray (n_stations,), optional) – Surface elevation for each station in metres a.s.l. If provided, Z = elevation − depth. Otherwise Z = −depth.

  • log_rho (bool) – Write \(\log_{10}(\rho)\) (default) or linear ρ (Ω·m).

  • channels (list of str, optional) – Override column headers. Defaults to ['X', 'Y', 'Z', 'RESD', 'LITH'].

Returns:

Written file path.

Return type:

Path

pycsamt.interp.export.to_las(log, path, *, well_name='', company='pycsamt', null_value=-9999.25, log_rho=True)[source]#

Write a single station log to LAS 2.0 format.

Parameters:
  • log (StratigraphicLog)

  • path (path-like) – Output .las file.

  • well_name (str) – Well / station identifier; defaults to log.station_name.

  • company (str)

  • null_value (float) – LAS null sentinel for missing values.

  • log_rho (bool) – Write \(\log_{10}(\rho)\) (default) or linear ρ.

Return type:

Path

pycsamt.interp.export.to_csv(logs, path, *, log_rho=True)[source]#

Write all station logs to a flat CSV file.

Columns: station, x_m, depth_m, rho_log10, rho_ohm_m, lithology

Parameters:
  • logs (list of StratigraphicLog)

  • path (path-like)

  • log_rho (bool) – Include the rho_log10 column (always written); if False only rho_ohm_m is added.

Return type:

Path

pycsamt.interp.export.to_vtk(model, path, *, log_rho=True, field_name='log10_rho')[source]#

Write a 2-D resistivity model as a VTK rectilinear grid.

The output is plain ASCII VTK (RECTILINEAR_GRID) readable by Paraview, QGIS (via the SimpleVTK plugin), and most 3-D viewers.

Parameters:
  • model (ResistivityModel)

  • path (path-like) – Output .vtk file.

  • log_rho (bool) – Write \(\log_{10}(\rho)\) (default) or linear ρ.

  • field_name (str) – VTK scalar name.

Return type:

Path