Subsea Xmas tree (vertical)

Vertical subsea tree on a permanent guide base: skirted mudmat, four guide posts on a 6 ft radius, conductor and 18-3/4" wellhead housings, hydraulic collet wellhead connector with lock indicators, valve block with fail-safe hydraulic actuators (PMV, PSV, AMV, PWV, AWV) and ROV overrides, production wing to a retrievable choke module (stepping actuator, ROV handle and bucket) and a horizontal flowline hub, annulus wing to an annulus hub, tree cap with T-handle. Tree frame with guide funnels, ROV panel (buckets, hot stabs, gauges), subsea control module with hydraulic tubing, grab bars, anodes and nameplate. y = 0 is the seabed. Hub ports carry no flange rating.

API 17DISO 13628-4API 17H (ROV interfaces)API 6A
Drag to orbit, scroll to zoom
Parameters

Installation

$npx -y https://decktwin.com/cli/deck-twin-0.2.2.tgz add subsea-tree

Copies drilling/subsea-tree.tsx and the shared lib/ into src/components/deck-twin/. Needs three, @react-three/fiber and @react-three/drei. See installation for the manual route.

Usage

import { Canvas } from '@react-three/fiber'
import { OrbitControls } from '@react-three/drei'
import { Stage } from './components/deck-twin/lib/stage'
import { SubseaTree } from './components/deck-twin/drilling/subsea-tree'

export default function Scene() {
  return (
    <Canvas shadows camera={{ position: [8, 5, 9], fov: 35 }}>
      <Stage>
        <SubseaTree />
      </Stage>
      <OrbitControls makeDefault />
    </Canvas>
  )
}

Props

PropTypeDefaultRange
productionNpsnumber (NPS, in)null
annulusNpsnumber (NPS, in)null
chokebooleannull
tagstringnull
...groupposition, rotation, scale…

P&ID

P&ID symbol for subsea-tree

Same valve stack as a surface tree, but every valve is actuated (small actuator boxes), it sits inside a dashed subsea boundary above the seabed line, and an annulus line and SCSSV control line run alongside. Production master (PMV), production wing (PWV) and the subsea choke sit on the side outlet to the flowline or jumper.

tag XTtag SXTtag WISA XVISA PTISA TTAPI 17D subsea P&ID convention, drawn like the surface tree (ISO 10628-2 valves)

A dashed subsea boundary, seabed line and all-actuated valves distinguish it from a surface christmas-tree. PMV / PWV / AMV / AWV are subsea valve tags, not ISA letter codes.

Subsea tree datasheet (API 17D / ISO 13628-4) fields and the props they set
Production outlet sizeproductionNps
Annulus outlet sizeannulusNps
Subsea chokechoke
Tag numbertag

For agents

Machine-readable entry with props, ranges, defaults and ports:

$npx -y https://decktwin.com/cli/deck-twin-0.2.2.tgz info subsea-tree

Or fetch /r/subsea-tree.json, or copy a ready-made instruction:

Add the Deck Twin "Subsea Xmas tree (vertical)" component to this project. Run `npx -y https://decktwin.com/cli/deck-twin-0.2.2.tgz add subsea-tree` (it copies the file and the shared lib into src/components/deck-twin/), then `npx -y https://decktwin.com/cli/deck-twin-0.2.2.tgz info subsea-tree` for its props, ranges and ports. Render <SubseaTree /> inside a React Three Fiber <Canvas shadows>, wrapped in <Stage> from src/components/deck-twin/lib/stage. Set props from my data (metres, NPS in inches, ASME class) and leave the rest at defaults. Install three, @react-three/fiber, @react-three/drei and @types/three if they're missing. Full guide: https://decktwin.com/skill/SKILL.md