Plotting Well Log API headers

Plots various headers as SVG. Of note is the API header

Created on Dec 30, 2011

exception TotalDepth.util.plot.LogHeader.ExceptionLogHeader

Exception for plotting Log Headers.

exception TotalDepth.util.plot.LogHeader.ExceptionLogHeaderLIS

Exception for plotting Log Headers from LIS data.

exception TotalDepth.util.plot.LogHeader.ExceptionLogHeaderLAS

Exception for plotting Log Headers from LAS data.

class TotalDepth.util.plot.LogHeader.Static

Tuple to describe static data locations If text is None then no text will be plotted If rAttr is None then no box will be plotted If mnem is non-None then a Mmem can be plotted at xMenm increment, a Coord.Dim()

d

Alias for field number 3

font

Alias for field number 5

mnem

Alias for field number 9

rAttr

Alias for field number 8

size

Alias for field number 6

tAttr

Alias for field number 7

text

Alias for field number 4

w

Alias for field number 2

x

Alias for field number 0

xMnem

Alias for field number 10

y

Alias for field number 1

TotalDepth.util.plot.LogHeader.FONT_PROP = 'Verdana'

Default font

TotalDepth.util.plot.LogHeader.RECT_ATTRS_FINE = {'stroke': 'black', 'stroke-width': '.5', 'fill': 'none'}

SVG attributes for a fine lined rectangle

TotalDepth.util.plot.LogHeader.TEXT_ATTRS_FINE = {'text-anchor': 'start'}

SVG attributes for a fine text

TotalDepth.util.plot.LogHeader.TEXT_ATTRS_LARGE = {'font-weight': 'bold', 'text-anchor': 'start'}

SVG attributes for a bold text

TotalDepth.util.plot.LogHeader.TEXT_ATTRS_LARGE_WOB = {'font-weight': 'bold', 'text-anchor': 'start', 'fill': 'white'}

SVG attributes for a large WOB text

TotalDepth.util.plot.LogHeader.HEADER_PLOT_UNITS = 'in'

Standard plot units used in the layout definition

class TotalDepth.util.plot.LogHeader.APIHeaderBase(isTopOfLog=False)

Base class to be used by APIHeaderLIS or APIHeaderLAS.

If isTopOfLog is True plot is rotated 90 deg as if to fit on top of a traditional log.

missingFields(theWsd)

Returns two sets: A set of mnemonics that could be plotted but are not in the Logical Record(s). A set of mnemonics that are in the Logical Record(s) but could not be plotted.

size()

Returns a Coord.Box for my size, currently a single page on fan folded paper.

viewPort(theTl)

The SVG viewport.

plot(xS, theTl, theWsdS=None)

Write the header to the SVG stream at position offset top left. theWsd is a list of records that contain well site data. Will raise ExceptionLogHeader is wrong type of Logical Record.

class TotalDepth.util.plot.LogHeader.APIHeaderLIS(isTopOfLog=False)

Can lay out an API header from LIS information, specifically a type 34 CONS record.

If isTopOfLog is True plot is rotated 90 deg as if to fit on top of a traditional log.

missingFields(theWsd)

Well site data (theWsd) in LIS is a list of CONS Logical Records.

Returns two sets:

A set of mnemonics that could be plotted but are not in the Logical Record(s).

A set of mnemonics that are in the Logical Record(s) but could not be plotted.

lrDataCount(theLrS)

Returns the number of Mnem’s in MNEM_SET that could be plotted in a header that are found in all the Logical Records.

class TotalDepth.util.plot.LogHeader.APIHeaderLAS(isTopOfLog=False)

Can lay out an API header from a representation of a LAS file.

LIS_MNEM_TO_LAS_MNEM = {'CN': 'COMP', 'MRT': 'BHT', 'WN': 'WELL', 'BLI': 'STRT', 'DFD': 'FD', 'TLI': 'STOP', 'LUL': 'SRVC', 'FN': 'FLD', 'TDL': 'DL', 'FL1': 'PROV', 'FL': 'LOC', 'FL2': 'UWI', 'LONG': 'LON', 'LATI': 'LAT'}

Some conversions from LIS standard to LAS standard All as truncated ascii strings i.e. using pStr(strip=True)

missingFields(theLasFile)

Returns two sets:

A set of mnemonics that could be plotted but are not in the Logical Record(s).

A set of mnemonics that are in the Logical Record(s) but could not be plotted.

Previous topic

PRES Plotting Configuration from XML files

Next topic

Plotting Well Logs

This Page