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.
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:
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).
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.
PVT / Fluid Map Workflow
To calculate and export the main PVT properties using whitson+ EOS for all the wells at once:
-
Download the mass upload file: Go to Wells, Mass upload, whitson, and click "Download excel template".
-
Use the mass upload file with: \(T_{res}\), \(p_{Ri}\) and \(GOR_{initial}\) for each well.
-
Upload the file: Go to Wells, Mass upload, whitson, and click "Upload excel file(.xlsx)".
-
Bulk Run: Go to Wells, select the wells, click Run, click "PVT", then Yes.
-
Bulk Export: Go to Wells, select the wells, click Export, click "Well Information Data", then Yes.
-
An excel file will be generated with all the PVT properties for the selected wells.
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.
Procedure:
- Flash all seed compositions \(z_{si}\) at the first stage separator conditions \((p_1, T_1)\).
- Select seed composition yielding separator GOR closest to the input GOR
- The obtained vapor and liquid compositions from flash of selected seed composition are respectively named \(y_i\) and \(x_i\)
- Re-combine the separator oil composition (\(x_i\)) and separator gas composition (\(y_i\)):
- Use \(z_i\) to calculate the GOR of the mixture \(z_i\)
- 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:
- Replace non-hydrcarbons in all seed compositions \(z_{si}\) if user has specified these values.
- 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.
- Select the two seed compositions that bracket the input API.
- Interpolate between the two selected seed compositions to exactly match the input API.
- 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\)
- Recombine the separator oil composition (\(x_i\)) and separator gas composition (\(y_i\)):
- Replace the non-hydrocarbons in calculated \(z_i\) from step 6 by user-specified values
- 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:
- Replace non-hydrcarbons in all seed compositions \(z_{si}\) if user has specified these values.
- 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.
- 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.
- 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.
- Select the two seed compositions that bracket the input saturation pressure.
- Interpolate between the two selected seed compositions using a variable F.
- 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\)
- Recombine the separator oil composition (\(xi\)) and separator gas composition (\(y_i\)): where _Fg being the second variable
- Replace the non-hydrocarbons in calculated \(z_i\) from step 8 by user-specified values
- Calculate saturation pressure and GOR for calculated \(z_i\) using the input reservoir temperature and surface process
- Regress on the two variables i.e. F and Fg to match the target PSAT and GOR
- 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:
- Convert input molar composition of SPO to mass composition (up to \(\mathrm{C_{7+}}\))
- Flash all seed feeds at the given first stage separator conditions to calculate SPOs
- Normalize all SPOs to \(\mathrm{C_{7+}}\)
- 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)
- Calculate \(\mathrm{C_{7+}}\) MW of all SPOs from (4)
- Select two SPOs from (5) that bracket the input SPO \(\mathrm{C_{7+}}\) MW
- Interpolate the two selected SPOs to get a single SPO composition matching the input \(\mathrm{C_{7+}}\) MW exactly
- 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)
- 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:
- Same as steps 1-4 from Procedure without stock tank liquid API presented above.
- 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)
- Select two SPOs from (2) that bracket the input API
- Interpolate the two selected SPOs to get a single SPO composition matching the input API exactly
- 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)
- 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.