Skip to content

Fluid Definition Module

In this module, the user will input the fluid definition for a given well. The fluid definition is used consistently across different modules of the software, where for a given well the fluid is the same for all calculations.

There are six methods for defining the insitu fluid of a well in whitson+:

Available Data Method Description
Initial GOR whitson+ calculates the initial composition based on initial GOR, the EOS model for the field / basin and a set of samples (or seed feeds) from the same field / basin.
Initial GOR and stock tank API whitson+ calculates the initial composition based on initial GOR, API, the EOS model for the field / basin and a set of samples (or seed feeds) from the same field / basin.
Initial GOR and saturation pressure whitson+ calculates the initial composition based on initial GOR, PSAT, the EOS model for the field / basin and a set of samples (or seed feeds) from the same field / basin.
Dry/Wet gas composition whitson+ uses the input composition up to \(C_{6+}\) and split the \(C_{6+}\) pseudo fraction using an exponential model using the input \(C_{6+}\) MW to get the composition in the component slate of the EOS model
Separator oil and gas compositions whitson+ calculates the initial composition using the known (measured) separator oil and separator gas compositions, their corresponding initial producing separator GOR, the EOS model for the field / basin and a set of samples (or seed feeds) from the same field / basin.
Reservoir fluid composition whitson+ uses the specified composition as the composition of the well.

Which method to choose for a given well?

We recommend to always make use of as much of the available data as possible, as long as the data is quality checked and deemed appropriate for use in the calculations. The least data needed for a given well is the GOR, but for accurate predictions of the fluid we recommend also providing a stock tank oil API, which is easily obtained through field sampling.

The more data that becomes available, the more accurate the calculated initial reservoir composition should become. For further details about the data and the accuracy of the methods, see the methodology for wellstream composition estimation.

Initial GOR

whitson+ calculates the initial composition based on initial GOR, the EOS model for the field / basin and a set of samples from the same field / basin. The GOR can be a total GOR or a GOR at separator conditions.

Required Input Data

The data required to define the fluid in this case is:

  • Initial GOR
  • Reservoir temperature
  • Initial reservoir pressure
  • Surface process associated to the well

Note

The GOR can be a separator GOR or a full process GOR.

surfaceprocess
In the case of a process GOR (left figure), the GOR is calculated as follows: In the case of a separator GOR (right figure), the GOR is given by: Note that the separator GOR is given in standard gas volume per separator oil volume (e.g. MMscf/sep. bbl), while the surface process GOR is given in standard volume per standard volume (e.g. MMscf/STB). Also Note that in whitson+ the last stage \((p,T)\) conditions are always the standard conditions (14.7 psia and 60 F).

Estimation of the Initial Reservoir Fluid

The Regression on Fg method is used to estimate the in-situ reservoir composition \(z_{i}\).

Initial GOR and stock tank API

whitson+ calculates the initial composition based on initial GOR, API, the EOS model for the field / basin and a set of samples from the same field / basin.

Required Input Data

The data required to define the fluid in this case is:

  • Initial GOR (total process GOR or GOR at first-stage separataor)
  • Initial stock tank oil API
  • Reservoir temperature
  • Initial reservoir pressure
  • Surface process associated to the well
  • (optional) Amounts of non-hydrocarbons
Why Isn't Gas Specific Gravity a Required Input?

Many conventional PVT correlations (e.g. correlations given by Standing) require gas specific gravity as an input. Hence, some people might wonder why gas specific gravity is not needed as an input here. The short answer is that when developing this method, we didn't find systematically better results when incorporating gas specific gravity as an input. This is because fluid type is not that correlated to gas specific gravity as for instance GOR and API, as seen in Table 2.1 in the SPE Phase Behavior.

Additionally, there is no need to have this additional datapoint, as it is already "implicitly" provided/constrained by the already available input data. How? Separator gas specific gravity can be calculated from the separator gas compositions. Separator gas compositions is found by multiplying the equilibrium ratios (K-values = yi/xi) provided by the EOS model with the separator oil composition. The separator oil composition is estimated from the the liquid API and separator conditions.

