• No se han encontrado resultados

Sobre la distribución de los medios

In document El arte de la guerra Sun Tzu (página 30-35)

This section provides various OpenServer Commands for Enabling or Disabling various elements in GAP.

Function Name Description DoCmd GAP.MOD[{PROD}].

SetDisableSystemValidation()

Will Disable the System Validation flag (under Options tab of GAP)

DoCmd GAP.MOD[{PROD}].

ClearDisableSystemValidation()

Will Enable the System Validation flag (under Options tab of GAP)

DoGet GAP.MOD[{PROD}].

IsDisableSystemValidation

Will allow checking whether the System Validation flag is enabled or disabled.

DoCmd GAP.MOD[{PROD}].

SetDisableAutomaticMasking()

Will Disable the Automatic Masking flag (under Options tab of GAP)

DoCmd GAP.MOD[{PROD}].

ClearDisableAutomaticMasking()

Will Enable the Automatic Masking flag (under Options tab of GAP)

DoGet GAP.MOD[{PROD}].

IsDisableAutomaticMasking

Will allow checking whether the Automatic Masking flag is enabled or disabled.

DoCmd GAP.MOD[{PROD}].

SetDisableLabelValidation()

Will Disable the Label Validation flag (under Options tab of GAP)

DoCmd GAP.MOD[{PROD}].

ClearDisableLabelValidation()

Will Enable the Label Validation flag (under Options tab of GAP)

DoGet GAP.MOD[{PROD}].

IsDisableLabelValidation

Will allow checking whether the Label Validation flag is enabled or disabled.

DoCmd GAP.MOD[{PROD}].

SetDisablePrpGapWellTypeValidation()

Will Disable the PROSPER Well Type Validation flag (under Options tab of GAP)

DoCmd GAP.MOD[{PROD}].

ClearDisablePrpGapWellTypeValidation ()

Will Enable the PROSPER Well Type Validation flag (under Options tab of GAP)

DoGet GAP.MOD[{PROD}].

IsDisablePrpGapWellTypeValidation

Will allow checking whether the PROSPER Well Type Validation flag is enabled or disabled.

DoCmd GAP.MOD[{PROD}].

SetDisablePredScript()

Will Disable the Disable Prediction Script flag (under Predictions tab of GAP)

DoCmd GAP.MOD[{PROD}].

ClearDisablePredScript()

Will Enable the Disable Prediction Script flag (under Predictions tab of GAP)

DoGet GAP.MOD[{PROD}].

IsDisableDisablePredScript

Will allow checking whether the Disable Prediction Script flag is enabled or disabled.

DoCmd GAP.MOD[{PROD}].

SetEnablePredScriptDoubleQuotes()

Will Disable the Prediction Script double quotes flag (under Predictions tab of GAP)

DoCmd GAP.MOD[{PROD}].

ClearEnablePredScriptDoubleQuotes()

Will Enable the Prediction Script double quotes flag (under Predictions tab of GAP)

DoGet GAP.MOD[{PROD}].

IsEnablePredScriptDoubleQuotes

Will allow checking whether the Prediction Script double quotes flag is enabled or disabled.

4.1.12 Scheduling

The user can set the schedule of any model element for the prediction run.

All the schedule events will need to be preceded by the following OpenServer string structure:

GAP.MOD[i].EQUIP[j].SCHEDULE[k]

If the schedule event refers to the entire system, i.e., production network or associated injection network for instance, the following OpenServer string structure can be used:

GAP.MOD[i].SCHEDULE[k]

Where the index i refers to the type of model considered (i.e. refers to the Variables at MOD level, MOD[i] section), the index j refers to the name or numerical index of the network element considered (i.e. refers to the Model Equipement List, EQUIP[i]

section) and the index k refers to the row of the schedule event considered in the schedule event list..

For each record in the schedule, the following fields are considered:

- Date - Event type

- Constraint type (or OpenServer variable) - Constraint value

4.1.12.1Schedule Count

The total number of schedule rows assigned to an element can be derived using the following string:

GAP.MOD[i].EQUIP[j].SCHEDULE.COUNT

4.1.12.2Date

The variable string for the date in the ith model, jth equipment and kth record in the schedule is the following:

GAP.MOD[i].EQUIP[j].SCHEDULE[k].DATE

The above string refers to the date of the scheduled event as a number, and not as a day/month/year format date.

To refer to the date as a day/month/year format, the following string can be used:

GAP.MOD[i].EQUIP[j].SCHEDULE[k].DATE.DATESTR

4.1.12.3Event type

The variable string for the event type in the ith model and jth record in the schedule is:

GAP.MOD[i].EQUIP[j].SCHEDULE[k].TYPE This variable is a read only variable.

The existing types of event and their availability, depends of the type of element considered.

A list of associated keywords are described below:

Event Type Associated Keyword

Bypass BYPASS_ON

Change constraints CONSTRAINT_CHANGE

Change Diameter CHK_SIZECHNG

