Guides

Layers and labels

What each layer of the profile shows and which .well block it comes from, and how to turn on depth labels, descriptions, unit strips, construction labels and the optional layers.

The renderer draws each block of the file as a layer. This page lists them, the data each one reads, and the options that control it. Options live in renderConfig, which is merged over INTERACTIVE_RENDER_CONFIG.

The layers

LayerReadsNotes
Lithology columnlithologyFill color from color, pattern from texture (FGDC codes with a drawn pattern).
Boreholebore_holeOpen at the mouth, a shoulder at each diameter change, a line at total depth.
Casing and screenswell_case, well_screen, surface_caseWalls only, open at joints. A filled casing shoe at the bottom of the string, dashed lines at each screen's ends.
ReductionsreductionTwo slanted walls.
Annulushole_fillGravel pack and seal fill only the annulus, with a line at each change of material.
CentralizerscentralizersBow markers at each derived position.
Wellhead padcement_padTwo slabs on the surface, drawn at a fixed size with break lines (not to scale); dimensions show in the tooltip.
Pumppump_installationsThe installation without removed_at: a riser from the wellhead and a pump body ending at intake_depth. Earlier installations are not drawn.
FracturesfracturesSingle or swarm, at their dip, with a mark when they yield water.
CavescavesCavity zones with wavy contacts, dry or with water.

Construction is drawn at true depth and to a diameter scale, so a telescoping well reads as it was built. A casing with a negative from rises above the ground (Panels and layout).

Toggle individual construction details in renderConfig.construction (for example casingShoe.active, screenEnds.active, pump.active).

Labels

The interactive preset draws no text labels, which keeps the drawing clean on a screen where tooltips carry the details. Turn them on as needed:

import {
  INTERACTIVE_RENDER_CONFIG,
  WellRenderer,
  applyRenderLocale,
} from '@welldot/render';

const base = applyRenderLocale(INTERACTIVE_RENDER_CONFIG, 'en');

const renderer = new WellRenderer(svgs, {
  locale: 'en',
  renderConfig: {
    ...base,
    labels: { ...base.labels, active: true }, // depth, description and divider of each layer
    unitLabels: { ...base.unitLabels, active: true }, // geologic and aquifer unit strips
    constructionLabels: { ...base.constructionLabels, active: true }, // casing and screen labels
  },
});
  • labels.active is true, false or a list of the label groups to show (['lithology', 'fractures', 'caves']).
  • labels.lithology picks the parts of each lithology annotation: 'depth', 'description', 'dividers', plus 'units' (bold geologic unit and italic aquifer unit), 'swatch' (a square of the layer's fill) and 'rules' (a rule above each annotation).
  • labels.continuation.active marks layers and construction items that started on a previous panel with ↑.
  • unitLabels.active draws the geologic_unit and aquifer_unit strips beside the lithology column.
  • constructionLabels.side is 'left' (each label next to its casing wall, the default) or 'right' (one aligned column to the right of the construction).

Descriptions need horizontal room. STATIC_RENDER_CONFIG reserves it on the right of the drawing; with the interactive preset, widen the panel or adjust renderConfig.geologic.xRightInset.

Optional layers for printed output

These are off by default and mostly useful for paged output such as PDF reports:

OptionDraws
columnHeadersTitles over the depth, lithology, construction and description columns.
overview: { active, x, width, height }A mini-map of the whole well's lithology in the left margin, with the panel's window outlined.
markers: { lithology, fractures, radius }A numbered circle on each lithology layer and F1, F2… next to each fracture, to match a table.
Overlap bandThe hatched band of a panel with repeatedTo, labelled from overlap.label.

Tooltips

With tooltips on (the interactive preset), hovering a layer shows its data: depths, diameters, materials, descriptions, the pump's rated power. renderConfig.tooltips takes false or a list of the tooltip kinds to keep: geology, hole, surfaceCase, holeFill, wellCase, wellScreen, reduction, centralizer, pump, conflict, fracture, and more. Tooltip text comes from tooltipLabels, set by applyRenderLocale.

All the options are typed in RenderConfig; see INTERACTIVE_RENDER_CONFIG in the API reference for the full default values.