Note

If the amounts of non-hydrocarbons are not specified by the user, the calculated composition will inherit these amounts from the selected seed feed composition, which are generally average values in the given field or basin. We recommend specifying these amounts if the variation of non-hydrocarbons amounts is large in your field, for accurate description of these components in the calculated composition.

Estimation of the Initial Reservoir Fluid

The API Interpolation / Fg regression is used to estimate the in-situ reservoir composition \(z_{i}\).

Initial GOR and Saturation Pressure

whitson+ calculates the initial composition based on initial GOR, PSAT, the EOS model for the field / basin and a set of samples from the same field / basin.

Required Input Data

The data required to define the fluid in this case is:

  • Initial GOR (total process GOR or GOR at first-stage separataor)
  • Saturation pressure
  • Reservoir temperature
  • Initial reservoir pressure
  • Surface process associated to the well
  • (optional) Amounts of non-hydrocarbons

Estimation of the Initial Reservoir Fluid

The PSAT Interpolation / Fg regression is used to estimate the in-situ reservoir composition \(z_{i}\).

Dry or Wet Gas Composition

whitson+ calculates the initial composition based on the specified dry/wet gas reservoir fluid composition up to \(C_{6+}\) and the input \(C_{6+}\) MW. The input composition is honored exactly and the \(C_{6+}\) fraction total amount is split into heavier fractions (defined in the EOS model) using an exponential molar distribution model knowing the \(C_{6+}\) MW.

Required Input Data

The data required to define the fluid in this case is:

  • Dry/wet gas composition up to \(C_{6+}\)
  • Reservoir temperature
  • Initial reservoir pressure
  • \(C_{6+}\) MW

Separator Oil and Gas Compositions

whitson+ calculates the initial composition using the known (measured) separator oil and separator gas compositions, their corresponding initial producing separator GOR, the EOS model for the field / basin and a set of samples (or seed feeds) from the same field / basin.

Required Input Data

The data required to define the fluid in this case includes:

  • Initial separator (well test) GOR
  • Measured composition of separator oil and separator gas (up to \(\mathrm{C_{7+}}\))
  • \(\mathrm{C_{7+}}\) molecular weights (for both separator oil and separator gas)
  • Separator \((p, T)\) conditions
  • Reservoir temperature
  • Initial reservoir pressure
  • (Optional) Stock tank liquid API

An example dataset is provided here in PDF format and here in Excel format

Note

Note that separator GOR is the "well test GOR" measured right after the separator:

surfaceprocess
The separator GOR is computed as follows: and is given in scf/sep. bbl (or sm³/sep. m³).
Note that the oil rate is at separator conditions, i.e. without applying a shrinkage factor.

When stock tank liquid API is important?

It is important to note that the stock tank liquid API referred here is the API measured on the stock tank oil from the single stage (atmospheric) flash of the collected separator oil in the PVT lab. The calculated composition without stock tank liquid API input should be accurate if the \(\mathrm{C_{7+}}\) of separator oil is relaible from the PVT lab. If the lab reported separator oil \(\mathrm{C_{7+}}\) is not reliable then it is recommended to specify the measured stock tank oil API. In that case, whitson+ will estimate the \(\mathrm{C_{7+}}\) molecular weight honoring the input API. The estimated \(\mathrm{C_{7+}}\) molecular weight is then used to extend the \(\mathrm{C_{7+}}\) composition to EOS \(\mathrm{C_{N+}}\) (e.g. \(\mathrm{C_{36+}}\)).

Why does whitson+ need separator oil \(\mathrm{C_{7+}}\) molecular weight when user inputs stock tank liquid API?

