aide.lite — User Manual
aide.lite is a well-engineering workspace for drilling engineers: you describe a well, and the app runs trajectory, torque-and-drag, hydraulics, hole-cleaning, ROP and cost analyses against the AIDE engineering services. It is a first-pass tool: results are estimates from simplified models that a qualified engineer must check independently before any practical use. You sign in (or create an account) on the card that covers the app until you do; a new account gets an e-mail with a confirmation link — see Account. This page explains how the app is organised so the rest of the manual makes sense. The ? button at the right end of the toolbar opens this manual at whatever page you are viewing; Report bug beside it sends MWD STD a bug report (see Reporting a bug below).
The project model
Everything you enter lives in a single canonical document — the ProjectDocument. A well is modelled as an ordered list of telescoping sections (largest hole at surface, narrowing with depth). Each section carries a Drilling Run (the drill string, bit/motor, drilling mud and drilling parameters used to drill that hole) and a Casing Run (the casing or liner set in it, with its own mud and run parameters). The document is the only thing that is ever saved or exported. A calculation's answer lives only in the open tab until it is written into the document: the app itself fills in the survey's computed TVD and coordinates and, while Use ROP model is on, the model's ROP and torque on bit; any other answer gets there only when you take it with a page's Apply or Accept as active (a proposed bit, mud or string, a cement column and its time estimate, a generated trajectory). Session tokens and the state of a running job are never part of the project.
The sidebar
The left sidebar is the navigation tree, ordered by workflow — what the well is drilled through, then with what rig, along what path, in what casing, with what bit and mud, and how the casing is run and cemented: Geomech & Lithology first, then Rig, the Trajectory branch (Targets, Trajectory, and Auto Design with its Cost Model), the Well Construction branch (Casing Scheme, the telescoping hole/casing selector, and Section Intervals), the Drill Ops branch (Bit Selector, Mud Selector and Drilling), the Casing & Cementing branch (Casing Runs and Cementing), and a Summary branch (Well Cost, the Well Schematic, and the Report) with the Tubulars library below it. Under Sections, each section's row — named by its hole size, such as Section 12 1/4" — opens its Section geometry page and expands into Cost & time, Formation, the Drilling Run (Bit & Motor, Drilling Mud, Drill String, Drilling Parameters, Execution), the Casing Run (Casing String, Casing Mud, Run Parameters, Execution) and Cementing.
Every data-bearing leaf shows a small status dot — green (complete and valid), amber (data missing), red (invalid, e.g. a tubular larger than the hole). Container nodes roll up their children: a section header (and its Drilling Run / Casing Run branches, the Trajectory branch, and Auto Design) shows green only when all of its leaves are green, amber if any leaf is amber (and none red), and red if any leaf is red — so you can spot an incomplete section while it is collapsed. (The Trajectory leaf reflects the survey data only. Geomech & Lithology is green, and turns red when a pressure-profile row (a pore gradient of 0 or less) stops the ROP model. Auto Design and its Cost Model carry a dot only while the transport objective is Trajectory-dependent cost. Nodes without a readiness signal carry no dot: the Well Construction, Drill Ops, Casing & Cementing and Summary branches and their pages, a section's Cost & time leaf, the Execution leaves and Tubulars — Well Cost and Cost & time name what they are missing on the page itself.) See Calculation status & errors.
Add section at the bottom of the sidebar appends a copy of the deepest section. When the deepest section ends at the well's TD, the copy takes TD and the section it copies now ends at the middle of its own interval; a message names that depth — set the real shoes on Section Intervals. Otherwise the copy ends 100 m below the section it copies — or at TD, wherever the survey reaches deeper than that section. The trash icon on the last section's row deletes that section after a confirmation; only the last one can be deleted, and one always remains. Below sit Units, your account row (it reads Signed in and opens the Account page) and the Terms, Privacy and Contact Us ([email protected]) links. The project name at the top of the sidebar opens the Project page, and the MWD STD logo opens the company website, mwdstd.com, in a new tab.
The workflow widget
A small tab at the top edge of the workspace (WORKFLOW · 2/11 · RIG — the steps finished, then the current step) is the handle of the workflow widget: eleven numbered steps in the order that leaves every downstream page with what it reads — Project (name, region, pressure-window source), Geology (the pore / fracture profile and the lithology map), Rig, Targets (the plan, then Draft trajectory, and Accept as active on a result that passes QC), Casing Scheme, Section Intervals, Bit Selector, Mud Selector, Drilling, Casing Runs and Cementing. Hover a step's dot to read what to do on its page, ending in the button that completes it; in workflow mode the controls the current step needs carry an outline — amber while the control is still empty, green once it holds a value (the same colours as the sidebar dots). The widget writes no engineering value itself — every page's own Apply, Draft trajectory or Accept as active fills the draft values — with one exception: on the Geology step, Load example copies the pore / fracture profile and lithology map of the bundled test well into the project, so a first pass need not start from an empty table. Section 1's start depth on Section Intervals stays as it was.
The dots show the real state of the project, computed from it on every change, in whatever order you visit the pages: green = done, white = still to do and ready to start, grey = locked until the earlier steps it needs are finished, outlined = the current step. A grey dot cannot be clicked; its popover asks you to complete the previous steps first and names exactly what is missing. ▷ jumps to the next step you can work on, ◁ to the previous one — both skip grey steps — and any other dot can be clicked. One thing the dots cannot see: whether an accepted trajectory passed QC is only known while the drafted result is still on screen — after a reload the accepted trajectory counts as done.
While the widget is out the input panel moves down under it, so every button in the panel header stays clickable; the tab tucks it away and brings it back, and tucked it takes no more room than that tab, which is always there. Workflow mode starts on its own the first time the app runs in a browser and after New; ✕ leaves the mode (the outlines go, the tab stays) and tucks the widget; the tab re-enters it on the first unfinished step; ↺ starts the workflow over from step 1. Nothing about it is saved in the project.
Working with the app
- Results pane. Many pages show their output in a results pane below the inputs, with Results / Errors tabs and a Charts / Table toggle. See Reading results.
- Sensitivity analysis. Drag a field's handle into the right-edge drawer to sweep it with a slider and watch the charts respond live. See Sensitivity Analysis.
- Calculation status. Most calculations run automatically; two jobs are explicit. Status chips, sidebar dots and the Errors tab show where attention is needed. See Calculation status & errors.
Automatic vs explicit calculations
Most engineering calculations run automatically: whenever you make a valid change, the affected analyses recompute after a short debounce (about half a second), so the result charts and tables stay live as you edit. Two long-running asynchronous trajectory jobs are explicit instead — you start them with a button and one runs at a time:
- the concept generator — Generate trajectory on Auto Design while the transport objective is Trajectory length, and Draft trajectory on Targets, which drafts from the target plan;
- the cost optimization — Generate trajectory on Auto Design while the objective is Trajectory-dependent cost, and on the Cost Model, which opens only under that objective.
The well's cost is neither: Well Cost and each section's Cost & time leaf are computed in the app from what the sections record, and follow every edit.
Units
The app stores every value in one canonical unit — SI, with a few exceptions such as temperatures in °C and weights in tonnes — but displays them through a presentation-only unit converter, so you can work in metric or oilfield units without changing the underlying data. Inclination and azimuth are always in degrees. See Units.
Import, export, autosave and recovery
A project is saved and loaded as a JSON file (Import / Export, top right); an export is the project document, so it carries calculation answers only as far as they were written into it. New starts an empty project and Test loads the bundled test well; both ask before replacing the open one. While you work, the project autosaves to the browser's IndexedDB (the indicator left of New reads Saved locally) and is restored on reload; a browser that has never saved one opens an empty project.
A value outside its field's allowed range is not taken into the project: a field that must be greater than zero keeps a 0 you type on the way to 0.5 on screen, outlined red, until the next digit makes it valid, and leaving the field restores the stored value. Where an invalid value does reach the project, it is kept as a draft: the indicator at the top says Not saved (hover it to see which field), the browser keeps the last valid state, calculations wait on that last valid state, and Export refuses until you fix the value. Closing the tab at that moment asks first.
If a stored project cannot be opened as it is — saved by an older version, or damaged — the app asks whether to Recover it, listing the changes first (the first five, then how many more): an out-of-range value is emptied for you to re-enter (in a field that cannot be empty it takes the nearest allowed value), a missing entry is added empty, a field this version no longer knows is dropped, and section bottoms that do not deepen move 1 m below the one above. A value that breaks one of the project's consistency rules gets the smallest fix that rule allows. A catalog bit whose diameter no longer matches the catalog loses its catalog link, an Auto Design interval whose end TVD is out of order moves 1 m below the one above, and an inverted min / max inclination is swapped. A survey whose depths do not increase is not changed; it is listed for you to fix in the file. Cancel leaves the stored project untouched; the app then stays in recovery (the indicator reads Recovery required), which pauses autosave and calculation until you start a New project, import a file, or load the Test project. Importing a file that fails the same check offers the same choice.
Reporting a bug
Report bug in the toolbar opens a short form: a Subject and a Description that opens on a small template (the steps to reproduce it, what you expected, what actually happened). Send waits until both the subject and the description have been written — hovering it says so. Three attachments sit below:
- Attach project (on) attaches the project as it stands, including a value the app has not saved yet, with the project and well names replaced by redacted, the description left out, and the geomagnetic reference's latitude and longitude rounded to a whole degree. Its size is shown beside it.
- Attach geology (off) adds the lithology map and the pressure window (pore and fracture gradients) to that project; without it they are left out.
- Attach errors (off) attaches what the results pane's Errors tab lists at that moment — for a failed request also its status and the server's reply — with the count in its label (greyed out while the tab is empty).
The form stays open until you press Cancel (or Esc) — clicking elsewhere in the app, even opening another page, does not close it, and what you typed is kept until the report is sent; Clear starts it over. Send mails the report to MWD STD support from your account, so the reply comes to your e-mail; the page you sent it from is named in it. A report may be at most 0.9 MB with its attachments, and up to five an hour are accepted.
The attachments are a copy of your project data: support uses them only for your request and deletes them when it is closed, at the latest 90 days after receipt (see the Privacy Policy and the Data Processing Addendum).
What the app calculates
Project overview
The Project page holds the identity of the whole well-design project and the well-level context that applies to every section. Open it from the project banner at the top of the sidebar (which shows the project name). It fills the workspace with no results pane — the page owns no calculation of its own. Three tabs sit at the top: General (below), Base costs (the prices) and Ops book (the operation times and speeds).
- Project name — the user-facing name for the project. It also drives the sidebar banner and the default export filename; the banner follows as soon as you leave the field.
- Phase — the project lifecycle stage: Plan or Execution. Defaults to Plan.
- Ground elevation — the offset between the two vertical depth references used across the project:
TVD RKB = TVDSS + Ground elevation. The geology on Geomech & Lithology is entered in TVDSS, while the charts and every section depth are TVD RKB, so changing this shifts both pressure curves and the lithology relative to the well, and with them the pore gradient the Bit Selector and the ROP model are sent. Leave it blank for zero. It describes this well, so it does not travel with a settings template. (It used to sit on the Section Intervals page; a project saved before the move asks for recovery on load — Recover drops the old entry, or start again from New, Import or Test.) - Description — free-text notes about the project (multi-line).
Well context
Four of these five fields reach a calculation: Region, Environmental class, Temperature gradient and Pressure-window source are read by the drilling-fluid selector, and the temperature gradient by both cementing calculations too. Each may be left blank, which means "use the calculation's own default" rather than a stored value — but the fluid selector needs a Region, and with region Other an explicit class (below).
- Region — the regional layer: North America, MENA, Central Asia or Other. It sets the default environmental class and geothermal gradient, the regional preferences applied when scoring fluid systems and the fluid's logistics price factor, and it picks the column of the cement, cement-service and casing regional multipliers on Base costs (with no region chosen, those three use Other). The fluid selector cannot run until a region is chosen.
- Environmental class — the environmental restrictions in force, from E0 (least restrictive) to E3 (a ban on hydrocarbon base fluids). Leave it at — regional default for the region's own class; Regional default (explicit) means the same. With region Other there is no regional default, so pick an explicit class (E0–E3).
- Temperature gradient — the geothermal gradient per 100 m (or 100 ft) of TVD, used to estimate bottom-hole temperature. Leave it blank — the empty field reads Default — for each calculation's own default: the region's for the fluid selector, 3 °C/100 m for cementing. It follows the temperature-gradient setting on the Units page — °C/100 m in Metric, °F/100 ft in Field (3.0 °C/100 m = 1.646 °F/100 ft) — and the calculations always receive it in °C/100 m. It must be greater than zero: a zero or negative gradient is saved as typed, but the Mud Selector and the Cementing page refuse to calculate with it and say so.
- Surface temperature — the ambient temperature at surface, the top of the bottom-hole temperature estimate behind each section's High temp fact on Section Intervals (the HPHT flag). It follows the temperature setting on the Units page (°C, °F or K). Unlike the other four it reaches no calculation: the cementing engine uses its own 15 °C (59 °F) whatever you type here — the placeholder shows it in your unit — so leave it blank to keep the on-screen estimate in step with the engine's, and enter a value only when the field data says otherwise. With the gradient blank the estimate uses the cementing engine's 3 °C/100 m.
- Pressure-window source — where the pore/fracture window came from: Measured, Calculated or Analog. It sets how much confidence the fluid selector reports.
Because these five describe the area rather than the individual well, they travel with a settings template — save one from a project in a given region and import it into each new project there to start from the same context.
Cementing
At the foot of the General tab, below Description, Cementing · open-hole excess (0–100 %) folds open to one figure per kind of job: the open-hole excess, how much more slurry than the gauge hole would hold, as a percentage from 0 to 100 (a value outside that range stays outlined red and is not taken). It lives here rather than on each section because it describes the hole a job is drilled in — a 17½″ surface hole caves the same way in every well of an area — so an operator sets it once for the field.
Leave a cell empty and the Cementing calculation uses its own figure, which is the number shown greyed in the box. A section's kind of job (conductor, surface, intermediate, production, liner) is worked out by that calculation from the hole size, the position in the well and the section's role.
Base costs
The second tab collects the prices the project is costed with, one collapsible section per aspect: Drilling fluid, Rigs, directional & bits and Casing & cement. Each header shows how many prices you have changed and carries its own Reset to defaults. Every field starts at a bundled default, so an untouched project behaves exactly as before.
A price is a seed: it is copied onto the thing it prices — the rig's day rate, a section's service rate, the bit's price, the cuttings price, a cement interval's or casing segment's price — where you then own it, and the section's Cost & time leaf reads the section, not the book. A few figures on this tab are read live instead, so a change reaches every section at once: the Mud dilution factor, the directional service's Day rate / Per metre basis and HPHT coef, every Cement service figure under Casing & cement, and a cement class price for an interval that carries none. Every operation time and speed lives on the Ops book tab (below), because time and money are different books.
Drilling fluid
These prices are not display-only. The cost per cubic metre they produce feeds the Cost criterion the candidates are scored on, and it breaks ties between variants of the same system — so changing a price can change which fluid is recommended, not just the number on its card. The selected candidate's cost is also what Mud Selector → Apply writes into each section's Mud cost — a candidate with no cost, an aerated system, leaves the price as it was — which then flows into Well Cost.
Inside the section the prices are grouped:
- Fluid systems — the base material cost of one cubic metre of each system, before weighting. Three systems are missing on purpose: C9 (formate) is priced from its salt and chemicals below, C11 (invert-emulsion OBM) from its base fluid under System variants, and C12 (aerated fluids) has no material cost model at all — its cost driver is the compressor package.
- Weighting agents — the price per tonne of barite and CaCO₃. It only applies above a system's reference density; a mud light enough to need no weighting is priced from its base cost alone.
- System variants — where a variant costs something other than its system: gypsum for C7, and the diesel / mineral-oil / synthetic base fluids for C11.
- Formate (C9) — the price per tonne of Na, K and Cs formate salt, plus the non-salt chemicals per cubic metre. The salt mass rises with density, so these dominate a heavy formate mud. Caesium formate is normally rented; its listed price is indicative.
- Regional logistics multiplier — a dimensionless factor applied to the finished cost per cubic metre, chosen by the project's Region. It is not a price and does not follow the display units.
- Cuttings & dilution — shown here with the fluid but stored with the rig and service rates, so a change to either figure is counted, flagged and reset by the Rigs, directional & bits header, not by this one: the Cuttings disposal price per cubic metre of hole drilled (the seed of each section's Cuttings disposal price on Drilling Mud) and the Mud dilution factor, the allowance on the hole volume the Cost & time leaf sizes a section's new mud with.
Rigs, directional & bits
The second section is the rate book of the rig and its services. The prices seed the sections and the rig: picking a catalog rig on the Rig page copies that class's day rate into the rig's own Day rate field, picking a tier on the Section page copies its rate.
- Rigs — the day rate of each rig class, and the value the Rig page's Day rate is seeded with. Beside every class is its soft TVD window: the depth range that class is normally used for. It is a guide, not a rule, and it is reference only — you cannot edit it here.
- Directional service — the day rate or footage price of each service tier, from T0 (motor only) through T1 (motor + MWD) and T2 (motor/RSS + MWD + LWD) to T3 (adding geonavigation). The Day rate / Per metre switch beside this group's heading chooses which way the project quotes it, and with it whether every section's DD rate on the Section page is a day rate or a price per metre. Switching re-prices the sections: a section on a book tier takes its tier's rate from the set you switched to (a red price there leaves it blank), and a Custom rate, typed in the old unit, is cleared — the switch asks first and names those sections, and the Cost & time leaf shows their rate as missing until you type it again. A section with no tier is left alone. Both price sets are kept, so switching back never loses a price you typed here, and Reset to defaults restores the prices without moving the switch. The last cell, HPHT coef, is the multiplier a book tier's rate carries when the section is HPHT (default 2): the Section page's DD rate field shows the product and the cost model charges it, while the stored rate stays as seeded, so the surcharge follows the flag and the coefficient live. A Custom rate is never multiplied.
- Bit footage — the price per drilled metre by hole-diameter bracket (the bracket bounds are reference only), plus K, the dimensionless lithology factor the footage price is scaled by. Bracket × K seeds the Bit price on Bit & Motor when a catalog bit is picked without one.
- Logging service — the price of one open-hole logging run by tier, L1 (basic), L2 (standard) and L3 (advanced), which seeds a section's Logging price when its tier is picked. The speeds the logging hours are computed from are on the Ops book tab.
- Mud service — the day rate of the mud-engineering service by tier, M1 (a mud engineer) and M2 (engineer plus solids control); the Mud Selector's Apply picks a section's tier from its fluid system and seeds the rate, unless you set the section's service yourself (Custom or None).
Casing & cement
The third section is the book the Cementing card and the Casing Runs page price from. Changing a figure here re-runs no calculation. A cement card that holds no applied column, and the Casing Runs proposal, follow the book until you type a price of your own; Apply then stores the price as it stands, so an applied cement column or casing string keeps it when the book changes. A casing string takes a new rate at its next Apply on Casing Runs, an applied cement interval when you change its Tier or press Auto on the Cementing page and apply again. The Cement service figures are the exception: the contractor's bill reads them live (above). The cement figures default to the central US-land scenario of the cementing methodology the app follows; every one is a starting point for your own contractor's quote.
- Cement · two-stage (lead / tail) — the price of one cubic metre of slurry for a two-stage job, where a cheap lead (C0) fills the long upper column and a stronger tail covers the shoe: C1 standard, C2 for production or gas-control duty, C3 for a special system.
- Cement · single-stage — the price for a job that places one slurry over the whole cemented interval. It is a separate figure, not one of the classes above, because the job buys a different product.
- Cement regional multiplier and Casing regional multiplier — dimensionless factors by region. They are separate tables: the two markets do not move together, and casing is markedly cheaper than the US benchmark in the MENA and Central Asia regions while cement is dearer in Central Asia.
- Cement service · job package (S0) — what the cementing contractor charges for the job itself, before the slurry: one lump sum per kind of job (conductor, surface, intermediate, production, liner). It covers the pumping unit and crew, bulk handling, a typical mobilisation, the cementing head and plugs, the lab design, ten cubic metres of spacer and two hours of waiting on location. The kind of job is the one the Cementing calculation names for each section. The service is a per-job sum, not an hourly rate: the hours the rig spends on the job are the rig's own bill, at the day rate recorded on the Rig page.
- Cement service · volume addon — a rate charged on slurry beyond twice a job's typical volume, so an unusually large column pays for the extra bulk and the extra pumping time; a column at or under that threshold pays nothing here. The typical volumes are volumes, and follow the display units like any other.
- Cement service · package multiplier — how much dearer the job package gets when the job needs more than the standard spread: an Enhanced package with a batch mixer, an HPHT package, or a Foam package with the nitrogen unit and foamer. A standard job multiplies by one. The two-stage addon is added to that multiplier when the job is pumped in two stages — the stage tool, the second pumping, the spacer and the wait between stages. The package follows the job rather than the slurry class, the first of these that applies: Foam = Y on the section's Cementing card buys the Foam package, an HPHT section (the chip on the Section page) the HPHT one, Batch = Y the Enhanced one — and while Batch is left at ?, a C2 slurry in the column stands in for the batch mixer. A special-system (C3) slurry is paid for in the material price above.
- Cement service regional multiplier — a separate regional table for the service, because contractor rates and material prices do not move together across regions.
- Cement service · options (off by default) — other lines a cementing invoice may carry, none charged unless the job calls for it: float equipment with centralizers per string, the liner hanger system (hanger, packer, running tool and the service to set it — not the bare hanger), and the cement evaluation log, with a second figure for a log that has to be delivered by tractor or coiled tubing. The log is charged when a section's Log switch is on; the accessories and the tractor delivery are switched on per section, on its own Cementing page, where the bill is shown.
- Casing · base price and Rotation coeff (premium threads) — the price per tonne of steel before anything else, and the multiplier that price carries when the string is run with rotation (premium threads are what make rotating possible; the default is 1.5). Beside them, for reference, is the grade factor that scales the price with the pipe's yield strength and with sour service:
price = base × regional multiplier × K(Y, S). The regression is fixed — you cannot edit its constants — and note the units it is calibrated in:Yis the yield strength in ksi (the 55 and 80 in it are the K-55 and L-80 grades), andSis the H₂S flag, 0 or 1. The rotation coefficient is not part of that regression — it multiplies the result afterwards. This block is what the Casing Runs page prices each casing segment with:base × regional multiplier × K(Y, S) × the pipe's tonnes per metre, times the rotation coefficient when the string is run rotating. TheSinKis only set when the casing is actually a sour-service grade (L-80 or better) — the premium buys that steel, so a sour well run in J-55 is priced without it and warned about instead.
All sections
Prices follow the display units in their denominator: switch to field units and $/m³ becomes $/bbl, $/t becomes $/ton, $/m becomes $/ft, and the TVD windows and diameter brackets read in feet and inches. Only the denominator changes — the currency is always US dollars, and switching units never re-runs a calculation. A day rate has no convertible denominator, so it stays $/day.
Clearing a field restores that price to its default — there is no blank state here. Every figure must be above zero; only the dilution factor may be zero, never negative. A bad value turns its field red, marks its section header so you can see it even while collapsed, and is named in the line at the bottom of the tab under the rule it breaks — must be above zero or cannot be negative; a name the tab shows in more than one table, such as a region, carries its table's title. For a fluid price that one entry then falls back to the engine's catalogue price while everything else is still priced at your numbers.
Like the well context, prices describe the area and its contractor market rather than the individual well, so they travel with a settings template — but only once you have changed something, so an untouched project exports no price list. The Day rate / Per metre choice stays with the project.
Ops book
The third tab is the time book: how long the rig's operations take and how fast it trips — the numbers the section Cost & time leaf turns into rig hours. Nothing here is a price (the prices stay on Base costs), and apart from the trip speeds, which seed the runs (below), nothing here is copied onto a section: the cost model reads this tab directly, because these figures describe how the rig works rather than a thing on a section. Three collapsible sections, each with its own changed count and a Reset to defaults for just its own groups.
Rig operations
- Connections
s— the four operation times of a rig with no catalog behind it: the Drilling connection, the Connection with pumps (survey) (a survey taken and the pumps brought back up — the one charged per stand drilled), the Tripping connection (slip to slip) charged per stand tripped, and the Casing joint make-up charged per joint run. A catalog rig carries its own four with its equipment and ignores these; a manual rig shows them on the Rig page's Pipe handling block, where you can override them for that rig. None may be zero. - Trip speeds — the running and pulling speeds of a rig with no drawworks to read: the working number the runs' RIH / POOH velocity is seeded with by the Drilling and Casing Runs Apply. A catalog rig's drawworks rate their own; a manual rig shows these on the Rig page too. They follow the display units.
- Flat times — the flat times of the section time model: BHA make-up and lay-down by hole class (large above 8 in, small at 4¾ in and under, medium between), the minutes per collar beyond the BHA base length and that BHA base length itself (50 m — the assembly the flat hours already cover; set it to zero and every collar counts), Drill out shoe track, FIT / LOT, Casing shoe & float make-up, Liner hanger make-up, and the Casing joint length the count of joints run is taken from (the casing catalog carries none). A time may be zero — a rig that skips the FIT; the joint length may not.
Logging
The three numbers a logging run's hours are computed from — the Logging speed over the open hole, the Cable speed outside it (both follow the display units) and the Rig-up / rig-down hours. The price of the run by tier stays on Base costs.
Section roles
- Wellhead & BOP — the hours of wellhead and BOP work charged once per cased section, by section role (upper, intermediate, production, slim).
- NPT factor — the non-productive-time allowance by section role: a section's hours are multiplied by one plus the factor.
Clearing a field restores its default, like a price. A connection time, a trip speed, the logging and cable speeds and the casing joint length must be above zero; every other cell — a flat time, the BHA base length, the logging rig-up hours, the wellhead hours, an NPT factor — may be zero. A bad value turns its field red, marks its section header so you can see it while collapsed, and is named in the line at the bottom of the tab under the rule it breaks — must be above zero or cannot be negative (a section role with its table's title, Wellhead & BOP or NPT factor). Like the prices, the book travels with a settings template once you have changed something — it is the contractor's practice, not the well's.
Geomech & Lithology
Geomech & Lithology is the well-level geology description: the pore/fracture pressure profile and a lithology map — which rock lies at which depth, with the lithology flags and expected complications present in each layer. Everything on the page is descriptive project data — the page runs no calculation of its own. The pore-pressure curve is still read by two calculations: the bit selector and the ROP model take the pore gradient at each section's mid-depth, so editing the profile moves both. The lithology map is read by Section Intervals, which fills each section's rock, flags, H₂S, modifiers and complications from the layers it crosses; its Apply writes them into the sections, where the selectors and the ROP model read them. The profile is drawn on the right as the pressure-gradient chart, beside a lithology strip of the map hatched in the conventional lithology patterns.
The two tables sit in accordions on the left; every edit writes to the project immediately (no Apply), survives a reload, and travels with the project's Export and Import. They describe this well, so a settings template carries neither and importing one leaves them as they are — to reuse them in another project, use each table's own export and import (below).
Depth references
Both tables are entered in TVDSS (true vertical depth below sea level, negative above it); the chart and the strip plot TVD RKB = TVDSS + Ground elevation. The ground elevation itself is edited on the Project page.
Pressure profile
Each row is one profile sample: TVDSS, Pore gradient, and Fracture gradient (both gradients are equivalent mud densities, shown in your active density display unit — SG, ppg, kg/m³, …). The toolbar offers Paste rows (tabs, semicolons, commas, or spaces as separators), a trash-can Clear, Import (CSV/JSON) and CSV / JSON export; the + under the table adds a point. Pasted rows are added to the table and imported ones replace it, both sorted by TVDSS automatically; at least two valid rows are needed to draw the window. Export writes pressure-gradients.csv (header TVDSS,Pore,Fracture) or pressure-gradients.json ({ "points": [{ "tvdss": …, "pore": …, "fracture": … }] }) in your active display units, as the table shows them; Import reads the same shapes — a CSV by column order, its cells separated by commas, semicolons or tabs as in a paste (the header line is optional; a comma is never read as a decimal point), a JSON also as a bare array of points. A number you type or paste, by contrast, may use a decimal comma — 1,25 reads as 1.25, in any unit system; in pasted rows only when tabs or semicolons separate the columns.
Both gradients must be greater than 0: a zero or negative value turns its cell red with the reason under the table and is not saved (the same for pasted and imported rows). A zero gradient would pull the profile between its neighbours toward zero, and the ROP model and the bit selector would work with a pressure that looks plausible and is wrong. A project saved or imported with such a row still opens, with that cell already red and the reason under the table — Row 3 pore: Pore must be greater than 0., rows counted from the top — and the table takes no other edit until the value is fixed or the row deleted.
This page is the only editor of the table, bar one button: Load example in the workflow widget replaces the profile and the lithology map with the bundled test well's; Section 1's start depth on Section Intervals stays as it was. Section Intervals reads the table — projected onto measured depth along the trajectory — to derive each section's mud window.
The page's sidebar row carries a status dot because of this table: it turns red when a profile row stops a section's ROP model — such a stored zero (or negative) pore gradient in a row next to the section's mid-depth. The table marks every such value, a fracture gradient included; the dot only a pore gradient a section reads. The Errors tab of that section's drilling run names the row by the table's number (Pressure profile row 3: …); fix the value here. The Bit Selector stops on the same row but says so on its own card, leaving the dot alone.
Lithology map
One row per layer, described by the depth of its bottom: the layer extends from the previous row's bottom down to its own TVDSS (the first row starts at the surface), so the rows must be strictly increasing. Columns:
- TVDSS — the layer's bottom.
- Rock — a catalog rock (same list as the Formation leaf), or
—for not set. - Flags & complications — one cell with the compact codes of everything marked in the layer: the lithology flags, H₂S, the mechanical modifiers and the expected complications. A code with a
?(e.g.ISh?) is a mark whose presence is uncertain.
Click a row to open its chip editor right under it (adding a row opens it below the new last row); click the row again to close it. The first chip group holds the lithology and mechanical flags, the second the complications and H₂S.
The lithology flags and H₂S have three states, cycled by clicking the chip: unselected = not present, selected = present, selected with a ? (amber) = present but unconfirmed. The mechanical modifiers and complications are simple present/absent chips. Note the difference from the per-section flags on the Formation leaf: there an unanswered flag means unknown, here an unmarked chip means not present — the map describes what is in the ground, so say "?" explicitly when you are unsure.
Flag codes: ISh inert shale, RCl reactive clay, Anh anhydrite, MfS microfractured shale, CO₂ CO₂/acid gas, Sa salt (halite), KMg K–Mg salts, Kao kaolinite, PF permafrost, Unc unconsolidated, H2S sour gas. Mechanical: Gvl gravel, Ibd interbedded. Complications keep their O1–O7 codes (partial losses, total losses, high pressure, depleted zones, sloughing, salt creep, kick risk).
Paste, import and export
The lithology table carries the standard toolbar: Paste rows appends and re-sorts by depth, Import (CSV/JSON) replaces the table, CSV/JSON export what you see. Formats:
- Paste separators: tabs (Excel), semicolons or commas. A rock name containing a comma must be quoted (
"Sandstone (weak, friable)") or pasted tab-separated; space-separated paste cannot carry rock names. - All marks of a row travel in one cell, joined with
|, carrying the ids:REACTIVE_CLAY|SALT?|H2S|gravel|O1(case-insensitive; the short display codes are not accepted). Flags, H₂S, mechanical modifiers and complications share the cell — each id is recognised by its own vocabulary, and a trailing?marks the uncertain state (accepted only for the lithology flags andH2S). - CSV header:
TVDSS,Rock,Marks. Cells with commas are double-quoted. - JSON mirrors the export shape:
{ "lithology": [{ "tvdss": …, "rock": …, "marks": […] }] };marksmay be an array or a|-joined string. - Depth values in CSV and JSON are in your active display unit, exactly as shown in the table.
- A depth you type or paste may use a decimal comma (
850,5reads as 850.5; in pasted rows only when tabs or semicolons separate the columns); in an imported file it needs a decimal point.
An unknown rock name or flag id is reported per cell in the error line under the table, and nothing is committed until it is fixed.
A project saved or imported with a layer the table refuses — a rock name the list does not know (typed into a file, or a rock renamed since), or a bottom no deeper than the row above — still opens, like the pressure profile's: that cell is already red and the reason stands under the table — Row 3 rock: Unknown rock "…"., rows counted from the top — and an unknown rock shows its stored name in the cell. The table takes no other edit until the row is fixed or deleted.
Filling the tables with an LLM
The page header carries an Import skill button, right of the title: it downloads a ready-made instruction text for Claude or ChatGPT. Paste it into a chat — the most capable model, the highest reasoning setting — together with the client's document: a Word or Excel table of the well project (Russian well-construction forms included), a PDF, a scan, a stratigraphic column, a pressure chart. The assistant returns the two files this page imports (lithology-map.json, pressure-profile.json), a review table that cites the source of every row, and a drawing of the column to compare with the original. Import the files with the tables' Import buttons, set Ground elevation on the Project page — the rotary-table altitude, which the assistant names when the document gives it — and compare the strip and the window with the source.
The text is generated with the units the app is showing at that moment — depth and density — because the import reads values in your active display units. It always downloads as aide-geology-import-skill.md, with the units written inside — in its skill name (for example aide-geology-import-m-kgm3) and title — and the assistant repeats them at hand-over; after changing units, download the text again. The text also offers, once, to be kept as a persistent skill of the chat service: the assistant hands you the file and says where to add it — you add it yourself.
What the assistant checks before handing over: that the depths are TVDSS — each table gets a datum verdict, one it cannot confirm becomes the first warning of the review, and a depth measured along a deviated hole is never converted; that the gradient units are stated, never guessed from the numbers; that rocks and marks are from this page's vocabulary; that a fracture gradient at or below the pore gradient is pointed out for you to confirm against the source (an inverted window happens in practice, and this page takes it as it stands, so it is a warning, not a refusal); and, for scans and figures, a second independent read with its differences listed — to the last digit for a table. It never invents depths: a stratigraphic column without a depth scale comes back as a sequence, with a request for the formation tops of your well.
MWD STD Inc. is not affiliated with Anthropic, OpenAI or any other AI provider. Use only AI providers your company has approved for client and commercial data: your document goes to the chat service you use, under its terms, and the conversion sends nothing to AIDE — you import the files yourself.
The strip and the marks track
The lithology column and the pressure chart share one depth axis — the chart's TVD scale on the left applies to the column too, and both extend to whichever is deeper, the profile or the last layer. (Section Intervals draws the same pair against MD, projected along the trajectory; this page is the plain TVD view of the same data.)
Each layer is filled with its rock's conventional color and hatch — yellow dotted sandstones, blue brick-work limestones and chalk (dolomite lilac, its bricks slanted), dashed grey-green clays and shales, crossed halite, diagonal sulfates, solid near-black coal, plus/vee marks for igneous rock.
To the right runs the flags & complications track. The two read as one table: every layer is a row, and its rule runs across the column and the text cell — worth remembering when several neighbouring layers share a rock, because their hatch merges into one band and only the rules show where one interval ends and the next begins. Each row reads rock: marks — the rock name cut to 14 characters (Sandstone (med…), then the layer's marks in words (not codes). A layer without marks shows its rock alone, one without a rock its marks alone, and a thin layer cuts the text off with an ellipsis. Hover (or focus) a row for the full rock name and the full list, grouped into flags, mechanical modifiers and complications.
Rig
The Rig page describes the rig itself: pick a representative rig from the equipment catalog (or stay fully manual), review the equipment set, and keep the rig limits and the surface mud system that the calculations use. The rig limits draw as reference lines on the result charts, and the mud system adds to the calculated standpipe pressure in hydraulics. No trajectory job reads this page directly: Copy from project on the Cost Model copies Block weight, Load capacity and Max torque into the rig fields the cost-optimizing job receives, and the concept job carries no rig limit.
Catalog rig
The Catalog rig selector lists ten representative land rigs (300–1,555 klbf classes) built from published equipment specifications. Picking a rig:
- stores the selected equipment set (drawworks, traveling system, top drive, mud pumps, surface lines, BOP stack) in the project as an authoritative snapshot,
- computes the rig's capabilities from that equipment — the weakest link governs every aggregate limit (for example, max hookload = the least of derrick, hook block, drawworks pull × lines × reeving efficiency, drill line MBL·n/DF 3, top-drive load rating, and elevator rating),
- fills the Rig limits below and the Mud system rows from the equipment.
Choose Manual — no catalog rig to enter the rig by hand: the equipment set is dropped, and the values already on the page stay until you change them.
Day rate $/day — what the rig costs per day, beside the selector. Picking a catalog rig seeds it from that class's rate in Project → Base costs; it is then yours to override, and it shows from price book or custom with a reset to price book link. A manual rig has no rate to seed from, so type it in. It is the one rate the rig's time is charged at: the section Cost & time leaf and the Well Cost page multiply every section's hours by it, and the cementing hours read it too. Unset, those lines show a dash rather than a free rig.
Every filled value stays editable except Max block height, which a catalog rig sets from its mast (see below). A field that still matches the catalog shows a from catalog badge; once you type your own number it switches to custom with a reset to catalog link. A field that is simply empty — a project saved before that field existed — offers fill from catalog instead. Your overrides survive component swaps — only picking a different rig resets them.
If the bundled catalog was updated since the rig was applied, a Catalog updated — re-apply chip appears on the line under the selector; clicking it refreshes the snapshot (and any untouched fields) from the current catalog. A rig or component the current catalog no longer holds shows Not in the current catalog there instead.
Components
The Components accordion lists the rig's equipment; its header shows the state (Components: stock set / N swapped). Each unit can be swapped. The Stock / Catalog toggle in the header switches the dropdowns between catalog-compatible options (Stock) and the full list of each type (Catalog); the circular reset arrow next to it returns the stock configuration (it is inactive while nothing is swapped). Swapped units are badged. For the mud pumps you also choose the number of working pumps and the liner — right under the Mud pumps row — both feed the achievable pressure and flow. Every change recomputes the capabilities and refreshes the untouched limits instantly.
Rig limits
- Block weight
t / klbf— the travelling assembly (block + top drive for a catalog rig). Also added to every broomstick drag curve so the charts show the hookload the driller reads (see Torque & Drag). - Load capacity
t / klbf— maximum allowable hookload; for a catalog rig this is the weakest-link value above. The Cost Model copies it as Drawwork capacity. - Max torque
N·m / ft·lbf— maximum allowable rotary torque (the top drive's continuous torque for a catalog rig). The Cost Model copies it as Top drive torque. - Max pressure
bar / psi— the maximum standpipe pressure. For a catalog rig this is the achievable pressure: the weakest link of the circuit (pump liner by rod load, fluid end, standpipe, surface lines, top-drive washpipe) with a 0.95 relief-valve margin. Drawn as a red dashed limit line on the hydraulics SPP chart. - Max block height
m / ft— the useful travel of the block. On a manual rig it sets the stand: the section Cost & time leaf trips in stands of whole drill-pipe joints that fit this height. A new project holds 30 m, and switching a catalog rig to Manual keeps that rig's travel — check it against your rig. A catalog rig takes its stand from its own mast, never from this field, so there the field shows the catalog's travel greyed out; hover it for the reason. - Max flow rate
L/min / gpm— the highest circulating rate the rig can deliver: the working pumps at maximum strokes per minute, capped by the shakers' capacity if they are the weaker link. Filled to the nearest 0.001 m³/s, so it reads as a round figure; the Max flow row of the Specs pane shows the same capability unrounded and can differ in the last digit. No calculation reads it, but the Drilling page caps its proposed flow rate at it before Apply; a run's own flow rate is not checked against it.
(Force and weight are tonne-force by default; every field follows your active display units.) The sidebar's Rig dot stays amber until Block weight, Load capacity and Max torque are all set.
Specs and Equipments (results pane)
While the Rig page is open, the results pane shows the rig report with two tabs (a manual rig shows only a prompt to pick a catalog rig):
- Specs — the computed capability passport: hoisting (max hookload with the full contributor breakdown and a governs tag on the weakest link, travelling assembly weight, speeds, travel, setback), circulation (achievable pressure with its contributor breakdown, max/continuous flow, volumes), rotation (top-drive torques, speed, power), casing ops & BOP (elevator, CRT torque, BOP class, clearances), and power / operation times. Everything recomputes live as you swap components.
- Equipments — the published representative and analog equipment models behind the current configuration, one list per unit (the first entry is the representative the catalog numbers come from).
Both views are informational; nothing on them is sent to the calculation APIs.
Mud system
The surface hydraulic restrictions between the pump and the drill string, as four fixed components in flow order: Standpipe, Rotary hose, Swivel, and Kelly / main shaft. For a catalog rig the first three fill from the rig's surface lines, badged from catalog; a saved edit switches the badge to custom with a reset to catalog link. For each you enter:
- Length
m / ft - Inner diameter
mm / in
Pick a Rig preset (Light Rig, Medium Rig-1, Medium Rig-2, Heavy Rig) to fill standard lengths and inner diameters, or leave it on "Custom" and type the values cell by cell, in any order. Editing any cell switches the preset back to Custom.
Pipe handling
The rig's pipe inventory and its fingerboard, in a third accordion under the mud system; its header line summarises the range, the stand and the three capacities.
- Drill pipe range — Range 2 (30 ft) or Range 3 (45 ft), the API length of the drill pipe the rig is stocked with, one value for the whole well. Picking a catalog rig sets it to whatever fills the mast best: Range 2 on a triple mast, where three Range 2 joints and two Range 3 joints make the same 27 m stand, and Range 3 on a single mast, whose 45 ft single is half again as long as a Range 2 one. It is yours to change. The line under the selector is the live stand — how many joints of that range fit the mast's stand length (capped by the block travel), or singles on a rig without a setback. A manual rig shows no stand line; its stand is whole joints of the range that fit Max block height. The range is also the tool-joint spacing of the per-joint side-force chart and its Lubinski criterion.
- Racking capacity
stands, three fields — how many stands the fingerboard holds, one figure per pipe class: 5–5½ in, 4–4½ in and ≤ 3½ in. The classes follow the tool joint rather than the pipe body, because stands lean joint to joint and the joint's outside diameter is the racking pitch. Vendors rarely publish the number, so a catalog pick fills all three with an estimate from the rig's setback rating (a regression on eleven published rigs, good to about ±12 %): the 5–5½ in figure is estimated and the two smaller classes follow it by tool-joint ratio. Each field carries the usual badge — from estimate until you type your own number, then custom with a reset to estimate link. Type the 5–5½ in figure from a rig's spec sheet and the estimates of the two smaller classes re-derive from it: those fields keep their numbers but switch to custom, and reset to estimate on each takes the new figure. A rig without a setback (the single and slant classes) shows 0: it trips one joint at a time and racks nothing. A manual rig has nothing to estimate from — enter the figures or leave them empty.
- Connections and trip speeds — on a manual rig only. A catalog rig's connection, slip-to-slip and casing-joint times come with its equipment and its trip speeds with its drawworks; a rig entered by hand has neither, so six more fields appear here: Drilling connection, Connection with pumps, Slip to slip and Casing joint in seconds, and the RIH / POOH velocity. Each starts at the figure on the Ops book tab and says so — from ops book; type your own number and it reads custom with a reset to ops book link (typing the book's own figure keeps it following the book). The section Cost & time leaf trips and connects at these, and the Drilling and Casing Runs pages seed each run's RIH / POOH velocity from the two speeds. Pick a catalog rig and the rows disappear: its own figures take over.
Nothing in this block is sent to a calculation. The range, the stand and the manual rig's times and speeds are the inputs of the section Cost & time leaf's tripping model; the racking capacity is not read by anything yet.
Targets
The Targets page is the project's own description of where the well must go: the kick-off depth, the two dogleg limits and the target list. It is the first sub-node of the Trajectory branch and is independent of Auto Design — nothing you type here changes that page until you press Copy from project there.
Fields
- Kick-off point
m / ft— depth of the vertical top section. It becomes the base trajectory of a generation job: one station at surface and one at the kick-off, both vertical (INC 0, AZ 0). Leave it empty for a base that is only the surface station. - Transport DLS max
°/30 m / °/100 ft— the upper dogleg limit of the transport interval. Every project section becomes its own interval constraint (inclination 0–180°) whose DLS is the limit for its hole size, capped at this value; while the section shoes cannot be placed in TVD yet, this value is sent as one interval constraint over the whole well instead. It is not the global cap (that one stays fixed) — see Auto Design. - Production DLS max
°/30 m / °/100 ft— the dogleg limit inside the production interval.
Targets table
- T1 · landing — the target that ends the transport interval: NS / EW / TVD plus the required attitude (Inc, Az). It is always part of the plan and cannot be switched off.
- T2, T3, … — production targets, position only (NS / EW / TVD); their Inc/Az cells show —. Add production target appends a row, the bin icon removes one.
- Import reads a
.csvor.jsonfile and replaces the whole table, T1 included; Export → CSV / JSON writes the current table. Any paste into the table is read as whole rows and replaces it the same way (a single number cannot be pasted into one cell). The exchange format is one row per target —target,ns,ew,tvd,inc,az— where the row carrying Inc and Az is the landing target and the others use-; a file or paste without such a row leaves T1 empty. Values in a file or a paste are in your active display units, as the table shows them: NS, EW and TVD in the active length unit, Inc and Az in degrees.
Buttons
- Draft trajectory always runs the geometric concept generation, whatever transport objective Auto Design carries. It sends this page's inputs as Auto Design's Copy from project would write them — the derived base trajectory, the targets, the per-section interval constraints and the production DLS limit (Auto Design's own while this page's field is empty) — together with the rest of Auto Design's inputs: its ESP window when switched on, the production Vertical tolerance and the production objective. So an ESP window left on there constrains a draft made here, though the Auto Design page itself is not changed. Cancel stops a running job, and Accept as active promotes the result to the project's active trajectory and opens the Trajectory page (the same behaviour as on Auto Design). Only one trajectory job runs at a time.
- Problems with the inputs (a missing landing target, a negative kick-off, a non-positive DLS limit, a landing attitude outside 0–90° / 0–360°) are listed above the buttons and block drafting.
- The sidebar node carries a status dot: green when the kick-off, both DLS limits and the landing target are filled in, amber while something is still missing, red for a value the generation would reject.
- When a generation finishes, the results pane switches to Designed traj on its own, so the freshly computed path is what you see.
The targets are also drawn as T1 / T2 … markers on the Actual traj plan and vertical charts — and on the trajectory drafted from this page — so you can see them against the well path. On Auto Design the markers keep showing that page's own targets. See Reading results.
Trajectory
The Trajectory page holds the active well path as an editable survey-station table. It is a sub-node of the Trajectory branch — clicking the branch itself only collapses or expands it. The branch holds, in order, Targets (the project's own target plan), this page, and Auto Design, where AIDE generates a path from a base trajectory, targets, and constraints; Auto Design in turn holds the Cost Model sub-node (active only when its transport objective is Trajectory-dependent cost).
You type the three survey inputs per station; the app recomputes the geometry with minimum curvature and fills the calculated columns. A status chip above the table reports whether the geometry is current, calculating, stale, paused (your account's access to the calculations is refused — the banner across the top of the workspace says why, with the button that helps), needs input (fewer than two valid stations, or a table cell the app refuses — even while the last calculated values stay on screen), or failed (with a Retry geometry button).
- MD
m / ft— measured depth of the station (editable). MD must be strictly increasing down the table. - INC
deg— inclination from vertical (editable, always degrees). - AZ
deg— azimuth (editable, always degrees). - NS / EW / TVD
m / ft— north–south, east–west, and true vertical depth — calculated (read-only), shown in the "Calculated · minimum curvature" band. - DLS
°/30 m / °/100 ft— dogleg severity — calculated (read-only).
The three editable columns are shown rounded to two decimals — an accepted generated trajectory otherwise carries full floating-point noise. The stored value stays exact until you edit the table; a commit then writes what the cells show.
Toolbar actions:
- Add station, under the table, appends a row after the last — 100 units of the active length unit deeper (100 m or 100 ft), with the last row's INC and AZ — and selects it.
- Paste rows inserts spreadsheet rows after the currently selected row (click a row to select it; the first row is selected by default, so a paste lands below the tie-in station); you can also paste directly into the table. After a paste the selection moves to the end of the pasted block, so consecutive pastes continue downward.
- Clear resets the table to the single zero station (MD 0 / INC 0 / AZ 0) — handy before pasting a whole survey.
- Import replaces the whole survey from a CSV file (header
md,inc,az) or a JSON file (astationslist ofmd,inc,az). - Export writes the survey as CSV or JSON.
Pasted rows and files carry the values in your active display units, as the table shows them: MD in the active length unit (m or ft), INC and AZ in degrees. With the length unit set to feet, a survey in feet pastes and imports as it is; switch the length unit first if the file's depths are in the other unit. An export in metres writes the stored values exactly; in feet it writes them as the cells show them.
A number you type or paste may use a decimal comma — 5,5 reads as 5.5, in any unit system; in pasted rows only when tabs separate the columns, since otherwise a comma separates them. An imported file needs a decimal point.
The footer shows the trajectory source, the station count, and TD. Invalid cells are flagged inline with a row-by-row issue list.
The results pane below shows the trajectory through the view tabs in its header (Actual traj is pre-selected here; Designed traj / Design QC / Cost report / Casing T&D show the generation results) — see Reading results.
A Depth converter finds the station at a depth on the active trajectory. It is a slide-out drawer docked to the right edge of the input pane (tucked to a MD ⇅ TVD tab; click the tab to open it), shown only on the Trajectory page — the same placement as the Sensitivity panel. Type either an MD or a TVD: the trajectory is interpolated at that depth, the other field is filled from the answer, and the Station block under the fields shows the whole interpolated station — MD, Inc and Az over NS, EW and TVD. MD must lie within the survey's MD range (the Station header names the range when you are outside it); TVD must be greater than 0, and where the path crosses a TVD more than once the first MD along the hole is shown and the header says how many crossings there are. The fields and the station follow the active length unit; the angles are degrees.
Auto Design
Auto Design is the third sub-node of the Trajectory branch, after Targets and the survey page. Build the inputs for the explicit generation job in four accordions, then run it. This page covers what to enter; for what the optimizer does with it, see trajectory planning & cost theory.
- Base trajectory — the part of the well path that already exists or that you want to lock, edited in the same survey table (MD / INC / AZ in, NS / EW / TVD / DLS calculated; editable cells are rounded to two decimals). Add stations, paste (pasted rows are appended after the last station), Clear back to the single zero station, Import, or Export as CSV / JSON. As on the Trajectory page, pasted rows and files carry the values in your active display units: MD in the active length unit, INC and AZ in degrees; a number you type or paste may use a decimal comma, while an imported file needs a decimal point.
- Targets — a toggleable Transport target (T1 "landing"; the Targets page's copy of this table always keeps it on: NS, EW, TVD
m / ftplus Inc, Azdeg) and any number of Production targets T2… (NS, EW, TVD; inclination/azimuth are not applicable and show "—"). Use Add production target. - Constraints — an optional ESP window (start/end TVD, min/max inc, DLS; the switch at the end of its row turns it on) and per-interval Section limits, both active only while the transport target is enabled. Each interval starts where the one above ends ("Surface" for the first) and ends at its End TVD ("TD" for the last); min/max inc; DLS
°/30 m / °/100 ft. Add interval appends one, the bin removes one, and Copy from project fills the list from the project's sections. The Production row holds the Vertical tolerance and the production DLS; it is active while there are production targets. The limits must stay in order: each interval's end TVD deeper than the one above and shallower than the one below, a min inclination no higher than the max, and the ESP's end TVD below its start. A value that breaks this is not written. The cell turns red, the reason shows under the table, and leaving the cell restores the stored value, so to move an interval past its neighbour, move the neighbour first. - Optimization objectives — Transport section: Trajectory length or Trajectory-dependent cost. Production section: Trajectory length or Tortuosity.
Copy from project
The green Copy from project button beside the page title refills this page from the Targets page and the project's sections — after a confirmation, because it overwrites what you typed here. It stays disabled until the Targets page holds something, and while that page holds a value the design would reject (a landing inclination past 90°, a negative kick-off, a non-positive DLS limit) nothing is copied: the message names the value to fix there. It is the same one-way copy as the Cost Model's button of that name. It writes the base trajectory (surface plus a vertical station at the kick-off point), the targets table, the Section interval constraints (replacing the existing list) and the production DLS. Nothing else is touched: the ESP window, the deviation tolerances and the objectives stay as they are, as does the fixed global max DLS. The transfer is one-way: editing this page never changes the Targets page.
The interval list becomes one interval per project section:
- End TVD — the TVD of the section's shoe on the current active trajectory; the deepest section runs to TD.
- Min / max inc — 0 and 180 deg: no inclination limit.
- DLS — the dogleg a hole of that size is drilled with,
237 / d^1.56(d= the hole diameter in inches, result in °/30 m: 17½″ → 2.73, 12¼″ → 4.76, 8½″ → 8.41), but never above the Targets page's Transport DLS max or the fixed global max DLS.
The shoe TVDs are a snapshot: after accepting a new trajectory, press the button again to re-read them. A section whose shoe is not at least 1 m deeper in TVD than the interval above — a liner landed in the lateral, for instance — gets no interval of its own (the next one covers it), and the notice names it. While a shoe cannot be placed in TVD (the survey geometry has not been calculated yet), the button writes a single interval over the whole well carrying the transport DLS limit instead (none while that field is empty), and the notice says why.
Generate / Cancel / Accept
The action bar at the bottom drives one generation job at a time. The transport objective decides which job runs:
- Trajectory length runs the geometric concept job from the base path, targets, and constraints.
- Trajectory-dependent cost runs the cost-optimizing job — it minimises only the part of the well's cost a longer or shorter path changes, never the well's total — which also reads the Cost Model (rig limits, casing running, per-section costs, casing T&D, ROP) — Auto Design's own sub-node. Selecting Trajectory-dependent cost activates it; fill it in (or use Copy from project) before generating.
Generate trajectory starts the job; Cancel stops it while it waits or runs. The status line beside the buttons says where the job is: queued while it waits for a free place on the server, running while it is computed, reconnecting while the page cannot reach the server (a dropped connection, the server restarting) — the job goes on meanwhile, and the page keeps asking, less and less often, until the answer comes. The job belongs to the open browser tab: leaving it (closing or reloading the tab, following a link out of the app), opening another project (New, Import, Test) or signing out cancels it, since nothing would receive its result; moving to another page of the app does not. A job that has waited in the queue for 30 minutes is reported lost — the server may have restarted — and canceled; run it again. If required inputs are missing, up to three specific messages (which section and which field) are listed above the buttons — a "…" line stands for the rest. When a result returns, the status line shows its QC verdict — QC: pass or QC: fail — as do the Design QC tab and the colour of Accept as active; a job that fails or is canceled says so on the line instead; Accept as active promotes the generated path to the active trajectory used everywhere else and opens the Trajectory page (the button turns red if QC failed — accept with caution). The same Generate / Cancel / Accept bar also appears on the Cost Model sub-node, so you can run from either place.
The result appears in the results pane under the Designed traj view tab (pre-selected on this page), with the design targets drawn as red T1/T2… diamond markers on its charts; the Design QC tab holds the constraint tiles and is itself coloured green/red by the verdict. See Reading results.
Cost Model
The Cost Model sub-node of Auto Design holds the inputs the cost-optimizing generation job needs: rig limits, a casing-running flag, and a per-section table of costs, casing torque & drag, and ROP. It is active only when the Auto Design transport objective is Trajectory-dependent cost.
These inputs are a one-way copy of the project. Copy from project fills them from the current project; you can then edit them freely, or type everything by hand. Editing here never changes the project's own values — it is a what-if surface for the optimizer. (This is distinct from the per-section Cost & time leaf and the Well Cost summary, which read the project's sections. Copying recasts that time and cost model into the numbers below — see What Copy from project brings over.)
Toolbar
- Copy from project replaces the whole Cost Model with a copy of the project: one section per project section, and the three rig fields from the Rig page (Block weight, Load capacity as Drawwork capacity, Max torque as Top drive torque). Only your Ensure running of casing tick is kept, so it can be set before copying or after. If the Cost Model already holds sections, you are asked to confirm first.
- Ensure running of casing — when on, the optimizer evaluates casing running torque & drag, and the casing-T&D inputs below become editable: rig Block weight / Drawwork capacity / Top drive torque, and per-section Mud weight / FF slide / Rotate while running / FF rotation / Critical torque. When off, those fields are disabled. The three rig fields serve only the casing-running check; the job still receives their values while they are disabled.
Per-section inputs
Sections are a list you manage with Add section and a trash icon in each accordion header (after the fill-status dot); Copy from project rebuilds the list to match the project. Each accordion is titled Section N: {hole}" {Casing|Liner} OD: {OD} ID: {ID}.
- Stop TVD
m / ft— section bottom true vertical depth. The task defines sections by TVD because the trajectory does not yet exist when you optimize. The last section drills to the target depth, so its Stop TVD is disabled (it shows TD) and is sent as empty. - Bit / hole size — a dropdown of the bit catalog, each bit shown with its diameter in your display units; choosing a bit sets the section's hole diameter. It works like the Section page: it sits beside the numeric Hole size field, and picking a bit updates that field — but you can still edit the number directly, which resets the dropdown to Custom diameter….
- Hole size
mm / in— borehole diameter; set by the bit dropdown or typed here. - Casing — the casing/liner descriptor (size + inner diameter); pick from the catalog. The read-out beside the label shows the current descriptor. The Liner toggle sits to its right.
- Liner — when checked, the section runs a liner and the Drillstring picker (the casing-running drillpipe, on the next row) becomes active; when unchecked, the drillstring picker is disabled.
- Mud weight
kg/m³ / ppgand FF slide — casing-running fluid density and sliding friction factor. - Rotate while running — whether the casing is rotated; when on, FF rotation and Critical torque become editable.
- Drilling / Casing / Cuttings / Cement / Mud / Time prices and Effective ROP
m/h / ft/h— the six unit prices the optimizer's own cost model runs on (price denominators follow the active display unit), plus the rate the time price is charged at. They are edited here and nowhere else, and Copy from project fills them from the project's sections as described below; you can overwrite any of them afterwards. The mud-reuse flag travels with the copied data but is not edited here; it is set on the Mud Selector page.
What Copy from project brings over
The optimizer's cost model is a simplified one — six prices, a rate and a reuse flag per section — so copying does not restate the whole project. It carries only what a longer or shorter trajectory actually changes, because anything else costs the same on every candidate path and cannot influence the answer.
- Drilling
$/m— the bit's price per metre, a directional service priced per metre, and the cement top-up below. - Casing
$/m— what the section's string costs per metre. A string of one grade keeps its price; a mixed string is averaged over its length. For a liner the whole string is spread over the section's own length, because the optimizer has nowhere to put the lap into the casing above. - Cement
$/m³— the cheapest class in the section's cement column. A lead/tail column costs more than that, and the difference is added to the Drilling price per metre, since only one cement rate fits. A section with no casing, or a string set to Cemented N on its Cementing leaf, copies 0. - Mud and Cuttings
$/m³— exactly as recorded on the Drilling Mud leaf. - Time
$/h— the whole hourly bill: the rig's day rate plus any service billed per day (mud service, a day-rate directional), divided by 24. - Effective ROP
m/h / ft/h— the section's length divided by the hours a longer hole would add to: drilling, connections, the trips, running the casing, the logging cable and recording, a circulation counted in bottoms-up, and the pumping part of the cement job. Flat time stays out — rigging up the BHA, drilling out the shoe, the wellhead and BOP, the logging rig-up — so this figure is lower than the drilling ROP on the Drilling Parameters page. That is intended: the time price is charged on exactly those hours.
For the same reason the per-section costs the job reports (the Cost report tab, whose grand total is headlined Trajectory-dependent cost) are not the Well Cost total. Well Cost counts everything the well costs; these prices carry only the part the trajectory moves, and the headline says so. Flat charges that never travel include the logging price per run, the cementing contractor's service bill, and all the rig time above.
If the project cannot price something — no bit price, a casing string without prices, a cement column without a class rate, no rig day rate — that price is left as the section last stored it (empty in a new project, so type it here before generating), the section is named in the message after copying, and the reason is listed on Well Cost and on the section's Cost & time leaf. Without a cementing-time estimate the cement rate still comes from the column's cheapest class; only the lead/tail top-up on the Drilling price is left out.
Each section is validated like the project geometry: the hole must be larger than the casing OD (and, for a liner, the running drillpipe OD), smaller than the previous section's casing ID (telescoping), and the stop TVD must increase with depth (the last section is exempt — it drills to TD). Problems are listed inline in the section, with the diameters and depths in your display units.
Generate
The same Generate trajectory / Cancel / Accept as active bar as Auto Design sits at the bottom, so you can run the cost-optimizing job from here. The optimized trajectory appears in the results pane under the Designed traj view tab (Accept makes it the active trajectory and opens the Trajectory page); its QC tiles live under Design QC, the per-section cost breakdown with its Trajectory-dependent cost total under Cost report, and — when Ensure running of casing is on — the per-section casing running check (tension vs the buckling and yield limits) under Casing T&D — see Reading results.
Casing Scheme
Casing Scheme is an interactive well-construction selector. Instead of building sections one at a time, you click out a complete telescoping path through a curated recommendation graph of hole sizes and casing sizes, then apply it in one step. It is the first page of the Well Construction branch in the sidebar, beside Section Intervals.
The wizard fills the page (no results pane); its Reset and Apply buttons sit in the panel header next to the page title.
How the graph works
The graph is laid out in stacked layers: hole-size rows alternate with casing rows, largest and shallowest at the top, smallest and deepest at the bottom. You begin by clicking any hole-size node — this is your entry point. From there you extend the path both upward (toward surface) and downward (toward total depth) along the connecting edges — solid for a standard step, dashed for a low-clearance one (a small clearance by the pipe body; couplings are not considered); only the legal next nodes light up as available. Each layer is used at most once, which forces a strictly alternating hole → casing → hole → casing chain. Clicking an already-selected node cancels it and everything beyond it on that side; clicking the entry clears the whole selection. Use Reset to start over.
Casing vs. liner
The two deepest casing rows show a Casing | Liner switch at their left end, where the other rows show their name. It defaults to Casing and applies to whichever casing you pick on that row; set it after picking that casing, because a node click resets the switch of a row the path does not include, and Reset returns every switch to Casing. Choose liner where a string should hang off the previous shoe rather than run back to surface; this is reflected later in the Well Schematic, where a liner hangs from the top of its casing string (the previous shoe until one is applied on Casing Runs) and a casing draws from surface.
17 1/2, 13 3/8 / 14, 9 5/8 / 9 7/8) are identifiers shown verbatim — they are not converted to your active display units. They name the construction; what is stored is the hole diameter and the catalog casing each size resolves to, as real SI quantities.Applying the construction
Apply maps each (hole, casing) pair to one section and replaces every existing section in the project. It always asks you to confirm first ("Apply this construction? It replaces all N existing sections in the project."). After applying, a status message reports how many sections were created.
Casings are resolved from the catalog by their nominal size (a combo casing node such as 9 5/8 / 9 7/8 resolves to the first of its sizes the catalog recommends). The catalog currently covers every size in the graph, so each section is normally populated fully. As a fallback, if a size is ever missing from the catalog, that section is still created with the hole and casing type set but an empty casing string, and a notice lists which sizes were left empty so you can add them and apply again.
Section bottom depths are placeholders: with a trajectory in the project they are spread evenly between Section 1's start depth and the well's TD (four sections in a 3 000 m well land at 750, 1 500, 2 250 and 3 000 m), so every shoe can be dragged straight away on Section Intervals; without a survey they are 100 m, 200 m, 300 m, …. Every section also gets a cement top of 0 — cemented from surface. That is right for a liner too: a liner does not reach the surface, and the Well Schematic starts its cement column at the liner hanger, so the annulus is drawn over the liner's own interval. After applying, place the real shoe depths on Section Intervals, against the pressure window and the lithology, and set the remaining parameters on each Section geometry page.
Section Intervals
Section Intervals is an interactive casing-depth selector: it plots the pore-pressure and fracture-pressure gradient curves against measured depth, with the lithology beside them, and lets you place every section's shoe depth and mud weight inside the safe window between the curves — by typing or by dragging directly on the chart. Nothing you do here touches the sections until you press Apply (Section 1's start depth, below, is the one value stored at once); the sections themselves come from the project, and the page never creates or deletes one — the Casing Scheme replaces them all, and the sidebar's Add section and the last section's delete button add or remove one at a time.
The page fills the workspace (no results pane); Reset, Redo and Apply sit in the panel header next to the page title.
The trajectory is required
The chart's depth axis is MD, and the geology it draws is described in TVD, so the page needs the well path to connect the two. Until the active trajectory has at least two survey stations with calculated TVD, the chart area shows a short message instead of the plot and Apply stays disabled — enter the survey on the Trajectory page and let its geometry calculate.
Why MD rather than TVD: on a well whose TVD stops increasing with measured depth — a horizontal lateral, a drop section — one TVD belongs to several points of the hole, so a shoe placed at a TVD is ambiguous exactly where it matters most. Measured depth is unique along the well and is what a casing string is actually run to.
How the geology is projected
The gradient rows and the lithology layers are entered in TVDSS on the Geomech & Lithology page. This page walks the well from surface to TD and reads, at every depth, the TVD the trajectory has reached there and the gradient and rock that belong to it. Consequences worth knowing:
- Where the well runs flat inside one layer, that layer occupies a long stretch of measured depth — the strip is a picture of what the bit actually drills through, not of the geological column.
- A layer the well leaves and re-enters (a climb followed by a dive) is drawn once per pass. Seeing the same rock twice is correct, not a duplicate.
- Where the gradient table does not cover the depth the well has reached, the curves simply stop. A gap means "no data", never a flat gradient — though a section's limits there still read the table's nearest row (see Sections and limits).
- The conversion uses the survey stations' own TVD values and follows the curve of the well between them (minimum curvature), not a straight line from station to station — the same reading every calculation payload and the MD ⇅ TVD converter use, so the chart and the engine never disagree.
The sections table
One row per section: its Start depth and Shoe depth in MD, its Mud weight and the derived Pore / Frac limits.
Only the first row's start depth is editable — it is the top boundary of Section 1 (a conductor does not have to start at the surface), and it can also be dragged on the chart with Section 1's top handle. It is not part of the draft: it is stored with the project as you type or drag it (Reset does not bring it back), and Apply never copies it into the sections. Other pages read it as Section 1's top: the Bit Selector and the ROP model take Section 1's mid-depth, and the pore gradient there, from it; the Mud Selector sends it as Section 1's top depth; and the Casing Scheme spreads its placeholder shoes from it. Every other start depth is simply the shoe above it, shown read-only so the two can never disagree. The deepest shoe is read-only for the same kind of reason — it is the well's TD (below).
Click a row to select it; the selected section's geology card opens under it (see Section geology) and its line on the chart is highlighted. Every section's line carries its own handles, and grabbing one selects that section.
TVD RKB = TVDSS + ground elevation) is set on the Project page, and the gradient table itself is edited on Geomech & Lithology.Sections and limits
Section intervals are contiguous: Section 1 spans from its start depth to its shoe; each following section runs from the previous shoe to its own. For every section the page derives two limits from the profile:
| Limit | Formula |
|---|---|
| Pore limit | maximum pore gradient inside the interval |
| Fracture limit | minimum fracture gradient inside the interval |
The gradient is sampled at both interval boundaries and at every depth where the well crosses a row of the gradient table. Because the sampling follows the hole rather than a TVD window, a formation the well only reaches sideways counts too. Outside the depth range of the gradient table the limits take the nearest row's values — unlike the curves, which stop there — so a section the table does not reach still shows, and applies, a window. The section table shows each section's limits in its Pore / Frac column; while the mud weight lies strictly between them the row stays neutral, otherwise the row is tinted red (the limits, the mud-weight field, its edge bar, and the section's chart line turn red) — equality with either limit already counts as outside. The row of the selected section carries its colour as an edge bar; click a row to select it.
The last section ends at TD
The deepest section's shoe is the well's total depth, and the trajectory owns it: its field is read-only here, it carries no drag handle on the chart, and it follows the last survey station automatically. To change the well's TD, extend or shorten the survey on the Trajectory page — every other section's shoe is then bounded by it.
Working on the chart
- Drag a section's vertical line left/right to change its mud weight.
- Drag an endpoint handle in two directions: horizontally it changes the mud weight, vertically it moves the boundary — the bottom handle moves this section's shoe, the top handle moves the boundary above it (the previous section's shoe, or the start depth for Section 1). Moving a shared boundary automatically updates the neighbouring section.
- Boundaries keep a minimum section length of 100 m; the deepest editable shoe is bounded by TD.
- The chart axes follow the gradient curves and the well's TD only — dragging a section never rescales the plot; geometry outside that range is pinned to the plot edge.
- Press Esc during a drag to cancel it and restore the values from before the drag.
To the right of the plot run the lithology column and the flags & complications track, on the same depth axis. They read exactly as on Geomech & Lithology — hatched rock fills, each row's rock name and marks in words, the full name and list in the hover popover — except that both are projected onto MD as described above.
Until you apply, the shoe depths and mud weights — and the geology cards below — are a draft for this browser session: it survives switching pages, but reloading the app re-seeds the draft from the current sections. Reset re-seeds it immediately, the cards included, so a hand edit in a card goes too. A section's mud weight is seeded from its Drilling Mud density, else its Casing Mud density, else 1250 kg/m³ (1.25 SG, 10.43 ppg): a section of a new project or of a Casing Scheme apply has no mud yet, so it starts there — which Apply writes unless you change it. Edits made elsewhere reach the draft by themselves — the last edit wins: changing a section's bottom depth (the Section page, a Casing Scheme apply) re-seeds that section's draft, and changing the density its mud weight is seeded from (the Drilling Mud leaf, a selector's Apply) re-seeds its mud weight, an unapplied mud weight typed here included; its shoe stays where you put it. The draft's shoe depths are kept strictly increasing and ending at TD: a shoe no deeper than the boundary above it is pushed 100 m below that boundary, and one at or below the next shoe (TD, for the last editable one) is pulled back to 100 m above it.
Section geology
Selecting a row opens the facts card of that section right beneath it: its rock, the ten lithology flags, H₂S, the bit modifiers, the reservoir pair, the section role and the expected complications — the same facts the Formation leaf and the Section page show in pieces.
The card follows the depths. It opens showing what the section currently stores (a section with no rock yet is the exception, below), and from then on every move of that section's top or bottom re-reads its geology off the lithology map for the new interval — because choosing depths is choosing which layers the section drills — so the card shows what your choice of depths yields before anything is written. Only a move re-reads it off the map (bar a section still waiting for the map, below): a later edit of the lithology map, of T1 or of the Project temperatures reaches a card at its section's next boundary move. An edit of the section's own stored geology on another page is different — it reaches the card at once (below). The reading follows these rules:
| Fact | Rule |
|---|---|
| Rock | the rock drilled over the greatest total length — a rock the well leaves and re-enters adds its passes up |
| Lithology flags | Y where any crossed layer marks it present, ? where a layer marks it uncertain and none mark it present, N where every crossed layer leaves it unmarked |
| H₂S | the same three-way rule |
| Bit modifiers, complications | the union over the crossed layers |
| Reservoir | on once the section lies entirely below the landing target T1 |
| High temp | on when the bottom-hole temperature estimate at the section's shoe TVD — surface temperature + gradient × TVD / 100, both from the Project page, the cementing engine's 15 °C and 3 °C/100 m when blank — exceeds 150 °C (302 °F; the rule works in °C whatever your display units). Not a map fact: it is re-read even where the map covers nothing |
Two things are never filled in for you: the section role (the engine infers it from the hole diameter unless you say otherwise) and Low-perm, which only qualifies a reservoir you have confirmed. A section the map does not cover keeps whatever it has — an empty map never blanks your geology. An off-catalog rock name in the map leaves the rock properties untouched while the flags still fill in.
A section with no rock yet is read off the map at once. Every section of a new project, and each one a Casing Scheme apply creates, starts without a rock — the "—" in the Rock type list, which you cannot pick back. Its card does not wait for a boundary move: it opens filled from the map for the section's current interval — rock, flags, reservoir and High temp alike — so Apply does not write the blank back. Where the map does not cover the interval yet, the card waits and fills in once you add the map on Geomech & Lithology; a rock you pick by hand in the meantime stays.
You can edit anything in the card by hand. A hand edit survives until that section's next boundary move, which re-fills the card from the map, or until the section's stored geology is edited on another page.
The last edit wins. When you change a section's geology on the Formation leaf or the Section page — its rock, a flag, H₂S, a modifier, the role, the reservoir pair, a complication or High temp — its card is re-seeded from what the section now stores, as Redo would do it for that one section (a section with no rock reads the map again). Only that section's card changes: its shoe and mud weight stay as you left them, the other sections are untouched, and an unapplied hand edit in that same card gives way.
Three buttons in the panel header govern the card:
- Redo drops every card back to the geology the sections actually store — a section with no rock reads the map again. It is the way back from an auto-fill you did not want.
- Reset does the same for the cards and re-seeds the shoes and mud weights with them (above).
- Apply writes the cards as they stand (below). An edit made on another page has already reached its card, so Apply never reverts it.
T1 carries a position, not a depth, so "below T1" is measured along the hole: the page finds the point of the trajectory nearest to T1 in three dimensions and compares each section's top against that measured depth. On a horizontal well that correctly puts the whole lateral in the reservoir — a TVD comparison would put none of it there.
What Apply writes
Apply asks for confirmation, then updates all sections in one validated step:
| Value on this page | Written to |
|---|---|
| Shoe depth | Section bottom as authoritative MD (TVD is resolved from the trajectory) |
| Pore / fracture limits | The section's mud window on the Formation page |
| Mud weight | Both Drilling Mud and Casing Mud densities |
| The facts cards | The rock, flags, H₂S, modifiers, complications, role, reservoir pair and High temp fact of every section |
The limits are written as they read, also where the pore limit reaches or passes the fracture limit: such an inverted window happens in practice, and the page takes it as it stands (its row stays red, since no mud weight lies strictly between the two). Only a section without usable limits — an empty gradient table, or a limit at or below zero — keeps its existing mud window, and the status message lists those sections. After a successful Apply the automatic calculations react to the new inputs as usual.
Bit Selector
Bit Selector is a first-pass PDC bit selector: for every hole section it derives a bit design — blade count, cutter count and size, back and side rake — plus the recommended weight on bit, the on-bit torque and the expected rate of penetration, from the rock, the hole size, the depth, the mud density and the pore pressure. It answers "what bit should we run, and at what WOB?" before you hand-build the geometry on the Bit & Motor page.
Nothing you do here touches the project until you press Apply. The sections themselves come from the project (the page never creates or deletes sections — use Casing Scheme for that).
The page fills the workspace (no results pane); Reset and Apply sit in the panel header next to the page title.
Where the inputs come from
Each section is one card, named in its top-left corner. The only choice made here is Bit aggressiveness, a three-way toggle at the right of the card's header — Non-aggressive, Medium (the default), Aggressive. Everything else the selector consumes is project data, read only: the bit diameter and the section's TVD sit on the header line beside the name, the rock, its modifiers and the two gradients on the facts row under it.
| Fact | Where it is edited / comes from |
|---|---|
| Rock | the section's Formation values, matched to a catalog rock — picked on the Formation leaf |
| Lithology modifiers | Gravel / Interbedded, also set on the Formation leaf |
| Bit Ø | the section's installed bit, otherwise the hole diameter. Shown on the header line as a bare size, with no caption |
| TVD | the middle of the section's true-vertical-depth interval, so one answer represents the whole interval rather than its shoe. Shown rounded to whole units: the decimals only say where the interval happens to fall |
| MW | the drilling run's mud weight |
| Pore | the Geomech & Lithology pressure profile interpolated at that mid depth, its first or last row held beyond its ends; while the profile has fewer than two rows, the section's Pore pressure gradient on the Formation leaf (the mud-window lower bound Section Intervals writes on Apply) |
Every value displays in your active display units and always reflects the project as it is right now — edit the owning page and the card (and the answer) follows automatically.
The TVD, MW and Pore values are also exactly what the ROP model receives as the pressure at the bit, so the selector and the model always describe the same rock at the same depth.
The rock name matters: it is sent to the selector verbatim, and each catalog rock carries the compressive strength, Brinell hardness, abrasiveness, friction angle and permeability the model needs. Hand-tuned (Custom) formation values cannot be scored — the card stays blocked until a catalog rock is picked on the Formation leaf (or derived by Section Intervals). Meanwhile its facts row reads custom rock; rock not set is kept for a section with no rock at all. Permeability is not a formality: an impermeable rock switches the model to a pessimistic strength estimate and genuinely changes the answer.
The section interval runs from the previous section's shoe (for the first section, the first row's Start depth on Section Intervals) to this section's own shoe.
Reading the result
Each card recalculates automatically as you edit, then shows its report: two rows of cells on the left, the selector's notes beside them on the right. The top row says what the bit is and opens with a Design cell naming the route, colour-coded:
| Design | What it means |
|---|---|
| PDC | a normal design — blades, cutters, cutter diameter and the back rake are filled in |
| Special bit | ultra-hard rock. No conventional PDC face is recommended; the Recommendation names the real hardware class (shaped-PDC, impregnated or hybrid). The ROP and torque shown here are model floors, not an estimate |
| Roller cone | a hole above 17½ in that is not soft-PDC-eligible; WOB, ROP and torque come from practice tables, not the cutting model |
| No design | hard or ultra-hard rock above 17½ in — an unsupported combination. Report it as "no design available", never as an answer |
| Needs input | a value is missing or out of range; the Status cell says which |
| Calculating | waiting for the answer — the request is in flight, or waits for the survey's true vertical depths |
| Paused | calculations are waiting on your account's access; the Status cell says why. They resume by themselves once that is settled (see Calculation status), so there is no Retry |
| Failed | the request failed — the calculation server unreachable, for instance. The Problem cell gives the reason and Retry beside it sends the request again |
The bottom row is what to run it at: Rec. WOB, Torque, ROP, Bit HSI (hydraulic horsepower per square inch of bit face — the same quantity the Bit & Motor page holds and the hydraulics calculation consumes) and Bit price. Unlike the bit geometry, all five come back on every route, including the ones with no PDC design.
Bit price is the modelled cost of the bit per metre drilled, shown in $/m or $/ft following your display units. The selector derives it from the bit diameter and the rock — a bigger hole is cheaper per metre, a stronger and more abrasive rock dearer — so it is an estimate of what this bit will cost to drill this section, not the purchase price of the bit. It is written to the section's Bit price on Bit & Motor, where you can override it, and the section's Cost & time leaf charges it on the section's length.
Under the two rows, a card that got an answer adds a Cuttings line: the size, density and bed porosity of the cuttings this bit is expected to make in this rock. The selector derives them from the rock type and the modelled ROP and RPM — a friable sandstone breaks down to its grains (tenths of a millimetre), a brittle rock chips at the depth of cut, and the size is capped where regrinding in the junk slots takes over. Size and density follow your display units; bed porosity is a fraction. The line is absent on the No design route, which reports zeros rather than an answer.
The selector's own engineering notes — capped cutter size, hole-cleaning-limited WOB, chip hold-down at high overbalance, unreliable shale classification and similar — fill the right-hand column of the report, beside both rows. They are cut off at the height of the rows so a wordy answer can never stretch the card; hover the block (or tab to it) and the full text opens in a panel. They are worth reading: the model uses them to qualify its own answer. An answer that carried no notes shows no column at all.
The side rake and the initial cutter wear are not shown: they are the same for every design the selector returns (2.5° and 0.2 mm), as are the wear, friction and ROP-calibration coefficients. All of them are still written on Apply.
On the routes with no PDC design the geometry is replaced by a Recommendation; a card without an answer shows a Status instead, or a Problem when the request failed. Each is kept to one line so the card's height never changes — hover the text and the full message opens in the same kind of panel the notes use.
The schematic
The right-hand panel is a read-only well schematic in measured depth, drawn from the current sections and redrawn to fill the panel's full height. Measured depth is the basis the shoes themselves are set in on Section Intervals, and on a horizontal well a TVD axis would stack the whole lateral onto a single depth. Clicking an interval selects that section's card (hover it for the section's name); selecting a card highlights its interval. It is the same drawing as Well Schematic, without the shoe callouts and the legend.
What Apply writes
Apply asks for confirmation, lists what each section will receive, and then writes everything in one go:
- Bit geometry ← diameter, cutter count and diameter, blade count, both rake angles, the initial wear and the calibration coefficients, with the bit marked as PDC — only on the PDC route;
- Bit HSI, Weight on bit, Torque on bit, ROP and Bit price ← the five recommended operating parameters, on every section that got an answer, whether or not a bit design came with it. Bit HSI and Bit price are written onto the bit itself and show up on Bit & Motor; the other three land on Drilling Parameters. While Use ROP model is ticked there (the default), the ROP model puts its own ROP and Torque on bit in their place as soon as it recalculates — the selector's two stay only with the box cleared or on a non-PDC bit;
- Cuttings ← the Cuttings properties block on Drilling Mud: diameter, density and bed porosity as shown on the card, plus the concentration, which is written but never displayed here. The concentration is a fixed target the model assumes rather than something it derives from your rock, so showing it beside three modelled values would overstate it — it is on the Drilling Mud page like any other input, and you can edit it there. Hydraulics and hole cleaning read all four.
The rock itself is not written by this page any more — it is ordinary project data, derived from the lithology map by Section Intervals and editable on the Formation leaf.
Sections whose route returned no PDC design (Special bit, Roller cone) keep their bit geometry untouched but still receive the five operating parameters; the confirmation names them. The No design route reports zero for WOB, torque, ROP and the price because it has no answer at all — zeros are never written, so those parameters keep their current values, and the confirmation lists such a section as Nothing written. The notes and the recommendation are for reading only; they never enter the project.
The section's catalog bit link survives as long as its outer diameter still equals the designed diameter. If you designed for a different size, the link is cleared so the new geometry can be written, and the confirmation dialog names those sections.
Bit HSI and Bit price are the hand-editable fields this page overwrites — everything else on the Bit & Motor page is either written from the design or left alone.
Session behaviour
The only session-held input is the aggressiveness choice: it survives switching pages but resets on reload, and Reset returns it to Medium for every card. Everything else is live project data — an edit on its owning page changes the card and recalculates the answer by itself, with nothing to re-seed.
The selector only runs for sections you have opened this page with at least once, and a card that cannot be calculated reports the reason on the card itself rather than on the sidebar — this page is a design aid, so it never marks the project as incomplete. A failed request is not listed in the Errors tab either, and nothing repeats it for you, so the card's Retry is the way back.
Mud Selector
Pick a drilling fluid for each hole section. For every section the page scores a catalog of twelve fluid systems against the section's geometry, pressure window, formation and risk flags, and returns up to three candidates — an overall score out of 100, a per-criterion breakdown, a preparation cost and a rheology target.
Like Bit Selector, this is a selection surface: what you set here lives only in the current browser session, results are recalculated automatically, and nothing reaches the project until you press Apply. Closing the tab discards the inputs; the project is untouched.
Sections are shown as an accordion — one card is open, the rest collapse to a one-line summary of their selected candidate. Click a collapsed card's header to open it; one card always stays open.
Before it can run
The selector reads most of its inputs from elsewhere in the project, so a card stays blocked until they exist. The blocking message always names the page that owns the missing value:
- Region — Project. Without it nothing can be scored. With region Other, also pick an Environmental class (E0–E3): that region has no default. A Temperature gradient, if you set one, must be above zero.
- Survey stations — Trajectory. The section's own stations decide whether it counts as vertical, deviated or high-angle, so the survey must reach at least the section's bottom.
- Rock type — the Formation leaf. The formation must match a catalog rock; a hand-edited one cannot be scored.
- Pore/fracture window — Section Intervals or the section's Formation page.
Prices are not a blocker — the selector starts from its own catalogue — but they are an input like any other: the Base costs tab on the Project page overrides them, and because the cost per cubic metre is one of the scored criteria and the variant tie-break, changing a price can change which candidate wins.
Two read-only lines under each card header echo the inputs, with anything missing highlighted. The first carries the physical facts — the rock with its compressive strength (in your display unit) and its permeability (the Permeable box on the Formation leaf), the window and the planned density — and ends with two things the result reports back about the input: the trajectory profile (traj profile) the survey implies for this section — A near-vertical, B deviated, C high-angle, which decides how heavily lubricity, rheology and hole cleaning are weighted — and the input confidence, colour-coded green/amber/red. A rock hand-edited off the catalog reads custom rock in place of its name, a rock never set rock not set; either blocks the card. The second line summarizes the geology facts read from the document (derived by Section Intervals, edited on the Formation leaf and the Section page): the section role, the reservoir answer, H₂S, how many lithology flags are answered (naming the yes ones) and the complication count. The muted line at the top of the page echoes the well context (region, environmental class, temperature gradient in your display unit, window source) — read-only too, edited on the Project page.
What you set here
Only the choice itself: which candidate each section runs (click a card to select it — the selection is what Apply writes) and, where offered, the reuse toggle. Everything the selector scores against is project data edited elsewhere: the risk inputs — section role, H₂S, reservoir/low-perm, the ten lithology flags, the complications — are project data, most of them derived from the lithology map by Section Intervals, editable on the Formation leaf and the Section page, so they survive a reload; all of them but low-perm also feed the Cementing page's calculations.
Unknown is not "no": every unanswered lithology flag adds a hold point to the report and lowers the stated confidence. Input confidence, on the facts line, is not a judgement of the fluid: it states how much of the input was actually known. Unanswered flags, a defaulted temperature gradient and a calculated (rather than measured) pressure window each pull it down. A red low means the ranking rests largely on assumptions — answering the flags you know, on the Formation leaf or on the Geomech & Lithology map that Section Intervals applies, is the fastest way to raise it.
Reading the result
Candidates — up to three cards. Each shows the system, its variant, the score and the price ($/m³ · $/bbl). A ⚠ N badge in the top-right corner counts the candidate's critical shortfalls and warnings; hover the badge for the full list, together with the score adjustments and the cost note. Click a card to select it — the selection is what Apply writes.
Reuse. When the section above has already picked the same system and variant, that candidate card offers a reuse toggle in its bottom-right corner, on by default. Hover it for what it does; the section below explains how it is modelled.
Warnings, score adjustments and the cost note are not printed on the cards. The badge appears only for a problem — a shortfall or a warning — so a candidate whose score was merely adjusted shows none; select it and its cost note is in the hover of the criteria's Cost score row.
A score pill is accent-coloured for a main-tier candidate, amber below the threshold and red for a conditional one. A conditional candidate has a critical shortfall on some criterion, which caps its score at 55; its raw score is shown next to the pill.
Criteria — twelve rows for the selected candidate, each scored 0–5. A row that carries no weight in this section is dimmed. Hover any row for its weight, one sentence on what it measures, and the physical value the score is built on — the bottom-hole temperature and the gradient behind it (in your display units), the trajectory profile, the ECD against the fracture gradient, and so on. The Requirements, Hold points, Warnings, Conflicts and Excluded notes are the selector's own text and stay metric (°C, MPa, kg/m³) whatever the units.
The Rheology / Hole cleaning row carries the whole rheology target: the achievable envelope, the Fann dial readings and the Herschel–Bulkley parameters. What the target is measured against depends on the profile. A deviated section (B/C) targets the K&M hole-cleaning band, drawn as a strip with the chosen θ₆ marked. A near-vertical section (A) has no such band — cuttings there fall straight down the hole rather than forming a bed — so the target is instead the minimum yield stress that keeps cuttings in static suspension, raised further for a weighted mud so that the weighting material itself does not settle out.
The box under the criteria shows exactly the numbers Apply will write for the selected candidate: the mud cost and the three Herschel–Bulkley parameters. Dashes mean no rheology target applies, which now happens only for an aerated fluid.
Notes, under the candidates, are counts of requirements, hold points, warnings, conflicts and excluded systems; hover a label for the full list. Excluded answers "why is system X not offered" — it lists the systems the hard filters removed and the reason for each. A no confident recommendation label appears when no candidate cleared the main threshold.
While the answer is on its way the card reads CALCULATING. If the request fails — the calculation server unreachable, for instance — the card reads FAILED with the reason and offers Retry; collapsed, it shows a failed chip with Retry beside it. Nothing repeats a failed request for you, and this page's calculation is not listed in the Errors tab, so that button is the way back. PAUSED is not a failure: calculations are waiting on your account's access and resume by themselves (see Calculation status).
Apply
Apply writes, for every section that has a result and a selection:
- Mud weight into both the drilling and the casing run. If the section has no planned mud weight, the density the engine derived from the pressure window is written instead.
- Yield stress, consistency index and flow index into both runs — the same fluid is assumed to be in the hole while casing is run. Nothing is written when the candidate carries no rheology target.
- The fluid system into both runs — the Mud system field of Drilling Mud and Casing Mud, where it can also be picked by hand (the selector's variant is kept in the label the report prints). The Drilling page's friction factors are read off the drilling run's system.
- The mud unit cost into the section, unless the candidate has no material cost model. It lands on the Mud cost field at the top of Drilling Mud / Casing Mud, where it can also be typed by hand.
- The mud service on Drilling Mud: the tier follows the fluid system — M1 for the plain water-based C1–C3, M2 for every other system — with its rate from the Base costs tab of the Project page — left blank, a gap the cost pages name, where that price is not above zero. A service you chose yourself is left alone: a Custom rate, or None for a section that runs without one. A tier that was never set also reads None, but it is filled in — pick None after Apply to take the service off for good.
- The cuttings disposal price, from Base costs, where it is blank and the Base costs price is above zero.
- The mud-reuse flag on every applied section — set where the section below reuses this fluid, and cleared where it does not. Because this page is the only place that flag is set, Apply always writes it in both directions, so an old value can never linger.
You are asked to confirm first. The confirmation lists which sections are written, which keep a mud service you chose and which are skipped. Reset returns every section to its top candidate and turns every reuse toggle back on.
How mud reuse is modelled
Reuse says that a section's fluid is carried into the next section instead of a fresh batch being mixed. Only the flag is recorded — no price on this page changes when you tick it — and the receiving section's Cost & time leaf acts on it with a deliberately simple, conservative model:
- The inherited fluid is assumed to fill the rig's active pits and the cased hole above the new section — the volume a fresh system would have to fill first — so neither is charged for mud again.
- The new section's open hole is always charged in full, at the fresh-mud price plus the Mud dilution factor allowance on it (the Base costs tab of the Project page), even though in reality part of that volume would be the inherited fluid brought up to spec. The estimate therefore leans high rather than low.
- No conditioning is priced. Bringing the inherited fluid to the new mud weight — weighting it up with barite, or diluting it down — costs nothing in the model.
- Losses and disposal of surplus fluid are not modelled at all, with or without reuse; dilution is only the flat allowance above.
So reuse is an approximation of the right sign, not a mud-balance calculation. If you need a real one, price it outside the tool and enter the result as the section's Mud cost.
The flag can only be set where two neighbouring sections run the same fluid system and variant — a different system cannot be inherited — which is why it lives here and not on the cost pages.
Drilling
Propose a drill string for every hole section at once. The page sends the well's survey and all of its sections to the drillstring designer and gets back, per section, a compact — the blocks of pipe from surface to bit — plus the drilling scenario, a directional-service tier, a recommended surface RPM and flow rate, and the pick-up/slack-off overweights. A second request, on the same page, proposes that section's friction factors.
Like Bit Selector and Mud Selector, this is a design surface: the proposal and your edits to it live only in the current browser session, results recalculate automatically, and nothing reaches the project until you press Apply — except the Weight on bit field (below), which writes straight to the section. Closing the tab discards the proposal; the project is untouched.
Sections are shown as an accordion — one card is open, the rest collapse to a one-line summary. Click a collapsed card's header to open it; one card always stays open.
One request for the whole well
Unlike the two selectors, which ask about one section at a time, this page makes a single request covering every section. That is what lets the designer place a weight-transfer block using the hole above a section rather than only the section itself.
The practical consequence: one unusable section blocks all of them. A card whose own input is missing names it; the others say that another section is blocking the run. Fix the named section and every card fills in together.
The friction factors are a second, separate request with the same shape — and separate is the point: they need the mud system and nothing else, so a section with no mud system recorded holds up the friction factors — every section's, since this request too covers the whole well — while every compact still fills in normally. Each half of a card blocks on its own.
Before it can run
Every input comes from elsewhere in the project, and the blocking message always names the page that owns the missing value:
- Survey stations — Trajectory. At least two, and the survey must reach the deepest section bottom; the designer does not extrapolate past the last station.
- Section bottom depths — the Section page or Section Intervals. Each must be deeper than the one above.
- Hole size — the Section page. It decides which bit, collar, heavy-weight and drill-pipe sizes the designer draws from.
- Mud weight — Drilling Mud, or apply the Mud Selector.
- Weight on bit — editable here, on every card's input row, and equally on Drilling Parameters or by applying the Bit Selector. This is why the Drilling leaf sits third in Drill Ops: run the bit selector first and the weight on bit is already there.
The friction factors need two more, and neither blocks the compact:
- Mud system — recorded by applying the Mud Selector, or picked by hand in Mud system on Drilling Mud. Until it is there, the card's friction block says so.
- Reactive clay — the section's lithology flag: Section Intervals fills it from the Geomech & Lithology map, and you can edit it on the Formation leaf. It is the one thing that changes a water-based fluid's answer, so the card prints what was sent: yes, no, or not marked when the flag was never answered. An unanswered flag is treated as no.
Weight on bit is the one input you set here. It sits on the card's own input row, beside the scenario switch, writes straight to the section — the same value the Drilling Parameters page edits — and re-runs the designer as soon as you commit it, so you can dial it in and watch the compact respond. The field stays visible on a blocked card too: since one request covers the whole well, a section with no weight on bit blocks every card, and that is exactly when you need to type one.
A read-only line at the top of the page echoes the well context — survey stations, total depth and the two rig ceilings — edited on the Trajectory and Rig pages. Each card carries its own read-only line with that section's depth interval, hole size, mud weight, whether it is a reservoir section, and the two inputs the friction factors read — the mud system and the reactive-clay flag.
Reading the friction factors
The block under the proposal is what the torque & drag calculations will use once you apply it: slack-off, pick-up, rotate and translate, dimensionless and read off the fluid. Slack-off and pick-up are always equal — the estimator has one sliding coefficient — and translate is the tripping-while-rotating factor, an order of magnitude below the other three.
The Scenario switch on the card's input row picks the conservatism for the whole well, since it is one request. Every card carries the same switch and they are one setting: change it on any card and all of them follow.
| Average | The middle of the fluid's published range. Use it for planning numbers. |
|---|---|
| Conservative | The top of the range. Use it when the question is a limit — hook load, top-drive torque, whether the string reaches bottom. |
Running both and reporting the pair is usually more useful than either alone; flipping the switch re-runs only the friction factors and leaves your edited compacts alone.
While the drill string is on its way the card reads CALCULATING in its place. If either request fails — the calculation server unreachable, for instance — the card says so where that answer would be (FAILED in place of the drill string, a message in this block) and offers Retry. Nothing retries it for you: a failed request is never repeated automatically, and neither of this page's calculations appears in the Errors tab, so that button is the way back. PAUSED is not a failure: calculations are waiting on your account's access and resume by themselves (see Calculation status).
Two things worth knowing about the numbers:
- A reactive-clay section on a water-based fluid gets 10 % more friction. On oil-based and foam/air fluids the flag does nothing.
- Every figure is the open-hole one. The estimator does not split the cased length above the section out at a lower friction, so the answer is deliberately on the safe side.
Reading the proposal
Scenario — the first chip on a card's collapsed line, and the reason its compact looks the way it does — is decided by the greatest inclination inside that section, not by the well as a whole:
| Scenario | Inclination | How weight reaches the bit |
|---|---|---|
| Vertical | up to 30° | Drill collars carry the weight and keep the neutral point inside themselves. |
| Transition | up to 60° | The string supplies the weight; a block above the BHA shields the drill pipe from buckling. |
| Horizontal | over 60° | Same as transition, plus a second heavy-weight block higher up where the hole is still shallow enough to transfer weight. |
In a deviated section the buckling shield above the BHA is normally heavy-weight pipe. Where heavy-weight would itself buckle at that inclination, the designer uses drill collars for the shield instead and says so with the Collars used as shield chip — so a Transition or Horizontal compact can legitimately contain a collar block.
Tier is the directional-service tier T0–T3, the same four rows the Base costs tab on the Project page prices. Applying writes the tier onto the section together with its rate from the price book.
Surface RPM and flow rate are recommendations. Both are capped by the rig before they are written — see below. Overweight is the pick-up and slack-off margin; it is a fixed value the designer returns for every section.
Trip in speed and Trip out speed are the odd pair in this block: they do not come from the designer at all, but from the rig, and they are shown here because Apply writes them along with everything else. Hover either one to see where the number came from.
They are not the same speed, and the drawworks is why. Running in is gravity's job, limited by the brake, so it takes the drawworks' maximum lowering speed; pulling out is the drawworks' own work, so it takes its maximum block hoisting speed. Both are the rated maxima — the speeds you trip at, not the speed the rig is reduced to with its full hookload hanging. Treat them as the optimistic end: if your surge and swab margins are tight, enter measured speeds on Drilling Parameters instead.
A rig configured by hand has no drawworks to read, so both come from the RIH / POOH velocity fields of its Rig page — the Ops book's 1.5 m/s working number until you type your own. Pick a catalog rig and the real figures replace them; the hover under each speed says which it is. A catalog rig whose drawworks lists no usable speed takes the Ops book's working number for that direction, and the hover says so.
Flags
The card carries a chip for anything the designer had to say about the proposal. Hover a chip for the full explanation. Not every chip is a problem — the tone tells them apart:
- Collars used as shield (grey) — heavy-weight pipe would itself buckle at this inclination, so the designer used drill collars for the buckling shield. This is what it did, not something left for you to fix; the compact already reflects it, and the section is not counted as flagged.
The two amber chips mean change the configuration, not try a longer string. The proposal is still applied as returned if you choose to:
- Shield cap reached — the buckling shield (heavy-weight or collars, whichever was used) hit its length cap and the drill pipe is still above its buckling limit. Change the collars, the weight on bit or the tubular sizes.
- Weight deficit — even swapping every eligible drill-pipe stand for heavy-weight cannot deliver the design weight on bit.
Editing the compact
The designer returns a block as a type and an outer diameter; the page seats each one on a real catalog component so it can be applied. It picks the nearest outer diameter of that type, then prefers the 105 ksi grade where the catalog stocks it (drill pipe only — heavy-weight, collars and BHA carry their own grades), then the median inner diameter and the median tool-joint critical torque.
The Open end checkbox in the block's bottom-right corner is the same flag as Open-ended string on the section's Drill String page. It belongs to the string you are assembling here, so it travels with the compact and reaches the project only on Apply; ticking it counts as an edit, so a later recalculation will not undo it.
The rows are the same editor as the section's own Drill String page, trimmed to a review list: change a component with the picker, change a length, reorder with the arrows, remove a row, or add one with the green + under the list. Beside it, the circular arrow is Redo from proposal — it throws this section's edits away and takes the latest answer straight away; it stays greyed out until you have edited something. Proposed lengths are rounded to the centimetre (the designer works on a one-metre depth grid, so finer digits are noise), and the topmost block is seeded one centimetre longer than proposed — a string that lands exactly on its interval is refused, and a centimetre at surface changes nothing. The block shows four rows at a time and scrolls inside itself, so a long string does not stretch the card. A row whose resolved component sits more than half an inch from the proposed diameter is the one case that grows a second line — it shows the proposed size, in your display units, because that gap means the designer's catalog and the app's have drifted apart.
Once you edit a section, a later recalculation will not overwrite it — use Redo when you want the fresh answer instead. Reset in the panel header does that for every section at once: all edits go, each Open end box returns to its run's current flag, and the friction Scenario returns to Average.
What Apply writes
Apply is confirmed first, listing what will happen per section — including the two writes that land outside the drilling run: the flow rate seeded on the casing run, and every section whose directional tier or DD rate changes, from what to what (for example Section 2 T3 · $25,000/day → T1 · $6,000/day; a section already on the proposed tier and rate is not listed). For every section that has a proposal and no unresolved row, it writes into the drilling run, plus one value on the casing run and the section's directional tier:
- the compact, replacing that section's drill string wholesale, together with its Open end flag (the bit is untouched);
- Surface RPM and Flow rate on Drilling Parameters. The same flow rate is also seeded on the casing run's Run Parameters, since nothing else proposes one — a rate typed there is replaced;
- the pick-up and slack-off overweights, both set to the returned overweight;
- the trip in and trip out speeds (RIH velocity and POOH velocity on Drilling Parameters), which is what makes surge and swab runnable for that section;
- the directional tier and its rate from the price book in Role/drilling cost/complications on the Section page — replacing what was there, a Custom rate included. The confirmation quotes both rates as that page's DD rate field shows them, so on an HPHT section a tier's rate includes the HPHT coefficient. A tier whose book price is not usable (zero or below, red on Base costs) is written with an empty rate.
The friction factors are written separately, for every section that has them — including one whose compact could not be applied, and including one you never got a compact for. A missing mud system costs friction factors only, never a compact — but since one request covers the well, a single section without a mud system holds up the friction factors of every section. They land on the Friction factors block of Drilling Parameters, and every torque & drag result for that section recalculates.
A section with no proposal, or with a row that has no component, keeps its old drill string and is named in the confirmation. The casing run's string and friction factors are never touched: the same endpoint also estimates casing-running friction, and that belongs to Casing Runs.
Rig limits
The two recommendations are clamped before they are written. The card shows the clamped figure — hover it to see what the designer actually proposed and which ceiling cut it — and the Apply confirmation names every section where that happened:
- Flow rate is capped by Max flow rate on the Rig page whenever that field is set.
- Surface RPM is capped by the top drive's maximum speed — which exists only when a catalog rig has been picked. A hand-configured rig has no rotary-speed field, so RPM is written as returned. This asymmetry is intentional, not a gap.
Casing Runs
Design how every section's casing or liner is run: the string itself, the surface RPM, the overweight, the trip speeds, the friction factors and what the steel costs. It is the casing-side twin of the Drilling page, and it works the same way — an accordion of section cards, a read-only well context at the top, and Reset / Apply in the panel header.
Like the other design surfaces, the proposal and your edits to it live only in the current browser session: apart from the three run flags below, nothing reaches the project until you press Apply, and closing the tab discards the rest. Reset drops every section's edits and the Scenario choice and re-seeds every card from the rules below; it writes nothing to the project.
Where the design comes from
Unlike the Drilling page, the casing string is not proposed by a calculation. It is derived from the project by fixed rules, so a card fills in as soon as the catalog loads:
- Outer diameter — the nominal already chosen for the section, on Casing Scheme or the section's Casing String page. The proposal never changes the size — a casing of another size picked by hand in the string does, on Apply; a section with no casing selected says so and stays blocked.
- Grade — the lowest grade the catalog stocks at that size, unless the section is marked for H₂S, where L-80 is the target. The bundled catalog carries only two grades (55 ksi and 80 ksi) and most sizes stock just one, so on a sour section whose size has no L-80 the available grade is used, the card shows a not sour-rated chip, and the price drops the H₂S premium — see below.
- Weight — of the rows left at that size and grade, the one in the middle of the inner-diameter range.
- Length — from the shoe to the wellhead for a casing, and from the shoe to the top of the section for a liner. The topmost segment is seeded one centimetre longer than that: a string that lands exactly on its interval is refused, and a centimetre at surface changes nothing. To give a liner its overlap, lengthen the casing segment: the schematics and the Cementing page read the liner's top back off the applied string (the shoe minus the casing length), and the card's facts line shows that top and the lap once applied. A casing that falls short of the previous shoe leaves the liner hanging in open hole — the card flags it as short of previous shoe and Cementing refuses the section until the string is lengthened and applied.
- Running string — a liner is a two-segment string: the casing at the bottom and drill pipe above it, from the section top to surface. Its nominal size is the one recommended for that hole size in the bundled bit catalog, seated on a real drill-pipe record the same way the Drilling page seats a proposed block.
The only calculation on the page is the friction factors, and it is one request for the whole well — so a section whose casing is missing blocks every card's friction block, and each card says whether the problem is its own or a neighbour's.
The three run flags
Three checkboxes on each card write straight into the project, without waiting for Apply, because each already has a home there — Liner and Rotation beside the Scenario switch, Open end under the string:
- Liner — the same toggle as on the section's Casing String page. Turning it on changes the string's length and adds the running string; turning it off takes the string back to surface. Either way this page rebuilds the section's string from the rules above, even one you have edited — a liner and a casing are different strings — and a message says so when your edits were replaced. The Well Schematic redraws the string as a liner at once, hung from the top of the casing string the project already holds until Apply writes the new one: at the previous shoe while that string has no lengths (as Casing Scheme leaves it), at surface while it is still a full-length casing — which Cementing refuses until you apply.
- Rotation — whether the string is rotated while it is run. It sets the surface RPM below and, because rotating a casing string needs premium threads, it raises the price of every casing segment by the rotation coefficient from Base costs.
- Open end — in the string block's bottom-right corner: the same flag as Open-ended string on the section's Casing String page, so the two pages always show the same value. It does not change the proposal and is not an edit of the string.
The Scenario switch picks how conservative the friction estimate is. One request covers the whole well, so it is one setting: every card carries the same switch and they all follow each other.
What the card reports
| Surface RPM | 15 with rotation, 0 without. |
|---|---|
| Overweight | 10 t — a standing casing-running figure, applied to both the pick-up and the slack-off overweight. |
| Trip in speed / Trip out speed | The rig's trip speeds, not an answer from the calculation: a catalog rig's rated drawworks speeds, else a manual rig's RIH / POOH velocity from its Rig page (the Ops book's figures until you type your own); a catalog rig whose drawworks lists no usable speed takes the Ops book's figure — hover to see which. |
| Friction factors | Slack-off, pick-up, rotate and translate for the casing run — read off the coupling clearance and the dogleg severity in the section, not off the mud. |
The casing branch of the friction estimator is geometric: it works from the hole size, the casing body and coupling diameters and the worst dogleg in the interval. The drilling fluid does not enter it, which is why this page — unlike Drilling — needs no mud system.
If the request fails — the calculation server unreachable, for instance — the status line under the factors says so and offers Retry. Nothing retries it for you: a failed request is never repeated automatically, and this page's calculation does not appear in the Errors tab, so that button is the way back.
Editing the string
The right-hand block is the same review list as the Drilling page's compact: change a component with the picker, change a length, reorder with the arrows, remove a row, or add one with the green +. The circular arrow is Redo from proposal — it throws this section's edits away and rebuilds the string from the rules above straight away; it stays greyed out until you have edited something.
The Price column is dollars per metre and it is editable. It starts from the Casing & cement price book on the Project page's Base costs tab — the base rate per tonne times the pipe's own linear weight, the regional multiplier, a grade factor, and the rotation coefficient when the string is run rotating — and stays derived until you type over it; a typed price then stands until Redo. It follows your display units like any other price, so it reads $/ft in field units. Only casing is priced; the running string comes back out of the hole and its cell is disabled. The footer chip is the string's total, price × length summed.
None of these rules looks at the coupling: the size comes from the section, and Casing Scheme's clearances are the pipe body's. So the card checks the string it would write against the hole — every segment's body and coupling must be smaller than the section's hole and than the casing ID above it — and a string that fails gets a red does not fit chip under it (and on the collapsed card), its hover naming the segment and the two diameters. Nothing here stops you applying it, but Apply's confirmation names the section: once applied, that string blocks the section's casing-run calculations and the cementing-time estimate of the whole well. Pick a slimmer component, or another hole size on the Section page.
Once you edit a section, a later change to the design inputs — the casing size, the section depths, the H₂S mark, or Liner ticked on the section's Casing String page — will not overwrite it; a proposal changed chip appears instead, its hover naming what changed, and Redo is how you take the fresh one. Apply writes an edited string as it is and names such a section in its confirmation.
What Apply writes
Apply is confirmed first, listing what will happen per section. For every section with a string and no unresolved row, it writes into the casing run only:
- the string, replacing that section's Casing String wholesale, each casing segment carrying its price per metre (the Open end flag is already in the project);
- Surface RPM and both overweights on Run Parameters;
- the trip in and trip out speeds, which is what makes surge and swab runnable for the casing run;
- the section's casing size — the one the other pages read — taken from the casing segment, so a two-segment liner cannot end up described by its running pipe.
The friction factors are written separately, for every section that has them, including one whose string could not be applied. They land on the four fields the Run Parameters page edits for the casing run, and on the sliding and rotating pair that Copy from project on the Cost Model brings over as FF slide and FF rotation.
A section with no string, or with a row that has no component, keeps what it had and is named in the confirmation. The drilling run is never touched.
Cementing (well)
Plan the cement column for every section: how it splits into slurries, what class each interval needs and what that class costs per cubic metre. Section cards run down the left of the page and a picture of the well stands beside them, with Auto / Apply in the panel header.
Like the other design surfaces, the proposal and your edits to it live only in the current browser session: no column reaches the project until you press Apply, and closing the tab discards your edits. The six switches on each card (Cemented, Two-stage, Foam, WOC, Batch, Log) are the exception: they belong to the project and write to it at once, because they change the answer the card is showing.
What the calculation decides
One request covers the whole well, so a section that is missing an input holds up every card, and each card says whether the problem is its own or a neighbour's. A problem with the whole well rather than one section — the survey too short, or a temperature gradient of zero or below on the Project page — is printed on every card.
If a request fails — the calculation server unreachable, for instance — the line at the bottom of each card says so and offers Retry, which sends the failed request again. The rig-time estimate can fail on its own: the classes then stay on the cards, the line names the cementing-time request, and Rig time shows the saved figure, or a dash whose hover gives the reason. Nothing repeats either request for you, and neither is listed in the Errors tab, so that button is the way back.
While a request runs again after a change, each card keeps the previous answer on screen rather than emptying: the comments, the WOC lock and the rig-time breakdown stay where they were. If the answer takes more than a second, the breakdown dims and a Calculating chip appears under the table — Waiting while the survey's depths are being recalculated — whose hover says the card shows the previous result. None of it is saved or priced until the new answer is in.
For each section the calculation returns one or two intervals. The card does not name the split, but its rows show which one it chose:
| Split | What the card shows |
|---|---|
| Single slurry | One interval over the whole cemented interval — the upper hole, and any liner. |
| Lead and tail | An expensive tail from the shoe up to the previous shoe, then a cheap lead above it. |
| Tail only | One tail interval: there is no previous shoe to lead into. |
| Lead only | One lead interval: the previous shoe is at or below this one, so there is no open hole to fill. |
| Not cemented | No table — PLAN when you set Cemented to N, BLOCKED while no casing has been picked for the section. |
Each interval gets a price class, which is what the money is read from:
| Class | Meaning |
|---|---|
| STD | Conventional single slurry, upper hole. |
| C0 | Lead or filler inside the previous casing. |
| C1 | Standard tail slurry. |
| C2 | Gas-tight or pay-zone system — a section marked as a reservoir, or one with the Kick risk complication (taken as a sign of gas). |
| C3 | Special or premium system. |
A C3 is normal, not a warning. It is raised by any one of: an H₂S, CO₂ / acid gas, Salt (halite), K–Mg salts or Permafrost flag answered yes, salt creep or total losses, a mud weight above 1800 kg/m³, a bottom-hole temperature above 150 °C (302 °F), a shoe pressure above 69 MPa, or a cement column that would fracture the formation and so needs a lightweight slurry. The reason is always spelled out in the Comments chip under the table — read that, not just the class. Those comments are the engine's own text and stay metric (°C, MPa, kg/m³) whatever your display units.
That last one is why the mud weight matters here: the calculation stands the section's drilling mud above the cement top and weighs the whole column against the fracture gradient. A section with no mud weight cannot be calculated at all — set it on the section's Drilling Mud page.
A liner takes its cement top from where it hangs. While a liner's top of cement is still 0 — as Casing Scheme and Auto leave it — the column starts at the liner's hanging point rather than at surface: the top of its casing string as applied on Casing Runs, normally overlapping the shoe of the section above by the liner lap (the previous shoe itself while the string has no lengths yet). The column may reach up into that lap. Two strings cannot be cemented and are refused until fixed on Casing Runs: a liner whose casing falls short of the previous shoe (it would hang in open hole) and a liner whose casing reaches surface. The one case that cannot be answered at all is a liner in the first section: there is nothing above it to hang from, and it holds up every card until fixed. Run that string as a casing — untick Liner on Casing Runs or on the section's Casing String page.
The hold chip means the class is provisional: an unanswered geology flag, or total losses, could push an interval higher. Fill the flags in on the section's Formation page and the answer firms up.
What the card shows
The header line is what the section is given, and none of it is editable here. The top of cement is not among them: it is the shallowest Stop in the table below, so it is this page's answer rather than its input.
| Owned by | |
|---|---|
| Shoe MD | Section Intervals |
| String (casing or liner) | Casing Runs or Casing String |
| Role | Section geometry |
| Window (pore / fracture) | Section Intervals |
A card that says no casing size — pick one on Casing Scheme is not saying the well has no string there. It is saying this section has not been given one yet; Casing Runs says the same thing about the same section, and picking the casing on Casing Scheme, or on the section's Casing String page, clears both.
The column you leave here is the one that gets timed. Apply sends it with the next estimate, so the calculation stops second-guessing the split — and while Batch or Foam is Y, moving the lead/tail boundary changes what the rig is costed for. A column applied as the calculation proposed it is still the calculation's own: it is not sent back, the split is not reported as custom, and the selector's notes about where the tail ends stay in Comments. Change any interval — its class included — and the column becomes yours.
Edit a column and the rig time on that card goes blank until you apply. The hours it was showing were timed for the column before your edit — the one the project holds, or the calculation's own on a section with nothing applied yet — and leaving them up beside a different one would be worse than showing none.
Editing the column
The table below is fully editable, up to four intervals per section. The calculation itself never returns more than two — a lead and a tail — which is what the table is sized for; a third and a fourth are yours to add with + under the table, which splits the shallowest interval in two. They scroll, and they inherit the class of the interval they were split from. While a card has no column yet, + is greyed out — there is nothing to split — and its hover says so.
- Tier — the price class. Changing it re-prices the interval from the Base costs cement book.
- Start / Stop — the interval's deeper and shallower boundaries, in measured depth. The deepest Start is the casing shoe and cannot be moved. Every other Start is the same number as the Stop of the interval below it, so editing either one moves that single shared boundary — a cement column can never have a gap or an overlap.
- Price — per cubic metre of slurry, from the cement book by price class and the project's region, until you type a value; a typed value stands until you change the Tier or press Auto. Apply stores the rate as it stands, so a later change to the cement book does not re-price an applied interval: a Tier change (then Apply) or Auto takes the book's rate again.
The page shows no slurry density and no money total. The cost is counted on the section's Cost & time leaf, which prices the rig-time estimate's slurry volumes at these class rates.
Rig time
Under the interval table each card carries the full rig time breakdown, in hours, as the calculation returned it.
Operation is the job itself: rig-up, conditioning, pumping, any technology allowance and rig-down, with their subtotal. Conditioning and pumping are picked out in colour — they are the only two that grow with the section's length, so they are the ones that move when a trajectory is made longer or shorter. Everything else is fixed by the kind of job.
Waiting on cement is where a plan is usually won or lost, and it is not simply added. The set time is how long the cement needs. Both readiness gates run from the moment the last plug lands — one for the cement, one for a log if this rig runs it — and the rig spends part of that on rig-down and on the next operation anyway. Only what is left of the longer gate reaches the clock, as on the critical path. That is why a sixteen-hour set can cost nothing at all.
Rig time is the total, and it is the number the well is planned against. The line under it, the cementing contractor on site, is a different party's clock: it is what the service crew is present for, and it is never added to the rig's.
No row is hidden for being zero. A zero here is a finding, and a table whose rows come and go cannot be read across sections.
Changing a class does not change the hours: the class of a slurry never enters a time calculation. Where you split the column matters only while Batch or Foam is Y, because the tail then pumps slower than the lead; otherwise the volume from the shoe to the top is the same either way. What does change the hours is the top of cement (Apply writes it), the switches below and the excess:
| Control | What it does to the time |
|---|---|
| Two-stage | Adds an allowance for the second stage and the wait between them. |
| Foam | Adds an allowance, slows the tail slurry and lengthens the set. |
| Batch | Batch mixing instead of continuous: the tail slurry pumps slower. |
| Log | A cement evaluation log run by this rig: it holds the rig until the cement is hard enough to log, and then for the logging run itself. |
| WOC | Whether the rig waits out this string's cement. On every section but one it can only be Y and is shown locked: the next hole is drilled through that cement, so nobody is leaving. The exception is the production string, where N — the usual answer — releases the rig and takes the wait off the clock. Which section that is comes from the calculation — the one whose Section role you set to production on the Section page. It is never assumed from depth: with no section set to production, WOC stays locked on every card. |
Two-stage, Foam, Batch and Log have three states. Y buys the technology and the hours it costs, N rules it out, and ? leaves the choice to the calculation — which then reports it as a candidate worth considering and charges nothing for it. A card showing "Foam?" is telling you the engine would consider foam here, not that it has assumed it.
They sit in one framed block above the interval table. Its first column holds Cemented and WOC, the two Y/N switches, and Cemented governs the rest. Every string but the deepest is cemented by construction, since the next hole is drilled through it, so its switch is shown locked rather than hidden. On the deepest string it can be turned off, and everything beside it greys out: a string run without cement buys no slurry and costs the rig no cementing time. No picture draws its cement — here, on the Well Schematic or in the report — while its column stays in the project for a Y.
The open-hole excess — how much more slurry than the gauge hole would hold — is set once for the whole well on the Project page, one figure per kind of job, because it describes the hole rather than the section: a 17½″ surface hole caves the same way in every well of an area. Leave a cell empty and the calculation uses its own figure, shown as the placeholder.
Under each interval's own row is what it overlaps — the rock it stands against, and the complications and flags expected there. It is re-read whenever you move a boundary. An interval that sits entirely inside the previous casing simply reads Overlap casing: there is no formation behind that annulus, and the calculation does not evaluate one there either. A long line is cut short on the row; hover it for the whole thing.
At the bottom of the table, two counted chips carry what the calculation said: Comments from the class selector and Warnings from the time estimate. Hover either for the list.
The picture beside the cards
The panel on the right is read-only — the column is edited in the card's table — and it shows the well as it stands when the open card's section is cemented: the casings run so far, and nothing deeper. Look at section 3 and you see the three strings that exist by the time it is cemented, not section 4's, which has not been run yet. That is the well the cement is actually placed in.
It is a cutaway of one side of the well, with the lithology track beside it on the same depths. The drawing is filled with the rock itself — the same layers, in the same hatches, as the track beside it — and the hole is cut out of it, so you see the well passing through the formations rather than standing next to them. The centre of the well is the left edge; each string sits further out than the one inside it, so the outermost casing is the one nearest the rock — the way a real section reads — and each shoe points outward into its own annulus. The open card's string is drawn in the accent colour, the ones above it in grey.
The cement is drawn where it actually is: in the annulus, between the string and whatever is around it. Below the previous shoe that is the open hole, so the fill reaches the rock; above it the fill stops at the previous casing's bore.
Cement is shaded grey, darker the more expensive the class — C0, STD, C1, C2, C3, as the legend under the drawing shows. Read across to the lithology track to see which rock each slurry is standing against, and where a cheap lead is sitting behind casing rather than on the formation.
Neither the width of the drawing nor the depth axis changes when you open a different card, so the lithology track beside them never shifts under your eye.
Auto and Apply
Auto is greyed out while the whole well is still the calculation's to decide, and lights up the moment that stops being true — a card edited, or a column applied. Pressing it hands the well back at once, with no confirmation: your edits are dropped, any applied column is removed from the project, every top of cement returns to 0 (surface on a casing, the hanging point on a liner), and both calculations run again on the well as it then stands. A saved rig-time estimate stays in the project, now out of date. The top matters as much as the column here, because the calculation is told where the cement stops; leaving a hand-set one in place would have it answer the same column back for ever. Apply, confirmed first, writes the columns into the project: the intervals, their classes and prices, and the top of cement, which is what the Well Schematic draws. It also saves the rig-time estimate for each of those sections — but only where the hours in hand belong to the column being applied and are up to date, and the confirmation names the sections it saved. For a column you edited, the hours were timed for the old column, so they are not saved: the confirmation lists those sections separately, any figure saved before stays in the project marked stored, out of date, and pressing Apply again once the new hours are in saves them. The same goes for hours still being recalculated when you press it.
Once applied, a column is what its card shows — after reopening the project too. Only a section with no applied column shows the calculation's proposal, and Auto is the way back to the proposal everywhere.
Saving the estimate matters more than it sounds. A calculation's answer lives only in the open tab: it is gone when you reopen the project, it is not part of an export, and it is missing while calculations are paused or failing. Without a saved estimate the Cost & time leaf and Well Cost have no cementing hours, no slurry volume and no contractor's bill to price, and show dashes instead. With one they keep working, and the Cost Model copy carries cement figures too; only the bill on the section's Cementing leaf waits for a live estimate.
The saved figure is stamped with the job it belongs to — everything the estimate was calculated from except prices. Move a shoe, change the casing, the mud weight or the geology, redesign the column, flip one of its switches, or change the well's temperature gradient, open-hole excess or WOC, and those sections show their rig time as stored, out of date; the figure is still used so nothing goes blank, and applying again replaces it. A price change never does: it re-prices the same hours.
Each section also keeps its own Cementing leaf, showing the same card and the same chart for that section alone. It adjusts the column applied here, and its edits go straight into the project — there is no Apply.
Well Cost
Summary → Well Cost is the well as the sum of its sections: one column per section, the well in the last column, on the same two tabs as a section's Cost & time leaf — Time and Cost. It is a live projection of each section's leaf — nothing is entered here, nothing is calculated on demand, and no button starts anything. Change a price where it lives — the bit's on Bit & Motor, the casing's on Casing String, the mud's, the mud service's and the cuttings disposal's on Drilling Mud, the directional and logging tiers on the Section page, the cement class rates on Cementing, the day rate on Rig, the cementing contractor's prices and the few other figures the Cost & time leaf reads live on the Project page's Base costs tab, the operation times on its Ops book tab — and the tables follow. The results pane under them draws the whole well on its own two tabs: Time–depth is the curve of every section laid end to end with each section's shoe marked, Shares the two rings — the well's hours by phase and its cost by group.
Time
- Drilling run, Logging, Casing run, Cementing (rig), Wellhead & BOP — each section's hours by phase before NPT, summed across the well in the last column.
- NPT — the non-productive time each section's role adds, its own row.
- Rig hours — each section's hours after NPT, and the well's; Days under it.
Cost
- Rig hours — the same totals, on top for reference.
- Rig, Directional service, Mud service, Logging, Bit, Mud, Cuttings disposal, Casing, Cement, Cementing service — the ten lines of the section model, each summed across the sections in the Well column, with the line's share of the well's cost beside it.
- Total — every section's total and the well's.
Each tab marks its own gaps. On Time a section is marked with an asterisk in its header, and Rig hours reads partial, only when one of its hours is missing — an unset ROP, a run with no flow rate for its bottoms-up, no cementing estimate; a blank price changes no hour, so it marks nothing there. On Cost any gap marks the section and makes the Total partial, a missing price included. The rings under the tables follow the same rule — partial hours for a missing hour, partial cost for any gap. The totals sum what is known rather than showing nothing, and the missing terms are listed under the table with the page that fixes them. A phase none of whose hours could be computed shows a dash, never 0.0 h; a phase with some of its hours shows the ones it has. Likewise a line no section could price shows a dash in the Well column, never $0, and so does a Total, a section's or the well's, with nothing priced behind it. A real zero — a service no section carries, no casing, a string left uncemented — still reads $0 and counts as a known part of the total; the rings' legends follow the tables. The one runtime input is the cementing-time estimate of the Cementing page. It is calculated once that page or a section's Cementing leaf has been opened in the session, and that page's Apply saves it with the project. Until there is one, the cementing lines of a cased section stay dashed, and so does its Cementing (rig) cell on Time; a saved estimate that no longer matches its section is still used and named under the table as out of date, without marking the section.
The currency is always US dollars; hours are hours in every unit system. The units of the quantities behind the lines (metres, cubic metres) follow your display units where they are shown on the section pages.
Well Schematic
The Well Schematic is a read-only wellbore-geometry (WBG) casing scheme, found under Summary → Well Schematic. It draws the well construction directly from your section program and casing strings — there are no inputs to edit here and it makes no call to AIDE. It is the picture of what you have built on the Section, Casing String, and Cementing pages.
What the drawing shows
The drawing is titled Casing scheme. Each section is rendered as one string from its top down to its shoe:
- Hole columns nest from surface — the widest, shallowest interval is drawn first and narrower deeper sections paint over the centre, giving the telescoping look.
- Casing and liner strings are drawn as two steel walls with a shoe triangle at the bottom. A casing runs from surface (top depth 0); a liner hangs from the top of its casing string — the shoe minus the casing length applied on Casing Runs, which normally overlaps the previous section's shoe by the liner lap. While that string has no lengths yet (as Casing Scheme leaves it) it hangs from the previous shoe; a liner ticked over a full-length casing is drawn from surface until Casing Runs applies the liner string. A liner whose casing falls short of that shoe is drawn where it is, hanging in open hole; the Cementing page refuses such a section.
- A section with no casing selected is drawn as open hole — a dashed wall with no steel and no cement.
- Cement is the section's cement column as the Cementing page designed it: each slurry interval fills the annulus over its own depths and is shaded by its price class on the same grey ramp the Cementing picture uses — the darker the grey, the dearer the class. Below the previous shoe the cement reaches the open-hole wall; above it, only the previous casing's bore. A section that has a cement top but no column yet is drawn in one flat grey from the top down to the shoe, and a section with neither has no cement drawn. The column is clamped so it never sits above the string top. Cement is drawn only for a cemented string: one you set to Cemented N on its Cementing card is run without cement and has no cement drawn, whatever column it holds. The column stays in the project, so switching back to Y draws it again.
- Formation is the rock of Geomech & Lithology, hatched by rock type exactly as the lithology strip draws it — projected along the survey on the MD axis, and as the layers stand on the TVD axis. Without a lithology table (or without a survey on the MD axis) the formation is a plain fill with strata lines.
A mud-line / wellhead marker sits at the top, a dashed centre line runs the length of the well, and each shoe carries a callout with its size and MD / TVD depth.
Depth axis and the MD/TVD toggle
The depth axis runs down the right edge with ticks at round display-unit values. A Depth axis toggle switches it between MD (measured depth) and TVD (true vertical depth). TVD is interpolated from the saved survey trajectory; when no survey TVD exists, the TVD button is disabled (with the hint "TVD needs a calculated trajectory") and the schematic stays on MD.
On a deviated well the TVD view compresses, and that is the geometry, not a drawing fault: a horizontal section has no vertical extent at all, so it appears as a thin sliver at its landing depth rather than as a band, and several shoes can share one TVD while their MDs differ (the callouts print both). If a section climbs — inclination past 90° — the axis still reaches the well's deepest point, which lies inside that section rather than at total depth. Switch to MD whenever you need to compare section lengths.
Legend and string list
A legend identifies casing/liner, the cement class ramp (plus the flat grey of a cement with no class), open hole, and formation. Beside it, a Strings list summarises every string — name, outer diameter, shoe/TD depth, hole size, cement top (or "no cement top", or "not cemented" for a string run without cement), and a "liner" tag where applicable. Hovering a row highlights the matching string in the drawing.
Report
Summary → Report assembles the whole project into one standalone HTML document, ordered the way a drilling program reads — what the well costs and how long it takes first, then the geology, the design, the trajectory, the rig, the five programs, and the appendices with the full calculations. Use it to hand a complete, self-contained snapshot of the design to someone who doesn't have the app.
Live preview
Below the Project report card the page shows a live preview of the report — the page scrolls through it as one document; there is no results pane here. It is not a mock-up: the exported file is generated from exactly the same content, so what you see in the preview is what downloads. The preview updates as you edit inputs and as automatic calculations complete. Every report ends with a one-line reminder that its figures are first-pass estimates to be verified independently by a qualified engineer.
What the report contains
A header — project name, phase, description, generation time — with the well's data sheet (region, environmental class, depth datum, temperature inputs, rig, TD in MD and TVD, number of sections, the report's units profile and the catalog version), then a numbered table of contents whose entries jump to their chapter. Then, in order:
- Well summary — the headline figures (well cost, rig time in days and hours, cost per metre, TD), the well's time–depth curve across the page with, side by side under it, a ring of rig hours by phase and a ring of cost by program, and two tables with one column per section plus the well: Cost by program (Bit, Mud, Drilling, Casing, Cementing, Logging & wellhead, NPT, Total, with each program's share) and Time by phase (the rig hours of the drilling run, logging, the casing run, cementing, wellhead & BOP and NPT, then the total in hours and days). Both tables use the same grouping, so they read side by side. Each figure marks its own gaps: Time by phase, the rig time and the hours ring star a section and say partial only when an hour is missing (an unset ROP, a run with no flow rate for its bottoms-up, no cementing estimate), while Cost by program — like appendix B — stars a section for any gap, a missing price included, and the well cost, the cost per metre and the cost ring then say partial. A phase none of whose hours could be computed shows a dash, and so do a line or a program no section could price and a total with nothing priced behind it — a section's Total, the well's, the well cost and the cost per metre: never 0.0 h or $0, in the tables, the program chapters and the rings' legends alike. A real zero (a service no section carries, no casing, a string left uncemented) still reads $0, and counts as a known part of a total. A Notes list under the tables names every gap and every approximation the figures carry — including a stored cementing estimate that is out of date.
- Geology & pressure prognosis — the lithology map layer by layer (TVDSS top and bottom, the measured depths the well passes through each layer, rock, flags, H₂S, complications); the pressure window — pore and fracture gradient with the safe window between them — with each section's mud weight over its interval and a dashed line at every casing shoe, and beside it, on the same depth axis, the lithology track as on Section Intervals: the hatched rock column and each layer's rock and marks, cut to the layer's height (the table above lists them in full; the axis is measured depth along the survey, or TVD before the survey is calculated); and the hazards by section (H₂S, HPHT with the estimated bottom-hole temperature, complications, lithology flags, bit modifiers, reservoir, low permeability), plus the landing target's measured depth.
- Well design — the same casing-scheme drawing as Summary → Well Schematic (MD axis, lithology hatch, cement shaded by class) with its legend, and the casing & hole program: per string its hole, casing size · weight · grade, casing or liner, top (a liner's head), shoe MD / TVD, top of cement and cement classes (dashes for a string run without cement).
- Trajectory & targets — the plan and vertical (departure vs TVD) views with the targets marked; the survey summary (TD, TVD at TD, closure distance and azimuth, maximum inclination, inclination and azimuth at TD, maximum DLS and where it occurs, the kick-off by the survey and by the design, the landing depth of T1); the design limits (transport and production DLS caps, lateral and vertical tolerances); the targets as entered on the Targets page — printed even before a survey has been calculated — and the per-section constraints.
- Rig — the catalog rig's name, description and day rate; its passport (hoisting, circulation, top drive, casing handling and BOP, power), each maximum with the component that limits it; pipe handling (drill-pipe range, stand, block height, racking); and the rig's operation times and trip speeds, each with its source (the rig's equipment or drawworks, the Rig page, or the Ops book). The time model times each run at its own RIH / POOH velocity where one is set — the Drilling and Casing programs print the speed each section is timed at — and at these speeds otherwise. A rig configured by hand shows its limits instead of a passport.
- Programs — the Bit, Mud, Drilling, Casing and Cementing programs, each with its headline cost (and rig time), a Parameters table (one column per section) with what the crew needs to run it, and a cost and time table (sections plus the well). The Drilling and Casing programs list their operations' hours; the rig's cost follows those hours and is shown as Rig time (pro-rata). The Bit program shows the on-bottom (rotating) hours, which count under Drilling — a dash while no section has an ROP, partial while one lacks it. A program's rig time says partial only when one of its own hours is missing, and the rig's pro-rata cost of hours nobody could compute is a dash. Its headline cost and its cost and time table likewise mark only that program's own gaps — a cost line it owns with no price, one of its hours missing, or its rig time without a day rate — so a blank casing price stars a section in the Casing program, not in the Bit program. A quantity (the footage, the mud volumes, the slurry volume) sums the sections that know it: a dash when none does, and a section whose figure is unknown shows a dash and is starred. The mud volumes do not wait for a price: a section with a blank Mud cost still shows them, and only its mud price and cost read a dash. The Drilling and Casing programs end with each section's string table (
# / Type / Size / Grade / OD / ID / Max OD / Linear weight / Total length— Size is the nominal fractional-inch label from the catalog size dictionary, Grade the API steel grade derived from the component's yield point, Max OD the tool-joint/coupling diameter), the Cementing program with each cemented section's cement column. A string set to Cemented N on its Cementing card prints No, a job type of Not cemented and dashes for its top of cement, column, slurry volume and technologies, and gets no column table — its column stays in the project and prints again with Y.
Then the appendices, lettered A to D. A · Survey listing: the survey at an even step, every 30 m in metric units or every 100 ft in field units, down to TD. B · Cost by line: the ten cost lines per section with the well's total and share. C · Engineering calculations: every chart of every calculation family, section by section and run by run (Torque-n-Drag, Hydraulics, Surge-Swab, Hole Cleaning for drilling; Torque-n-Drag and Surge-Swab for casing). D · Operations sequence & time by section: every operation in the order the rig performs it, with the arithmetic behind its hours and its share of the section — the Time tab of each section's Cost & time page.
All values and chart axes follow your active display units, temperatures included — the data sheet's surface temperature and gradient, and the bottom-hole temperature beside HPHT in whole degrees. Charts respect the fine-tuning you made on the run-level results board — hidden series, pinned axis ranges, the axis orientation, the legend placement, and the drag snapshot's YP pipe/joint choice.
Calculation readiness
Results live only in the current session: after a reload the automatic calculations re-run, and the report fills in as they complete. The Calculation readiness accordion at the bottom of the Project report card — collapsed; its header reads All calculated or how many pieces are still missing — lists every report piece that has no result yet (e.g. Section 2 — 12 1/4" · Casing Run · Torque-n-Drag — not calculated); those pieces appear in the report as a "Not calculated" placeholder. Well Cost is listed as Well Cost — partial (and the header adds Well Cost partial) while the well's cost has a gap — a missing price or ROP, or no cementing estimate: the report then prints the figures it has — the costs marked partial, the hours too when an hour is missing — and the summary's Notes name each gap. Wait for it to read All calculated before exporting a complete report; a calculation that failed shows its error on its own page.
Export
- Export HTML downloads the report as a single
.htmlfile — styles and charts are embedded, no external assets, so it opens anywhere and can be attached to an e-mail. - Open in new tab renders the same document in a browser tab — handy for a quick look or manual printing.
- Save as PDF opens the browser's print dialog directly on the report — choose "Save as PDF" as the destination. The report carries print styles (A4 page setup, every chapter starting on a new page, charts never split across pages, headings staying with their content, table headers repeating on the next page), and charts print as vector graphics, so the PDF stays sharp at any zoom.
Tubulars (custom components)
The Tubulars sidebar node (panel title Tubular Editor) is a project-level library of reusable custom components: drill pipe, heavy-weight drill pipe, drill collars, BHAs, and casing/liner. You author each one by cloning a catalog item and tweaking it, so every entry starts as a valid component. Saved components then appear in the Drill String and Casing String pickers alongside the bundled catalog.
The library is stored on the project, so it travels with Export and Import.
The single-component editor
The editor holds one component at a time. At the top, a clone block lets you choose a component type (Drillpipe, Heavy-weight DP, Drill collar, BHA, Casing) and then pick a source from the catalog dropdown ("Clone a catalog item or pick a custom one…"): your existing custom components are listed first (pick one to edit it), with bundled catalog items below (pick one to clone a fresh draft). The block heading reads *"Custom component: name"* and updates live as you type the name.
- Accept saves the component to the library — adding it, or updating it in place if it already exists. It is gated by validation and disabled until the draft is valid.
- Cancel / Delete removes the component if it was already saved, or simply discards an unsaved draft. The button reads Delete for a saved entry, Cancel for a new draft. Delete takes effect at once, with no confirmation: strings that use the component keep their snapshot and show the Custom deleted badge (below).
At the bottom, a footer shows the library count and Import library / Export library buttons. The library is saved and loaded as a JSON file (<project>-components.json). Import library adds the file's components to the library, re-stamped with fresh IDs so they cannot collide — it never replaces the library, and it can also read the library out of an exported project file; an invalid file reports the reason.
What Accept checks
Accept stays disabled until the draft passes the same rules the schema enforces:
- Name is required.
- Every dimension/property must be greater than 0 when set (joint length, joint strength, and pressure drop may be 0).
- Body ID < Body OD and Joint ID < Joint OD.
The editor is the same for every component type (drillpipe through casing), organised into Pipe, Joint, and Advanced blocks. All numeric fields are SI quantities edited through the display-unit converter, so they follow your active display units (chips show metric / field).
Pipe
- OD
mm / in— pipe-body outer diameter. - ID
mm / in— pipe-body inner diameter (must be less than OD). - Linear weight
kg/m / lb/ft— weight per unit length. - Grade — a shortcut dropdown of standard steel grades (casing: H-40, J-55, M-65, L-80, C-90, T-95, P-110, Q-125; other tubulars: J-55, E-75, X-95, G-105, S-135, Z-140, V-150). Each grade family carries one grade per yield strength (casing grades that share a yield — e.g. K-55, N-80, C-95 — are represented by their canonical name, since the grade is derived from the stored yield). Picking a grade fills the Yield point value. A yield that doesn't match a standard grade (e.g. a cloned 115 ksi BHA or 90 ksi collar) shows as a "Custom: N ksi" entry.
- Yield point
bar / psi— the pipe-body material yield strength, always editable; type any value here for a non-standard grade. - Length — a nominal body length, shown for reference and not editable (the calculations don't vary it).
- Wear — reserved for future wear input; shown as New and not editable.
Joint
- OD
mm / in— tool-joint outer diameter. - ID
mm / in— tool-joint inner diameter (must be less than joint OD). - Length
m / ft— tool-joint length (may be 0). - Critical torque
N·m / ft·lbf— make-up / connection torque limit. - Yield strength
t / klbf— tool-joint (connection) tensile strength: the axial load at which the thread plastically deforms. Every bundled tubular catalog carries real vendor values; 0 means not populated. Wherever a non-zero value is set, the YP joint limit lines (60, 80 and 100 %) are drawn on the T&D snapshot Drag chart — see Torque & Drag.
Advanced mechanical properties (collapsible) adds:
- Joint hydraulic Ø
mm / in - Young's modulus
bar / psi - Shear modulus
bar / psi - Material density
kg/m³ / ppg - Pressure drop
bar / psi— BHA only; forced to 0 for every other type.
Custom casing has no separate catalog identity
A custom casing carries only its physical component — there is no hand-edited "casing identity" descriptor. When it is applied to a string, its catalog identity (nominal size, drift, capacity, …) is taken from the nearest bundled catalog casing by body OD/ID, so the cost optimization, Well Cost and cementing always run on real catalog values.
Using custom components in strings
In the Drill / Casing String pickers, custom entries appear first, tagged "Custom". A + Create custom tubular item at the very top of those pickers switches to this page with the type locked to the picker's family. Clone a source and edit it: Accept saves the component, applies it to the originating segment and returns you to the string. Once a source is picked, Cancel returns without saving — but if you picked one of your saved components, the button reads Delete and removes it from the library.
Section geometry
The Section page defines a hole section's depth, its role, complications and services, its hole size and planned tortuosity, and the per-calculation snapshot depths. You enter one depth basis (MD or TVD); the counterpart is resolved automatically from the active trajectory, and a status chip reports whether the depths resolve.
A well is an ordered list of telescoping sections (largest hole at surface, narrowing with depth); this page edits the geometry of the currently selected one. It fills the workspace with no results pane — the section itself owns no calculation, so output lives on its run sub-pages.
Section depth
Two status chips sit at the top. The first, HPHT, is neutral until the section counts as high-pressure / high-temperature and amber once it does. A section is HPHT when its High pressure complication is set or its High temp fact is on; hover the chip for which trigger fired and for the live bottom-hole temperature estimate at the section's bottom TVD — surface temperature + gradient × TVD / 100, both from the Project page, above 150 °C (302 °F) counting as high, printed in your temperature unit — including a note when that live estimate disagrees with the stored fact. The stored fact is re-read only when one of this section's boundaries moves on Section Intervals, or that page fills a section that has no rock yet, and that page is applied; applying it without such a move writes the stored fact back unchanged. To follow the estimate, move a boundary of this section there and apply, or toggle the High temp chip below. The flag switches the HPHT cementing package and the DD-rate surcharge on.
The second reports the depth state:
- Depths resolved (green) — the counterpart depth resolved cleanly.
- Check section depth (amber) — the typed depth cannot be used: it is empty, negative or out of order with the neighbouring sections (see Bottom MD), or it lies outside the active trajectory, so the counterpart cannot be resolved. An inline error says why; past the trajectory it offers a one-click fix (Use TD … or Use max TVD …) — only while that depth still lies below the section above, since a bottom no deeper than it could not be saved.
- Awaiting trajectory geometry (amber) — station TVDs are not calculated yet, so the other depth cannot be resolved.
Pick the Defining depth basis — MD or TVD — then type that value. The counterpart (the other of Bottom MD / Bottom TVD) is read-only, carries an auto badge, and is resolved from the trajectory; this is the section shoe depth. The section's hint shows the active trajectory's TD (MD) and max TVD, and the defining field shows the valid trajectory range.
- Defining depth (MD or TVD) — the basis you edit; switching basis re-seeds the value from the resolved counterpart. The active field shows a defines tag, the other a resolved tag.
- Bottom MD
m / ft— section shoe measured depth; editable when the basis is MD, otherwise resolved. A typed bottom is taken only while it stays deeper than the section above and shallower than the one below; until then the field is outlined red and says which neighbour it must clear (so typing1500over1keeps the sections in order at every keystroke). - Bottom TVD
m / ft— section shoe true vertical depth; editable when the basis is TVD, otherwise resolved.
Role/drilling cost/complications
The facts that describe the section rather than its rock (those live on the Formation leaf): the role, the reservoir pair and the wiper-trip switch on the left, the complications beside them, and the two service pairs on a row of their own under both. Like the rest of the geology, the complications are filled from the lithology map by Section Intervals as section depths move, and written here on its Apply, together with the role and the reservoir pair as its card holds them. An edit here reaches that page's card by itself (the last edit wins), so its next Apply keeps it.
- Section role — the section's role in the well. Auto lets the engine infer it from the hole diameter; override it when the diameter is misleading. It is never set automatically. The Mud Selector scores it, and both Cementing calculations receive it — the string whose role is production is the one whose WOC can release the rig. The Cost & time leaf keys its wellhead hours and NPT factor by the role too, resolving Auto by position (first section upper, last production, the rest intermediate).
- Wiper trip — whether the drilling run makes a trip to the previous shoe and back before pulling out of the hole. Off by default; on, the Cost & time leaf adds the two trips to the run's hours. No calculation request reads it.
- Reservoir — whether this section penetrates the productive interval. Off by default. The Mud Selector reads it to decide whether reservoir protection is scored; the Drilling page's drillstring proposal and both Cementing calculations receive it too. Section Intervals sets it automatically: a section counts as reservoir once it lies entirely below the landing target T1.
- Low-perm reservoir — a low-permeability reservoir, which raises the weight of reservoir protection. Available only while Reservoir is on; the stored answer is ignored otherwise. Not the rock's Permeable box on the Formation leaf: this one reaches only the mud selector.
- Complications — the seven expected drilling complications (partial and total losses, high pressure, depleted zones, sloughing, salt creep, kick risk) plus an eighth chip, High temp, which is not a complication but the section's high-temperature fact: Section Intervals sets it from the bottom-hole temperature estimate and you can override it here. Loss complications in particular change which mud systems can win; High pressure and High temp are the two HPHT triggers (the chip at the top of the page).
Services. Two pairs record the services this section is drilled with — a tier list and the rate it seeds. Neither is sent with a calculation request: the section's Cost & time leaf charges them, and Copy from project on the Cost Model folds the directional rate into the prices it copies. In each pair, picking a tier fills the rate from the Base costs tab of the Project page, typing a rate by hand switches the tier to Custom, and None means the service is not on this section — no hours, no dollars. The third such pair, the mud service, is on the Drilling Mud leaf beside the fluid it serves.
- Directional drilling (DD) tier — None, one of the four service tiers T0–T3 priced on the Base costs tab of the Project page (motor only → motor/RSS with MWD, LWD and geosteering), or Custom. Picking a tier fills the rate beside it from the price book — or leaves it empty when that book price is zero or less (red on Base costs), a gap the Cost & time leaf names; None leaves the rate as it was, uncharged.
- DD rate
$/day · $/m · $/ft— the rate itself. Its denominator follows the project's directional basis: a day rate when the project quotes by time, per drilled metre otherwise (the Day rate / Per metre switch on Base costs). Switching that basis re-prices the field rather than reading the same number in the other unit: a tiered rate is re-seeded from the book's other price set, and a Custom rate is cleared for you to type again — the switch asks first, naming the sections it clears. Typing a rate by hand switches the tier to Custom, so the two can never disagree about where the number came from. When the section is HPHT (the chip at the top) a tiered rate is shown multiplied by the HPHT coef from Base costs (2 by default), so the field reads what the section actually pays; the book rate behind it is kept unchanged, so flipping the flag or editing the coefficient never leaves a stale number behind. A Custom rate is shown exactly as you typed it — it is your final figure, not a book rate to surcharge.
- Logging tier and Logging price
$/run— the open-hole logging run: None, L1 basic, L2 standard, L3 advanced, or Custom; the price is a lump sum per run, filled from the book when you pick a tier — or left empty when that book price is zero or less (red on Base costs), a gap the Cost & time leaf names. The hours of the run come from the book's logging and cable speeds.
The Drilling page's Apply fills the directional pair from its proposal, replacing a Custom rate too; its confirmation names every section whose tier or rate it changes, from what to what.
Hole size
Choose a bit-catalog entry from the Hole size — bit catalog dropdown (entries are listed largest-OD first), or pick Custom diameter… and type a value. This sets only the hole diameter; the drill bit itself is chosen separately on Bit & Motor with OD ≤ hole diameter.
- Hole diameter
mm / in— the section's hole diameter. A badge tags it from catalog or custom; when you type over a size you picked from the list on this visit to the page, a reset to catalog link restores that pick. The hint below shows the value in mm · in · m at once — an intentional fixed multi-unit reference (it does not follow the display-unit setting). - Tortuosity
°/30 m / °/100 ft— synthetic dogleg added on top of the planned path;0keeps the path as planned.
Calculation Settings
Each calculation family owns its own snapshot interval, edited here in three sub-blocks. All depths are measured depths (MD) and optional: when a field is left empty it shows a placeholder and the calculation falls back to its own default —
- a snapshot depth (bottom of the interval) defaults to the section TD;
- a top depth (start of the interval) defaults to the previous section's bottom (or a fixed first-section start for section 1).
See hydraulics and torque & drag for how these depths bound the results.
Torque-n-Drag
- Snapshot depth
m / ft— bottom depth of the T&D snapshot; its top is fixed at surface. Drag and torque share this one depth. (The drill-pipe range behind the per-joint side-force chart is the rig's, set in the Rig page's Pipe handling block.)
Hydraulics
- Top Depth
m / ft— start MD of the hydraulics interval (results are clipped to it);0starts it at the surface. - Snapshot start depth
m / ft— bottom depth of the hydraulics snapshot.
Surge-Swab
- Top Depth
m / ft— start MD of the surge/swab interval, independent of the hydraulics interval;0starts it at the surface. - Snapshot start depth
m / ft— bottom depth of the surge/swab snapshot.
Cost & time
The section's Cost & time leaf shows what building this section costs the well, on two tabs: Time — the rig hours by operation, each with the arithmetic it came from — and Cost — the dollars by line, each with its quantity and unit price and opened into the pieces it is made of. It is a result page: nothing is typed here. Every number is read off the section itself — the prices recorded on the things they price, the service tiers the section carries, the rig's day rate — and the operation times and speeds of the Ops book tab on the Project page. A few entries of its Base costs tab are read live instead: the Mud dilution factor, the directional Day rate / Per metre basis and HPHT coef, the Cement service prices the contractor's bill is built from, and a cement class rate where the column records none. Edit those where they live and this page follows; the Well Cost page sums every section the same way. The results pane under the tables draws the same model: the time–depth curve and two rings, hours by phase and cost by group.
Time
The rows follow the rig through the section, grouped by phase; each group's row carries its hours and its share of the section, and every operation under it shows the Basis it was computed from, in your display units, so a figure can be checked against the Ops book and the run parameters at a glance:
- Drilling run — BHA make-up (a flat by hole class — large above 8 in, small at 4¾ in and under — plus minutes per collar beyond the book's BHA base length; the basis reads
6.0 h + 5 collars × 10 min), Trip in to the previous shoe (1,500 m @ 1.50 m/s · 27 m stands · 120 s— the depth, the run's trip speed, the rig's stand and its slip-to-slip time), Drill out shoe + FIT (zero on the first section), Drilling (the section's length at the ROP of Drilling Parameters), Connections (one per stand, or per single on a rig with no setback, at the rig's connection-with-pumps time), Circulate off bottom (the run's Circ off bottom entry; a bottoms-up needs the flow rate and runs long in cased hole — see hydraulics), the optional Wiper trip to the previous shoe and back (the switch on the Section page), Trip out from the section's bottom, BHA lay-down. - Logging — only with a logging tier on the Section page: rig-up, the tool run down to the section bottom and back up from the top of the open hole at the book's cable speed, and the open hole logged at the logging speed.
- Casing run — Casing shoe & float make-up, Run casing (
82 joints × 480 s + 1,000 m @ 0.50 m/s: one casing joint at the rig's casing-joint time each, plus the string's own travel), and for a liner the hanger make-up and the Running string in to the liner head and out after the job; then Circulate before cementing (the casing run's Circ off bottom). The rows stay on an uncased section at zero. - Cementing (rig) — the rig's hours from the Cementing estimate less its conditioning (
10.0 h − 1.5 h conditioning), because the casing-run circulation above is that conditioning; waiting on cement on the critical path and the evaluation log stay in. - Wellhead & BOP — a flat by section role from the Ops book, charged once on a cased section.
- Before NPT, then NPT — the lot times the role's non-productive-time factor, its own row — then Section hours, with the days beside it.
Trips run in stands: the rig's stand (from its pipe range and mast, see Rig) travels at the run's trip speed and stops for one slip-to-slip connection, so the average speed is stand / (stand / speed + connection). The connection and casing-joint times are the rig's own (a catalog rig carries them; a manual rig uses the figures on its Rig page, the Ops book's until you type your own), the trip speeds the run's RIH / POOH velocity, or the rig's own where the run has none. A section's role is the one on the Section page; Auto resolves by position — the first section as the upper hole, the last as production, the rest intermediate.
Cost
Each line shows its quantity (hours, metres, cubic metres — in your display units), its unit price (per metre or cubic metre in the same units, per day, per run) and its share of the section; the rows under it are what the line is made of:
- Rig — the section's hours at the rig's Day rate (Rig), opened by phase: the drilling run, the logging, the casing run, the cementing, the wellhead work and the NPT, each its hours at that rate.
- Directional service — per metre, or per day over the drilling run's hours (NPT included), at the section's DD rate; none without a tier.
- Mud service — the section's hours at the Mud service rate of Drilling Mud; none without a tier.
- Logging — the section's Logging price, once per run; none without a tier.
- Bit — the section's length at the Bit price of Bit & Motor; one bit per section.
- Mud — the new fluid the section needs at the Mud cost of Drilling Mud, by volume: the new hole, the Mud dilution factor's allowance on it, and — unless the section above hands its fluid down — the rig's active pits (a catalog rig's; a rig configured by hand records none) and the cased hole above, which a fresh system has to fill too.
- Cuttings disposal — the hole's volume at the section's Cuttings disposal price (Drilling Mud).
- Casing — the applied string's casing part, one row per segment with its size, length and Price from Casing String; the running string is not bought. The line's unit price is the length-weighted average.
- Cement — the estimate's intervals, one row each (lead / tail / single, its class), at the class rates of the Cementing column.
- Cementing service — the contractor's bill shown on the section's Cementing leaf, opened into its lines: the job package (with its S-tier and multiplier), the volume addon, and every option by name — float equipment + centralizers, the liner hanger system, the evaluation log and its tractor / CT variant — at $0 with the reason when the job does not charge it.
The charts
The results pane draws the section the way the tables count it, on two tabs of its own: Time–depth and Shares. The time–depth curve runs the bit through the section from the surface: down the trip in, along the drilling, up and back on a wiper trip, out on the trip out, down again on the casing, flat while circulating and cementing — one colour per phase, in days along and depth down. Two readings are worth knowing. The drilling slope already includes the connections — they are made every stand while the hole is drilled, so the slope is the net rate of penetration, and the only V on the curve is a real trip: a wiper trip when the section runs one, then the trip out. And wellhead and BOP work holds whatever depth the hole is at, because nothing moves in it: a section that runs casing ends flat at its shoe, one that runs a liner at surface, where its running string came back. The Shares tab carries the two rings: Rig hours by phase and Cost by group, each with the numbers and the shares beside it. The cost ring folds the ten lines into six groups (rig, the three services, bit, mud & cuttings, casing, cement) so it reads at a glance. Hover a legend row to single its slice out. The report prints the well's curve with a ring of rig hours by phase and one of cost by program; each section's operations, with the arithmetic above, are its appendix D.
Gaps
A term the model cannot compute shows a dash and is named under the table, with the page that fixes it: an unset ROP, a run with no flow rate for its bottoms-up, a section with no cementing-time estimate yet, an unpriced casing segment. A blank price dashes only the money: while the Mud cost or the Cuttings disposal price is blank, the Mud line and its rows still show their volumes, and Cuttings disposal its hole volume — only the unit price and the cost read a dash, and the price is named under the table. The totals then sum what is known and say partial — Section hours only for a missing hour, Section cost for any gap, a price included; a Section cost with no priced line at all reads a dash, never $0 — and each ring follows its own total; a slice with nothing computed behind it reads a dash in its legend. A stored cementing estimate that is out of date is named under the table too, but its hours still count and mark nothing partial. A service the section does not carry (no tier, no casing) is a real zero, not a gap — and so is a string you run without cement (Cemented N on the Cementing leaf): Cement and Cementing service read $0 and Cementing (rig) 0 h.
Formation
The Formation page describes the rock a section drills: the mud-density window, the rock properties used by the ROP model and the bit and mud selectors, and the lithology flags. Three blocks: Mud window, Formation, Lithology flags. It fills the workspace with no results pane — the page owns no calculation of its own; the numbers it feeds surface on the run sub-pages.
Mud window
Allowable mud-density bounds for this section. The ECD charts of hydraulics and surge/swab draw them as the band to read the equivalent circulating density against (an inverted window draws none), and the Mud Selector and both Cementing calculations receive them. Both are shown rounded to the display unit's precision (whole kg/m³, two decimals in ppg); the full value is kept — Section Intervals writes interpolated limits.
- Pore pressure gradient
kg/m³ / ppg— pore pressure gradient expressed as an equivalent mud density: the minimum allowable mud density (the lower window bound). The ROP model and the bit selector take it as their pore pressure only while the pressure profile on Geomech & Lithology has fewer than two rows: with two or more they read the profile at the section's mid-depth TVD, holding its first or last row beyond its ends, and never this field. - Fracture gradient
kg/m³ / ppg— fracture gradient expressed as an equivalent mud density: the maximum allowable mud density (the upper window bound).
Formation (rock properties)
Rock properties consumed by the ROP model as typed, and by the bit and mud selectors through the catalog rock they match.
- Rock type — a dropdown of common rock types; each option lists its reference values (UCS and Brinell hardness in your display units, as the fields below show them, and abrasiveness). Picking a rock fills the five fields below at once; the fields stay fully editable. When the stored values match a rock's reference set the dropdown shows that rock; once any field is hand-tuned it shows Custom (nothing is snapped or lost). Both selectors refuse a Custom rock — they need a catalog one — while the ROP model reads the fields as they stand. The same dropdown appears in the facts card on Section Intervals, where a pick reaches the section on that page's Apply.
- Abrasiveness
1..30— dimensionless abrasiveness index; a value outside 1–30 is outlined red and not stored, and leaving the field restores the last valid value. - Brinell hardness
Pa / HB— the classic ball-test Brinell hardness of the rock. The active unit profile shows it either as a pressure (Pa) or as a Brinell number (HB). - Uniaxial compressive strength
bar / psi— rock UCS. - Friction angle
°— internal friction angle of the rock, 0–90, always in degrees. The ROP model does not need it (it assumes a default angle when the field is empty), but every catalog rock carries one, so emptying it makes the rock Custom and blocks both selectors. - Permeable — whether the rock is permeable: a property of the rock, not the Low-perm reservoir answer on the Section page, which only the mud selector reads. The ROP model runs either way, but the box changes its answer: in a permeable rock only the mud's overbalance over the pore pressure strengthens the rock, in an impermeable one (or when the box is left empty) the whole mud column does, and the bit drills slower. Each catalog rock is either permeable or not, so a box that disagrees with the rock type makes it Custom and blocks both selectors.
Lithology flags
Ten geological flags, each a three-state toggle: Y yes, N no, ? unknown. The Mud Selector scores them and both Cementing calculations receive them; Reactive clay also feeds the Drilling page's friction factors, where unknown counts as no. Unknown is not "no": every unanswered flag adds a hold point to the mud answer and lowers its stated confidence, which is why the active ? is amber.
Beside them:
- H₂S — sour-gas presence, three-state. Leaving it unknown blocks aerated mud systems; Y also makes Casing Runs aim for a sour-service grade (L-80), and both Cementing calculations receive it.
- Gravel and Interbedded — drilling-difficulty modifiers (unconsolidated coarse material; alternating hard and soft layers) the bit selector applies on top of the rock preset. Simple Y/N each; both N is the normal case.
The facts that describe the section rather than its rock — the section role, the reservoir pair and the expected complications — sit on the Section page.
Cementing (section)
This section's cement column, on its own page. It shows the same card as the well-level Cementing page — the slurry intervals, their classes, the depths they cover, the price per cubic metre and the breakdown of the rig time the job costs — with the same picture of the well beside it, and one thing that page does not have: the cementing contractor's bill for the job, at the bottom of the card.
The schematic still draws every casing string run up to and including this section, this one highlighted, so the column is never shown inside a casing that has not been run yet. The sections above show the cement the project already holds for them, so once their columns are applied this page and the well-level one draw the same well.
Edits here go straight into the project. There is no Apply and no Auto: the well-level page keeps a session draft you accept in one go, while this leaf writes as you type. It edits the column applied to this section. A section with none says No cement column yet — design it on the Cementing page, and its + stays greyed out, with nothing to split: apply one there first, then use this leaf to adjust one section without opening the whole well. There is no Retry here either; a failed request is retried from that page.
The technology switches behave the same way on both pages. They are part of the project, not of a draft, so a change here is immediate and is what the rig-time estimate answers to next. The open-hole excess the hours are timed with is set on the Project page, one figure per kind of job, and it counts here exactly as it does on the well-level page. The estimate itself is calculated for the whole well at once; opening this leaf starts it, as opening the Cementing page does. Applying on that page also saves the estimate into the project, and from then on the rig-time row shows the saved figure — marked stored — whenever the calculation itself is not available, which is what lets the cost pages keep pricing the cementing after you reopen the project. If anything the estimate was calculated from changes afterwards — the section's depths, casing, mud weight or geology, its cement column or switches, or the well's temperature gradient, open-hole excess or WOC — the row says stored, out of date: the number is still used, and applying again on the Cementing page replaces it. While the estimate is being recalculated, the card keeps the previous breakdown on screen, dimmed under a Calculating chip once it takes more than a second.
The top of cement is the shallowest Stop in the column's table — there is no separate field for it. Move that boundary and the top moves with it; the Well Schematic draws the column, interval by interval, from the same depths and classes.
The cementing contractor's bill
Under the rig time, this page alone carries what the cementing contractor charges for this section's job — the service, not the slurry (that is the price per cubic metre in the table) and not the rig's hours (those are the rig's own bill, at its day rate). It is priced from the Base costs cement book and from the calculation's own answer: the kind of job it names for the section and the slurry volume it sizes the column at. Until a live rig-time estimate is in, the bill shows a dash with the reason the hours give, even when the rig-time row shows a stored figure; when an input blocks the estimate, the line under the card says which section and why, as on the Cementing page; the section's Cost & time leaf prices the bill from that stored estimate.
| Row | What it is |
|---|---|
| Package | The resource package the job needs — Standard, Enhanced (a batch mixer), HPHT or Foam — with its S-tier label and the multiplier it puts on the job package, the two-stage addon included. It follows the operation, never the slurry class, and the first that applies wins: Foam at Y buys Foam, an HPHT section (the HPHT chip on the Section page) buys HPHT, Batch at Y buys Enhanced; otherwise Standard. A Batch left at ? counts as Y wherever the column carries a gas-control (C2) slurry. A special-system slurry is paid for in the material. |
| Job package | The lump sum for this kind of job, times the multiplier and the regional factor. |
| Volume addon | What slurry beyond twice the job's typical volume costs; hover for this column's volume against that threshold. Most columns pay nothing here. |
| Float equipment + centralizers | One set per string — the float shoe and collar with the centralizers — charged when Accessories is on. Hover the name for what a line covers, and a $0 for why it is not charged. |
| Liner hanger system | The hanger as an AFE line — hanger, packer, running tool and the service to set it — charged when Accessories is on and the job the estimate names is a liner; on a casing it reads $0 with that reason. |
| Evaluation log (CBL / USIT) | The cement evaluation log, charged while this section's Log is on — at its higher figure, and renamed by tractor / CT, when Log by tractor / CT is on too. |
| Contractor service | The total. |
Two switches above the rows are this page's own and go straight into the project:
- Accessories — float equipment with centralizers for the string, and the liner hanger system when the job is a liner; their two rows in the bill show each at its own figure.
- Log by tractor / CT — the evaluation log has to be delivered by tractor or coiled tubing, which prices it at its higher figure. It is greyed out until the section's Log switch is Y, because there is no log to deliver otherwise.
Both are off unless you turn them on; the Cementing page for the whole well does not show the bill, because there the column you are looking at may not be the project's yet.
Bit & Motor
Choose the drill bit and (optionally) a mud motor for this drilling run. The bit's geometry and wear feed the rate-of-penetration model; the Bit HSI feeds hydraulics only; and the motor contributes the RPM it adds at the bit plus the pressure it costs to turn it.
Bit selector
The bit inputs are always shown — there is no separate "add" or "remove" step. The top block has two dropdowns and the bit's price:
- Bit from catalog — pick a bit to populate it from a catalog item (sets the diameter and catalog identity). A catalog bit shows its OD / ID in inches as a note below; the bit diameter is independent of the section hole size, but it must physically fit. A catalog bit's diameter is the catalog's: typing a different Diameter below (or emptying it) removes the catalog link, so the note disappears and the bit counts as entered by hand. Pick it from the catalog again to restore the link.
- Bit type (PDC / Other) — choose PDC for a PDC drag bit or Other for any other bit. The ROP model only applies to PDC bits. With Other selected, the PDC bit design block below is disabled except Diameter, the ROP model is skipped for this run, and no ROP input-completeness check is performed (so the page shows no "missing data" status for ROP inputs). PDC is the default.
- Bit price
$/m / $/ft— what this bit costs per metre drilled. Written by the Bit Selector, which models it from the bit diameter and the rock and returns it for every bit type, so the field stays editable here whatever you choose above; a catalog bit picked here with no price yet is seeded from the Bit footage bracket of the Base costs tab times that group's Lithology factor K — one figure for the project, whatever the rock. The section's Cost & time leaf charges it on the section's length, one bit per section. The currency is always USD; only the denominator follows your display units.
Bit hydraulics
- Bit HSI
hp/in²— hydraulic horsepower per square inch delivered at the bit face (a fixed unit, not converted). Only the hydraulics calculation uses it, so it stays editable for any bit type; applying the Bit Selector fills it. Torque & drag, surge/swab, max POOH velocity and hole cleaning send 0 in its place and never wait for it. Once the run has a bit (a catalog pick, or any bit field set on this page), an empty Bit HSI blocks hydraulics only; with no bit data at all, hydraulics sends 0 too.
PDC bit design — geometry, wear, and calibration used by the ROP model (the whole block is disabled when Bit type is Other, except Diameter):
- Diameter
mm / in— bit outer diameter. Must be ≤ the section hole diameter. Editable for any bit. - Cutter count — number of PDC cutters (integer, dimensionless).
- Cutter diameter
mm / in— diameter of an individual cutter. - Blade count — number of PDC blades (a whole number, 1 or more). Written by the Bit Selector's Apply and printed in the report's Bit program; the ROP model does not read it.
- Side rake angle
°— cutter side-rake angle (0–90°, always degrees). - Back rake angle
°— cutter back-rake angle (0–90°, always degrees). - Cutter wear
mm / in— current PDC cutter wear state used by the ROP model. - Bit friction factor — dimensionless cutter-to-formation friction coefficient (0–1, default 0.2) used by the ROP model. Clearing it restores the default.
- ROP calibration coefficient — dimensionless calibration multiplier applied to the modelled ROP (default 1; raise or lower it to match observed penetration rates). Clearing it restores the default.
Motor
A mud motor is optional. A new project's section, and every section the Casing Scheme creates, starts with one installed; Add section copies the last section, so the new one has a motor only if that one has. Use Add motor / Remove motor to toggle it. Every calculation runs with or without one. A project saved before this page changed keeps whatever it had; nothing is added behind your back. The Drill String page shows a Motor chip that is green while one is installed and grey when it is not.
The motor is described by two figures rather than by a performance model, so you state what it delivers instead of deriving it:
- Downhole RPM
rpm— revolutions per minute the motor adds at the bit, on top of the rotary. The ROP model turns the bit at Surface RPM + Downhole RPM; sliding (rotary stopped) is therefore a valid case. Default 180. Clearing the field restores the default. - Pressure drop
bar / psi— pressure it costs to turn the motor. Added to the bottom of the drill string in the hydraulics calculation, so standpipe pressure rises by exactly this much while equivalent circulating density is unaffected. Default 50 bar. Clearing the field restores the default.
Adding a motor also seeds the BHA. The pressure drop is charged to the bottom segment of the drill string, so if that string has no BHA segment yet, Add motor appends the bit's recommended BHA as the bottom segment. Adjust its length there like any other segment. Nothing is appended when the string already has a BHA or when the bit was entered by hand rather than picked from the catalog.
Drilling Mud
Define the drilling fluid for this run. The mud is modelled as a Herschel–Bulkley fluid; its properties feed hydraulics, surge/swab, hole cleaning, and (via mud weight / buoyancy) torque & drag. The mud weight also feeds the ROP model: the column pressing on the rock at the bit makes it harder to drill. The cuttings block feeds hydraulics and hole cleaning.
Drilling mud
One block for the whole fluid: its identity and price on the first row, the fluid service and the cuttings price under them, the Herschel–Bulkley properties last.
- Mud system — the drilling-fluid system this run carries, chosen from the twelve catalog systems (C1–C12). The Mud Selector's Apply sets it for both runs; you can also pick one by hand here, which is the quickest way to record a system on a section you never ran the selector for. Of the calculations, only the Drilling page's friction-factor recommendation reads it, and that is blocked until every section's drilling run has one; the report's Mud program prints it. Re-picking the same system keeps the selector's variant suffix; choosing a different one replaces the label.
- Mud cost
$/m³ · $/bbl— the price of a unit volume of this fluid. It belongs to the section, not to the run, so both mud pages edit the one value; the Mud Selector's Apply fills it from the chosen candidate's preparation cost. The section's Cost & time leaf charges it on the new fluid the section needs, together with the mud-reuse flag. - Mud service tier and Mud service rate
$/day— the mud-engineering service this section is drilled with: M1 a mud engineer, M2 engineer plus solids control, Custom for a rate of your own, or None when the section carries no such service. Picking a tier fills the rate from the Mud service group of the Base costs tab — a price marked red there, zero or below, leaves the rate blank, and the Cost & time leaf names it as missing — and typing a rate switches the tier to Custom, so the two can never disagree about where the number came from. The Mud Selector's Apply picks the tier from the fluid system — the plain water-based systems C1–C3 take M1, every other system M2 — and fills its rate the same way, unless you set the service yourself: a custom rate or None stays as it is. A tier never set also reads None but is filled in, so pick None after Apply to keep a section without the service. Like the mud cost it belongs to the section: the Cost & time leaf charges it over the whole section's hours, the casing run included, and it is edited here rather than on the casing-run page so there is one place for it. - Cuttings disposal
$/m³ · $/bbl— what disposing of a cubic metre of drilled hole costs (drilling run only). Seeded from the Cuttings & dilution group of the Base costs tab; the Cost & time leaf charges it on the section's hole volume.
Mud weight & Herschel-Bulkley properties, under their own subheading:
- Mud weight
kg/m³ / ppg(required) — drilling-fluid density. Drives hydrostatic pressure and buoyancy. - Yield stress τy
Pa / lbf/100ft²(required) — Herschel–Bulkley yield stress — the shear stress that must be exceeded before the fluid flows. - Consistency index k
Pa·sⁿ(required) — Herschel–Bulkley consistency coefficient; a fixed unit, not converted. - Flow-behaviour index m (0 < m ≤ 1) (required) — Herschel–Bulkley flow (power-law) index, dimensionless.
Cuttings properties
For a drilling run only, this block supplies the solids properties used by hydraulics and hole cleaning:
- Concentration (0–1) — cuttings volume fraction in the annulus, dimensionless.
- Density
kg/m³ / ppg— cuttings (rock) density. - Diameter
mm / in— representative cuttings particle diameter. - Bed porosity (0–1) — porosity of a settled cuttings bed, dimensionless.
You rarely have to fill this block by hand: Bit Selector models the cuttings the chosen bit will make in this section's rock, and its Apply writes all four values here. Whatever you type afterwards stands until the next Apply overwrites it.
Drill String
Build the drilling run's tubular column as an ordered, surface-to-bottom list of segments. Each segment's mechanical and hydraulic properties come from the catalog picker; you enter only its installed length. The assembled string feeds torque & drag, hydraulics, surge/swab and max POOH velocity and hole cleaning; the section's Cost & time leaf reads it for the BHA make-up and lay-down and for the bottoms-up. Applying the Drilling page replaces the whole list, and Open-ended string takes that page's Open end box.
Adding and ordering segments
Use + Add segment to append a row, then choose a component Type and pick a catalog item:
- Drillpipe
- Heavy-weight DP
- Drill collar
- BHA
The picker lists bundled catalog items plus any custom components you have authored (shown first, tagged "Custom") — see Tubulars. A + Create custom tubular entry switches to the Tubulars page with the type locked; Accept there saves the component, applies it to this row and brings you back. Reorder rows with the ↑ / ↓ arrows and delete with ✕. Each row's summary shows the resolved OD · ID · linear weight, in your display units. The BHA must be the bottom (last) segment, and only one BHA is allowed — violations show a red warning. An Open-ended string toggle marks the string as open-ended for hydraulics.
- Type — Component family: Drillpipe, Heavy-weight DP, Drill collar, or BHA.
- Component — The catalog (or custom) item; selecting it loads the full OD/ID/weight/stiffness snapshot. Properties are read-only here — author your own on Tubulars. The picker label shows the pipe's material grade (e.g.
S-135) in place of the raw yield strength; an off-grade value (no standard grade) keeps the raw ksi. - Length
m / ft(required) — this segment's installed length as run; everything else comes from the component. The lengths must add up to more than the section's bottom MD (a longer string is fine): a string as long as the hole, or shorter, blocks torque & drag, hydraulics, surge/swab, max POOH velocity and hole cleaning, and the card says The string's total length must be greater than the section's bottom MD.
Motor chip
A Motor chip sits in the bottom-left corner of the card: green while a motor is installed on this run, grey when none is. It is a status light, not a switch — add or remove the motor on Bit & Motor.
It lives here because the motor's pressure drop is charged to this string's bottom segment in the hydraulics calculation, so the string you build and the motor you installed are one picture. Installing a motor also appends the bit's recommended BHA when the string has none.
Cross-section geometry guardrails
The string must fit inside the wellbore. These checks are blocking: each violation is listed in red at the top of the card (a tubular one names its segment), appears in the Errors tab, and stops the drilling run's calculations — the two hole checks stop the casing run's too. The section's Cost & time leaf is computed in the app, so these checks do not stop it.
- Every tubular OD — and its tool-joint OD where joints exist — must be strictly < the section hole diameter and strictly < the previous section's casing ID.
- Each section's hole must be strictly < the previous section's hole (telescoping well).
- Each section's hole must be strictly < the previous section's casing ID (the hole is drilled through that casing).
Comparisons are skipped where a diameter is absent (e.g. no previous casing selected, or a custom component with no diameter set). Warning messages quote the offending diameters in millimetres so you can see exactly which clearance failed. The same cross-section checks also run on the Casing String.
Drilling Parameters
The operating setpoints for the drilling run. This is the most calculation-heavy input page: its values feed ROP, hydraulics, surge/swab & max POOH velocity, hole cleaning and torque & drag, and the section's Cost & time leaf times the run from its ROP, trip speeds and circulation. The form is grouped into Mechanical, Friction factors, and Hydraulics blocks.
Mechanical
Operating loads consumed by torque & drag and the ROP model.
- Weight on bit
t / klbf— axial weight applied at the bit. - Slack-off overweight
t / klbf— the extra force applied at the bit while slacking off, relative to free hanging weight. Not an absolute hookload. - Pick-up overweight
t / klbf— the overpull applied at the bit while picking up. Not an absolute hookload. - Torque on bit
N·m / ft·lbf— torque applied at the bit (a T&D input; when Use ROP model is on it is instead computed by the ROP model). Shown rounded to one decimal; the full value is kept. - Surface RPM
rpm— rotary speed at surface. Feeds hole cleaning and torque & drag as it stands; the ROP model turns the bit at this speed plus the motor's Downhole RPM, so a stopped rotary is valid when a motor is installed. - ROP
m/h / ft/h— rate of penetration. Consumed by hole cleaning and the cost estimate (not torque & drag). On a drilling run it is normally driven by the ROP model — see Bit & Motor and the toggle beside it. Shown rounded to one decimal; the full value is kept. - Use ROP model — a checkbox sitting beside the ROP field: when enabled, the calculated ROP and bit torque from the ROP model are applied to this run's parameters (overriding the manually entered ROP / Torque on bit). It appears only on the drilling run and is on by default. Uncheck it to type ROP and Torque on bit by hand. Greyed out, with the hover Available for PDC bits only., when Bit type is Other — and also, with the hover Pick a bit on Bit & Motor first., while the run has no bit yet, as in a new project, although Bit & Motor already shows PDC: pick a catalog bit or fill in any bit field there to enable it. A project saved before the default became ON is repaired when it is opened, but only for sections where the box was greyed out and so could never have been unticked on purpose.
- While the model fills them, the ROP and Torque on bit labels show a small dot when the values are not the model's answer to your current inputs: grey while it recalculates (after a second), amber when an input it needs is missing, red with Retry when the request failed. Hover the dot for the reason; until then the fields keep the previous model values.
Friction factors
Borehole friction coefficients (dimensionless, 0–1) for the drilling run. These are per-run, so drilling and casing carry independent friction.
- Slack-off — friction coefficient for the slack-off (running-in) hookload.
- Pick-up — friction coefficient for the pick-up (pulling-out) hookload.
- Rotate — the rotational coefficient, the one the torque calculation runs on.
- Translate — the translation coefficient: axial movement while the string is turning.
The Drilling page proposes all four from the section's mud system, in an average and a conservative flavour, and applying it writes them here. Typing over them afterwards is fine — nothing re-reads the proposal.
Translate is the odd one: it is the tripping-while-rotating factor, and it belongs an order of magnitude below the other three (roughly 0.02–0.07 against 0.15–0.40). A new project, and every section the Casing Scheme creates, starts at 0.03 for it and 0.3 for the rest; Add section copies the last section's four factors.
Hydraulics
Circulation and tripping setpoints. Note that tripping (surge/swab) runs with no circulation — the flow rate is not used there.
- Flow rate
L/min / gpm(required) — circulation rate through the string. Feeds hydraulics, hole cleaning and the ROP model. - POOH velocity
m/s / ft/min— pull-out-of-hole tripping speed. Entered positive; the swab case sends it as negative. (The max-POOH-velocity method outputs a velocity — it does not consume this field.) - RIH velocity
m/s / ft/min— run-in-hole tripping speed (positive); used by the surge case. - POOH swab safety factor — drilling-run only (dimensionless, default 1.25 on a new project). Safety factor used by the maximum-POOH-velocity (swab-limited) method; the method needs it, so an empty field blocks that calculation.
- Circ off bottom — how long this run circulates without deepening the hole, at the end of it: a number plus a unit dropdown, hrs or BU (bottoms-up), starting at 2 BU. One bottom-up is the time the pumps need to move one annulus volume from the bit to surface — the annulus volume, taken on open-hole sizes all the way to surface (so it runs long in cased hole; see hydraulics), divided by the Flow rate above. Switching the unit reinterprets the number rather than converting it: 2 hrs and 2 BU are different durations. Clearing the field returns it to 2. It is not sent to any calculation; the section's Cost & time leaf charges it as Circulate off bottom.
- Critical cuttings bed — drilling-run only (dimensionless fraction, 0–1, default 0.2; clearing the field returns it to 0.2). The acceptable cuttings-bed level, drawn as a red dashed Critical bed limit line on the hole cleaning cuttings-bed chart.
Execution
The Execution page records real field measurements for a run and overlays them as markers on the matching broomstick charts, so you can compare what actually happened against the simulation. It appears under both the Drilling Run and the Casing Run. Every value is optional except MD — leave a cell blank if that reading was not taken. Points are kept in MD order (MD must increase down the table).
Each table sits in its own collapsible panel. Editing follows the survey-table pattern: type into a cell to commit it, use Add point (table footer) to append a row, Paste rows to paste tab-, semicolon- or comma-separated values from a spreadsheet, Clear to empty the whole table (measured points are optional, so nothing remains), the trash icon to delete a row, and Import / Export (CSV or JSON) to round-trip the whole table. Values are entered, pasted, imported, and exported in your active display units and stored canonically. A number you type or paste may use a decimal comma — 1,25 reads as 1.25, in any unit system; in pasted rows only when tabs or semicolons separate the columns. An imported file needs a decimal point: a comma inside a number is refused there. A CSV file has the column labels as its header row (optional on import) and the columns in table order — on import its cells may be separated by commas, semicolons or tabs, as in a paste; a JSON file holds a points list keyed md, slackOff, pickUp, rotate, torque (TnD Off Bottom) or md, flowRate, mw, spp, esd, ecd (Hydraulics).
TnD Off Bottom
Measured off-bottom hookloads and torque. These markers are drawn on the Torque & Drag broomstick charts in the matching simulated-series colour; hover a marker for its MD and what it measured.
- MD
m / ft— measured depth of the reading (required, strictly increasing). - Slack-Off
t / klbf— measured running-in hookload. Overlays the Run In curve on the Drag chart. - Pick-Up
t / klbf— measured pull-out hookload. Overlays the Pull Out curve on the Drag chart. - Rotate
t / klbf— measured rotating-off-bottom hookload. Overlays the Rotate curve on the Drag chart. - Torque
N·m / ft·lbf— measured surface torque. Overlays the Surface torque chart.
Hydraulics
Measured hydraulics readings (Drilling Run only — the casing run has no hydraulics chart to overlay).
- MD
m / ft— measured depth of the reading (required, strictly increasing). - Flow Rate
L/min / gpm— measured pump rate. Recorded for reference; not plotted. - MW
kg/m³ / ppg— measured mud weight. Recorded for reference; not plotted. - SPP
bar / psi— measured standpipe pressure. Overlays the SPP chart. - ESD
kg/m³ / ppg— measured equivalent static density. Overlays the ECD chart. - ECD
kg/m³ / ppg— measured equivalent circulating density. Overlays the ECD chart.
Casing String
Build the casing or liner string that is run into this section's hole. Casing Runs can propose the rest of the string — grade, weight, lengths and prices, at the size chosen on Casing Scheme or by picking a casing here — for every section at once; this page is where you check it and adjust one section by hand. Segments are selected from the bundled catalog (custom casings authored in Tubulars appear in the same picker, listed first and tagged "Custom"), and the string drives the casing-run torque & drag and surge/swab while running pipe.
Casing vs. liner
Two header toggles set how the string is interpreted:
- Liner — when on, the run is a liner hung on a drillpipe string: running pipe (drillpipe / HWDP / collars) on top, casing at the bottom, and no BHA. Each segment then gets a Type selector (Drillpipe, Heavy-weight DP, Drill collar, Casing). The form warns if casing is not kept at the bottom. The casing segments' total length is what sets where the liner hangs: the schematics and the Cementing page read the liner top as the shoe minus that length, so a longer casing overlaps further into the previous string.
- Open-ended string — marks the string as run open-ended (no float / closed shoe), which the surge/swab and T&D models account for.
The casing picker lists the full casing catalog. Each entry shows the casing material grade derived from its yield strength (J-55 or L-80 in the bundled catalog; a custom casing can carry another, such as P-110), added ahead of the weight.
Drillpipe sub-picker (casing T&D running loads)
On a liner string, the per-segment Type selector exposes the narrow drillpipe / HWDP / collar sub-picker used to build the running string above the casing; custom tubulars of those types appear there too, tagged "Custom". These segments supply the pipe that the casing-run torque & drag hangs the liner on.
Per-segment fields
Each row picks a catalog component (which fills its full SI snapshot) and you enter only the installed length. The live summary shows OD · ID · linear weight, in your display units.
- Component — The catalog item (casing, or — on a liner — drillpipe / HWDP / collar). Selecting an item copies its authoritative dimensions into the segment; a casing also sets the section's casing size.
- Length
m / ft— Installed length of this segment along the string, entered manually. The lengths must add up to more than the section's bottom MD, or the casing run's torque & drag and surge/swab are blocked. Segments stack top to bottom; use the ↑ / ↓ arrows to reorder and ✕ to remove. - Price
$/m— What this segment's steel costs per metre, so it reads on the same scale as the section's own casing cost and follows your display units ($/ftin field units). Casing Runs fills it in from the Casing & cement price book on the Project page, and you can overwrite it here with a quoted figure. Picking another component here keeps the segment's price, so type the new one. It is disabled on a liner's running pipe, which is rented rather than bought. The section's Cost & time leaf charges every casing segment at this price over its length.
Casing Mud
The drilling fluid in the hole while this section's casing string is run. These properties feed surge/swab (the pressure surge as the string displaces mud) and the casing-run torque & drag; together with Run Parameters they govern the running operation.
Casing-run mud
One block for the whole fluid: its identity and price on the first row, the Herschel–Bulkley properties under them.
- Mud system — the drilling-fluid system this run carries, chosen from the twelve catalog systems (C1–C12). The Mud Selector's Apply sets it for both runs; you can also pick one by hand here. No result depends on it — the Casing Runs friction estimate is geometric — and nothing waits for it. Re-picking the same system keeps the selector's variant suffix; choosing a different one replaces the label.
- Mud cost
$/m³ · $/bbl— the price of a unit volume of this fluid. It belongs to the section, not to the run, so both mud pages edit the one value; the Mud Selector's Apply fills it from the chosen candidate's preparation cost. The section's Cost & time leaf charges it on the new fluid the section needs, together with the mud-reuse flag.
Mud weight & Herschel-Bulkley properties, under their own subheading. The fluid is modelled as a Herschel–Bulkley (yield-power-law) mud — see hydraulics theory. Four properties (the same fields as the drilling mud, minus cuttings):
- Mud weight
kg/m³ / ppg— fluid density. Sets the hydrostatic head and buoyancy on the casing string. - Yield stress τy
Pa / lbf/100ft²— Herschel–Bulkley yield stress — the shear stress that must be exceeded before the fluid flows. - Consistency index k
Pa·sⁿ— Herschel–Bulkley consistency coefficient (a fixed unit, not converted). - Flow-behaviour index m (0 < m ≤ 1) — dimensionless power-law exponent (1 = Bingham-plastic behaviour, < 1 = shear-thinning).
Unlike the drilling-run mud page, the casing-run mud has no cuttings block — cuttings properties belong to the drilling run only.
Run Parameters
The operating loads and velocities for running this section's casing string. This is the casing variant of Run Parameters — the same form as Drilling Parameters, reduced to the fields a casing run actually uses. It drives the casing torque & drag and surge/swab while running pipe, and times the casing run on the section's Cost & time leaf.
Mechanical
Operating loads consumed by torque & drag.
- Slack-off overweight
t / klbf— the extra force applied at the bottom of the string while lowering (running in), relative to free hanging weight. Not an absolute hookload. - Pick-up overweight
t / klbf— the overpull applied while raising the string. Not an absolute hookload. - Surface RPM
rpm— rotational speed at surface. Zero unless the string is run rotating; Casing Runs sets it from its own Rotation checkbox.
Friction factors
Borehole friction coefficients (dimensionless, 0–1) for the casing run, independent of the drilling run's factors. Four directions: Slack-off, Pick-up, Rotate, and Translate. Casing Runs proposes all four from the geometry; the Drilling page proposes the drilling run's separately.
Hydraulics
The two velocities surge/swab reads while the string is run — the section's Cost & time leaf also times running the casing, and a liner's running string in and out, at them — plus the circulation this run does once it is on bottom. Casing Runs fills both velocities on Apply with the rig's trip speeds: a catalog rig's drawworks, or a manual rig's RIH / POOH velocity from its Rig page.
- Flow rate
L/min / gpm— the rate this casing run is circulated at before cementing. It is sent to no calculation — hydraulics and hole cleaning are drilling-run calculations by construction — but it is the denominator of the bottom-up below, so while Circ off bottom counts in BU it sets the casing run's circulation hours on the Cost & time leaf and in Well Cost. The Drilling page's Apply seeds it from the drilling run of the same section (the rig's pump limit is applied first, so the clamped rate is what arrives); Apply on Casing Runs deliberately leaves it alone, so typing over it here survives. - POOH velocity
m/s / ft/min— pull-out (tripping-out) speed; entered positive — swab sends it as a negative pipe velocity. - RIH velocity
m/s / ft/min— run-in speed; entered positive and used by the surge calculation as the string is lowered. - Circ off bottom — how long the hole is circulated before cementing: a number plus a unit dropdown, hrs or BU (bottoms-up), starting at 2 BU. One bottom-up is the annulus volume divided by the Flow rate above, computed with the casing in the hole rather than the drill string, on open-hole sizes all the way to surface (so it runs long in cased hole; see hydraulics). Switching the unit reinterprets the number rather than converting it; clearing the field returns it to 2. It is sent to no calculation; the section's Cost & time leaf charges it as Circulate before cementing.
Units
The Units page — the Units row in the sidebar footer, beside your account row — chooses how physical quantities are displayed throughout the app. It is presentation-only: every value in the project document is stored in one canonical unit — mostly SI, but force in tonne-force, mass in tonnes, ROP in m/h, dogleg severity in °/30 m, rotation speed in rpm, and temperatures in °C and °C per 100 m (as the calculation engines use them) — and the payloads sent to AIDE are never routed through the converter. Changing a unit just re-renders the numbers — there is no recompute and no backend round-trip.
The same rule applies everywhere in the app: each input field and result view shows its value in your chosen unit but commits it back to the canonical unit, so the unit you pick here is purely a lens over the underlying data.
Choosing units
The page is a two-column grid of quantities, each with a dropdown of its allowed units. Pick the unit you want for a quantity and the choice applies everywhere that quantity appears, across input forms and result views. Your per-quantity choices are saved on the project, so they travel with Export and are restored on Import.
You can set the following 19 quantities. Power — the pump, top-drive and installed power on the Rig page's Specs pane and in the report — has no picker of its own: it changes only with the Metric / Field presets (kW / hp). The registry also defines several future-only quantities (viscosity, pressure/torque gradients, strain) that have no fields in the app yet and so are not listed here.
| Quantity | Metric | Field | Other available units |
|---|---|---|---|
| Length / depth (MD, TVD, VS) | m | ft | — |
| Diameter (OD / ID / hole / bit) | mm | in | cm, m, ft |
| Pressure (loss, UCS, stress) | bar | psi | Pa, kPa, MPa, atm, kpsi |
| Yield point / shear stress | Pa | lbf/100ft² | dyn/cm² |
| Density / mud weight | kg/m³ | ppg | g/cm³, SG, lb/ft³ |
| Temperature (surface, bottom-hole) | °C | °F | K |
| Temperature gradient (geothermal) | °C/100 m | °F/100 ft | — |
| Force / weight (WOB, hookload, drag) | t | klbf | kgf, N, kN, MN, lbf |
| Mass (weighting agents, chemicals) | t | ton | kg, lb, klb, sk |
| Torque | N·m | ft·lbf | kN·m, kft·lbf |
| Linear (pipe) weight | kg/m | lb/ft | t/m, klb/ft |
| Flow / pump rate | L/min | gpm | L/s, m³/s, m³/min, bbl/min |
| Rotation speed | rpm | rpm | rev/s |
| Rate of penetration (ROP) | m/h | ft/h | m/min, ft/min |
| Tripping / POOH / RIH speed | m/s | ft/min | m/min, m/h, ft/s, ft/h |
| Dogleg severity | °/30 m | °/100 ft | °/10 m |
| Volume (tank / pit / mud) | m³ | bbl | L, gal US, ft³ |
| Cutter wear | mm | in | m |
| Hardness (Brinell) | Pa | HB | MPa, HBW |
A few quantities have notable choices:
- Force / weight is handled as tonne-force (
t): 1 t = 9.80665 kN = 2.204 klbf. Weight on bit, hookload and drag all share this quantity. - Mass is a separate quantity from force, used where something is bought by weight — the weighting-agent (barite, CaCO₃), formate-salt and casing-steel prices on the Project page's Base costs tab.
tonis the US short ton (2000 lb = 0.907 t) andskthe 100 lb sack. It is the metric tonne that matches force'st; the two are numerically equal but describe different things, so they are set independently. - Hardness can be shown in pressure units (Pa / MPa) or as a Brinell number (HB / HBW), where 1 HB = 9.80665 MPa.
- Temperature is stored in °C, the unit the calculation engines work in; 15 °C shows as 59 °F. The temperature gradient is a temperature difference per length, so it converts without the 32° offset: 3.0 °C/100 m is 1.646 °F/100 ft. If you set only the temperature, the gradient follows it (°F → °F/100 ft, °C or K → °C/100 m); pick a gradient unit to override that. Text the engines write themselves — a cementing note such as "BHST≈45 °C", the Mud Selector's reasons — stays metric.
- Unit prices follow the quantity in their denominator:
$/mbecomes$/ft,$/m³becomes$/bbl,$/tbecomes$/ton. The currency is always US dollars.
Presets and saving
The Display units section has two preset buttons at the top and a save button at the bottom:
- Metric — fills every quantity at once with a practical metric set (the Metric column above).
- Field — fills every quantity with the oilfield set (the Field column above).
- Set as Default — remembers the current selection as a per-browser default profile (stored in this browser's local storage only, never on the project). New projects, and any quantity a project has not explicitly overridden, inherit these units until you overwrite the profile or clear this site's stored data.
Settings template (export / import)
Below the unit pickers, the Settings template block saves the way you have set a project up as a standalone JSON file, to apply to other projects. The template holds six things:
- Display units — your per-quantity unit choices.
- Chart settings — per-chart fine-tuning: axis min/max, hidden series, and axis orientation.
- Results boards — each run's active chart family and which charts are shown.
- Custom tubular library — your authored tubular/casing components (the Tubulars page).
- Well context — the region, environmental class, temperature gradient, surface temperature and pressure-window source from the Project page (included only once you have set at least one of them). These describe the area you drill in rather than the individual well, so they are usually the same across every project in one region.
- Base costs and the Ops book — the price lists from the Project page's Base costs tab (the drilling fluid, the rig / directional / bit rate book and the casing / cement one) and the Ops book's operation times and trip speeds, each included only once you have changed one of its figures. Also an area-level thing: the same supply chain and the same contractors serve every well you drill there.
The well's own data is not part of a template, its geology included: the pressure profile and the lithology map stay on Geomech & Lithology (its tables have their own import and export), Section 1's start depth on Section Intervals and the ground elevation on the Project page.
Two buttons:
- Export — downloads a
…-settings-template.jsonfile with whatever of the six are present on the current project. - Import — applies a template file to the current project. Everything the template carries replaces the project's own except the custom tubulars, which are added to your existing library with fresh ids (so nothing collides and nothing you already have is removed), and the directional Day rate / Per metre choice, which stays the project's (only the switch on Base costs changes it, re-pricing the sections as it goes); what the template does not carry is left alone. The trajectory, the rig, the sections and the geology are never touched: a template saved by an earlier version may still hold a pressure profile or a lithology map, and Import skips them — its Settings template applied toast then says the geology was skipped. An invalid file is reported in a message under the buttons and nothing is changed.
The well context is replaced as one block: importing a template that names only a region also clears the environmental class, temperature gradient, surface temperature and window source, so the new region can never inherit the previous area's assumptions. A template saved before you set any context leaves the current project's context alone. Base costs and the Ops book work the same way — the template carries the complete list, and importing one replaces every figure rather than merging two lists.
Because chart settings and boards are keyed per section and run, they line up across projects that share the same section order (section 1 → section 1, and so on); settings for sections a project doesn't have are simply ignored.
Always-fixed quantities (not on this page)
Some values never change unit and so have no picker here:
- Inclination and azimuth (and the formation's friction angle) are always in degrees.
- Time cost is always $/h.
- Dimensionless indices — friction factors, the flow-behaviour index m, formation abrasiveness, cuttings concentration and porosity, and cuttings-bed fraction — have no unit at all.
Account
AIDE signs you in with an OAuth2 bearer token so the app can call the trajectory and calculation services. You must be signed in to use the app: until you are, a full-screen sign-in gate covers the workspace. Once you sign in (or create an account), the gate disappears and the workspace appears. The Account page itself then shows your session status and a Sign out button.
The sign-in gate
When you are not signed in, AIDE shows a centered card with two tabs. When there is something to say — the session ended, the account is deactivated or closed, your e-mail address was just confirmed, a reset link is on its way — a line above the tabs says it. About aide.lite under the card opens the site's front page.
Sign in
- Email — Your AIDE sign-in name (your email address).
- Password — Your AIDE password. It is held only in this form and is never stored or exported.
- Sign in — Requests a token and starts the session. The button is disabled until both fields are filled and shows Signing in… while the request is in flight. If sign-in fails, the reason from AIDE (for example, Incorrect email or password, or Too many attempts — try again later, which follows repeated wrong passwords or a great many sign-ins to one account within an hour) appears above the button. Wrong passwords to your account count from every network, so someone guessing it elsewhere can hold your sign-in up for a while too; the message then reads Too many failed sign-ins to this account — try again later or reset the password. Forgot password? is the way in: a password set by the e-mailed link lifts that hold. When the server is overloaded, the message is The service is busy — try again. If we have blocked the network you are connecting from, signing in, creating an account and requesting e-mail links all answer Access from your network is blocked. Contact [email protected].
- Forgot password? — Opens Reset your password: enter your e-mail address and press Send reset link. The answer is the same whether or not the address has an account (If an account exists for …, we've sent a reset link), so nobody can use the form to find out who is registered. See Resetting your password below.
Create account
All fields are required. The landing page's Try it — it’s free opens this tab directly.
- First name and Last name — Your name.
- Company and Job title — Where you work and your role.
- Country — Pick your country from the searchable drop-down (start typing to filter the list). A country must be chosen from the list; a few countries are not supported and show an error if selected.
- Email — Becomes your sign-in name. A basic format check (
[email protected]) catches typos. - Password (8+ characters) and Confirm password — The password for the new account: at least 8 characters of any kind (no digits or symbols are required), entered twice; the two must match.
- Terms of Service and Privacy Policy — You must tick I have read and agree to the Terms of Service and acknowledge the Privacy Policy before an account can be created. Click either link to open that document in a panel under the checkbox; Open in new tab ↗ beneath it shows the same page full-size (the public
/terms.htmland/privacy.html). Once you are signed in, both stay one click away as Terms and Privacy in the sidebar footer, next to Contact Us. - Create account — Registers the account and then signs you in automatically, dropping straight into the workspace, and sends a confirmation link to your e-mail address (see below). Your acceptance of the Terms is recorded together with the edition you were shown. If a field is left empty, the incomplete fields are highlighted in red and a single message above the button asks you to fill in all required fields (and to accept the Terms of Service). Once every field is filled, the message says what is still wrong — Enter a valid email address, The password needs at least 8 characters or The password and its confirmation do not match — and the field at fault is highlighted. If the account is created but cannot be signed in immediately, AIDE switches you to the Sign in tab with your email prefilled. If the email is already registered, the country is not supported, or too many accounts were created — or attempted — from your network, that is shown above the button.
Confirming your e-mail address
Right after you create an account, AIDE e-mails you a confirmation link. Until you open it, the calculations wait, and a banner across the top of the workspace says so — Confirm your e-mail address to run calculations — with Resend (a new link; it rests for a minute after each send, and a few links an hour are the most the server sends) and Open Account (see Calculation status). A Trial, if your account starts with one, begins when you confirm your e-mail address.
The link usually opens in a new tab, which has no session of its own: that tab shows the sign-in card with E-mail confirmed — sign in to continue (or, for a used or expired link, This confirmation link is invalid or has expired — sign in and press Resend). The tab you were already working in notices the confirmation the next time you return to it, and the banner goes away by itself.
Resetting your password
Forgot password? on the sign-in card sends a reset link to your e-mail address. The link is valid for an hour and works once; it opens AIDE on Choose a new password — enter the new password twice, in New password (8+ characters) and Confirm new password, and press Change password. A password that is too short or a confirmation that differs is named above the button, and its field is highlighted in red. Resetting ends every signed-in session of the account, in every browser, and counts your e-mail address as confirmed; the sign-in card then says Password changed — sign in with your new password. A used or expired link says This link is invalid or has expired and offers Request a new link. No session is needed for the reset page, so it works from any tab or device.
An account an administrator created for you arrives as an e-mail invitation (Your AIDE account is ready). Its link opens Set your password: tick I have read and agree to the Terms of Service and acknowledge the Privacy Policy (either link opens that document under the box), enter a password twice (at least 8 characters) and press Set password. That also confirms your e-mail address; then sign in. The link is valid for 72 hours and works once — if it has expired, ask the administrator for a new invitation. If you set the password with Forgot password? instead, you have not accepted the Terms yet: the calculations wait until you accept the Terms of Service, and a Terms of Service window asks for it when you sign in (see Accepting the Terms of Service below).
If an administrator changes the e-mail address you sign in with, the old address gets a message saying so, and the links sent to it before stop working. The new address gets a confirmation link: until you open it, the address counts as not confirmed.
The Account page (when signed in)
Opened from the account row in the sidebar footer — the person icon labelled Signed in, beside Units — this page shows your session, your profile, your subscription, a change-password form and, at the bottom, Close account.
Session & profile. A status line with a green dot reads Session authenticated, with the time the session expires when known. Below it your profile is shown read-only — Name, Email, Company, Job title and Country — fetched from the server. Beside the e-mail address it says whether the address is confirmed (Confirmed, or Not confirmed with Resend); Terms names the edition of the Terms of Service you accepted and when; Last sign-in is the time of your latest sign-in, in UTC. Profile details can't be edited here (the server offers no self-service profile update — ask an administrator to change them); if the profile can't be loaded, the page falls back to the account name from the session token.
Subscription. Your plan and one status line: Starts when you confirm your e-mail (a new account's Trial has not begun yet), Trial ends … or Trial ended …, Renews on …, Ends on … (automatic renewal is off), Payment failed — update your card, Payment not completed, Paid term until … (extra days added to your paid term by us), Until … or No end date (a plan we set for you), or Ended on …. When the calculations are refused because there is no active subscription, a Limited Mode badge says so: you can still view, load and export your projects, but calculations wait until you subscribe.
- Subscribe monthly / Subscribe yearly — shown while you have no active subscription. Opens the checkout page of our payment provider (Stripe) in this tab, where you see the full price with taxes before paying. Subscribing during the Trial ends it: the paid term starts on the day you pay. Monthly is charged at the early price while it is still available; that checkout page stays open for an hour — after that, press Subscribe monthly again. The project must be saved first: while it holds a value that cannot be saved, the buttons wait and the line below them says why. If a subscription is already running — for example the one you have just paid for has not shown here yet — no second checkout opens and the line says You already have a subscription — manage it in the billing portal.
- Manage billing — shown once you have been to checkout. Opens the provider's billing page: update your card, see your invoices, turn automatic renewal off, or switch between Monthly and Yearly — a switch to Yearly takes effect at once, with the unused part of the month credited on the yearly invoice; a switch to Monthly when the annual term ends. Switching ends the early price.
- See pricing — the Pricing Page (plans, prices, the early price — which is not raised while you keep it — and the Trial) in a new tab.
After paying you come back to AIDE, and a banner says Payment received — activating your subscription… until the subscription shows here — usually within seconds; if it takes longer, the banner asks you to reload in a minute. Leaving the checkout page without paying brings you back with Checkout cancelled. The reminder e-mail before an annual renewal links to AIDE's billing: after you sign in, it takes you straight to the billing page. In Limited Mode the banner across the top of the workspace says why and offers Subscribe, which opens this page.
Change password. The only self-service credential action. Enter your Current password, a New password, and Confirm new password, then press Change password:
- The new password must be at least 8 characters long (the field reads New password (8+ characters)) and different from the current one, and Confirm new password must repeat it. Invalid fields are highlighted in red, and a single message above the button names the first problem — for example The new password and its confirmation do not match.
- On success a Password changed toast appears and the fields clear. The change ends every other session of your account (other tabs and browsers must sign in again); this one carries on with a fresh token. If the current password is wrong, the message says The current password is incorrect and Current password is highlighted. A forgotten password is reset from the sign-in card instead — see Resetting your password above.
- Five wrong passwords within 15 minutes — here and in Close account together — sign out every session of your account, so a session left open on someone else's screen cannot be used to guess the password. The sign-in card then says Signed out after five wrong passwords — sign in again.
Sign out. Clears the session token; signing out immediately returns you to the sign-in gate.
Close account. Closes your account for good (Section 13.2 of the Terms). Enter your Password and press Close account: every session of the account ends, in every browser, and an active subscription is cancelled at once — the unused part of a Paid Term is not refunded, except under Section 13.6 of the Terms. Your account data are deleted 30 days after closing, and you will no longer be able to sign in, so export your projects first (they stay in this browser until you delete them, but the app needs a signed-in account to open). The sign-in card then says Your account is closed. Its data will be deleted in 30 days. A wrong password is said under the field and nothing is closed; the fifth wrong one within 15 minutes signs you out everywhere, as under Change password. Every subscription that could still charge you is cancelled before the account closes: if our payment provider cannot do it at that moment, nothing is closed either and the message says Could not cancel your subscription — try again later. The e-mail address is free again at once, so you can create a new account with it later. A Trial is available once per person (Section 10.4 of the Terms): a new account created with the address within 30 days of closing starts without a Trial, and without the early price if the closed account had it. A deactivated account is closed by support: write to [email protected].
Accepting the Terms of Service
While your account has an edition of the Terms of Service to accept, a window opens over the workspace with the Terms inside it. Its title says which case it is:
- Terms of Service — your account has never accepted any edition (for example an invited account whose password was set with Forgot password?, above). The calculations wait until you accept; you can still view and export your projects. The window offers I accept and Don't agree? You can close your account., which takes you to Close account on the Account page; there is no Not now. You can still close the window with ✕ or Esc: the banner across the top of the workspace keeps a Review Terms button that opens it again, and it returns every time you sign in.
- Updated Terms of Service — we have published a new edition that needs your acceptance. The window names the edition's date, the day it applies to your account and the last day to accept it. Not now closes it until you next sign in; the calculations carry on meanwhile. Don't agree? You can close your account. takes you to Close account on the Account page (what happens to a Paid Term then is Section 14.2 of the Terms).
- After the last day to accept, calculations wait until you accept: you can still view and export your projects. The window then offers I accept and Close account; you can still close it with ✕ or Esc, and the banner across the top of the workspace keeps a Review Terms button that opens it again. It also returns every time you sign in.
In either window, I accept records your acceptance of the edition you have just read (a Terms accepted message confirms it) and closes the window for good. If the window asks you to Reload the page instead, this browser holds an older copy of the app than the Terms it must show; reloading brings the current one.
Always-visible login indicator
You don't have to open this page to check your session. The account row in the sidebar footer — the person icon beside Units — reads Signed in, and hovering it shows when the session expires. The expiry is read from the session token itself: the moment it lapses — before any request fails — the sign-in gate returns with Session expired — sign in again, and the same line says when the session was ended by the server or the account is deactivated or closed. Your project is autosaved, so nothing is lost.
Reading results
The workspace is split into two panes: the input pane (top), where you edit the project, and the results pane (bottom), where calculation output appears. A draggable splitter between them resizes the split. Most calculations run automatically as you edit — the results pane stays live — while the two explicit trajectory jobs, the concept generator and the cost optimization, update it only after you start one (see Calculation status & errors).
The results pane appears only on Rig, the trajectory pages (Targets, Trajectory, Auto Design, Cost Model), Well Cost, a section's Cost & time and every page of its Drilling Run and Casing Run. Every other page fills the window: it builds inputs, or shows its output on its own cards or view.
The two tabs
The results pane header has two tabs:
- Results — the calculated output for the current page (chart or table).
- Errors — readiness and validation issues, each shown as a field path plus a message, mapped back to the inputs that need attention. A badge shows the issue count. A request that failed has a Retry on its line; when several failed (for example while the server restarted), Retry all above the list sends them all again.
When there is nothing to show, each tab displays a short empty-state message.
Results board (per run)
On every page of a section's Drilling Run or Casing Run, Execution included, the results pane is a board you compose yourself:
- Family tabs in the header — Torque-n-Drag, Hydraulics, Surge-Swab, Hole Cleaning, ROP — pick the calculation family. Only the families a run computes are shown (a Casing Run shows just Torque-n-Drag and Surge-Swab).
- Chart toggles below the header turn individual charts on and off (for example, under Torque-n-Drag: Drag, Torque, Drag (snapshot), Torque (snapshot), Side forces). Click to add a chart; click again to remove it.
- Up to three charts can be shown at once per family. The grid arranges them by orientation: MD-down (portrait) charts tile as columns; swapped (MD-horizontal) charts stack as rows; mixed selections combine the two. Each chart is fully interactive (see Interactive charts below).
- ROP has no chart — its tab shows the ROP result table.
- The header Charts / Table toggle also applies to the board: switch to Table to read the visible charts as numeric tables (one table per chart, MD plus a column per series) instead of plots.
The chosen tab and chart set are saved with the project, per section and run.
Every page of the run shows this same board; there is no separate per-calculation view.
Trajectory result views
On the trajectory pages (Targets, Trajectory, Auto Design, and the Cost Model) the results-pane header shows a row of view tabs to the right of the Charts / Table toggle. Exactly one is active at a time:
- Actual traj — the active trajectory (the survey you edit on the Trajectory page), as a chart or table, with the target plan's targets marked.
- Designed traj — the last generated trajectory. It follows the transport objective: with Trajectory-dependent cost selected it shows the cost-optimization result, otherwise the concept result, which Draft trajectory on Targets produces too; on Targets it is always the concept result. The design targets (on Targets, the plan's) are drawn on its charts as red diamond markers labelled T1 (transport) and T2… (production).
- Design QC — the solver's constraint QC tiles for that designed trajectory. The tab itself is colour-coded: green when every constraint passed, red when at least one failed, grey when there is no QC data.
- Cost report — the per-section cost table returned by the cost-optimization job. It prices the trajectory, not the well: only the charges a longer or shorter path changes are in it, so its total, headlined Trajectory-dependent cost, is lower than Well Cost by every flat charge — see Cost Model.
- Casing T&D — the casing running check returned by the cost-optimization job when Ensure running of casing is on in the Cost Model. A toggle chip per section chart (Sec 1 / Drag, Sec 2 / Drag, … — a Torque chip appears only when the job returns rotating-run torque curves) selects up to three visible weight-vs-MD charts, laid out like the section results boards and scaling with the pane. Each chart overlays the running tension against the helical-buckling and yield (60/80/100 %) limits.
Tabs without data are disabled (greyed) until the matching result exists. The Charts / Table toggle stays in place on these pages and applies to the two trajectory views; it is disabled (not hidden) on Design QC / Cost report / Casing T&D and while the active view has no data, so the header never jumps. Opening Auto Design or the Cost Model pre-selects Designed traj (falling back to Actual traj until a generation finishes); opening Targets or Trajectory pre-selects Actual traj; a generation that finishes switches to Designed traj.
Charts vs Table
For chart-capable results, a Charts / Table toggle in the header switches the active result between a plot and a numeric table. Where there is nothing to plot it stays in place, greyed out — on a run's ROP tab, which is a table only, and on the trajectory views without a chart (above). The Rig page and the cost pages show their own view tabs there instead (Specs / Equipments, Time–depth / Shares).
- Charts plot the quantity against measured depth (MD), using minimum-curvature interpolation for the trajectory. Values follow your active display units.
- Table lists the same data as numeric rows.
Interactive charts
The value-versus-MD charts (Torque & Drag, hydraulics, surge/swab, allowable velocity, hole cleaning) are interactive. The trajectory plan/vertical views are not, beyond a hover: point at a station marker for its number and position, or at a target diamond for its name and position.
Most of these charts put MD on the vertical axis, increasing downward (the well-log convention — depth runs down the page) and the value on the horizontal axis; the allowable-POOH-velocity, cuttings-bed and critical-velocity charts start in the classic layout, MD along the horizontal axis. You can flip any chart between the two (see Chart settings below).
- Zoom (brush) — drag a rectangle across a chart to zoom into that region.
- Chart settings (gear) — the gear button opens a small panel with a Swap axes checkbox (switches that chart to the classic MD-horizontal layout), a Legend placement switch (On plot — a compact card in the top-right corner of the plot, the default — / Bottom — below the chart — / Off), and a min/max editor for each axis. Type a bound to pin it; leave a box blank for automatic — the placeholder shows the current automatic value.
- Hide a line or markers — click a legend entry to hide or show that line or marker group (e.g. measured points); the shaded Mud window band always stays. Hidden items drop out of the auto-scaling so the rest fills the chart. Hover a measured point for its MD and what it measured.
- Limit lines — some charts overlay equipment and pipe limits as reference lines or dashed curves: the Torque & Drag rig load/torque limits, buckling and yield/critical-torque lines, and the Lubinski side-force limit; the hydraulics Max pressure line; the entered-velocity line on the max-POOH chart; and the Critical bed line in hole cleaning. All of these are toggleable from the legend like any other line or curve.
- Depth marks — grey dashed lines with small labels mark the previous casing shoe and the section TD on the depth axis; snapshot charts also mark the bit depth.
- Pipe/Joint switch — the drag snapshot chart has a YP pipe / YP joint mode switch in its header that picks which tension-limit family is drawn; the choice persists per chart like the other chart settings.
- Reset view — appears once you have changed a chart; it clears your zoom, pinned axes, hidden items, legend placement, axis swap and the YP pipe / YP joint choice back to the default view. (The drag charts default their load-axis minimum to −20 t, and the allowable-POOH-velocity chart defaults its velocity axis to 0 … 1.2 × the highest value drawn — a brush zoom or a pinned axis overrides either.)
These adjustments are saved with the project — they survive reload and travel with an export — and are remembered per chart. Because they are stored independently of the unit you are viewing, switching display units keeps the same zoom region.
Live, stale, and paused results
Each result carries a status: it can be current, recalculating, stale (the inputs changed and a refresh is pending or failed — the last good result stays visible), or paused (your account's access to the calculations is refused — the banner says why). Stale results are kept on screen rather than blanked.
On the board, a chart or table that is not the current answer says so with a small chip in its header, and the drawn result fades until the new one arrives:
- Calculating — the new result is on its way. The chip appears only when this takes longer than a second, so an ordinary edit does not flash.
- Waiting — the calculation needs the trajectory's TVD and the survey was just edited; it runs as soon as the new station geometry arrives.
- Needs input — the inputs block the calculation; hover the chip for the reason (the Errors tab lists all of them).
- Failed — the request failed (for example, no answer within 90 seconds, or the server was restarting); hover for the message and press Retry beside it.
- Paused — calculations are paused for your account (see the banner).
A chart that has never been calculated says the same in place of the chart. The ROP tab's table carries the same chip; the ROP and Torque on bit fields on Drilling Parameters carry a small coloured dot beside their labels instead while the ROP model fills them (hover it for the reason; after a failure it becomes Retry).
Sensitivity Analysis
The Sensitivity panel lets you sweep a single input with a slider and watch the result charts respond live. It is a slide-out drawer docked to the right edge of the input pane — tucked to a tab by default, it slides out while you drag a field onto it, after a drop, or when you click the tab. It never covers the results. The drawer appears only on a section page or one of its sub-nodes (where the sensitizable inputs live) — all but the section's Cementing page; it is hidden on project-level pages such as Trajectory, Auto Design, Rig, and the Summary pages.
Adding a slider
Sensitizable inputs show a small green drag handle (grip) at the right end of the field when you hover it. Drag the grip onto the drawer to add a slider for that field; the drawer slides out and the new card is selected. No slider is created for an empty field, and a field can carry only one slider.
The grip is available on the main operating inputs — Drilling/Casing Run Parameters (loads, RPM, friction factors, flow rate, velocities…), Mud (mud weight, yield stress, k, m), drill- and casing-string segment lengths, and the Section hole diameter and snapshot depths.
Section-scoped, up to five
A slider only affects its own section's results, so the drawer shows just the active section's sliders, and the cap is five sliders per section. Switching section shows that section's set; sliders for other sections stay live and reappear when you return. A slider auto-detaches if its section or segment is deleted.
The card
Each card shows the variable name and unit running vertically beside the slider, the slider itself, and the current value. Drag the slider to change the value — the document updates, the scheduler recalculates (after the usual short debounce), and the chart re-renders.
- Click a card to select it; only the selected card shows its Minimum / Maximum inputs (these honour your active display units).
- Default range: friction factors seed baseline ±0.1 (clamped to 0–1); hole diameter seeds ±10 % (and is further clamped to the geometry guardrail); everything else seeds baseline ±50 % (never negative). Edit the min/max to widen or narrow the sweep. A slide never writes a value the field cannot hold — a mud weight of zero, say, or a flow index above 1: past such a bound the slider stops changing the field.
- A blocked chip appears on a hole-diameter slider when a geometry guardrail is blocking that section's calculations.
Resetting and clearing
The baseline (the field's value when you dropped it) is captured per slider:
- Per card (selected card): ↺ Reset restores that field to its baseline; ✕ Remove deletes the slider (keeping the explored value).
- Whole section (buttons on the drawer tab): ↺ restores every slider in this section to its baseline and keeps the sliders; ✕ clears this section's sliders and keeps the explored values.
Calculation status & errors
This topic explains how the app runs calculations, the status each one can be in, and where problems are surfaced.
Automatic vs explicit
Most engineering calculations run automatically: whenever you make a valid change, the affected analyses recompute after a short debounce (about half a second). Duplicate work is skipped by hashing the request payload, a few calculations run concurrently at most, and a failed automatic request is not silently retried (the previous result is kept, and Retry sends it again).
When many calculations wait at once — after you sign in, load a project, or while the server is slow just after a restart — the ones you are looking at go first: the trajectory geometry, then the page on screen (its ROP model first), then everything else. A calculation may take up to 90 seconds before it counts as failed.
The well-level design pages — Bit Selector, Mud Selector, Drilling, Casing Runs and Cementing — calculate automatically too, but only once you have opened the page in this session (a section's Cementing page also starts the cementing requests). Their state shows on their own cards, with Retry after a failure — never in the Errors tab or the sidebar dots.
Two long-running asynchronous trajectory jobs are explicit — you start them with a button and only one task runs at a time:
- Concept — the trajectory generator: Generate trajectory on Auto Design while the transport objective is Trajectory length, and Draft trajectory on Targets.
- Cost optimization — Generate trajectory on Auto Design while the objective is Trajectory-dependent cost, and on the Cost Model, which opens only under that objective.
Beside the button, Cancel stops the run in flight, and a status line names the job and reports its progress — queued (waiting for a free place on the server), running, reconnecting when the connection drops (the job goes on, and the page keeps asking until the answer comes), then complete, failed or canceled. Closing or reloading the browser tab (or following a link out of the app), opening another project (New, Import, Test) or signing out cancels the job — moving between the app's pages does not; a job queued for 30 minutes is reported lost (the server may have restarted). Details: Auto Design.
Result status
A calculation result can be in one of these states (shown on per-page status chips and the result view):
- Needs input — required inputs are missing or a readiness check fails, so the calculation has not run.
- Calculating — the request is debouncing or in flight.
- Waiting — the request needs the trajectory's TVD, and the survey was just edited: it waits for the new station geometry (a moment) instead of using depths from the old survey. Not an error, nothing to do.
- Current — the result matches the current inputs.
- Stale — inputs changed since the result was computed (or a refresh failed); the last good result stays on screen rather than being blanked.
- Failed — the request failed; an error message is shown with a Retry action.
- Not applicable — the engine answered that the case lies outside the model, so there is nothing to compute. It is shown as a plain note without a Retry action (the same inputs always give the same answer) and it is not listed in the Errors tab. Today the only such case is the turbulent-regime verdict of max POOH velocity.
- Paused — calculation is waiting on your account's access to the calculations (for example an e-mail address not yet confirmed, an ended trial, Terms of Service your account has never accepted, or updated Terms not accepted by their last day). The reason is given once, in a banner across the top of the workspace, with Open Account — Subscribe instead when the trial or subscription has ended, Review Terms when the Terms wait for your acceptance (see Account), and no button when the network you are connecting from is blocked, since the banner's own words say whom to contact; the cards say Paused instead of Calculating. When the reason is gone the calculations resume by themselves, and a result that had already finished is shown again without being re-sent. (When your session ends, the sign-in card covers the app instead — see Sign-in and recovery below.)
Stale results are deliberately retained so you always have the last good answer while a new one is computed.
Where status appears
- Per-page status chips — e.g. the trajectory geometry chip (current / calculating / stale / paused / failed), with Open Account or Retry geometry actions where relevant. On a run's results board every chart and the ROP table carry a small chip — Calculating, Waiting, Needs input, Failed (with Retry) or Paused — over the faded last result; see Reading results.
- Sidebar dots — each data-bearing page shows a dot: green (complete and valid), amber (missing data), red (invalid — e.g. a tubular larger than the hole, or a schema problem). Container nodes roll up their children: a section header, its Drilling Run / Casing Run branches, the Trajectory branch, and Auto Design (dotted only while the transport objective is Trajectory-dependent cost) show the worst status among their leaves (any red → red; else any amber → amber; else green), so an incomplete section is visible even while collapsed. A calculation request that failed turns its Drilling Run / Casing Run branch red (and so the section header), even while you work in another section; a failed trajectory geometry request turns the Trajectory leaf red, and the Trajectory branch with it. The Trajectory leaf otherwise shows its own survey status only. Nodes without a readiness signal carry no dot: the Well Construction, Drill Ops, Casing & Cementing and Summary branches and their pages, a section's Cost & time leaf, the Execution leaves and Tubulars (Well Cost and Cost & time name what they are missing on the page itself).
- The Errors tab (results pane) — lists readiness and validation issues as a field path plus a message, with a count badge; a failed request's line has Retry, and when several failed, Retry all sends them all again. See Reading results.
Sign-in and recovery
- Calculations run only while you are signed in to AIDE, your account may run calculations, and the project is loaded. An unauthorized response signs you out, and the sign-in screen says why (for example Your session ended or a deactivated account). A refusal because of your account's access — or because the network you are connecting from is blocked — does not sign you out: every calculation and trajectory job pauses with that one reason — in the banner, as a single line in the Errors tab, and above the trajectory job buttons — and nothing is sent until it is resolved; see Account.
- While a field holds a value outside its allowed range (the save indicator says Not saved), calculations wait: the results stay those of the last valid values, nothing is sent with the invalid one, and the trajectory jobs cannot start — the reason shows above their buttons.
- If a stored project cannot be opened as it is, the app offers to Recover it (listing the changes first — see Getting started). Cancel leaves it in recovery, which pauses both autosave and calculation until you start a New project, import a file, or load the Test project.
Trajectory planning & well cost
Auto Design turns geological intent into a drillable, cost-aware wellbore. You supply a base path, the targets you must hit, and the engineering limits the well must respect; the planner searches for a complete trajectory that reaches the targets inside your inclination, dogleg and ESP constraints — optimized toward the shortest path, or the lowest trajectory-dependent cost.
It is a reduced (truncated) version of AIDE's proprietary trajectory-design technology (there are no public papers on the method). It aims for a trajectory that satisfies every constraint (interval inclination/DLS limits, ESP placement, passing through the targets) while optimizing — sub-optimally, as a trimmed solver — for length or cost. It does not guarantee one: when the constraints contradict each other, the returned path always breaks at least one of them, and because the search is stochastic, a consistent set can, rarely, return such a path too. Design QC shows the verdict constraint by constraint, and a path that fails one can still be accepted, deliberately.
In this app the planner runs from the Auto Design page and its Cost Model sub-node (the Targets page's Draft trajectory runs the same concept job), which generate and accept a path as an explicit, button-triggered job — one such job runs at a time. Pricing the path you accepted is no longer a job: Well Cost sums the sections' own cost model live.
What the planner optimizes
You describe the design space — base path, targets, limits — and the solver searches it for a feasible route that is actually drillable and, with Ensure running of casing on, runnable for casing.
- Base trajectory
m / ft— the part of the path that already exists or that you want to lock (surveyed MD/INC/AZ stations); the planner builds forward from here. INC/AZ are always degrees. - Targets
m / ft— a transport/landing target (position plus required INC/AZdeg) and any number of production targets to thread (NS / EW / TVD, with a production vertical tolerance). - Constraints — per-TVD-interval inclination windows (
deg), an optional ESP-setting window, and dogleg-severity ceilings (°/30 m / °/100 ft) for the transport and production sections. - Optimization objective — per section: the transport section minimizes trajectory length or the trajectory-dependent cost (the part of the well's cost a longer or shorter path changes — not the well's total); the production section minimizes length or tortuosity (a smoother path).
Generate and accept a trajectory
Press Generate trajectory to start the job; Cancel stops it while it waits or runs. When it finishes the result appears for review without changing your project: the planned path under the Designed traj tab (charts or a station table) and, under Design QC, one pass/fail tile per solver constraint, so you can see whether every limit was honoured.
The proposed path stays inert until you press Accept as active, which copies its stations into the project as the live trajectory used by every downstream calculation. If any QC constraint failed, the accept button turns red, so you accept such a path deliberately. (Some solver inputs are fixed on mount — see Auto Design.)
Costing the active trajectory
Pricing the well is the section time/cost model: each section's Cost & time leaf follows the rig through the section — the drilling run with its trips, drilling and connections, the logging run, the casing run, the cementing hours, the wellhead work and an NPT allowance — and charges the hours at the rig's day rate beside the section's own prices for the bit, the mud and cuttings, the casing, the cement and the services. Well Cost sums the sections.
The cost-optimizing job above uses a simpler model of its own — quantity × unit price per category (drilling and casing per metre, cement, cuttings and mud per cubic metre, and rig time as hours — the section length over the Effective ROP — at the time price per hour). Copying the Cost Model from the project recasts the section figures into it, carrying only the part a longer or shorter trajectory changes: flat time and per-job charges stay behind, so its report's total — headlined Trajectory-dependent cost — is deliberately lower than the well total, and the two are not the same calculation.
Torque & Drag
Torque & Drag (T&D) predicts the mechanical loads carried by the drill or casing string as it moves and rotates inside the well: the hookload (axial tension or compression) and the surface torque needed to turn the pipe, computed continuously along the string for each tripping and rotating operation.
The model
The calculation uses the classic soft-string model of Johancsik, Friesen & Dawson (SPE 11380, 1984). The string is treated as a flexible cable that follows the wellbore, divided into short elements, and the loads are built up stepwise from the bit to surface. Torque and drag are taken to be caused by sliding friction: at each element the normal (side) contact force comes from the buoyed weight of the pipe and from tension acting through the wellbore's curvature (doglegs); multiplying that side force by a friction factor gives the drag force opposing axial motion and the moment opposing rotation. Summing the increments gives the load profile. (Typical waterbase-mud friction coefficients are about 0.25–0.40.)
Buckling
A separate buckling calculation uses the curvature-aware model of He & Kyllingstad (SPE 25370, 1995). As compression builds in the lower string the pipe first buckles into a sinusoidal wave and then, at higher load, into a helix; helical buckling raises wall contact sharply and can lead to lock-up (weight stops transferring to the bit) or pipe yield. Unlike the simpler textbook formulas, this model accounts for well curvature, which substantially changes the critical load. The Drag (snapshot) chart draws these limits as overlay curves — sinusoidal = yellow dashed, helical = red — drawn on the compression (negative) side of the axis (buckling only happens under compression), so you can see where the compressive load approaches them.
Trajectory and friction factor
Because side force is generated by curvature and inclination, the well trajectory drives the entire result — higher dogleg severity and longer deviated tangents mean more wall contact and steeper drag and torque buildup.
The friction factor is the single most influential tuning input. In this app friction factors are per run, so the drilling run and the casing run each carry their own set (and each operation — slack-off, pick-up, rotate, translate — has its own coefficient): open-hole drilling friction and cased-hole running friction are modelled independently.
Operating modes and how to read the chart
Drag depends on which way the pipe moves and whether it rotates, so T&D evaluates several operations. The app exposes two method styles:
- Broomstick — a sweep across the interval, presented as a driller's view. Every drag curve shows the hookload — the simulated drag plus the rig's travelling-block weight (from the Rig page) — so the curves compare directly with the driller's weight-indicator readings and the measured off-bottom overlay. (If no block weight is set, the curves show the raw drag.) The broomstick is also computed off-bottom: weight on bit and torque on bit are sent as zero, so the rotating curve is the off-bottom rotating weight, not a drilling value. Charts plot Hookload (Run In, Rotate, Pull Out) and Surface torque versus MD as continuous lines.
- Snapshot — at a single bit depth, using the entered weight and torque on bit. It reports, per operation (Run In, Pull Out, Slide, Rotate, Ream Up), the drag and side force vs MD and the torque (for Rotate and Ream Up), plus the buckling (sin) and buckling (hel) limit columns.
On every chart one axis is measured depth and each curve is one operation; the drilling and casing runs are charted separately (different strings and friction). Read the spread between Run In and Pull Out as the operating margin.
The friction-factor fan
Because the friction factor is the dominant uncertainty, the app runs the broomstick three times — once at the entered friction factors and once each at −50 % and +50 % of them — and fans the results on the chart. On the Drag chart the fan applies to Run In and Pull Out only, drawn as dashed curves in the same colour as the base curve; the Rotate curve stays a single line, because the rotating weight is nearly friction-independent. The Torque broomstick shows all three torque curves. Each fan shares one legend entry that spells out the drawn friction factors — e.g. "Pull Out (FF: 0.10/0.20/0.30)" (Run In lists the slack-off factor, Pull Out the pick-up factor, and the Torque broomstick the rotate factor) — and clicking it hides or shows the base curve together with its ±50 % fan. A wide fan means the prediction is friction-sensitive — calibrate against measured loads before trusting it.
Limit lines on the charts
The charts overlay the relevant equipment and pipe limits so you can read each load against what it must not exceed:
- Broomstick drag — reference lines for the rig Load capacity (maximum hookload) and Block weight, taken from the Rig page.
- Broomstick torque — a reference line for the rig Max torque.
- Drag (snapshot) — the buckling limits (sinusoidal = yellow dashed, helical = red) on the compression (negative) side, plus a family of tension-limit lines at 60 % (yellow), 80 % (orange) and 100 % (red) of the string's strength. A YP pipe / YP joint switch at the top of the chart picks which limit family is drawn — YP pipe uses each tubular's body strength (cross-sectional area × yield point), YP joint uses the tool-joint/connection tensile rating (joint strength; see Tubulars). One family shows at a time, with the same yellow/orange/red level colours; the choice is saved per chart. The lines follow the string from the bit up to the surface (MD 0), so each tubular's limit applies over its own depth interval and a value is shown at every depth point in the table. Joint-yield lines draw only where a non-zero joint strength is set (the catalogs carry real values for every tubular type).
- Torque (snapshot) — a Critical torque step line of each tubular's make-up/body torque limit, again stepped along the string.
- Side forces (snapshot) — the contact force per tool joint: the model's distributed side force multiplied by the rig's drill-pipe joint length (the Drill pipe range selector in the Rig page's Pipe handling block — Range 2 = 30 ft, the default, or Range 3 = 45 ft; one range for the whole well). On the drilling run a red dashed Lubinski limit line at 1000 kgf (1 t) per joint marks the tool-joint wear criterion; an operation whose curve crosses it exceeds the criterion.
The drag charts (broomstick and snapshot) also default their load-axis minimum to −20 t so a little compression is always visible — buckling drives the compression branch to very large negative values that carry no useful information; extend the axis via the chart-settings (gear) editor or a brush zoom if you need to see further. All the limit and reference lines — including the rig lines — are toggleable from the legend like any curve.
Light-grey dashed depth marks label the previous casing shoe ("Shoe") and the section TD on the depth axis of every chart; the snapshot charts also mark the bit depth ("Bit").
t / klbf (tonne-force by default), torque in N·m / ft·lbf, depth in m / ft. Inclination and azimuth from the survey are always in degrees. The rig load/torque reference lines come from the Rig page.Key inputs
- Drill String and Casing String — pipe geometry, weights, and tool joints (buoyed weight and contact).
- Mud — density sets buoyancy (lighter loads in heavier mud).
- Drilling Parameters / Run Parameters — the per-run friction factors and operating loads.
- The trajectory — the curvature that creates side force — and, from the Section page, the hole size, the Tortuosity added on top of the planned path and the T&D Snapshot depth. The per-joint side-force chart takes its joint length from the Rig page's Drill pipe range.
Hydraulics & surge/swab
When mud circulates, friction along the flow loop raises the pressure the formation feels; when the string moves, it pushes or pulls the mud in front of it. This page covers two related families: circulating hydraulics (pressure losses, standpipe pressure, ECD) and surge & swab (the pressures from tripping the pipe), plus the maximum pull-out velocity.
The drilling fluid is modelled with Herschel–Bulkley (yield-power-law) rheology, which captures the non-linear low-shear behaviour of real muds better than a simple plastic-viscosity fit. The surge/swab pressures use the steady-state YPL model of Crespo et al. (2012), which extends the circulating-hydraulics model to a moving pipe. Both have been checked against the comprehensive real-well field data of White et al. (1997).
Pressure losses & ECD
Circulating mud loses pressure to friction at every step of the loop: the rig's surface mud system (standpipe, rotary hose, swivel, kelly — the Mud system rows of the Rig page), down the inside of the drill string, across the bit nozzles, then back up the annulus. A mud motor adds one more step: the Pressure drop stated on the Bit & Motor page is charged at the bottom of the string, so standpipe pressure rises by exactly that figure while equivalent circulating density, which is an annulus quantity, does not move. The sum of these losses is the standpipe pressure (SPP) — the pressure at the rig's pumps, upstream of the surface mud system: the total the pumps must overcome. The app has no separate SPP field: it reads SPP off the computed pipe pressure, which already includes the surface mud system — at every depth of the SPP chart, and at the shallowest depth of the snapshot's pipe-pressure profile — so a higher flow rate, a heavier mud, a longer string or a narrower surface line all push it up.
Frictional annular losses add to the hydrostatic head, so the formation sees more than the static mud weight. Expressed as a density, that is the equivalent circulating density (ECD), which must stay inside the mud window — above pore pressure, below the fracture gradient. The ECD charts (broomstick and snapshot) overlay the mud-window band configured on the Formation page (none while the window is inverted, its pore bound at or above the fracture bound); read the ECD curve against the band.
- Standpipe pressure
bar / psi— the SPP chart is the broomstick sweep: each point is the pressure at the pumps with the bit at that MD. A red dashed Max pressure line marks the rig's maximum allowable standpipe pressure (the Rig page); compare the curve with it. - ECD
kg/m³ / ppg— equivalent circulating density vs MD, compared against the mud window.
Surge & swab
Moving pipe drags mud with it. Running in (surge) pressurises the mud ahead of the string — risking fracture and losses; pulling out (swab) reduces pressure behind it — risking an influx or kick. The app issues two directional requests to one surge/swab endpoint: surge uses the positive run-in velocity, swab the negative pull-out velocity. The results are overlaid as one combined method: an ECD vs MD chart (Surge ECD, Swab ECD) with the mud-window band and a pressure-drop vs MD chart (Surge, Swab); read surge ECD against the band's upper edge and swab ECD against its lower edge.
This is a steady-state model — it assumes a constant tripping speed, so it captures the sustained surge/swab level rather than the short transient spikes from pipe acceleration.
Max POOH velocity
The maximum pull-out-of-hole velocity is the fastest you can trip out before swab pressure violates the limit at any depth. The result is an allowable-velocity vs MD profile (m/s / ft/min) with your entered POOH velocity drawn as the Entered POOH velocity line. Wherever that line lies above the Allowable velocity curve, your speed is over the limit; the curve's lowest point is the controlling depth.
The solution is laminar-only: it fits swab pressure against pipe velocity with a power law, which holds while the annulus flow stays laminar. When the hole/string geometry and the mud rheology turn the flow turbulent, the method reports "Not applicable — turbulent regime" instead of a profile — on the Max POOH velocity chart of the results board and in the report. Nothing is wrong with the project: only a change of the annular clearance or the mud rheology can bring the case back inside the model, and your entered POOH velocity does not affect the verdict. See Calculation status.
Reading the results
The hydraulics and surge/swab families each offer a broomstick sweep across the interval and a snapshot at the configured depth (the hydraulics snapshot also reports annulus pressure alongside pipe pressure). Pressure-drop is in bar / psi, ECD in kg/m³ / ppg, velocity in m/s / ft/min, depth in m / ft. Results are clipped to a configured top depth to hide the shallow portion. Light-grey dashed depth marks label the previous casing shoe ("Shoe") and the section TD on the depth axis of every chart.
Inputs that drive hydraulics:
- Mud rheology — density and the Herschel–Bulkley parameters.
- Drill String — pipe and BHA geometry and the flow areas; the Rig mud system adds surface losses to SPP.
- Bit & Motor — Bit HSI (the loss across the nozzles) and the motor's pressure drop.
- Flow rate & tripping velocity — pump rate (circulation), run-in / pull-out speeds (surge/swab; tripping runs without circulation) and the POOH swab safety factor (max POOH velocity).
- Section geometry — the hole size of every section from surface down to this one, which sets the annular clearance, and the per-family top and snapshot depths.
Hole cleaning
Hole cleaning is the business of carrying rock cuttings out of the wellbore as fast as the bit makes them. In a vertical hole gravity helps — cuttings settle back into an upward mud flow — but in deviated and horizontal sections cuttings slide to the low side and pile into a cuttings bed. A growing bed narrows the annulus, raises drag and torque, can pack off the string, and ultimately cause stuck pipe.
The model
The calculation uses the empirical cuttings-transport correlations of Larsen, Pilehvari & Azar (SPE 25872, 1997) for high-angle wells, extended with the minimum-transport-velocity work of Peden, Ford & Oyeneyin (SPE 20925, 1990), which adds the effects of drillpipe rotation and eccentricity. It is a steady-state evaluation (the app's "static" hole-cleaning calculation): it solves for the equilibrium cuttings-transport condition rather than stepping through time, and it does account for the rate of penetration and drillstring rotation.
It computes, for each depth, the critical transport velocity — the minimum annular fluid velocity needed to keep cuttings moving so no bed accumulates — and, where the actual flow is below that, the resulting steady-state cuttings bed.
The drivers
Whether cuttings are carried out or accumulate is a balance between the forces lifting them and gravity pulling them to the low side. The main levers:
- Annular velocity
m/s / ft/min— the mud's speed in the annulus (flow rate ÷ annular area). The strongest lever — higher velocity scours the bed. A larger hole lowers the velocity for a given flow rate, so big-bore sections are harder to clean. - Mud rheology and density — yield point, consistency and flow index (set on the mud page) govern how well the fluid suspends and carries particles; there is a viscosity band that cleans best.
- Cuttings load (ROP)
m/h / ft/h— a faster rate of penetration generates more rock per metre circulated, so the annulus must carry a heavier solids load. - Inclination
deg— the dominant geometric factor: high-angle sections (roughly 50–90°) are hardest, where a stable bed forms on the low side. - Drillstring rotation (RPM) — rotating the string stirs the bed back into the flow and lowers the required transport velocity (especially in tight annuli); this is included via the Peden extension.
- Cuttings size and density and pipe eccentricity — finer/denser cuttings and the pipe's standoff change how readily the bed forms.
Reading the result
Two charts vs MD show the result; your worst-cleaned spot, usually the most deviated interval, is where the cuttings-bed curve peaks. The bed is a dimensionless fraction (0 = clean, higher = more annulus blocked), so it is shown unconverted; depth and velocity follow your display units.
- Cuttings bed vs MD — where solids accumulate. A red dashed Critical bed line marks the acceptable level, taken from the Critical cuttings bed field on the Drilling Parameters page (Hydraulics block, dimensionless fraction, default 0.2); where the curve crosses it, the bed exceeds the acceptable level.
- Critical velocity vs MD — two curves: Critical velocity, the transport velocity each depth needs (from the calculation), and Annular velocity, what your entered flow rate delivers. The app computes the latter on the calculation's own hole — each section's open-hole size all the way to surface, no casing inner diameter — so in cased hole it reads lower than in the real, narrower annulus. Wherever Annular velocity falls below Critical velocity, expect a bed. The usual fixes are more flow rate, better rheology, slower ROP, or more rotation.
Light-grey dashed depth marks label the previous casing shoe ("Shoe") and the section TD on the depth axis of both charts.
Inputs
- Mud — density, rheology, and the cuttings properties (size, density, bed porosity).
- Flow rate, ROP & RPM — pump rate sets annular velocity; ROP sets the cuttings load; rotary speed aids transport.
- Hole size and the trajectory inclination — annular area and the angle that drives bed behaviour.
- Drill String — the pipe in the hole, which narrows the annulus.
ROP modeling
The rate-of-penetration (ROP) model predicts how fast the bit drills the formation and how much torque it demands, from the physics of a PDC/drag bit cutting rock under load — so you can forecast drilling time and torque before committing to a parameter set on the rig.
The model applies to PDC drag bits only. Set Bit type to Other on the Bit & Motor page for any non-PDC bit — the ROP model is then skipped for that run (and its inputs are not required). A mud motor is optional: the model runs with or without one.
Rotary speed is a sum. The bit turns at Surface RPM + Downhole RPM — the rotary speed from the Drilling Parameters page plus the revolutions the motor adds, stated directly on the Bit & Motor page. With no motor installed the bit turns at the rotary speed alone. Because the sum is what matters, sliding is a valid case: a stopped rotary with a motor still drills.
The model
The implementation is a development of the Hareland & Rampersad drag-bit model (SPE 26957, 1994). That model builds penetration rate up from single-cutter rock interaction: each cutter ploughs and fails a small volume of rock per revolution as a function of the load it carries and the rock's compressive strength, and the individual cutters are combined into a whole-bit response (via an "equivalent bit radius"). Cutter geometry — count, diameter, and side/back rake — sets how efficiently weight and rotation are turned into removed rock, and how much torque that costs. A wear sub-model tracks how the cutters dull as the bit drills, which lowers ROP and changes torque later in the interval.
The principal drivers are:
- Weight on bit (WOB) — the axial load pushing the cutters into the rock. More weight cuts deeper per revolution (faster ROP) and demands more torque, until the cutters founder.
- Rotary speed (RPM) — the rotary speed plus whatever the motor adds at the bit.
- Bit & cutter geometry — diameter, cutter count, cutter diameter, and side/back rake.
- Rock strength (UCS) and abrasiveness — harder rock drills slower for the same parameters; more abrasive rock dulls the cutters faster.
- Pressure at the bit — the mud column confines the rock under the bit and makes it effectively stronger than its UCS, so a heavier mud or a deeper hole drills slower. In a permeable rock only the overbalance counts — the mud weight above the pore pressure — so a higher pore pressure drills faster; in an impermeable rock the whole mud column counts. A rock whose permeability is not set is treated as impermeable (the slower case), and a missing friction angle takes a default value.
- Cutter wear — the current dull state, carried through the wear sub-model.
The pressure is taken at the middle of the section's TVD interval — the same depth, mud weight and pore gradient the bit selector uses, so both describe the same rock under the same pressure.
Calibration — the key difference
The original Hareland model needs lithology correction factors (fitted by regression from offset drill-off or field tests) before it predicts a particular formation well. This implementation is designed to predict ROP close to actual without that additional calibration — its default calibration coefficient is 1 (no per-lithology tuning required). For cases where you do have offset data to fit, two inputs are exposed on the Bit & Motor page: the ROP calibration coefficient (a multiplier on the modelled ROP, default 1) and the bit friction factor (cutter-to-formation friction, default 0.2). Leave them at their defaults to use the no-tuning prediction.
The model has been validated against real field data with good agreement — see the validation write-up linked below.
Bit wear over the interval
The model integrates cutter wear as the bit drills, so a worn bit predicts lower ROP and altered torque later in the run. AIDE reports the resulting updated bit wear — the cutter wear at the end of the interval, in the same unit as the bit's Cutter wear — as information only.
Reading the result
The ROP result is a compact value table — a single operating point, not a depth series — with four outputs:
- ROP
m/h / ft/h— predicted penetration rate for the run's weight and bit speed in this rock. - Drilling time
h— time to drill the interval at that ROP (fixed unit). - Bit torque
N·m / ft·lbf— torque the bit demands to drill at that ROP. - Updated bit wear
mm / in— the cutter wear at the end of the interval: the same quantity as the bit's Cutter wear on Bit & Motor, shown in the same unit. Report-only.
The pressure across the motor is no longer among them: it is an input you state on the Bit & Motor page, and it is spent in the hydraulics calculation rather than predicted here.
Inputs come from:
- Bit & Motor — bit/cutter geometry, cutter wear, and the motor's added RPM.
- Formation — rock strength (UCS), Brinell hardness, abrasiveness, friction angle and permeability (fillable from the rock-type presets); the mud window's Pore pressure gradient only while the pressure profile has fewer than two rows (below).
- Drilling Parameters — weight on bit, rotary speed, and flow rate.
- Drilling Mud — the mud weight.
- Geomech & Lithology — the pore-pressure profile, read at the section's mid-depth TVD (the middle of its interval on the trajectory). With two or more rows the model and the bit selector always read the profile, holding its first or last row beyond its ends, and never take the section's mud window; only while it has fewer than two rows does the window's pore bound stand in.
The model is blocked, with the page to fix named in Errors and a dot on that page in the sidebar, while the mud weight or the pore pressure is missing or not positive — including a pressure-profile row at or below zero next to the section's mid-depth (the row is named). After you edit the trajectory's survey the model briefly waits for the new stations' TVD (shown as Waiting, not as an error) and then runs with the new depths.