Date Settings Overview
This document provides a detailed overview of date-settings
in an economic model. The main properties (econ functions) include dateSetting
, and cutOff
objects in the given schema.
Example Response
[
{
"id": "644c1396fe1ca20021b143e2",
"copiedFrom": null,
"name": "date-settings test",
"tags": [],
"unique": false,
"createdBy": "6283eac6241df8001331f6a3",
"lastUpdatedBy": "6283eac6241df8001331f6a3",
"createdAt": "2023-04-28T18:42:30.457Z",
"updatedAt": "2023-04-28T18:42:30.457Z",
"dateSetting": {
"maxWellLife": 50,
"asOfDate": {
"date": "2023-05-01"
},
"discountDate": {
"date": "2023-05-01"
},
"cashFlowPriorAsOfDate": false,
"productionDataResolution": "same_as_forecast",
"fpdSourceHierarchy": {
"firstFpdSource": {
"wellHeader": true
},
"secondFpdSource": {
"productionData": true
},
"thirdFpdSource": {
"forecast": true
},
"fourthFpdSource": {
"notUsed": true
},
"useForecastSchedule": true
}
},
"cutOff": {
"maxCumCashFlow": true,
"minLife": {
"none": true
},
"triggerEclCapex": false,
"includeCapex": false,
"discount": 0,
"econLimitDelay": 0,
"alignDependentPhases": false,
"tolerateNegativeCF": 0
}
}
]
Econ Functions
-
dateSetting
: (required) This object includes the following properties:maxWellLife
,asOfDate
,discountDate
,cashFlowPriorAsOfDate
,productionDataResolution
,fpdSourceHierarchy
,firstFpdSource
,secondFpdSource
,thirdFpdSource
,fourthFpdSource
, anduseForecastSchedule
. -
cutOff
: (required) This object includes the following properties:maxCumCashFlow
,minLife
,triggerEclCapex
,includeCapex
,discount
,econLimitDelay
,alignDependentPhases
, andtolerateNegativeCF
.
dateSetting
maxWellLife
: (required) A number representing the maximum well life value.asOfDate
: (required) An object that determines when what should be considered the as-of-date.discountDate
: (required) An object that determines when what should be considered the discount date.cashFlowPriorAsOfDate
: (required) A Boolean that indicates whether cash flow is prior to the as-of date or not.productionDataResolution
: (required) A string that represents the resolution of production data.fpdSourceHierarchy
: (required) An object that contains the hierarchy of First Production Date (FPD) sources.useForecastSchedule
: (required) A Boolean that indicates if the forecast schedule is used or not when there is no production.
asOfDate
date
,dynamic
,fpd
ormajorSegment
(one required):
discountDate
date
,dynamic
,fpd
ormajorSegment
(one required):
fpdSourceHierarchy
firstFpdSource
: (required) An object that contains the first FPD source.secondFpdSource
: (required) An object that contains the second FPD source.thirdFpdSource
: (required) An object that contains the third FPD source.fourthFpdSource
: (required) An object that contains the fourth FPD source.
firstFpdSource, secondFpdSource, thirdFpdSource & fourthFpdSource
date
,wellHeader
,forecast
,linkToWells
,notUsed
orproductionData
: (one required) A Boolean or a string depending on the criteria chosen.
Example dateSetting Request Body
"dateSetting": {
"maxWellLife": 50,
"asOfDate": {
"date": "2023-05-01"
},
"discountDate": {
"date": "2023-05-01"
},
"cashFlowPriorAsOfDate": false,
"productionDataResolution": "same_as_forecast",
"fpdSourceHierarchy": {
"firstFpdSource": {
"wellHeader": true
},
"secondFpdSource": {
"productionData": true
},
"thirdFpdSource": {
"forecast": true
},
"fourthFpdSource": {
"notUsed": true
},
"useForecastSchedule": true
}
}
cutOff
maxCumCashFlow
,firstNegativeCashFlow
,lastPositiveCashFlow
,noCutOff
,oilRate
,gasRate
,waterRate
,date
,yearsFromAsOf
, orlinkToWells
: (one required) A Boolean, number, or string that indicates the end to economic life based on selected criteria trigger.minLife
: (always required) An object that indicates if there is a minimum well life setting.triggerEclCapex
: (only required ifmaxCumCashFlow
,firstNegativeCashFlow
, orlastPositiveCashFlow
is submitted) A Boolean that indicates if there is a trigger for ECL capex.includeCapex
: (only required ifmaxCumCashFlow
,firstNegativeCashFlow
, orlastPositiveCashFlow
is submitted) A Boolean that indicates if capex is included.discount
: (only required ifmaxCumCashFlow
is submitted) A number that represents the discount value.econLimitDelay
: (only required ifmaxCumCashFlow
,firstNegativeCashFlow
, orlastPositiveCashFlow
is submitted) A number that represents the economic limit delay value.alignDependentPhases
: (always required) A Boolean that indicates if dependent phases are aligned.tolerateNegativeCF
: (only required iffirstNegativeCashFlow
is submitted) A number that represents the value to tolerate negative cash flow.
minLife
If the Cut Off method causes the well to shut-in at or shortly after the as-of date, extends the life past a certain number of months or at a hardcoded date.
date
,asOf
,endHist
ornone
: (one required)
Example dateSetting Request Body
"cutOff": {
"firstNegativeCashFlow": true,
"minLife": {
"asOf": 123.4
},
"triggerEclCapex": false,
"includeCapex": true,
"tolerateNegativeCF": 15,
"econLimitDelay": 18,
"alignDependentPhases": false
}
Definitions
alignDependentPhases
A Boolean property that is used in the cutOff
object. This aligns life of all secondary phases to truncate when the primary ends so the dependent phases do not inadvertently extend well life. Possible values are true
and false
.
asOf
A number property representing the number of months to extend the cut-off used in the minLife
object. The minimum value is 0
and the maximum value is 10000000
(10,000,000). Minimum decimal precision is 0.000001
.
cashFlowPriorAsOfDate
A Boolean property that indicates whether cash flow is prior to the as-of date or not. Possible values are true
and false
.
date
This is property representing a date. The property is used in the cutOff
object to determine the when to cut off object at the root level and in the minLife
property. The property is also used in the asOfDate
and discountDate
objects in dateSetting
. The format of the date is YYYY-MM-DD, and the date must fall between 1900-01-01
to 2262-04-01
.
discount
A number property representing percentage that is used in the cutOff
object when maxCumCashFlow
is submitted. Input a discount rate for economic limit if you want the cash flow calculation to take discounting into affect over and above undiscounted numbers. The minimum value is 0
and the maximum value is 100
. Minimum decimal precision is 0.000001
.
dynamic
A string property representing a dynamic date used in the asOfDate
and discountDate
objects. Possible values are "first_of_next_year"
or "first_of_next_month"
.
econLimitDelay
A number property representing months that is used in the cutOff
object when maxCumCashFlow
is submitted. Allows extending the life past the economic limit. Used when you do not detect it is uneconomic immediately, or don't want to lose the lease due to non-payment. The minimum value is 0
and the maximum value is 100
. Minimum decimal precision is 0.000001
.
endHist
A Boolean property that indicates whether to extend the cut-off used in the minLife
object to End Hist. Possible values are true
and false
.
firstNegativeCashFlow
A Boolean property that is used in the cutOff
object to determine the when to cut off. Only used for very aggressive econ cut off. Any monthly revenue where expenses are < 0 will shut-in well. Possible values are true
and false
.
forecast
A Boolean property that is used in one of the FPD source objects (ex: firstFpdSource
) that indicates whether to use the forecast. NOTE: FPD will be pulled from any applied schedule first then from forecast. Possible values are true
and false
.
fpd
A Boolean property that is used in the asOfDate
and discountDate
objects that indicates whether to use the First Production Date. Possible values are true
and false
.
gasRate
A number property represented as MCF/D of gas that is used in the cutOff
object to determine the when to cut off. This will shut-in well when the production stream reaches the specified rate. The minimum value is 0
and the maximum value is 10000000
(10,000,000). Minimum decimal precision is 0.000001
.
includeCapex
A Boolean property that is used in the cutOff
object when either if maxCumCashFlow
, firstNegativeCashFlow
, or lastPositiveCashFlow
is submitted. This allows you to choose whether to let investments in CAPEX cause wells to go uneconomic with negative cash flow. Submit false
to guarantee a well gets drilled and/or not let workovers shut-in wells. Possible values are true
and false
.
lastPositiveCashFlow
A Boolean property that is used in the cutOff
object to determine the when to cut off. This will shut-in the well when the last positive cash flow exists. Possible values are true
and false
.
linkToWells
A string property representing an INPTID
that is used in one of the FPD source objects (ex: firstFpdSource
) that indicates which well to link. This property is also used in the cutOff
object to determine when to cut off. Possible values are a valid INPT ID.
- For FPD source objects - Start Date and FPD will be tied to selected entities' ECL
- For cutOff - Cut Off will be tied to selected entities' ECL.
majorSegment
A Boolean property that is used in the asOfDate
and discountDate
objects that indicates whether to use the major segment. Possible values are true
and false
.
maxCumCashFlow
A Boolean property that is used in the cutOff
object to determine the when to cut off. This is the most common property used for cut off. It maximizes NVP at the specified discount percentage (see discount
). Possible values are true
and false
.
maxWellLife
A number property representing the maximum well life value in years. The minimum value is 0
and the maximum value is 100
. Minimum decimal precision is 0.000001
.
none
A Boolean property that indicates not to extend the cut-off used in the minLife
object. Possible values are true
and false
.
notUsed
A Boolean property that is used in one of the FPD source objects (ex: firstFpdSource
) that dismisses the FPD source completely. User has the ability to not use all four available sources of FPD. Possible values are true
and false
.
noCutOff
A Boolean property that is used in the cutOff
object to determine the when to cut off. This runs to max econ life regardless of forecast or economics. Possible values are true
and false
.
oilRate
A number property represented as BBL/D of oil that is used in the cutOff
object to determine when to cut off. This will shut-in well when the production stream reaches the specified rate. The minimum value is 0
and the maximum value is 10000000
(10,000,000). Minimum decimal precision is 0.000001
.
productionData
A Boolean property that is used in one of the FPD source objects (ex: firstFpdSource
) that ties FPD to production data. The FPD will be pulled from date of first production. Possible values are true
and false
.
productionDataResolution
A string property that represents the resolution of production data. Possible values values: "same_as_forecast"
, "monthly"
, or "daily"
.
tolerateNegativeCF
A number property representing months that is used in the cutOff
object when firstNegativeCashFlow
is submitted. If cash flow periodically runs negative for consecutive periods, specify the number of months ignored before a shut-in event. NOTE: econLimitDelay
triggers after shut in. The minimum value is 0
and the maximum value is 10000000
(10,000,000). Minimum decimal precision is 0.000001
.
triggerEclCapex
A Boolean property that is used in the cutOff
object when either if maxCumCashFlow
, firstNegativeCashFlow
, or lastPositiveCashFlow
is submitted. This allows you to choose whether events triggered by Econ Limit (ie, abandon) appear in the economic run when the well is never cash-flow positive from As Of Date to the end of the run (ie, long-since-shut-in wells). Possible values are true
and false
.
useForecastSchedule
A Boolean property that indicates if the forecast schedule is used or not when there is no production. Possible values are true
or false
.
waterRate
A number property represented as BBL/D of water that is used in the cutOff
object to determine when to cut off. This will shut-in well when the production stream reaches the specified rate. The minimum value is 0
and the maximum value is 10000000
(10,000,000). Minimum decimal precision is 0.000001
.
wellHeader
A Boolean property that is used in one of the FPD source objects (ex: firstFpdSource
) that indicates whether to use the well header. The FPD will be pulled from the well header item "First Prod Date"
. Possible values are true
and false
.
yearsFromAsOf
A number property represented in years that is used in the cutOff
object to determine the when to cut off. This specifies a hardcoded time in years from the as of date to cut off the well. The minimum value is 0
and the maximum value is 1000
. Minimum decimal precision is 0.000001
.