Separator oil \(\mathrm{C_{7+}}\) molecular weight is used in whitson+ for two different purposes; (i) converting the lab reported molar composition to lab measured mass composition and (ii) extending the \(\mathrm{C_{7+}}\) composition to EOS \(\mathrm{C_{N+}}\) (e.g. \(\mathrm{C_{36+}}\)). If the lab \(\mathrm{C_{7+}}\) is not reliable, this would mean that the lab reported molar composition of separator oil up to \(\mathrm{C_{7+}}\) is wrong due to wrong (unreliable) \(\mathrm{C_{7+}}\) molecular weight being used to convert the reliable measured mass composition to reported molar composition. Therefore, lab \(\mathrm{C_{7+}}\) molecular weight is always needed (and used) to convert back the lab reported molar composition to measured mass composition up to \(\mathrm{C_{7+}}\). For (ii), the lab reported \(\mathrm{C_{7+}}\) molecular weight is used if stock tank oil API is not input, otherwise the estimated \(\mathrm{C_{7+}}\) molecular weight is used honoring the input API.

Estimation of the Initial Reservoir Fluid

The comprehensive separator data matching method is used to estimate the in-situ reservoir composition \(z_{i}\).

Reservoir Fluid Composition

whitson+ uses the specified composition as the composition of the well.

Required Input Data

The only data required to define the fluid in this case is the fluid composition. The composition should be provided in the same compositional slate as the EOS model associated to the field for the well in question.

Estimation of the Initial Reservoir Fluid

There is no estimation of the initial reservoir fluid in this case, as the provided composition is already the initial reservoir fluid to be used in calculation.

Define Surface Process

Each well in whitson+ has a surface process associated to it. This surface process is used in different modules, wherever a surface process is required (e.g. black oil tables or defining the insitu fluid from API and GOR).

surfaceprocess

Multiple wells can share the same surface process, and the connection is done through the name of the process. This means that when two wells have the same process name, they are using the same process and updating the process for one well will affect the other well too.

It is at any given time possible to link and de-link wells to a surface process, as well as change process conditions or number of stages.

Phase Envelope Generation

Given a feed composition (\(z_i\)) and equation of state (EOS) fluid model, a pressure-temperature phase envelope is generated yielding the pressure-temperature boundary of the two-phase region and the associated fluid type of the boundary (bubble-point or dew-point). In addition to the phase boundary, the phase envelope estimates the critical point (if one exists). To give a reference to the initial reservoir fluid classification, the initial reservoir conditions are also plotted with the phase envelope.

Export Formats

The phase envelope can be exported as either (1) only a figure or (2) a figure with the associated data. The "export to figure" option gives the option of either a PNG or SVG file. PNG files are a standard figure format, while a SVG files are so-called vector-format files (e.g. enhanced metafile in Microsoft Office products).

Note

If you are planing on using PowerPoint (or other Microsoft Office products), we suggest using the SVG file. The reason for this is that it gives better resolution (because of the vector format).

The "export to Excel" option automatically generates an Excel file with the data in the phase envelope figure and a separate worksheet with the figure.

Wellstream Composition Estimation

Introduction

The following table summarizes the methods and the required input data. See Carlsen et al. for a comparative study of the different methods.

Every method requires an Equation of State (EOS) model and a seed feed composition. And the chosen method will largely depend on the data available to estimate the wellstream composition.

Available Data Method
GOR Regression on Fg
GOR and API gravity API Interpolation / Fg regression
GOR and Saturation Pressure PSAT Interpolation / Fg regression
Comprehensive separator data (GOR, MW, sep. gas & oil composition) SPO Interpolation / recombination

Seed Feed Compositions

Seed feed composition serves as an initial estimate of the actual wellstream composition. Any EOS model in whitson+ must contain a set of seed feed compositions applicable to the given field/basin. Seed feeds are required to estimate the actual wellstream composition with limited PVT data (see whitson+ wellstream estimation methods below). Seed feed compositions can either be actual sample compositions collected from a given field/basin or synthetically generated compositions honoring the trends of actual measured data such as stock tank oil API, GOR, \(\mathrm{C_{7+}}\) MW, etc.

The seed feed table associated to an EOS model in whitson+ can have a single composition or multiple compositions depending on the complexity of the fluid types in the given field/basin. For example, unconventional reservoirs have wide range of GOR and API varying spatially. A single EOS model applicable to the entire basin must contain seed feeds that cover the entire range of expected stock tank oil APIs and GORs. This is to make sure that for any expected values of very limited (yet readily available) PVT data such as GOR and/or API, a reasonable estimate of the actual wellstream composition would be available. This estimate of the actual wellstream (called as seed feed) can then be fine-tuned to honor all measured input data resulting into the actual wellstream composition.

