OPGEE model structure

OPGEE is designed as a generalized LCA/simulation model of processes linked by streams of substances, where each process consumes input streams based and processes them based on thermodynamic principles and/or regression equations to produce one or more output streams. OPGEE supports process cycles, where the output of process A is an input to process B whose output ultimate flows back as an input to A, through zero or more intermediate processes.

The energy consumed and greenhouse gas emissions produced by each process are tracked, and the flow of the functional target (oil or gas) is tracked to one or more user-defined system boundaries, allowing the calculation of a “carbon intensity” in units of g CO2-eq MJ-1.

See also: Configuration System

OPGEE’s Python classes

Model

The Model class is a container for one or more Analysis and Field elements, representing a complete OPGEE model as described by one or more XML input files.

  • Class documentation for Model

  • XML documentation for the <Model> element

Analysis

The Analysis class references one or more Field instances and stores a small number of attributes that are shared across an analysis, namely:

  • GWP horizon – either 20 or 100 years

  • GWP version – one of AR4, AR5, AR5 with C-cycle feedback, or AR6

  • Functional unit – either oil or gas

Default values are indicated in bold text.

A Field may appear in multiple Analyses, e.g., to run it with different GWP time horizons or values from different IPCC reports.

Field

The Field is the primary unit of carbon intensity analysis. It is a container for a directed graph of Process instances connected by Stream instances. A Field can have multiple Boundary nodes that identify points at which CI and energy use can be calculated.

Most OPGEE attributes are defined at the Field level.

  • Class documentation for Field

  • XML documentation for the <Field> element

Process

The Process class is an abstract class, whose subclasses simulate the physical processing units required by oil and gas fields. A Process can have multiple inputs and outputs, represented by instances of the Stream class.

See OPGEE Processes for a comprehensive description of OPGEE’s built-in processes.

Stream

The Stream class represents the substances the directed flow between two Process instances. Each Stream declares its contents so that processes can find specific input and output streams based on what they carry.

  • Class documentation for Stream

  • XML documentation for the <Stream> element

Attribute subsystem

Attribute

  • Class documentation for A

  • XML documentation for the <A> element

Attribute definition

Class attributes