Source code for lasio.defaults

import re

import numpy as np

from .las_items import (
    HeaderItem, SectionItems, OrderedDict
)


[docs]def get_default_items(): return { 'Version': SectionItems([ HeaderItem('VERS', '', 2.0, 'CWLS log ASCII Standard -VERSION 2.0'), HeaderItem('WRAP', '', 'NO', 'One line per depth step'), HeaderItem('DLM', '', 'SPACE', 'Column Data Section Delimiter'), ]), 'Well': SectionItems([ HeaderItem('STRT', 'm', np.nan, 'START DEPTH'), HeaderItem('STOP', 'm', np.nan, 'STOP DEPTH'), HeaderItem('STEP', 'm', np.nan, 'STEP'), HeaderItem('NULL', '', -9999.25, 'NULL VALUE'), HeaderItem('COMP', '', '', 'COMPANY'), HeaderItem('WELL', '', '', 'WELL'), HeaderItem('FLD', '', '', 'FIELD'), HeaderItem('LOC', '', '', 'LOCATION'), HeaderItem('PROV', '', '', 'PROVINCE'), HeaderItem('CNTY', '', '', 'COUNTY'), HeaderItem('STAT', '', '', 'STATE'), HeaderItem('CTRY', '', '', 'COUNTRY'), HeaderItem('SRVC', '', '', 'SERVICE COMPANY'), HeaderItem('DATE', '', '', 'DATE'), HeaderItem('UWI', '', '', 'UNIQUE WELL ID'), HeaderItem('API', '', '', 'API NUMBER') ]), 'Curves': SectionItems([]), 'Parameter': SectionItems([]), 'Other': '', 'Data': np.zeros(shape=(0, 1)), }
ORDER_DEFINITIONS = { 1.2: OrderedDict([ ('Version', ['value:descr']), ('Well', [ 'descr:value', ('value:descr', ['STRT', 'STOP', 'STEP', 'NULL'])]), ('Curves', ['value:descr']), ('Parameter', ['value:descr']), ]), 2.0: OrderedDict([ ('Version', ['value:descr']), ('Well', ['value:descr']), ('Curves', ['value:descr']), ('Parameter', ['value:descr']) ])} DEPTH_UNITS = { 'FT': ("FT", "F", "FEET", "FOOT"), 'M': ("M", "METER", "METERS", "METRE", "METRES"), } READ_POLICIES = { 'default': ['comma-decimal-mark', 'run-on(-)', 'run-on(.)', 'run-on(NaN.)'], } READ_SUBS = { 'comma-decimal-mark': [(re.compile(r'(\d),(\d)'), r'\1.\2'), ], 'run-on(-)': [(re.compile(r'(\d)-(\d)'), r'\1 -\2'), ], 'run-on(.)': [(re.compile(r'-?\d*\.\d*\.\d*'), ' NaN NaN '), ], 'run-on(NaN.)': [(re.compile(r'NaN[\.-]\d+'), ' NaN NaN '), ], } NULL_POLICIES = { 'none': [], 'strict': ['NULL', ], 'common': ['NULL', '(null)', '-', '9999.25', '999.25', 'NA', 'INF', 'IO', 'IND'], 'aggressive': ['NULL', '(null)', '--', '9999.25', '999.25', 'NA', 'INF', 'IO', 'IND', '999', '999.99', '9999', '9999.99' '2147483647', '32767', '-0.0', ], 'all': ['NULL', '(null)', '-', '9999.25', '999.25', 'NA', 'INF', 'IO', 'IND', '999', '999.99', '9999', '9999.99' '2147483647', '32767', '-0.0', 'numbers-only', ], 'numbers-only': ['numbers-only', ] } NULL_SUBS = { 'NULL': [None, ], # special case to be handled in LASFile.read() '999.25': [-999.25, 999.25], '9999.25': [-9999.25, 9999.25], '999.99': [-999.99, 999.99], '9999.99': [-9999.99, 9999.99], '999': [-999, 999], '9999': [-9999, 9999], '2147483647': [-2147483647, 2147483647], '32767': [-32767, 32767], '(null)': [(re.compile(r' \(null\)'), ' NaN'), (re.compile(r'\(null\) '), 'NaN '), (re.compile(r' \(NULL\)'), ' NaN'), (re.compile(r'\(NULL\) '), 'NaN '), (re.compile(r' null'), ' NaN'), (re.compile(r'null '), 'NaN '), (re.compile(r' NULL'), ' NaN'), (re.compile(r'NULL '), 'NaN '), ], '-': [(re.compile(r' -+ '), ' NaN '), ], 'NA': [(re.compile(r'(#N/A)[ ]'), 'NaN '), (re.compile(r'[ ](#N/A)'), ' NaN'), ], 'INF': [(re.compile(r'(-?1\.#INF)[ ]'), 'NaN '), (re.compile(r'[ ](-?1\.#INF[0-9]*)'), ' NaN'), ], 'IO': [(re.compile(r'(-?1\.#IO)[ ]'), 'NaN '), (re.compile(r'[ ](-?1\.#IO)'), ' NaN'), ], 'IND': [(re.compile(r'(-?1\.#IND)[ ]'), 'NaN '), (re.compile(r'[ ](-?1\.#IND[0-9]*)'), ' NaN'), ], '-0.0': [(re.compile(r'(-0\.0)[ ]'), 'NaN '), (re.compile(r'[ ](-0\.0)'), ' NaN'), ], 'numbers-only': [(re.compile(r'([^ 0-9.\-+]+)[ ]'), 'NaN '), (re.compile(r'[ ]([^ 0-9.\-+]+)'), ' NaN'), ], }