The accuracy of the calculated wellstream depends heavily on the amount and type of the PVT data available for wellstream composition estimation. For this reason, whitson+ offers different wellstream estimation methods (see below) starting from the very basic single-input GOR method to the very complicated Separator composition method. These methods give the user complete flexibility to use any/all measured data to get a wellstream composition as accurate as possible.

Methods

GOR Matching

This is a simplified method using very limited data. It only requires a GOR and a surface process. The GOR can be a separator GOR or a full process GOR. See the note below for more details

Note

The GOR can be a separator GOR or a full process GOR.

surfaceprocess
In the case of a process GOR (left figure), the GOR is calculated as follows: In the case of a separator GOR (right figure), the GOR is given by: Note that the separator GOR is given in standard gas volume per separator oil volume (e.g. MMscf/sep. bbl), while the surface process GOR is given in standard volume per standard volume (e.g. MMscf/STB)

Procedure:

  1. Flash all seed compositions \(z_{si}\) at the first stage separator conditions \((p_1, T_1)\).
  2. Select seed composition yielding separator GOR closest to the input GOR
  3. The obtained vapor and liquid compositions from flash of selected seed composition are respectively named \(y_i\) and \(x_i\)
  4. Re-combine the separator oil composition (\(x_i\)) and separator gas composition (\(y_i\)):
  5. Use \(z_i\) to calculate the GOR of the mixture \(z_i\)
  6. Calculate a RMS error (\(\delta_\mathrm{RMS}\)) quantifying the quality of the predictions:

The regression consists of minimizing \(\delta_\mathrm{RMS}\) by changing \(f_g\).

Note

The regression always leads to a composition that matches exactly the measured GOR.

GOR and API Gravity Matching

This wellstream composition estimation method is a simplified method used when limited field data is available: GOR and stock tank oil API gravity. The input GOR can be a (total) process GOR or GOR from the first stage separator, see this note for more details. Optionally, user can also specify the amounts of non-hydrocarbons (when available) for accurate description of these components in the calculated composition.

Procedure:

  1. Replace non-hydrcarbons in all seed compositions \(z_{si}\) if user has specified these values.
  2. Flash all the seed compositions \(z_{si}\) from step 1 thorugh the input process conditions. Calculate the corresponding API and GOR for each seed composition.
  3. Select the two seed compositions that bracket the input API.
  4. Interpolate between the two selected seed compositions to exactly match the input API.
  5. Flash the interpolated composition (step 4) at the first stage separator conditions. The obtained separator gas and oil compositions are respectively named \(y_i\) and \(x_i\)
  6. Recombine the separator oil composition (\(x_i\)) and separator gas composition (\(y_i\)):
  7. Replace the non-hydrocarbons in calculated \(z_i\) from step 6 by user-specified values
  8. Use \(z_i\) from step 7 to calculate the first-stage separator GOR and (total) process GOR and stock tank liquid API gravity using the user-specified surface process. The \(z_i\) will match the input (process or separator) GOR and liquid API gravity exactly along with the non-hydrocarbons (if specified).

Note

This method always leads to a composition that matches exactly the input data; GOR, API gravity and non-hydrocarbons (when available) except when the input API gravity is outside the range of APIs in the table of seed compositions.

GOR and PSAT Matching

This wellstream composition method is similar to API-GOR method. The method is used when the GOR and saturation pressure are known for the wellstream composition either from PVT lab measurements or from production data analysis. The input GOR can be a (total) process GOR or GOR from the first stage separator, see this note for more details. Optionally, user can also specify the amounts of non-hydrocarbons (when available) for accurate description of these components in the calculated composition.

