Skip to main content
Glama
gabrielserrao

pyResToolbox MCP Server

gas_rate_radial

Calculate gas production rates for vertical wells using real gas pseudopressure formulation to account for pressure-dependent properties in radial flow systems.

Instructions

Calculate gas production rate for radial flow (vertical well).

INFLOW PERFORMANCE TOOL - Computes gas production rate for vertical wells with radial flow geometry using real gas pseudopressure formulation. This accounts for pressure-dependent gas properties (Z-factor, viscosity) which are significant for gas systems. More accurate than simplified Darcy's law for gas.

Parameters:

  • pi (float, required): Initial/reservoir pressure in psia. Must be > 0. Example: 5000.0.

  • sg (float, required): Gas specific gravity (air=1). Valid: 0.55-3.0. Typical: 0.6-1.2. Example: 0.7.

  • degf (float, required): Reservoir temperature in °F. Valid: -460 to 1000. Example: 180.0.

  • psd (float or list, required): Sandface/draining pressure(s) in psia. Must be > 0 and < pi. Can be scalar or array. Example: 2000.0 or [1000, 2000, 3000].

  • h (float, required): Net pay thickness in feet. Must be > 0. Typical: 10-200 ft. Example: 50.0.

  • k (float, required): Permeability in millidarcies (mD). Must be > 0. Typical: 1-1000 mD. Example: 100.0.

  • s (float, optional, default=0.0): Skin factor (dimensionless). Negative = stimulation, positive = damage. Typical: -5 to +20. Example: 0.0 for undamaged well.

  • re (float, required): Drainage radius in feet. Must be > rw. Typical: 500-5000 ft. Example: 1000.0.

  • rw (float, required): Wellbore radius in feet. Must be > 0. Typical: 0.25-0.5 ft. Example: 0.5.

  • h2s (float, optional, default=0.0): H2S mole fraction (0-1). Typical: 0-0.05. Example: 0.0.

  • co2 (float, optional, default=0.0): CO2 mole fraction (0-1). Typical: 0-0.20. Example: 0.0.

  • n2 (float, optional, default=0.0): N2 mole fraction (0-1). Typical: 0-0.10. Example: 0.0.

Pseudopressure Method: Uses real gas pseudopressure (m(p)) which linearizes the gas diffusivity equation: m(p) = 2∫(p/(μZ))dp from pb to p

This accounts for:

  • Z-factor variation with pressure

  • Gas viscosity variation with pressure

  • Non-linear pressure behavior

Flow Formula: qg = (kh × (m(pi) - m(pwf))) / (1422 × T × (ln(re/rw) + S))

Where PVT properties are integrated over pressure range.

Returns: Dictionary with:

  • value (float or list): Gas rate in MSCF/day (matches input psd shape)

  • method (str): "Pseudopressure radial flow"

  • units (str): "MSCF/day"

  • inputs (dict): Echo of input parameters

Common Mistakes:

  • Using separator temperature instead of reservoir temperature

  • Pressure in barg/psig instead of psia (must be absolute)

  • Not accounting for non-hydrocarbon fractions (H2S, CO2, N2)

  • Using wrong drainage radius (re) - should be well spacing/2

  • Confusing net pay (h) with gross thickness

  • Not accounting for skin factor (s)

Example Usage:

{
    "pi": 5000.0,
    "sg": 0.7,
    "degf": 180.0,
    "psd": [2000, 3000, 4000],
    "h": 50.0,
    "k": 100.0,
    "s": 0.0,
    "re": 1000.0,
    "rw": 0.5,
    "h2s": 0.0,
    "co2": 0.0,
    "n2": 0.0
}

Result: Gas rate decreases as sandface pressure increases (typical IPR curve).

Note: This tool uses pseudopressure method which is more accurate than simplified Darcy's law for gas. Always account for non-hydrocarbon components (H2S, CO2, N2) as they affect Z-factor and flow calculations significantly.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
requestYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden and excels. It discloses the mathematical method (pseudopressure formulation), explains what the calculation accounts for (Z-factor, viscosity variations), provides the flow formula, describes return format, lists common mistakes, and includes example usage. This gives comprehensive behavioral understanding.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (purpose, parameters, method, formula, returns, mistakes, example). While comprehensive, some sections like the detailed parameter list and common mistakes are lengthy but necessary for this complex tool. Every sentence adds value, though it could be slightly more front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex 12-parameter engineering tool with no annotations, the description provides exceptional completeness. It covers purpose, methodology, parameters, formula, returns, common pitfalls, and examples. The output schema exists but the description still usefully explains return structure. This gives agents everything needed to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Despite 0% schema description coverage, the description provides extensive parameter documentation. Each parameter gets: purpose explanation, units, validity ranges, typical values, examples, and practical guidance (e.g., 'must be absolute' for pressure, 'should be well spacing/2' for drainage radius). This fully compensates for the schema gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool calculates gas production rate for vertical wells with radial flow geometry using real gas pseudopressure formulation. It distinguishes from sibling tools like 'gas_rate_linear' by specifying radial flow geometry and from 'gas_pseudopressure' by focusing on production rate calculation rather than pseudopressure alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool (vertical wells with radial flow geometry, gas systems requiring pressure-dependent property accounting) and mentions it's more accurate than simplified Darcy's law. However, it doesn't explicitly state when NOT to use it or name specific alternative tools beyond the general comparison.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/gabrielserrao/pyrestoolbox-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server