Change Downtime DOWNTIME_CHANGE

Change Fixed Rate RATE_CHANGE

Fixed rate (Gas) TANK_FIXGAS

Fixed rate (Gas) - off TANK_OFF_FIXGAS

Fixed rate (Wat) TANK_FIXWAT

Fixed rate (Wat) - off TANK_OFF_FIXWAT

Gas recycling TANK_RECYCGAS_PC

Gas recycling - off TANK_OFF_RECYCGAS_PC

Gas recycling (Prd – Amount) TANK_RECYCGAS_FIX Gas recycling (Prd – Amount) - off TANK_OFF_RECYCGAS_FIX

Mask MASK

Pressure target TANK_TARGPRES

Pressure target - off TANK_OFF_TARGPRES

Start well WELL_ON

Stop well WELL_OFF

Stop well, no X-flow WELL_OFF_NO_CROSS

Unbypass BYPASS_OFF

Unmask UNMASK

Voidage Replacement (Gas) TANK_VOIDGAS

Voidage Replacement (Gas) - off TANK_OFF_VOIDGAS

Voidage Replacement (Wat) TANK_VOIDWAT

Voidage Replacement (Wat) - off TANK_OFF_VOIDWAT

Water recycling TANK_RECYCWAT_PC

Water recycling - off TANK_OFF_RECYCWAT_PC

4.1.12.4Constraint Type

When the type of event considered refers to the modification of a model constraint, the constraint to modify needs to be specified.

The string referring to the type of constraint in the ith model and kth record in the schedule is:

GAP.MOD[i]. EQUIP[j].SCHEDULE[k].LPAR[0]

See Constraint_Level_and_Type for further description of constraint names.

4.1.12.5Constraint Value

When the event type considered refers to the setup of a model parameter value or the modification of one of the model constraints, the following string will be used:

GAP.MOD[i]. EQUIP[j].SCHEDULE[k].CVAL[0]

When retrieving a value of a scheduled element, the previous string will return both value and the unit in which it is expressed.

Example: To setup the maximum liquid constraint to 5000STB/d on the 01/01/2005 in a well labeled W1, the following set of strings will be used:

DoSet “GAP.MOD[0]. EQUIP[{W1}].SCHEDULE[0].DATE.DATESTR”,

“01/01/2005”

DoSet “GAP.MOD[0]. EQUIP[{W1}].SCHEDULE[0].LPAR[0]”, “MAXQLIQ”

DoSet “GAP.MOD[0]. EQUIP[{W1}].SCHEDULE[0].CVAL[0]”, 5000

4.1.12.6Schedule Reset

The existing GAP schedule can be reset, either at the production system level, associated injection system level or at the element level using the following strings:

At system level: GAP.MOD[i].SCHEDULE.RESET

At equipment level: GAP.MOD[i].EQUIP[j].SCHEDULE.RESET Note that these should be used with a Doset for example:

At system level: Doset (“GAP.MOD[{PROD}].SCHEDULE.RESET”), 1

At Equipment level: Doset (“GAP.MOD[{PROD}].EQUIP[{Separator}].SCHEDULE.

RESET”), 1

4.1.12.7Apply Schedule To

The OpenServer commands to access the "Apply Schedule To" section are : DoCmd ("Gap.APPLYSCHEDULETO({20/04/2012})")

DoCmd ("GAP.CLEARAPPLIEDSCHEDULE()")

4.1.13 Constraints

4.1.13.1Constraint Level and Type

The following listed constraints are available within GAP.

The availability of these constraints on the system element considered such as a well, joint, separator, etc., will depend of the nature of the element.

The string defining the constraint type should always be preceded by a prefix describing the system level and element on which this constraint should be applied:

- MOD Level Constraints (i.e. System Constraints) :

The constraint name should be preceded in the OpenServer string by a GAP.MOD[{PROD}] prefix.

Example: To set the value of the maximum gas rate constraint applied to the system to 1000MMSCF/d, the following string could be used:

DoSet (“GAP.MOD[0].MAXQGAS”),1000 - NODE Level Constraints :

The constraint name should be preceded in the OpenServer string by a GAP.MOD[{PROD}].NODETYPE prefix.

Example: To set the value of the maximum gas rate constraint applied to the well

“WELL 1” to 100MMSCF/d, the following string could be used:

DoSet (“GAP.MOD[0].WELL[{WELL 1}].MAXQGAS”),100

The well abandonment constraints can be set for each well layer independently using the following structure:

GAP.MOD[0].WELL[{WELL 1}].IPR[i].ABMAXGOR The constraint list is as follows:

Variable Name Description

Well Abandonment Constraints Type

ABMAXGOR Contains the well maximum GOR before abandonment ABMAXWC Contains the well maximum WC before abandonment ABMAXWGR Contains the well maximum WGR before abandonment ABMINGAS Contains the well minimum gas rate before abandonment ABMINLIQ Contains the well minimum liquid rate before

abandonment

General Constraints Type