Procedure:

  1. Replace non-hydrcarbons in all seed compositions \(z_{si}\) if user has specified these values.
  2. Flash all the seed compositions \(z_{si}\) from step 1 thorugh the first stage separator of the input process conditions. Calculate the corresponding separator oil and separator gas compositions of all seed compositions.
  3. Recombine the calculated separator oil and separator gas for each seed composition from step 2 to match the input (separator or total) GOR, yielding new (modified) seed compositions honoring the input GOR.
  4. Filter the seed feed table by remvoing modified seed compositions calculated in step 3 that yield no (or unrealistic) saturation pressures at input reservoir temperature.
  5. Select the two seed compositions that bracket the input saturation pressure.
  6. Interpolate between the two selected seed compositions using a variable F.
  7. Flash the interpolated composition (step 6) at the first stage separator conditions. The obtained separator gas and oil compositions are respectively named \(y_i\) and \(x_i\)
  8. Recombine the separator oil composition (\(xi\)) and separator gas composition (\(y_i\)): where _Fg being the second variable
  9. Replace the non-hydrocarbons in calculated \(z_i\) from step 8 by user-specified values
  10. Calculate saturation pressure and GOR for calculated \(z_i\) using the input reservoir temperature and surface process
  11. Regress on the two variables i.e. F and Fg to match the target PSAT and GOR
  12. The \(z_i\) calculated after regression will match the input (process/total or separator) GOR and saturation pressure exactly along with the non-hydrocarbons (if specified).

Note

This method generally leads to a composition that matches exactly the input data; GOR, PSAT and non-hydrocarbons (when available) except when the input saturation pressure is outside the range of saturation pressures in the table of seed compositions calculated in step 4. In a very few cases, generally for a combination of very low saturation pressures (i.e. less than 2500 psia) and very high GORs (i.e. greater than 25000 scf/STB), the inputs may not be matched depending on the fluid systems used to develop the EOS model. In that case, the user should either review the inputs or contact our support.

Comprehensive Separator Data Matching

This wellstream composition estimation method requires the following separator data:

  • Separator \((p, T)\) conditions
  • Separator GOR (see this note for more details)
  • Separator oil (SPO) & gas (SPG) compositions (up to \(\mathrm{C_{7+}}\))
  • \(\mathrm{C_{7+}}\) average MW of separator oil and gas
  • (Optional) Stock tank liquid API gravity
When stock tank liquid API is important?

It is important to note that the stock tank liquid API referred here is the API measured on the stock tank oil from the single stage (atmospheric) flash of the collected separator oil in the PVT lab. The calculated composition without stock tank liquid API input should be accurate if the \(\mathrm{C_{7+}}\) of separator oil is relaible from the PVT lab. If the lab reported separator oil \(\mathrm{C_{7+}}\) is not realiable then it is recommended users to specify the measured stock tank oil API. In that case, whitson+ will estimate the \(\mathrm{C_{7+}}\) molecular weight honoring the input API. The estimated \(\mathrm{C_{7+}}\) molecular weight is then used to extend the \(\mathrm{C_{7+}}\) composition to EOS \(\mathrm{C_{N+}}\) (e.g. \(\mathrm{C_{36+}}\)).

Why does whitson+ need separator oil \(\mathrm{C_{7+}}\) molecular weight when user inputs stock tank liquid API?

Separator oil \(\mathrm{C_{7+}}\) molecular weight is used in whitson+ for two different purposes; (i) converting the lab reported molar composition to lab measured mass composition and (ii) extending the \(\mathrm{C_{7+}}\) composition to EOS \(\mathrm{C_{N+}}\) (e.g. \(\mathrm{C_{36+}}\)). If the lab \(\mathrm{C_{7+}}\) is not reliable, this would mean that the lab reported molar composition of separator oil up to \(\mathrm{C_{7+}}\) is wrong due to wrong (unreliable) \(\mathrm{C_{7+}}\) molecular weight being used to convert the reliable measured mass composition to reported molar composition. Therefore, lab \(\mathrm{C_{7+}}\) molecular weight is always needed (and used) to convert back the lab reported molar composition to measured mass composition up to \(\mathrm{C_{7+}}\). For (ii), the lab reported \(\mathrm{C_{7+}}\) molecular weight is used if stock tank oil API is not input, otherwise the estimated \(\mathrm{C_{7+}}\) molecular weight is used honoring the input API.

