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.