AlqValueMax Contains the maximum well artificial lift parameter:

- For ESP lifted wells: refers to the ESP frequency

- For PCP lifted wells: refers to the pump speed - For HSP lifted wells: refers to the power fluid

rate

- For Jet Pump lifted wells: refers to the power fluid rate

- For Diluent Injection wells: refers to the diluent injection rate

AlqValueMin Contains the minimum well artificial lift parameter (see above)

ESPFreqMax Contains the maximum ESP frequency ESPFreqMin Contains the minimum ESP frequency

MAXCFACTOR Contains the maximum C factor (pipeline only) MAXDRWDWN Contains the well maximum applied drawdown MAXGINJ Contains the maximum gas injection rate MAXGROSSHEATING Contains the maximum gross heating value MAXPCO2 Contains the maximum mole percentage of CO2 MAXPH2S Contains the maximum mole percentage of H2S

MAXPN2 Contains the maximum mole percentage of N2

MAXPOW Contains the maximum power

MAXPOWERFLUID Contains the maximum power fluid rate, at separator or node level only.

MAXPRESSURE Contains the line maximum pressure (pipeline only) MAXPWF Contains the maximum flowing bottom hole pressure

MAXQGAS Contains the maximum gas rate

MAXQLIQ Contains the maximum liquid rate

MAXQOIL Contains the maximum oil rate

MAXQTOTGAS Contains the maximum total gas rate

MAXQWAT Contains the maximum water rate

MAXSOG Contains the maximum gas specific gravity MAXSPECGROSSHEATIN

G

Contains the maximum specific gross heating value MAXVELOCITY Contains the maximum fluid velocity (pipeline only) MINGINJ Contains the minimum gas injection rate

MINGINJNC Contains the minimum no-close gas injection rate MINPWF Contains the minimum flowing bottom hole pressure

MINQGAS Contains the minimum gas rate

MINQLIQ Contains the minimum liquid rate

MotPowMax Contains the maximum motor power

MotPowMin Contains the minimum motor power

OPTWEIGTH Contains the well optimisation weigth

PCPSpeedMax Contains the maximum PCP speed

PCPSpeedMin Contains the minimum PCP speed

PumpRateConstraint[i][j] Contains an array of minimum and maximum pump rate as a factor of the pump control parameter.

Valid for ESP lifted, PCP lifted, HSP lifted and Jet Pump lifted wells only.

The following numerical indexes are used:

- i: Defines the colum index

0: Refers to the Pump contol parameter column. (See the AlqValueMax constraint for pump control parameter list)

1: Refers to the Minimum Pump Rate Column 2: Refers to the Maximum Pump Rate Column - j: Defines the row index (j values from 0 to 19,

20 columns maximum) SHUTINPRI Contains the well shut in priority factor

4.1.13.2Binding Constraints

Some of the constraints described above can be setup to be either binding or unbinding constraints.

To access the binding section of each constraint, the constraint original OS string should be followed by the BINDING keyword.

The following numerical indexes are used to define the status of the constraint regarding to the binding option:

0 : the constraint is set to non-binding 1 : the constraint is set to binding

Example: To access the binding status of the well “WELL 1” maximum liquid constraint, the following string can be used:

DoGet (“GAP.MOD[0].WELL[{WELL 1}].MAXQLIQBINDING”)

4.1.13.3Constraints and Potential Calculations

By definition, the potential calculation enables to calculate the system potential, i.e., calculating the system production without taking into account any imposed constraints.

However, it is possible to tune the potential status of each constraint to maintain a binding status during the potential calculation.

To access the potential section of each constraint, the constraint original OS string should be followed by the POTENTIAL keyword, except for the specific constraints listed below.

The following numerical indexes are used to define the status of the constraint regarding to the potential calculation:

0 : the constraint is not kept active during the potential calculation 1 : the constraint is kept active during the potential calculation

By default, GAP will keep the constraints that cannot physically be neglected, such as the separator handling capacities for instance.

Example: To keep the liquid constraint of the well “WELL 1” active during the potential calculation, the following string can be used:

DoSet (“GAP.MOD[0].WELL[{WELL 1}].MAXQLIQPOTENTIAL”),1 Variable Name Description

ABMAXPWFPOTENTIAL Contains the maximum flowing bottom hole pressure constraint potential status

MAXGLPOTENTIAL Contains the maximum gas injection constraint potential status

MINGLNCPOTENTIAL Contains the minimum no close gas injection constraint potential status

MINGLPOTENTIAL Contains the minimum gas injection constraint potential status

MXDRWDWNPOTENTIAL Contains the maximum drawdown constraint potential status

OtherConstraintPotential[i] Contains the potential status of the following constraints, depending of the i index value:

- 0: Maximum pump control parameter - 1: Minimum pump control parameter

(See the AlqValueMax constraint for pump control parameter list)

- 2: Minimum motor power - 3: Maximum motor power

In document El arte de la guerra Sun Tzu (página 30-35)

Documento similar