AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified Apache-2.0 Self-run

Neqsim Surf Cooldown Screening

skill-equinor-neqsim-community-skills-surf-cooldown-screening · by equinor

Educational SURF flowline/riser cooldown and no-touch-time screening placeholder with public assumptions. USE WHEN: a task needs a quick, public estimate of how long an insulated subsea flowline stays above its hydrate formation temperature after shutdown, and should be directed to validated NeqSim methods for real cooldown and hydrate calculations.

No reviews yet
0 installs
22 views
0.0% view→install

Install

$ agentstack add skill-equinor-neqsim-community-skills-surf-cooldown-screening

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-equinor-neqsim-community-skills-surf-cooldown-screening)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
1mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Neqsim Surf Cooldown Screening? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

SURF Cooldown Screening

Use this skill for a quick, public estimate of the no-touch time of an insulated subsea flowline or riser after a shutdown: how long the trapped fluid stays above its hydrate formation temperature (plus a safety margin) before remedial action (depressurization or inhibitor injection) is required. It is intentionally simple and should guide users toward validated NeqSim cooldown and hydrate workflows for real work.

When to Use

  • When a user asks roughly how long a subsea line can be left after shutdown

before reaching the hydrate region.

  • When a validated NeqSim hydrate equilibrium temperature and a lumped thermal

time constant (or the data to estimate one) are already available.

  • When an agent should explain that validated NeqSim methods are required for

real cooldown, no-touch-time, and inhibitor design.

Inputs

  • initial_temperature: fluid temperature at shutdown in C.
  • seabed_temperature: ambient seabed (sink) temperature in C.
  • hydrate_equilibrium_temperature: hydrate formation temperature in C from a

validated NeqSim calculation.

  • time_constant_hours: lumped exponential cooldown time constant in hours.
  • hydrate_margin: configurable margin above the hydrate temperature in C

(constructor, default 3.0).

  • required_no_touch_time: optional operational target in hours (constructor).

A helper, time_constant_from_lumped_mass, estimates time_constant_hours from fluid density, specific heat, internal diameter, and an overall U-value using the public lumped relation tau = rho * cp * D / (4 * U).

Outputs

  • no_touch_time_hours: time to cool to the hydrate target temperature.
  • target_temperature_c: hydrate equilibrium temperature plus the margin.
  • verdict: ok, marginal, critical, or no_hydrate_risk.
  • neqsim_available: whether the optional NeqSim package is importable.
  • assumptions: public assumptions and required follow-up.

Engineering Method

The placeholder uses a single-node (lumped) exponential cooldown:

T(t) = T_seabed + (T_initial - T_seabed) * exp(-t / tau)

Solving for the time to reach the hydrate target temperature T_target = T_hydrate + margin:

t_no_touch = -tau * ln((T_target - T_seabed) / (T_initial - T_seabed))

If the hydrate temperature is at or below the seabed temperature (or no value is supplied), the line never enters the hydrate region and the verdict is no_hydrate_risk. Verdict bands: with a required no-touch time, ok at or above the requirement, marginal at or above 75% of it, otherwise critical. Without a requirement, ok at 12 h or more, marginal at 6 h or more, otherwise critical.

This is not a distributed thermal-hydraulic model. The hydrate equilibrium temperature and the thermal time constant must come from validated NeqSim calculations with a defined fluid composition, water content, geometry, and insulation basis.

Python Usage Pattern

from surf_cooldown_screening import SurfCooldownModel

model = SurfCooldownModel(hydrate_margin=3.0, required_no_touch_time=8.0)

tau = SurfCooldownModel.time_constant_from_lumped_mass(
    fluid_density=180.0,        # kg/m3 (dense gas)
    specific_heat=2600.0,       # J/kg.K
    internal_diameter=0.254,    # m
    overall_u_value=2.5,        # W/m2.K
)

result = model.evaluate(
    initial_temperature=65.0,
    seabed_temperature=4.0,
    hydrate_equilibrium_temperature=20.0,
    time_constant_hours=tau,
)

print(result.no_touch_time_hours)
print(result.verdict)
print(result.assumptions)

If the optional neqsim Python package is available, the result records that fact so an agent can recommend moving to validated NeqSim cooldown workflows. If not, the example still runs with fallback placeholder logic.

Validation Checklist

  • [ ] Initial, seabed, and hydrate temperatures are finite.
  • [ ] The hydrate equilibrium temperature came from a validated NeqSim calculation.
  • [ ] The time constant came from a validated lumped or distributed model.
  • [ ] No-hydrate-risk and in-region cases are tested.
  • [ ] The hydrate margin and verdict bands are documented as configurable public

guidelines only.

  • [ ] Results are not used as a design no-touch time or an operating limit.
  • [ ] Real cooldown work is redirected to validated NeqSim methods and qualified

flow assurance review.

Common Mistakes

| Symptom | Cause | Fix | | --- | --- | --- | | No-touch time looks generous but hydrates form early | Time constant underestimated (insulation too optimistic) | Use a validated U-value and lumped/distributed cooldown model | | Verdict always no_hydrate_risk | Hydrate temperature below seabed or omitted | Supply a validated NeqSim hydrate equilibrium temperature | | No-touch time negative or undefined | Initial temperature already at or below the hydrate target | Confirm the operating point and recompute with NeqSim |

Limitations

  • Single-node lumped model only; no axial profile, no transient depressurization.
  • No hydrate phase equilibrium, salinity, methanol, MEG, or kinetics here.
  • No proprietary insulation data or company cooldown specifications.
  • Not suitable for design no-touch time, inhibitor dosage, or operating-limit

decisions.

Related NeqSim Functionality

This educational screening corresponds to validated, rigorous functionality in the NeqSim Java library that a qualified engineer should use for design-grade work:

  • neqsim.pvtsimulation.flowassurance.SurfCooldownAnalyzer — couples a live

fluid to a lumped cooldown engine, auto-extracts density, specific heat, and the hydrate equilibrium temperature, and reports the no-touch time and verdict.

  • neqsim.pvtsimulation.flowassurance.PipelineCooldownCalculator — lumped

layer/U-value cooldown engine with time-to-temperature and time-constant outputs.

  • neqsim.thermodynamicoperations.ThermodynamicOperations#hydrateFormationTemperature()

— rigorous hydrate equilibrium temperature.

In Python the same classes are reachable through the neqsim package (for example from neqsim import jneqsim).

References

  • NeqSim repository: https://github.com/equinor/neqsim
  • DNV-RP-F109, On-bottom stability / thermal design background (public guidance).
  • API RP 17A, Subsea production systems (public scope background).

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.