Version 1.9 · 14 Nov 2026 · William Wijaya
1. Purpose and scope
The calculator gives first-pass durations, pressures and consumables for subsea pipeline pre-commissioning from one set of pipeline inputs. It is a planning and bid tool, not a substitute for the project procedure or a detailed engineering calculation. This manual describes version 1.9.
It covers six activities and a set of reporting tools:
- FCG: flooding, cleaning and gauging with a pig train, flooding and feed pump selection, run-off check and pigging chemical.
- Hydrotest: test pressure from the design basis, pressurisation sequence by specification, air content check, temperature effect and hold.
- Dewatering: pig train speed, back pressure, air volume, desalination slugs and fresh water.
- Drying: super dry air, MEG swabbing or vacuum drying, each with or without foam pigs, and a comparison of all methods.
- Nitrogen: purge and pack after drying, with the oxygen and pack pressure checks of the specification.
- Specifications: view, print, add and edit project specifications, and open the source documents.
- Equipment: data, curves and source documents for each OCS pump, compressor, dryer and vacuum set.
- Summary: total duration, case file, calculation note, sensitivity, calibration log, version history and known limitations.
Units are SI, pressure in bar gauge unless stated. The pipe diameter and wall thickness inputs also accept inches. Basis for the hydrotest limits is DNV-ST-F101 system test and DNV-RP-F115 pre-commissioning. Water properties use the UNESCO EOS-80 seawater equation of state. Equipment presets are the OCS spread (flooding and feed pumps, compressors, dryers, hydrotest pumps, vacuum pumps).
2. User manual
Work left to right through the tabs. Results update as you type, and the result strip at the top shows the headline durations. The Help button in the header (or F1) opens this manual inside the calculator, at the section for the tab you are on.
2.1 Workflow
- Pipeline tab: fill in the document fields (project, client, pipeline, document number, revision, prepared, checked, approved). Choose the project specification, because it resets the presets (speeds, holds, dew point, gauging plate, salinity, test pressure rule). The bar under the list opens the specification summary and its source PDFs. Then enter OD, wall thickness, length, grade, coating, temperatures and the KP / elevation profile. The last KP should equal the pipeline length.
- FCG tab: set the minimum and maximum pig speed and the FCG inputs, then edit the pig train (type, film, differential pressure, medium behind each pig). Choose the flooding pump, the number in parallel and in series, and the feed pumps. Set whether the line ahead of the train is air filled or pre-filled, and any receiver back pressure.
- Hydrotest tab: choose how the test pressure is set (entered, DNV, INPEX, 1.25 × design, 1.25 × MAOP) and where it applies. Enter the test water salinity, pump, air content, holds, temperature inputs, wall fabrication tolerance and the hoop stress basis.
- Dewatering tab: choose compressors and dryers, train speed, receiver back pressure, the salinity unit (TDS or chloride) and the desalination target.
- Drying tab: use the method comparison table to pick the fastest allowed method, then refine the method inputs and the nitrogen inputs.
- Summary tab: read the total, export or print the calculation note, check the sensitivity table and log field results.
A field left blank where marked optional falls back to its stated default (for example the film thickness falls back to the last pig film).
2.2 Inputs by tab
| Tab | Key inputs | Main outputs |
|---|---|---|
| Pipeline | Document fields, specification, OD, wall, length, grade, coating, temperatures, seawater density, KP / elevation table | Internal volume, route profile chart, specification bar |
| FCG | Pig speeds, lead slug, distance between pigs, pig train, flooding pump, parallel × series, feed pumps, line ahead of the train, back pressure, chemical | Operating flow and speed, peak pump pressure and KP, lowest pressure behind the train, run-off check, water and chemical, gauging plate, pump table |
| Hydrotest | Test pressure rule, design pressure, MAOP, reference elevation, test water salinity, SMYS limit, hoop stress basis, fabrication tolerance, pipe end condition, pump, air content, holds, stabilisation, heat transfer | Step table and charts, total time, required and reference test pressure, water properties, local pressure range, hoop stress, volume to add, pressure change per °C, thermal stabilisation |
| Dewatering | Compressors, dryers, train speed, back pressure, salinity unit, seawater and freshwater salinity, target, slug sizing mode | Time, peak air pressure, air volume, freshwater, film salinity, back pressure needed |
| Drying | Method, foam pigs before dry air or vacuum, film, pooled water, method inputs, nitrogen inputs | Method comparison, evaporation and flush, MEG passes, vacuum phases, nitrogen volume and time |
| Specifications | Specification to view, new or copied specification, source documents | Requirement sheet, print, library export and import |
| Equipment | Item to view | Data used, curve with operating point, datasheets and test reports |
| Summary | None | Total programme, case file, calculation note, sensitivity, calibration log, version history, known limitations |
2.3 Reading the flags
- OK means the check passes with the entered inputs.
- CHECK means it passes with little margin or relies on an assumption you should confirm.
- FAIL means the equipment or the specification limit is not met. Change the equipment, the rate or the specification input.
- NOTE gives information or a specification reminder.
2.4 Hydrotest chart
The hydrotest tab draws two charts from the selected specification: the full cycle (pressurise, air or leak check, stabilise, test hold, depressurise) and a zoom of the pressurisation sequence. Numbered markers tie each step to the step table (from bar, to bar, rate, duration). A ramp slower than the specification rate means the pump cannot supply the pressurisation volume fast enough; it is flagged as pump limited.
2.5 Specifications tab and source documents
- View and print: pick a specification to see the requirements the calculator checks, the inputs it sets and the clause notes. Print this or Print all gives a clean sheet.
- Add or edit: New specification opens an editor for the requirements, preset inputs, notes and source documents. Built-in specifications are fixed, so use Copy to edit. User specifications appear in the Project specification list and are checked like the built-in ones.
- Library: Export library and Import library move your user specifications between computers as a JSON file. They are stored in the browser, so export them now and then.
- Source documents: the bar under the specification list on the Pipeline tab has View and Download for each source PDF. The PDFs open from the "precomm specifications" folder next to the calculator file, so use the copy in your precomm equipment folder. The online preview cannot open files on your computer.
2.6 Drying method comparison
The Drying tab runs all seven methods on the same line, film and equipment: super dry air only, foam pigs then dry air, vacuum from one or both ends, foam pigs then vacuum from one or both ends, and MEG swabbing. The table is sorted fastest first and marks the Fastest method and the Fastest allowed by the selected specification. Use switches the calculator to that method. MEG leaves a glycol film rather than drying to a dew point, so confirm the client accepts it.
2.7 Summary tab: reports and records
- Export case (JSON), Copy JSON, Import case: save and reload every input, the pig trains, elevation, specification, user specifications, limitations and calibration records.
- Print calculation note: a report of about 6 pages with a header on every page: basis, summary, each stage with formula, substituted numbers, result and checks, sensitivity, assumptions, limitations, version history and sign-off. Use Save as PDF in the print window for a PDF. Print all tabs prints the screen layout.
- Sensitivity: the total duration and the quantities (freshwater, MEG, nitrogen, dry air, film salinity) when one assumption is moved to a low and a high value: film, evaporation efficiency, foam pig removal, MEG swab removal, mixing, seabed temperature and pig differential pressure.
- Calibration log: record the actual field value against the prediction. The table averages actual ÷ predicted by parameter, which shows which assumption to adjust.
- Version history and known limitations: the changes in each version and what the model does not cover. Add your own limitation items; they are saved in the case file and printed.
2.8 Equipment tab
Pick any OCS item to see the data the calculator uses, its curve and its source documents.
- Flooding and feed pumps: the head–flow curve from the test or inspection report, with the rated point. For the pump selected on the FCG tab the chart also shows the pump set (parallel × series, plus feed pumps), the line pressure needed for the current pipeline and pig train, and the operating point where the two meet.
- Hydrotest pumps: flow against discharge pressure, with the test pressure marked.
- Vacuum sets: the pumping speed model against pressure. Compressors and the dryer show their rating.
- Documents: View and Download for the spec sheets, vendor curves and test reports in the precomm equipment folder (45 files). As for the specifications, the buttons work in the copy in your folder, not in the online preview.
3. Specification presets
Selecting a specification overwrites the inputs below with that specification's values and adds compliance checks and notes on each tab. Custom leaves every value as you entered it. Presets come from the documents in the precomm specifications folder; check them against the current revision of your contract specification before relying on them.
| Item | TOTAL GS EP PLR 501/502 | PTSC Block B SPC-0011/0012 | Medco Terubuk STS-GN-30-0025 R3 |
|---|---|---|---|
| Gauging plate | 95 % (97 % above 24 in) | 97 % | 95 % |
| Pig speed, FCG | 1 m/s, window 0.5 to 2 | 1 m/s, window 0.1 to 1 | not specified |
| Dewatering speed | 1 m/s, window 0.5 to 2 | 0.6 m/s, window 0.4 to 0.8 | 0.75 m/s, window 0.5 to 1 |
| Hydrotest sequence | 1 bar/min to 70 %, 0.5 to 90 %, 0.1 to Pt; 15 min at 35 bar for air | 1 bar/min to 15 bar, 2 bar/min to 50 % (air), to 80 %, hold, then Pt | Hold 15 min at 50 %, 30 min at 80 %, then Pt |
| Stabilisation / hold | 1 h at 90 %, 4 h at Pt / 8 h | 8 h at 80 %, 4 h at Pt / 24 h | 3 h / 8 h |
| Hoop stress limit | project value | 90 % SMYS | 90 % SMYS |
| Film salinity target | 1,000 ppm | 200 ppm | not preset |
| Dryness target | −20 °C | −40 °C | 1 mbar abs |
| Vacuum soak | 24 h | 24 h, 0.05 mbar rise | 24 h, 0.05 mbar rise |
| Nitrogen | plug, 5 % O2 | plug, 5 % O2 | mixed purge to 0.1 % O2 |
| Item | INPEX Abadi GEP / CCS O2110-PL-SPC-00018 / 00020 | KUFPEC Anambas KIABV-PPL-SPE-00008 | Mako MKO-SUF-SO27-PL-SPC-0013 |
|---|---|---|---|
| FCG train | at least 5 pigs, one run | contractor design | at least 4 bi-di pigs, one run |
| Gauging plate | 97 % of minimum ID | 95 % of nominal ID | 97 % of minimum ID |
| Pig speed | 0.35 to 1.0 m/s (0.5 preset) | 0.5 to 1.0 m/s | 0.5 to 1.0 m/s |
| Distance between pigs | 2 % of line | 2 % of line | 0.5 % of line or 50 m, lead slug equal to one slug |
| Test pressure | greater of 1.25 × MAOP and 1.05 × 1.1 × DP, at the highest point | 1.25 × MAOP, at most 90 % SMYS | 1.25 × MAOP, at most 90 % SMYS |
| Sequence | DNV, re-pressurise within 0.2 % | 50 % 15 min, 80 % 30 min, Pt | 35 bar air check 30 min, 50 bar, 50 %, 80 % 2 h hold, 0.5 bar/min to Pt |
| Stabilisation / hold | agreed / 24 h | 3 h / 8 h | 2 h / 8 h |
| Salinity | chloride 50 mg/L at receiver | chloride 200 mg/L | not specified |
| Dryness | −20 °C GEP, −40 °C CCS | −20 °C | none (gas dewatering) |
| Nitrogen | O2 at most 4 %, purity 96 % | O2 below 0.1 %, pack 5 psig above seabed hydrostatic | not specified |
The assumptions that are not stated in the specifications are listed in Section 6.
4. Theory and formulas: geometry, FCG, hydrotest, dewatering
Symbols: OD outside diameter, t wall, ID internal diameter, A internal flow area, L length, V internal volume, ρ water density, g 9.80665 m/s², P_atm 1.01325 bar.
4.1 Geometry and elevation
ID = OD − 2t A = (π/4) × ID² V = A × L
Elevation z at any KP is linear interpolation of the KP / elevation table, held constant beyond the first and last points. Hydrostatic head at a point is ρ g (z₀ − z), converted to bar by dividing by 10⁵.
4.2 Flooding, cleaning and gauging
The pigs run at the flow the selected pumps deliver, limited to the maximum pig speed. Pig speed is therefore an output. The minimum pig speed is a requirement: if the pumps give less, the result is flagged and the number of pumps needed is shown.
Q_req = v_min × A × 3600 v = Q_op / (3600 × A)
Train length is the slugs between pigs plus the lead slug (pig body length is neglected). The lead slug ahead of pig 1 is seawater. The distance between pigs is an input: left blank it is 2 % of the pipeline length, or the specification rule (PTSC at least 150 m, Mako 0.5 % or 50 m). Run time and time with contingency c:
t_run = (L + L_train) / (v × 3600) t_tot = t_run × (1 + c/100)
Pump pressure needed at distance x from the launcher is the sum of pig differential pressure, friction, static head and the receiver back pressure. With air ahead of the train the friction and head are those of the water behind the lead pig. With the line pre-filled, the whole line is water and the head is to the receiver:
P(x) = ΣΔP_pig + P_back + f × (x / ID) × (ρ v² / 2) / 10⁵ + ρ g (z(x) − z₀) / 10⁵ (air ahead)
P = ΣΔP_pig + P_back + f × (L / ID) × (ρ v² / 2) / 10⁵ + ρ g (z_end − z₀) / 10⁵ (pre-filled)
Pump operating point. The pump set is n_par pumps in parallel and n_ser pumps in series, plus n_feed feed pumps ahead of them. Parallel adds flow, series adds head, and the feed pumps add their head at the total flow. At total flow Q the set gives:
H_set(Q) = n_ser × H(Q / n_par) + H_feed(Q / n_feed)
H is read from the pump test curve. The pigs run at the largest flow, up to the rated flow and the maximum pig speed, where the set head is still at least the line pressure:
Q_op = largest Q ≤ min( Q_rated , v_max × A × 3600 ) such that H_set(Q) ≥ P_line,max(Q)
The app finds Q_op by bisection. If Q_op is below Q_req, the result shows FAIL, and the pump table gives the number of pumps in series that reaches the minimum speed, after the feed head:
n_ser = ceil [ ( P_line,max(Q_req) − H_feed ) / H(Q_req / n_par) ] (table checks up to 4 in series)
Feed pumps. OCS feeds the multistage flooding pumps from the SLOW 350-380B feed pumps (1,590 m³/h at 25 m, 8V92). Select 1 or 2 feed pumps on the FCG tab. The check passes while the operating flow is within the feed pumps' rated flow, warns beyond it, and reports when the end of the feed curve limits the flooding flow. Without a feed pump the flooding pumps are taken to draw at sea level.
Pumps in parallel, in series, or both. The pump table writes the pump set as parallel × series. A set of 4 × 1 is four pumps in parallel, 1 × 4 is four in series, and 2 × 2 is two parallel strings of two in series.
| Set | Total flow | Pressure (head) | Example with the 8V92 3-stage pump (321 m³/h at 16.7 bar) |
|---|---|---|---|
| 1 × 1 | Q of one pump | H of one pump | 321 m³/h at 16.7 bar |
| 2 × 1, two in parallel | 2 × Q | H | 642 m³/h at 16.7 bar |
| 1 × 4, four in series | Q | 4 × H | 321 m³/h at 66.8 bar |
| 4 × 1, four in parallel | 4 × Q | H | 1,284 m³/h at 16.7 bar |
| 2 × 2, two strings of two | 2 × Q | 2 × H | 642 m³/h at 33.4 bar |
Series adds pressure only, because the same flow passes through every pump. Parallel adds flow only, because all pumps push at the same pressure. The app reads the full pump curve, so at other flows the head differs from the rated figures.
How to choose.
- If "Flow for minimum speed" is more than the pump capacity, the pumps are short of flow. Add pumps in parallel.
- If the pump set cannot reach the minimum speed, or the peak pump pressure is more than the pump gives at that flow, the pumps are short of pressure. Add pumps in series or a feed pump.
- Choose the set with the fewest pumps. The pump table gives the smallest number for each pump type and compares it with the number OCS lists.
With the same four pumps, 4 × 1 suits a short line of large diameter, where flow is the limit. A set of 2 × 2 suits a long or rising line, where pressure is the limit. If one pump trips, 4 × 1 keeps about 75 % of the flow and 2 × 2 keeps about 50 %.
Setting up pumps in series, for example 1 × 4.
- Connect the discharge of each pump to the suction of the next, with the first pump on the feed pump or the intake and the last on the launcher.
- Run all the pumps at the same speed. The pumps must be matched in size, or the head will not be shared evenly.
- The second and later pumps take suction at the discharge pressure of the pump before. Their casings and flanges must be rated for that pressure; confirm it with the pump datasheet.
- Start the first pump and bring the pressure up, then start the next. Fit a bypass with a non-return valve around each pump.
- Watch the discharge pressure of each pump so that none of them runs far from its curve.
Friction. Swamee-Jain form of the Colebrook equation, viscosity 1.0 mPa·s:
f = 0.25 / [ log₁₀( ε / (3.7 × ID) + 5.74 / Re^0.9 ) ]² Re = ρ v ID / μ
Roughness ε is 0.045 mm for bare steel and 0.01 mm for internally coated pipe. The maximum of P(x) over 200 stations gives the pump pressure required and its KP.
Run-off check. On a downhill section the water head can exceed the pig differential and friction, so the pressure behind the train falls below zero and the train can run away from the pumps. The app scans P(x) for its lowest value; if it is negative, it gives the KP range and the back pressure needed: P_back,needed = P_back − P_min. Pre-filling the line or holding back pressure at the receiver controls the train.
Chemical. Volume (m³) = treated water × ppm ÷ 10⁶, where the treated water is the line volume plus the slugs between pigs, scaled by the treated share. The seawater lead slug is not dosed.
Gauging plate. Minimum ID (OD less twice the heaviest wall) × the plate percentage.
4.3 Hydrotest
Test pressure. Entered directly, or from the design basis:
DNV: P_t = 1.05 × γ_inc × DP INPEX: P_t = max( 1.25 × MAOP , 1.05 × γ_inc × DP ) P_t = 1.25 × DP or 1.25 × MAOP
γ_inc is the incidental to design pressure ratio (1.1 default). When the required pressure applies at the highest point of the line, the reference pressure is P_ref = P_t − ρ_t g (z_ref − z_high) / 10⁵.
Pressure at any point. Local pressure is the reference pressure plus the test water head above or below the reference elevation. Maximum and minimum local pressure are found along the route.
Water properties. Density, compressibility and thermal expansion come from UNESCO EOS-80 at the test water salinity S (35 g/kg seawater, 0 fresh), the seabed temperature and the pressure:
ρ(S, T, P) = ρ₀(S, T) / ( 1 − P / K(S, T, P) ) c_w = (1/ρ) ∂ρ/∂P α_w = −(1/ρ) ∂ρ/∂T
Hoop stress (DNV-ST-F101). The differential pressure (internal less external seawater head) acts on the wall less the fabrication tolerance t_fab (DNV table for SAW pipe when blank, 1.0 mm for this wall):
t₁ = t − t_fab σ_h = (P_i − P_e) × (OD − t₁) / (2 t₁) Utilisation = σ_h / SMYS
The "internal pressure only" basis is a conservative option. SMYS values: X42 290, X52 360, X56 390, X65 450 MPa.
Pressurisation volume. Water compression from EOS-80, pipe expansion and trapped air. A laid pipeline is axially restrained, so the pipe term is (1 − ν²) (DNV-RP-F115); free ends (spool, test vessel) use (1.25 − ν):
ΔV(P) = V × [ ( ρ(P)/ρ₀ − 1 ) + P × 10⁵ × D_m (1 − ν²) / (E t) + (a/100) × P / (P + P_atm) ] D_m = OD − t
E = 207 GPa, ν = 0.3, a is the entrained air at 1 atm in % of volume.
Ramp time. Each step takes the larger of the rate-limited time and the pump-volume time:
t [h] = max( ΔP / (rate × 60), [ΔV(P₂) − ΔV(P₁)] / Q_pump )
Pump flow at test pressure is the rated flow, or for engine-limited pumps min(Q_max, 600 × hydraulic kW ÷ P) in L/min.
Air content check. The entered air is compared with the allowance (0.2 % default). The P/V slope ratio at 35 bar for the field check:
Slope ratio = 1 + a × P_atm / [ (35 + P_atm)² × c_bar(35) ] c_bar = (c_w + D_m (1 − ν²) / (E t)) × 10⁵
Temperature effect. A temperature change of the trapped water changes the pressure in the closed, restrained line:
dP/dT = (α_w − 2 α_s) / c_bar [bar/K] α_s = 1.17×10⁻⁵ 1/K (3 α_s for free ends)
Thermal stabilisation time. Lumped model of the water and steel reaching seabed temperature:
τ = (A ρ c_w + A_steel ρ_s c_s) / (U π OD) t(to 1 °C) = τ × ln( |ΔT| / 1 °C )
c_w 4,000 J/kgK, ρ_s 7,850 kg/m³, c_s 490 J/kgK, U 15 W/m²K default. Fill water colder or warmer than the seabed gives the same time.
4.4 Dewatering
Air volume and pressure. The line is divided into 300 numerical segments. At each train position the pressure behind the water is the receiver pressure plus friction on the water ahead plus the head to the receiver end, plus the pig differential pressure:
P_w = P_recv + f × [(L − x)/ID] × (ρ v² / 2) / 10⁵ + ρ g (z_end − z) / 10⁵ P_a = P_w + ΣΔP_pig
S = A × x × (P_a + P_atm) / P_atm dt = max( dx / v_T, max(dS, 0) / F )
F is the dry air flow, the smaller of 0.95 × total compressor FAD and the dryer capacity. When the compressors cannot keep the target speed the train slows.
Desalination. Salt in the film left by each pig is simulated along 200 cells with a mixing model (mixing effectiveness 0.6 default). Salinity can be entered as total dissolved salts (ppm TDS) or chloride (mg/L); switching converts the values with a factor of 1.807 (seawater composition). The target applies to the average or the worst point. In Auto mode the slug volume is sized by bisection to meet the target. The target cannot be met if the freshwater is saltier than the target.
5. Theory and formulas: drying and nitrogen
All drying methods start from the residual water left after dewatering:
m_w = ( π × ID × L × δ + V_pool ) × ρ_w
δ is the film thickness (entered, or the film of the last pig, × coating factor 0.4 for coated pipe; TOTAL 0.065 / 0.025 mm; PTSC at least 0.1 mm), V_pool the pooled water at low points.
5.1 Super dry air
Moisture content is a humidity ratio, with vapour pressure from the Magnus equation (over ice below 0 °C):
w = 0.622 × p_v / (P − p_v) P = P_dry + P_atm
t_evap [h] = m_w / [ ṁ_air × η × (w_sat − w_in) × 3600 ] ṁ_air = 1.2 × F
w_sat is at seabed temperature and line pressure, w_in at the dryer outlet of −70 °C (pressure dew point), η the evaporation efficiency (0.6 default). The flush then runs until the outlet reaches the target dew point. The specifications give the target at atmospheric pressure, so the target water content is taken at P_atm:
w_target = 0.622 × p_v(T_dp) / (P_atm − p_v(T_dp)) n_turn = ln[ (w_sat − w_in) / (w_target − w_in) ] t_flush = n_turn × s × V × (P/P_atm) / (F × 3600)
s is the flush allowance (1.5 line volumes default). The Drying tab shows the equivalent dew point at line pressure.
Option with foam pigs. Foam pigs push and soak up most of the film before the dry air starts. TOTAL (7.3.1) and PTSC (9.3.2) allow foam pigs during drying at not more than 1 m/s (TOTAL) or 1.2 m/s (PTSC); PTSC also asks for at least 300 m between pigs and 0.5 bar g back pressure. Each pig removes a share r of the film (50 % default):
film_n = film_0 × (1 − r)^n n = ceil [ ln ( film_target / film_0 ) / ln ( 1 − r ) ]
t_pig = batches × [ ( L + (pigs per batch − 1) × spacing ) / v_pig + t_reload ] t_drying = t_pig + t_evap ( film_n ) + t_flush
The pig speed is the lower of the speed entered and the speed the air flow gives at the pigging pressure. Pooled water is not reduced by the pigs.
5.2 MEG swabbing
Each pass picks up a fraction r of the remaining water:
n = ceil[ ln(target) / ln(1 − r) ] V_MEG = max( m_picked × x / [ (1 − x) × ρ_MEG ], A × L_min ) t = n × L / (v × 3600) + (n − 1) × t_turn
x is the final MEG weight fraction, L_min the minimum slug length.
5.3 Vacuum drying
Four phases: pump-down, evaporation, final vacuum and soak, with an option to run foam pigs first (Section 5.1 formulas, then evacuation of the reduced film).
Pump speed near the ultimate pressure. Speed falls as the pressure approaches the pump's ultimate pressure P_ult:
S(P) = S₀ × (1 − P_ult / P) t = V / S₀ × ln[ (P₁ − P_ult) / (P₂ − P_ult) ]
Conductance. Viscous flow with a factor of 3 for the distributed source:
C_L = π × ID⁴ × P / (128 × η × L_end) 1 / S_eff = 1 / S_pump + 1 / (3 C_L)
η = 9.8×10⁻⁶ Pa·s, L_end = L for one end, L/2 for both ends.
Evaporation. ρ_v = P_op × 100 × 0.018015 / (8.314 × T) t_evap = m_w / (ρ_v × S_eff × 3600)
The evaporation pressure must be below the saturation pressure at pipe temperature (about 37 mbar at 28 °C).
Final vacuum and soak. The line is pumped to the final pressure (a dew point is converted with Magnus: −20 °C = 1.03 mbar, −40 °C = 0.13 mbar), then isolated for the soak. The allowed rise is shown as a leak rate and compared with the pump throughput:
Q_leak [mbar·L/s] = V × 1000 × ΔP_rise / (t_soak × 3600)
5.4 Nitrogen
Nitrogen volumes are in normal cubic metres (0 °C, 1.01325 bar):
V_N₂ [Nm³] = V × (P_end − P_start) / P_s × 273.15 / T
- After vacuum drying: fill from the final vacuum pressure to the target. No purge.
- After dry air or MEG: purge first (plug 1.2 line volumes, or mixed ln(0.21 / O₂ limit) volumes), then pressurise.
Time is Nm³ ÷ supply rate (1,500 Nm³/h default). Liquid is Nm³ ÷ 646, mass 1.2506 kg/Nm³. Specification checks: oxygen limit (PTSC 5 %, TOTAL 0.5 % above 5 bar g, Medco 0.1 %, INPEX 4 %, KUFPEC 0.1 %) and the KUFPEC pack pressure of 5 psig (0.34 bar) above the seabed hydrostatic pressure at the deepest point.
6. Assumptions, limitations and defaults to verify
The calculator is a steady, lumped model for planning and bidding. The Known limitations list on the Summary tab holds the same points and your own additions.
6.1 General
- Pipe is one diameter and wall for the whole length; risers, spools and fittings are not modelled separately.
- Pig differential pressures, lengths and films are inputs; defaults are typical, not vendor data.
- Pump and compressor curves come from OCS datasheets and test reports (about ±3 %). The SLOW 400-600 has its rated point only, and the 4-stage at 1,480 rpm is scaled from the 1,900 rpm curve by the affinity laws.
- Specifications are summarised from the documents; not every clause is modelled.
6.2 FCG and dewatering
- Steady flow at the operating point; no start-up, pig breakaway, surge or acceleration. Run-off is a steady pressure balance.
- Feed pump suction pressure and the NPSH of the multistage pumps are not checked.
- Salinity uses a mixing model with effectiveness 0.6 and a TDS / chloride factor of 1.807. Two dewatering runs, gas dewatering (Mako) and the 1 km nitrogen slug are noted, not modelled.
6.3 Hydrotest
- Water properties from EOS-80 at seabed temperature, uniform along the line; chemical additives ignored.
- Hoop stress uses the nominal wall less the fabrication tolerance; no corrosion allowance, ovality or temperature derating.
- Thermal model: lumped water and steel, U = 15 W/m²K. Buried, insulated or concrete coated lines stabilise more slowly.
- Assumed values not stated in the specifications: PTSC air hold 15 min and 2 bar/min from 80 % to Pt; Mako inspection holds 15 min; KUFPEC depressurisation 2 bar/min.
6.4 Drying
- Evaporation efficiency 0.6 and foam pig removal 50 % are planning values to calibrate.
- Vacuum: pipe temperature constant, no latent cooling or ice; pump speed falls linearly towards the ultimate pressure.
- MEG assumes full absorption at the pass efficiency and no carry-over.
6.5 Nitrogen
- Ideal gas at seabed temperature. The 1,500 Nm³/h supply is a placeholder for the unit you plan to use.
7. Verification and revision history
Before using a result in a bid or procedure:
- Enter a past job with known results and compare FCG, hydrotest, dewatering and drying times.
- Adjust the input that carries the assumption (pig differential, film, evaporation efficiency, heat transfer, air content), not the formulas. Record each comparison in the calibration log.
- Confirm the specification presets against the current contract revision, and check pump head, hoop stress and pressure change per °C independently before a test acceptance decision.
| Version | Date | Change |
|---|---|---|
| 1.9 | 14 Nov 2026 | Equipment tab: data, curves and source documents for every OCS item; operating point on the selected pump curve |
| 1.8 | 14 Nov 2026 | Help button (and F1) opens this manual in the calculator, at the section for the open tab; manual revised for versions 1.2 to 1.8 |
| 1.7 | 13 Nov 2026 | Feed pumps (SLOW 350-380B or 250-550) ahead of the flooding pumps; feed head added to the pump set; feed flow and unit checks |
| 1.6 | 22 Oct 2026 | Specification bar with View and Download of the source PDFs; source documents on the Specifications tab and in user specifications |
| 1.5 | 20 Oct 2026 | Drying method comparison with fastest and fastest allowed; foam pigs before vacuum drying |
| 1.4 | 20 Oct 2026 | KUFPEC Anambas and Mako specifications; 1.25 × MAOP test pressure; specification-specific sequences and nitrogen checks; sensitivity with quantities; version history |
| 1.3 | 20 Oct 2026 | EOS-80 water properties; test pressure calculator; FCG run-off check and pre-filled line; document fields and calculation note; chloride or TDS salinity; vacuum pump speed near ultimate and leak check; generic specification checks; sensitivity and calibration log |
| 1.2 | 20 Oct 2026 | Specifications tab; case file, print, limitations list; INPEX Abadi GEP and CCS; seawater lead slug; dew point at atmospheric pressure; DNV hoop stress; restrained-pipe air content term |
| 1.1 | October 2026 | Coated pipe; pig speed as output; distance between pigs; pump operating point, parallel and series; foam pigs before dry air; worked example |
| 1.0 | October 2026 | First issue |
8. Worked example: 16 inch, 30 km line
Every number below is what version 1.9 shows when you open it and change nothing (specification Custom, uncoated pipe, no feed pump). The hand calculation is shown beside each result. Rounding can differ from the app in the last digit.
8.0 Inputs and geometry
| Input | Value |
|---|---|
| Outside diameter, wall thickness | 406.4 mm, 14.3 mm |
| Length, grade | 30,000 m, X65 (SMYS 450 MPa) |
| Temperatures, seawater density | pipe 28 °C, fill water 30 °C, 1,025 kg/m³ |
| Elevation (KP : m) | 0 : −60, 6 : −85, 12 : −110, 18 : −70, 24 : −30, 30 : 0 |
| FCG pump | OCS 12V149 5-stage, 454 m³/h at 41 bar, 1 × 1, no feed pump |
| Pig speed | minimum 0.5 m/s, maximum 1.0 m/s |
| FCG train | brush 0.5 bar, brush 0.5 bar, bi-di 1.0 bar, gauging pig 1.0 bar; 1,000 m seawater lead slug; distance blank (2 %) |
| Hydrotest | 208 bar entered at 0 m, seawater 35 g/kg, WOMA 2502 pump, 0.05 % air, stabilise 4 h, hold 24 h |
| Dewatering, drying | 0.5 m/s, 3 compressors, 2 dryers, 8 bar g, dew point target −20 °C at atmospheric pressure |
ID = 406.4 − 2 × 14.3 = 377.8 mm A = π / 4 × 0.3778² = 0.11210 m² V = 0.11210 × 30,000 = 3,363 m³
8.1 Flooding, cleaning and gauging (FCG)
Step 1, pig speed. Q_req = 0.5 × 0.11210 × 3600 = 201.8 m³/h; Q at v_max = 403.6 m³/h
The pump is rated 454.2 m³/h, so the flow is held at 403.6 m³/h and the pig runs at 1.00 m/s ("Flow is throttled to the 1.00 m/s maximum").
Step 2, train. Distance = 2 % × 30,000 = 600 m; slug = 600 × 0.11210 = 67.3 m³; train = 3 × 600 + 1,000 = 2,800 m
Step 3, duration. t_run = (30,000 + 2,800) / 1.0 = 32,800 s = 9.11 h; with 20 % contingency 10.9 h
Step 4, chemical. The seawater lead slug is not dosed.
Treated water = 3,363 + 3 × 67.3 = 3,565 m³; biocide = 3,565 × 200 / 10⁶ = 0.713 m³ = 713 L
Step 5, gauging plate. 0.95 × 377.8 = 358.9 mm (14.13 in)
Step 6, peak pump pressure. Re = 1,025 × 1.0 × 0.3778 / 0.001 = 387,000; f = 0.0151
| Part | Hand calculation | bar |
|---|---|---|
| Pig differentials | 0.5 + 0.5 + 1.0 + 1.0 | 3.00 |
| Friction | 0.0151 × (29,925 / 0.3778) × 1,025 × 1.0² / 2 / 10⁵ | 6.14 |
| Elevation head | 1,025 × 9.807 × 59.6 / 10⁵ | 5.99 |
| Peak pump pressure, KP 29.9 | 15.1 |
The 5-stage curve gives 43.7 bar at 403.6 m³/h, so the check is OK. The lowest pressure behind the train is 0.5 bar at KP 11.9, so there is no run-off. With one SLOW 350-380B feed pump the set gives 46.5 bar, because the feed pump adds 2.9 bar at 404 m³/h.
Step 7, a longer line and a smaller pump. At 200 km with one 8V92 3-stage pump the line needs 20.3 bar at 202 m³/h and the pump gives 18.7 bar, so it settles at 188 m³/h (0.47 m/s): FAIL. The pump table gives n_ser = ceil [ 20.3 / 18.7 ] = 2 in series. With 3 in series the set gives 50.2 bar and the peak pressure is 35.7 bar.
8.2 Hydrotest
Step 1, water properties (EOS-80, 35 g/kg, 28 °C). ρ₀ = 1,022.4 kg/m³; ρ(208 bar) = 1,031.1 kg/m³; K at P_t = 2.508 GPa; α_w = 333 × 10⁻⁶ /°C
Step 2, local pressure. P_max = 208 + 1,022.4 × 9.807 × 110 / 10⁵ = 219.0 bar at KP 12
Step 3, hoop stress (DNV). The largest differential is at KP 30 (0 m, no external head), 208 bar. At KP 12 the external head of 11.1 bar nearly cancels the extra internal head.
t₁ = 14.3 − 1.0 = 13.3 mm; σ_h = 208 × 10⁵ × (0.4064 − 0.0133) / (2 × 0.0133) = 307 MPa = 68.3 % SMYS
Step 4, volume to add.
| Part | Hand calculation | m³ |
|---|---|---|
| Water | 3,363 × (1,031.1 / 1,022.4 − 1) = 3,363 × 0.00854 | 28.7 |
| Pipe | 3,363 × 208 × 10⁵ × 0.3921 × 0.91 / (207 × 10⁹ × 0.0143) | 8.4 |
| Air | 3,363 × 0.0005 × 208 / 209.0 | 1.7 |
| Total | 38.8 |
Step 5, pumping time. Q = min( 219 L/min , 136 kW × 600 / 208 ) = 219 L/min = 13.1 m³/h; t ≥ 38.8 / 13.1 = 2.95 h. With the 40, 70 and 90 % plateaus the app gives 4.5 h for "Pressurise and plateaus".
Step 6, temperature effect. c_bar = (3.987 + 1.205) × 10⁻¹⁰ × 10⁵ = 5.19 × 10⁻⁵ /bar; dP/dT = (333 − 23.4) × 10⁻⁶ / 5.19 × 10⁻⁵ = 5.96 bar/°C
A 2 °C difference is about 11.9 bar. τ = 7.6 h; t_settle = 7.6 × ln 2 = 5.3 h, longer than the 4.0 h stabilisation, so the app shows CHECK.
Step 7, total. 4.5 + 4.0 + 24.0 + 1.7 (208 bar at 2 bar/min) = 34.2 h (1.4 days)
8.3 Dewatering
Freshwater = 3 slugs × 67.3 = 201.8 m³; train length = 1,800 m; t = (30,000 + 1,800) / 0.5 = 17.7 h
| Part | Hand calculation | bar |
|---|---|---|
| Receiver | input | 1.0 |
| Friction | 0.0166 × (18,000 / 0.3778) × 1,025 × 0.5² / 2 / 10⁵ | 1.0 |
| Static head | 1,025 × 9.807 × 110 / 10⁵ | 11.1 |
| Pig differentials | 0.5 + 0.5 + 1.0 + 1.0 | 3.0 |
| Peak air pressure, KP 12 | 16.1 |
Dry air delivered 25,419 std m³. Water to dispose 3,363 + 202 = 3,565 m³. Film salinity 108 ppm TDS average and 129 ppm at the receiver, against 1,000 ppm.
8.4 Drying with super dry air
Water = π × 0.3778 × 30,000 × 0.0001 = 3.56 m³ = 3,561 kg
w_sat = 0.622 × 0.0378 / (9.013 − 0.0378) = 2.61 g/kg; w_in (−70 °C) = 0.0002 g/kg
t_evap = 3,561 / (1.728 × 0.6 × 0.002613) = 1.314 × 10⁶ s = 365.3 h
Flush. −20 °C at atmospheric pressure: w_target = 0.622 × 0.001033 / (1.01325 − 0.001033) = 0.635 g/kg
n = ln (2.613 / 0.635) = 1.41; × 1.5 = 2.1 volumes; t_turn = 3,363 × 8.896 / 1.44 / 3600 = 5.77 h; t_flush = 1.41 × 1.5 × 5.77 = 12.3 h
Drying, dry air only = 365.3 + 12.3 = 377.5 h (15.7 days)
Foam pigs first. n = ceil [ ln (0.02 / 0.10) / ln 0.5 ] = 3; film = 0.0125 mm; t_pig = (30,000 + 600) / 1.0 / 3600 + 2 = 10.5 h; t_evap = 365.3 × 0.125 = 45.7 h
t_drying = 10.5 + 45.7 + 12.3 = 68.4 h (2.9 days)
Method comparison for this line (Drying tab).
| Method | Drying h | Water evaporated m³ |
|---|---|---|
| MEG swabbing | 35.3 | 0.00 |
| Foam pigs, then vacuum from both ends | 38.2 | 0.45 |
| Foam pigs, then vacuum from one end | 62.9 | 0.45 |
| Foam pigs, then super dry air | 68.4 | 0.45 |
| Vacuum from both ends | 95.7 | 3.56 |
| Vacuum from one end | 193.6 | 3.56 |
| Super dry air only | 377.5 | 3.56 |
8.5 Nitrogen
V_N₂ = 1.2 × 3,363 × (1.513 / 1.013) × 273.15 / 301.15 = 5,467 Nm³; 5,467 / 1,500 = 3.6 h; 8.5 m³ liquid, 6.8 t
8.6 Total programme and sensitivity
| Activity | Hours |
|---|---|
| FCG, with 20 % contingency | 10.9 |
| Hydrotest | 34.2 |
| Dewatering | 17.7 |
| Drying, super dry air only | 377.5 |
| Nitrogen | 3.6 |
| Total | 444.0 (18.5 days) |
The sensitivity table shows the film (0.05 to 0.15 mm: 261 to 627 h), evaporation efficiency (0.4 to 0.8: 624 to 353 h) and seabed temperature (25 to 31 °C: 513 to 387 h) as the assumptions that move the total. Choosing foam pigs and vacuum from both ends brings the total down to about 104 h.