Procedure wihtout stock tank liquid API:

  1. Convert input molar composition of SPO to mass composition (up to \(\mathrm{C_{7+}}\))
  2. Flash all seed feeds at the given first stage separator conditions to calculate SPOs
  3. Normalize all SPOs to \(\mathrm{C_{7+}}\)
  4. Calculate new set of SPOs by adding \(\mathrm{C_{6-}}\) mass distribution of input SPO from (1) to \(\mathrm{C_{7+}}\) mass distributions of all SPOs from (3)
  5. Calculate \(\mathrm{C_{7+}}\) MW of all SPOs from (4)
  6. Select two SPOs from (5) that bracket the input SPO \(\mathrm{C_{7+}}\) MW
  7. Interpolate the two selected SPOs to get a single SPO composition matching the input \(\mathrm{C_{7+}}\) MW exactly
  8. Use exponential molar distribution model with input SPG \(\mathrm{C_{7+}}\) MW to calculate extended SPG molar composition (honoring the input \(\mathrm{C_{6-}}\) molar amounts and total \(\mathrm{C_{7+}}\) molar amount of SPG)
  9. Recombine the interpolated SPO from (7) and extended SPG from (8) to match the input GOR exactly at given first stage separator conditions

Procedure with stock tank liquid API:

  1. Same as steps 1-4 from Procedure without stock tank liquid API presented above.
  2. Single stage flash of all SPOs to calculate STO API. (Standard conditions i.e. 14.7psia and 60 F are used to do the flash. Some labs may measure API by doing single stage flash at different temperature than 60 F)
  3. Select two SPOs from (2) that bracket the input API
  4. Interpolate the two selected SPOs to get a single SPO composition matching the input API exactly
  5. Use exponential molar distribution model with input SPG \(\mathrm{C_{7+}}\) MW to calculate extended SPG molar composition (honoring the input \(\mathrm{C_{6-}}\) molar amounts and total \(\mathrm{C_{7+}}\) molar amount of SPG)
  6. Recombine the interpolated SPO from (4) and extended SPG from (5) to match the input GOR exactly at given first stage separator cinditions

Warning

The estimated wellstream composition when flashed to the input first stage separator conditions will yield the input GOR exactly. There might be deviations in the calculated separator oil and separator gas compositions and SPO \(\mathrm{C_{7+}}\) MW (or stock tank liquid API) when compared to the input data, mainly depending on whether the separator samples were in equilibrium at the given separator conditions.

References

[1] Carlsen M., Dahouk, M., Mydland, S. and Whitson C., Compositional Tracking: Predicting Wellstream Compositions in Tight Unconventionals, IPTC-19596-MS, Society of Petroleum Engineers, 2020.

[2] Carlsen, M., Whitson, C. H., Dahouk, M., Younus, B., Yusra, I., Kerr, E., Nohavitza, J., Thuesen, M., Drozd, J., Ambrose, R. and Mydland, S., Compositional Tracking of a Huff-n-Puff Project in the Eagle Ford, URTEC-2019-539, Society of Petroleum Engineers, 2019.

[3] Hoda. M. F., Whitson, C. H., Well Test Rate Conversion to Compositional Wellstream , SPE-164334-MS, Society of Petroleum Engineers, 2013.

[4] Hoda, M. F., Hoffmann, A., Kuntadi, A., Advances in Molar Wellstream Computation from Well Test Measurements, SPE-185988-MS, Society of Petroleum Engineers, 2017.

[5] Hoffmann, A., Taeger, J. P., Whitson, C. H., Application of Well Test Rate Conversion to Gas Condensate Reservoirs in the Nile Delta Complex, SPE-185849-MS, Society of Petroleum Engineers,2017.

[6] Whitson, C. H., & Sunjerga, S., PVT in Liquid-Rich Shale Reservoirs, SPE-155499-MS, Society of Petroleum Engineers, 2012.