Log Ascii Standard (LAS) Files¶
Log Ascii Standard (LAS) files are used in the oil and gas industry for storing wellbore log information. The file format was created by the Canadian Well Logging Society to standardize well log data storage.
Overview¶
A LAS file is divided into header sections and ASCII log data. Header sections provide metadata, such is the LAS file version, drilling location, and date. They also provide information about the log data, such as the column names, column units, data start location, and null value. The ASCII log data section holds the actual data in tabular form.
Each section is separated by a line starting with a tilde (~) character followed by a letter denoting the section type. The following sections can be in a LAS file:
- Version Information (~V): contains information about the version, date, and wrap
- Well Information (~W): contains information about the log data, wellbore location, and the start value, stop value, and step size of the log data. The four required attributes in this section are STRT, STOP, STEP, and NULL.
- Curve Information (~C): defines the name and units of each column of ASCII log data. The only required attribute is DEPT (depth).
- Parameters (~P): contains parameters or constants used in the file
- Other (~O): used to store information that doesn’t belong in the other sections
- ASCII Data (~A): this final section holds the log data
Any line starting with a number sign (#) is a comment, and the rest of the line will be ignored. Comments are sometimes used to make the formatting look nicer when the file is read as plain text. There should be no blank lines in a LAS file; just start a line with “#” to make a “blank” line.
Header Data¶
In the header sections ~V, ~W, ~C, and ~P, each line has four pieces of information, separated by a dot, space, and colon:
NAME .UNITS DATA :DESCRIPTION
- NAME is the shorthand name used in the rest of the file for that attribute. It cannot contain internal spaces, dots, or colons.
- UNITS are the units (blank if dimensionless) for that attribute. Although there can be space just before the dot, the units must come right after the dot.
- DATA contains the value for the attribute. This value must be preceded by at least one space, and cannot contain a colon.
- DESCRIPTION is a short description of the attribute. The total line length cannot exceed 256 characters, so that places an implicit restriction on the length of the description.
ASCII Data¶
The ASCII Data (~A) section must be the last section in the file. It contains a table of data, where the columns are separated by at least one space, and there is one row per line. The columns must be in the order specified in the Curve Information (~C) section.
If wrap mode is off, each line must not exceed 256 characters. If wrap mode is on, depth will be on its own line, and each line will not exceed 80 characters.
A typical null value is -999.25, and this value is set in the “NULL” attribute of the Well Information (~W) section. This value is used when data is not available.
Example¶
In this section, we will show an example LAS file. Each section will be explained as it is introduced. Here is an example version section:
~VERSION INFORMATION
VERS . 2.0 :CWLS Log ASCII Standard - VERSION2.0
WRAP . NO :One Line per Depth step
DLM . SPACE :Column Data section Delimiter
PROD . FrackOptima Inc :LAS Producer
CREA . 05/28/2014 :LAS Creation date {MM/DD/YYYY}
Note that although the section need only start with ~V
, it is alright to
append text after that, as we do in ~VERSION INFORMATION
.
Here is an example well information section:
~WELL INFORMATION
#MNEM .UNIT DATA :DESCRIPTION
#---- ------ -------------- -----------------------------
STRT .ft 4971.00000 :START DEPTH
STOP .ft 5841.50000 :STOP DEPTH
STEP .ft 0.5 :STEP
NULL . -999.25 :NULL VALUE
COMP . FO DRILL :COMPANY
CNTY . RIVERSIDE :COUNTY
STAT . CA :STATE or PROVINCE
PROV . CA :STATE or PROVINCE
CTRY . USA :COUNTRY
PDAT . GL :Local Permanent Datum
LMF . KB :Logging Measured From
APD .ft 22.00000 :Elevation of Depth Reference (LMF) Above Permanent Datum
EPD .ft 1462.00005 :Elevation of Permanent Datum (PDAT) above Mean Sea Level
EKB .ft 22.00000 :Elevation of Kelly Bushing Above Permanent Datum
EDF .ft 22.00000 :Elevation of Drill Floor Above Permanent Datum
EGL .ft 1462.00005 :Elevation of Ground Level Above Permanent Datum
ECF .ft -999.25 :Elevation of Casing Flange above Permanent Datum
The four required attributes are placed first. After that, miscellaneous information about the well itself, such as the location and drilling company, are given. From this example, we can see how comments are used to make nicely formatted column headers.
Next is our curve information section:
~CURVE INFORMATION
#MNEM .UNIT DATA :DESCRIPTION
#---- ------ ------ -----------------------------
DEPT .ft :Depth Index
AZIM .deg :Measured Azimuth
DLS .deg/100ft :Dog Leg Severity
ED .ft :East Departure
INCL .deg :Hole inclination
ND .ft :North Departure
HAZI .deg :Hole Azimuth Relative to True North
HAZIM .deg :Memorized Hole Azimuth
RB .deg :Relative Bearing
SDEV .deg :Sonde Deviation
TENS .lbf :Cable Tension
GR .gAPI :Gamma Ray
In the curve information section, the Data fields are blank. Each one of the previous attributes is a column in our next section, the ASCII Log section:
#-------------------------------------------------------------
# DEPT AZIM DLS ED INCL ND HAZI HAZIM RB SDEV TENS GR
~ASCII
4971.00000 -999.25 -999.25 -999.25 -999.25 -999.25 -999.25 -999.25 -999.25 -999.25 -999.25 124.94400
4971.50000 -999.25 -999.25 -999.25 -999.25 -999.25 -999.25 -999.25 -999.25 -999.25 -999.25 139.59340
4972.00000 -999.25 -999.25 -999.25 -999.25 -999.25 -999.25 -999.25 -999.25 -999.25 -999.25 144.18840
...
5042.00000 116.21910 3.42758 266.08166 27.68885 -98.48743 115.81180 115.88330 340.80170 27.29402 -999.25 72.64971
5042.50000 116.21910 3.42758 266.08166 27.68885 -98.48743 115.81180 115.89340 340.80170 27.29402 -999.25 70.47196
5043.00000 116.21910 3.42758 266.08166 27.68885 -98.48743 115.81180 115.89690 340.80170 27.29402 -999.25 70.06975
...
5840.50000 120.94150 0.00000 666.65256 31.19666 -324.03094 120.52410 -999.25 297.71450 31.19321 1288.21954 -999.25
5841.00000 120.94150 0.00000 666.86745 31.19666 -324.15984 120.50630 -999.25 297.72420 31.19167 1224.80948 -999.25
5841.50000 120.94150 0.00000 667.02100 31.19666 -324.25184 120.50740 -999.25 297.69010 31.19411 1074.87495 -999.25
Note that in this example, the ellipses denote skipped lines. We start the data at the depth specified in the STRT parameter given earlier, and stop at the STOP parameter. We use the NULL value -999.25 whenever we do not have data for that column. In this example, the GR (Gamma Ray) column has data in the beginning, but not the end. Observe that the columns are in the order given in the Curve Information section, and the column labels are in a comment line to help the reader.