Skip to main content
Glama

pyResToolbox MCP Server

stock_tank_incremental_gor

Calculate gas evolved from separator to stock tank for separator optimization, gas recovery, and tank venting requirements in petroleum engineering.

Instructions

Calculate incremental GOR from separator to stock tank.

SEPARATOR DESIGN TOOL - Estimates gas evolved between separator and stock tank conditions.

Physics: As oil flows from separator (higher P, T) to stock tank (14.7 psia, ~60°F), additional gas comes out of solution.

Applications:

  • Separator optimization

  • Gas recovery calculations

  • Tank venting requirements

  • VOC emissions estimation

Returns stock tank incremental GOR in scf/stb.

Args: request: Separator pressure, temperature, and oil API

Returns: Dictionary with incremental GOR and guidance

Input Schema

NameRequiredDescriptionDefault
requestYes

Input Schema (JSON Schema)

{ "properties": { "request": { "$ref": "#/$defs/StockTankGORRequest" } }, "required": [ "request" ], "type": "object" }

Implementation Reference

  • The primary handler function decorated with @mcp.tool(). It computes the stock tank incremental GOR using pyrestoolbox.oil.oil_rs_st() based on separator pressure, temperature, and oil API gravity.
    @mcp.tool() def stock_tank_incremental_gor(request: StockTankGORRequest) -> dict: """Calculate incremental GOR from separator to stock tank. **SEPARATOR DESIGN TOOL** - Estimates gas evolved between separator and stock tank conditions. **Physics:** As oil flows from separator (higher P, T) to stock tank (14.7 psia, ~60°F), additional gas comes out of solution. **Applications:** - Separator optimization - Gas recovery calculations - Tank venting requirements - VOC emissions estimation Returns stock tank incremental GOR in scf/stb. Args: request: Separator pressure, temperature, and oil API Returns: Dictionary with incremental GOR and guidance """ rst = oil.oil_rs_st( psp=request.psp, degf_sp=request.degf_sp, api=request.api ) return { "stock_tank_gor_scf_stb": float(rst), "method": "Empirical correlation", "units": "scf/stb", "inputs": request.model_dump(), "note": "Add to separator GOR for total solution GOR at reservoir conditions" }
  • Pydantic BaseModel defining the input parameters and validation for the stock_tank_incremental_gor tool: separator pressure (psp), separator temperature (degf_sp), and oil API gravity (api).
    class StockTankGORRequest(BaseModel): """Request model for stock tank incremental GOR calculation.""" psp: float = Field(..., gt=0, description="Separator pressure (psia)") degf_sp: float = Field( ..., gt=-460, lt=1000, description="Separator temperature (degF)" ) api: float = Field(..., gt=0, le=100, description="Oil API gravity (degrees)")
  • Imports and calls register_oil_tools(mcp) which registers all oil tools including stock_tank_incremental_gor via @mcp.tool() decorators.
    from .tools.oil_tools import register_oil_tools from .tools.gas_tools import register_gas_tools from .tools.inflow_tools import register_inflow_tools from .tools.simtools_tools import register_simtools_tools from .tools.brine_tools import register_brine_tools from .tools.layer_tools import register_layer_tools from .tools.library_tools import register_library_tools register_oil_tools(mcp)
  • The registration function that contains all @mcp.tool() decorators for oil tools, including the one for stock_tank_incremental_gor.
    def register_oil_tools(mcp: FastMCP) -> None: """Register all oil-related tools with the MCP server.""" @mcp.tool()

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