arbrandt / OPGEE

Oil Production Greenhouse Gas Emissions Estimator
18 stars 4 forks source link

API gravity definitions for oil sands and heavy oil fields #437

Closed qlangfitt closed 2 years ago

qlangfitt commented 2 years ago

There seems to be inconsistent use of API gravity for upgraded fields (uses “API_grav” input for SCO in flow table, but not sheet calculations – Heavy Oil Upgrading M107).

I think the intent is that the API gravity input represents the post-diluted value. However, in practice OPGEE uses this value both for the (1) undiluted heavy oil API gravity and (2) the diluted product API gravity for oil sands fields (undiluted bitumen uses a secondary input specifically for bitumen instead). This is obviously evident from looking at Table 4.1 in the documentation where crude oil in reservoir and diluted/upgraded crude all use API_grav.

Related to this is that the smart default for GOR and heater/treater selection are based on the API gravity, but if the input API gravity is the post-diluted or post-upgraded value, then this seems incorrect.

arbrandt commented 2 years ago

Just spent an hour looking into this. A few things:

  1. It is inconsistent as is, for sure.
  2. Rewiring the model is the right way to do this. We need to have a single consistent metering point, perhaps module called "crude storage and metering" that is the place where crude at "dead oil" conditions (Standard temperature and pressure with gas out of solution at equilibrium) is measured. This would be the single place for light crude through main path, heavy crude through main path, and bitumen through mining to pass. At this point, API gravity would correspond to dead oil gravity for all types of crude, then the density will change "upstream" from there based on temperature and pressure as it currently does for separation through wellhead.
  3. Making these changes is a fair amount of work, so tabling for now. We can come back to this if desired.
arbrandt commented 2 years ago

It looks like rewiring the model was not needed. Changed the defin of API_O in the lookup table for the relevant product categories and now track API gravity through the storage tank and other stages. Should now give proper density calculations for those streams.