PRESENTVALUE
Calculated present value of oil and gas streams from an Eclipse simulation. Optional yearly costs, and optional variation in prices.
usage: presentvalue [-h] [--oilprice OILPRICE] [--gasprice GASPRICE]
[--usdtonok USDTONOK] [--discountrate DISCOUNTRATE]
[--discountto DISCOUNTTO] [--writetoparams]
[--paramname PARAMNAME] [--oilvector OILVECTOR]
[--gasvector GASVECTOR] [--gasinjvector GASINJVECTOR]
[--cutoffyear CUTOFFYEAR] [--econtable ECONTABLE]
[--basedatafiles BASEDATAFILES [BASEDATAFILES ...]] [-v]
[--quiet] [--version]
datafiles [datafiles ...]
Positional Arguments
- datafiles
Input Eclipse DATA files
Named Arguments
- --oilprice
Constant oil price in USD/bbl
Default: 60
- --gasprice
Constant gas price in MNOK/Gsm3
Default: 1.7
- --usdtonok
USD to NOK conversion
Default: 7.0
- --discountrate
Discount rate in percent
Default: 8
- --discountto
Which year to discount to
Default: 2024
- --writetoparams
Write results to parameters.txt
Default: False
- --paramname
Parameter-name in parameters.txt
Default: “PresentValue”
- --oilvector
Eclipse vector to read cumulative oil production from. Use None to ignore.
Default: “FOPT”
- --gasvector
Eclipse vector to read cumulative gas production from. Use None to ignore.
Default: “FGPT”
- --gasinjvector
Eclipse vector to read cumulative gas injection from. Use None to ignore.
Default: “FGIT”
- --cutoffyear
Ignore data beyond 1 Jan this year
Default: 2100
- --econtable
Comma separated table with years as rows, and column names specifying economical parameters. Supported column names: oilprice (USD/bbl), gasprice (NOK/sm3), usdtonok, costs (MNOK)
- --basedatafiles
Input Eclipse DATA files to be used as base cases to calculate delta production profiles
Default: []
- -v, --verbose
Be verbose
Default: False
- --quiet, -q
Be quiet
Default: False
- --version
show program’s version number and exit
Example
The simplest usage if you have a finished simulation named MYSIMULATION.DATA
is the following statement:
$ presentvalue MYSIMULATION.DATA
{'Presentvalue': 11433.1}
where the presentvalue is expressed in MNOK for the year you are discounting to (current year by default).
Economic input
Price parameters can be given as constant values (check the current default by typing presentvalue –help), or if you need something more fancy, as a yearly table. If you give a yearly table, it must be a CSV (comma separated values) file with exact column names. You may also add a cost column if you need to deduct some costs occuring in specific years (in MNOK). You do not need to include all columns, only for the data where you want to deviate from defaults.
Example text file:
year, oilprice, gasprice, usdtonok, costs
2018, 50, 1.6, 7.1, 0
2019, 55, 1.7, 7.0, 100
2020, 53, 1.9, 7.5, 0
2021, 60, 1.95, 7.3, 0
if this table is saved in the file econtable.csv
, you may run the script
as:
$ presentvalue --econtable econtable.csv MYSIMULATION.DATA
Difference profiles
The script can be used to produce yearly difference profiles for the chosen oil
and gas vectors and including discounted values. This is accomplished by
combining the --basedatafiles
and --verbose
. The table output you get
from the script can be copied into Excel or anywhere else.
Financial computations
If you provide costs
in the economical input, you will get some additional
financial measures computed:
- BEP1
Break even computation, computing the oil price needed for zero present value, assuming gas price (in MNOK/Gsm3) is 0.0035288 * oil price (in usd/bbl).
- BEP2
Break even computation assuming the gas prices are completely independent from the oil price, and the gas price in the economical table is used directly.
- IRR
Internal rate of return.
- CEI
The present value divided by the present value from years with negative cash flow.