Log data can be loaded either from LAS, JSON, DLIS or CSV format files.
Once a data file has been loaded, all the curves in the file will be shown in the data-list on the left side. The hierarchy of the data-list is shown below.
- Company Name
- Well Name
- Dataset Name (LAS file)
All the data files from the same well will be grouped together. To view the data from another file, click on the dataset name in the data-list. The default dataset name is the filename,
Clicking on either of the Company Name or Well Name will display the information about the well that was derived from the file loaded.
3.1 LAS files
In most cases, log data will be loaded from LAS format files, and this can be done by either selecting the File -> Load Wellog files -> Load LAS File option under the main menu. Alternatively, just drag and drop the file onto the data-list area. Drag and drop supports loading multiple files with one action.
The current version supports LAS version 2.0 files. A valid LAS version 2.0 file contains five sections that include the ~Version, ~Well, ~Curves, ~Parameters and ~Ascii sections. These are also referred to as the ~V, ~W, ~C, ~P and ~A sections. The ~P section optional, all the other sections are mandatory.
Right clicking on the Dataset (LAS filename) also gives options for viewing the raw data from the ~V, ~W, ~C and ~P sections of the LAS file header. Note that the "Right Click" menu is not available until a normal click has first been performed on the Dataset.
3.2 CSV files
Log data can also be loaded from CSV files (comma separated value files). These ASCII files can be made or edited with either Notepad or Excel. A common use for CSV files would be for loading deviation data, which would typically not be available in LAS files. The format for the CSV must be as follows:
- The first lines contains the Curve names.
- The second line contains the Units of each curve.
- The third and subsequent lines contain the curve data.
- There must be an equal number of values on each line.
- Spaces can be included, and will be ignored during loading.
An example showing the first 7 lines of a CSV is given below.
... etc ...
CSV files do not contain any information about the well name or company name, and this has to be specified upon load. As such it may be easier to load other Log data first via a LAS file; this way, the company and well-name structure will be created automatically from the LAS file data, and does not have to be re-entered manully when subsequently loading a CSV file.
3.3 JSON files
Loading well log data that is stored as JSON format is a similar process to loading LAS files and is done by selecting the File- > Load Wellog files -> Load JSON File option under the main menu.
JSON well log file format supports single axis array data. After array data is loaded, a square bracket with the array length is appended to the file name. This is shown below where the CMRP is regular curve with one value per depth point, while the AMP_DIST is a 1D array of 30 values per depth point.
3.4 DLIS files
Two options are available for DLIS files.
The DLIS File summary option scans the DLIS file and provides a detailed listing of all the information inside the DLIS file. The log data is not loaded.
The Load DLIS file will load all the data found in the file. A DLIS file can be composed of multiple logical files, and multiple frame sets inside each logical file. Each frame set will be at a different sampling rates are will be loaded into different datasets in Well Log Viewer. Data from extra logical files will be loaded in to subsequent datasets in Well Log Viewer.
The dataset name is composed of the logical file sequence number, frame sequence number, an underscore, the frame identifier name, an underscore and the DLIS filename.
DLIS files support multi-axis array data, but at this stage, only single axis-array data loading is supported. Once loaded, array data can be identifed as described above for JSON files.
3.5 Log Data Direction
The Log data in LAS, JSON, DLIS and CSV files will either be written in the file as a "down-log", where the depth values are increasing, or as an "up-log" where the depth values are decreasing. Most processing options will work with the data in either direction, but some processing may require the data to be in a specific direction; for example Minimum Curvature TVD computations requires the data to be a down-log.
The log data direction can be flipped in the "Copy-a-Dataset" process.
By default, the data is loaded "as-is", but there is an option to convert the LAS file data to down-log, upon loading. If there is no reason to keep the data in the original logging direction, it is probably best to change this preference to "convert to down-log upon load". It will make some later processing options quicker, and avoid the need to flip data at a later date if required by a specific processing option.
3.6 Log Sample rate
Log data can either be regularly sampled, irregularly sampled, or mixed up-down sample rate. The latter should never exist, but is encountered from time to time. The log data is scanned upon load to determine what it is.
- If regularly sample, the file name is in Blue colour.
- If irregularly sampled, the file name is in Purple colour.
- If mixed up-down or with repeated depth levels, it will be coloured Purple and labelled as Mixed.
Some processing options require regularly sampled data, such as the moving average and median filtering.
3.7 Curve Name Groups
The Curve names are analyzed on data loading and each curve is assigned to a Curve Group.
For example, a curves with names such as RHOB, RHOZ, RHO, etc will be assigned to the "Bulk Density" group. The Bulk Density group contains the parameters required for plotting these curves. In addition, by being assigned to this group, then these curves will be available as processing selections for processes that specifically require a Bulk Density Curve.
A list of curve names and there corresponding group assignment can be found in the main menu under View->Show Curve Groups. This list is fixed in the software, but is updated from time to time to include extra curves as required.
A second list can be found under the same menu showing all the groups and there corresponding plot parameters.
If a curve name cannot be assigned to a curve group, then it will be left as "Unknown" and wont have any pre-determined plotting parameters.
3.8 Standardized Curve Units Names
When a curve is loaded it's unit name is validated. If nessecary, an attempt will be made to convert the unit name to a standard nomenclature.
The list of standard unit names in the software may not be 100% complete, but covers most common units. If the conversion to a standard unit name is not finding a match and giving a lot of unknown results, then it is possible to turn off this conversion option (see the Preference form). However, if this option is turned off, then some processing options may not be available.
Changes of the unit name that may be seen to occur during data load are:
- Units that are fully capitlized in a LAS file are converted to correct upper/lower case convention upon loading. For example, "GAPI" will be changed to "gAPI".
- An attempt is made to identfiy units that use non-standard nomenclature and convert to a standard nomenclature. For example, "G/C3" will be converted to "g/cm3".
- Units that make no sense will generate a warning message. For example, if us/ft units were assigned to a density log in the file being loaded.
- Most common units are accounted for, but some less common units may have been missed, in which case "unknown" will be assigned as the unit. This can be fixed upon notication.
After loading, the units of a log curve can be converted to alternative units. This is discussed in the Data Management section.
3.9 Depth Precision Issues with DLIS files
The depth index of a DLIS frame should increment at constant rate. These rates are typically of 0.5 ft (6in), but can also be 0.25 ft (3 in), 0.1667 ft (2 in), 0.125 ft (1.5 in), 0.0833 ft (1 in), plus a few other finer sampling rates. In metric, these correspond to 0.1524 m, 0.0762 m, 0.0508 m, 0.0381 m, 0.0254 m, etc. There are also sampling rates that are larger than 0.5 ft
DLIS files can have the depths internally stored as:
- Integral multiples of 0.1 inch (depth are stored as an integers)
- Single precision floating point numbers.
The choice is determined by the software that wrote the DLIS file, but using a single precision floating point numbers would appear not to be a good choice, if good precision is desired. The way the depth are stored in a DLIS file can be determined from the DLIS Summary listing in the Frame Set.
If the depths are internally stored as integers (x 0.1 inch), then the depths will always be faithfully reproduced and there is no issue.
Floating point numbers, however, rarely ever give precise reproductions. For example, after reading the sample rate and depth from a DLIS file, we may get numbers like 0.152400032343 and 2822.90562745 (expected numbers are 0.1524 and 2822.9052). This problem is compounded when software loading the DLIS also internally stores the depth as a single precision floating point number, and after several saving and loading operations have been performed on the data, the depths and sample rate will start to become very irregular. The problem is worse with metric depths, since a metric depth will have a greater number of significant figues than the corresponding non-metric depth.
This loss of precision of the depth poses problems for later processing steps such as merging and splicing data, and other algorithms that expect an exact constant sampling rate. LAS files will store data with the correct precision, but the LAS file may have been created from DLIS files that already have depth precision errors, so the problem is propagated.
Well Log Viewer reads the single precision floating point depths from a DLIS file, then converts them to double precision floating point numbers. An attempt is made to remove the precision errors that will exist with DLIS depths. Subsequent processing and saving of the log data to LAS or other ASCII formats will use these "sanitized" double precision depths.
A good depth value should never have any more than 4 decimal places for most metric and feet depth values. In the extreme where the actual sample rate is 0.1 inch, which equals 0.00254 metres, then 5 decimal spaces can be expected. However, note that 0.1 inch also equals 0.0083333333333... ft, so in this case recurring decimal fractions may be seen at some depth values, but other depth values for the same depth index will be non-recurring and adhere to the 4 or 5 decimal place expectation mentioned above.
This single precision floating point issue exists with all log curves in a DLIS file, but is generally not a problem with other curves, since we are not expecting them to fall on precise pre-determined values.
3.10 Depths an Integral Mulitple of Sampling Rate.
A depth value from a DLIS or LAS file is expected to be an integral mulitple of the sample rate. In other words, if you divide the depth by the sample rate, the fractional content should be zero. This also means that if you extend the depth all the way to the surface using the sampling rate, then the value "0.0" should be a sampled depth value.
Log data probably always starts life satifysing this criteria, but after depth shifts and other processing, then it may not be the case anymore.
Log data that doesnt satisfy this criteria are not bad, but they do cause complications later when either merging or splicing to other datasets. A warning is given when this situation is detected during data loading. Workarounds for this type of data are discussed later with processing options that are affected by depths with non-integral mulitples of the sampling rate.
3.11 Null Value or Absent Value handling
LAS files define an Absent Value parameter. Any log data inside the LAS file with an Absent Value is converted to a Null value upon loading.
JSON files store missing data as a Null value, and this is carried through as a Null value during loading.
CSV files dont define what an Absent Value is. So if "absent values" are present in the data, then an option is available in the load menu to set that value, so that data can be correctly loaded. The default value is -999.25
DLIS files generally also do not define Absent Values. If an Absent Value definition is detected in the DLIS Static data, then it will be used. Otherwise it will need to be set manually by the user, similar to CSV file loading. The default value is -999.25
In summary, Absent Values are handled automatically in LAS and JSON file. User intervention may be required for CSV and DLIS files
If, after data loading, a lot of values are seen clustering at -999.25 or -9999, then it is likely that the wrong Absent Value was set. The data will need to be re-loaded after re-setting the Absent Value parameter.
3.12 Saving data to LAS, CSV or JSON format
To save data to one of these ASCII formats, right click on the dataset name in the date-tree and select one of the "save" options. Only the data in the selected dataset is saved during a particular save operation.
The wellsite data (viewed by right clicking on the Well name and selecting Wellsite Data Editor) does not have to be the same depth/elevation units as the depth index unit of the dataset to be saved. If the dataset to be saved has a depth index unit that is different from the units of the wellsite data, then the wellsite data will be automatically converted to the appropriate units when saving the data to file.
A simple use for this software would be for converting a DLIS file into either a LAS, CSV or JSON format file by using one of these save options after a DLIS file has been loaded.
Another save option is "Save Project" which saves the entire database to a file on disk. This is can then be reloaded into Well Log Viewer at a later time for further analysis. This option is discussed in more detail in the Data Management section.
Saving data to DLIS format is not supported (yet).