POSC Specifications: Epicentre Version 3.0 | Logical Data Model |
Eliminate the concept of a Wellbore_reference. Instead, retain Wellbore_point and Wellbore_interval as subtypes of Wellbore_component_facility to represent interesting "named" point/interval facilities in the wellbore. Since the functionality has changed radically, this is logically equivalent to a delete/add.
CHANGE ERP_wellbore_reference DROP ENTITY wellbore_reference; DROP ENTITY bottomhole (*<CHANGE>Redundant to Wellbore_point.kind.*); DROP ENTITY kick_off_point (*<CHANGE>Redundant to Wellbore_point.kind.*); DROP ENTITY kelly_bushing_reference (*<CHANGE>Redundant to Wellbore_point.kind.*); DROP ENTITY derrick_floor_reference (*<CHANGE>Redundant to Wellbore_point.kind.*); DROP ENTITY ground_level (*<CHANGE>Redundant to Wellbore_point.kind.*); DROP ENTITY hole_in_tubular (*<CHANGE>Redundant to Wellbore_point.kind.*); DROP ENTITY wellbore_measurement_point (*<CHANGE>Redundant to Wellbore_point.kind.*); ALTER ENTITY wellbore_point DROP ABSTRACT ADD SUBTYPE OF (wellbore_component_facility); (*<DESC>An interesting named point in a wellbore. This might represent a point on another facility such as a kelly bushing.*) DROP ref_wellbore_point (*<CHANGE>Redundant to Facility.kind.*); INVERSE ADD wireline_formation_test : SET[0:?] OF wireline_formation_test FOR wellbore_point (*<DESC>Indicates various tests which evaluate this facility.*) (*<VERB>be tested by*); ADD well_test_measurement : SET[0:?] OF well_test_measurement FOR wellbore_point (*<DESC>Indicates various measurements conducted at this site*) (*<VERB>be the site of*); ADD pty_productivity_index : SET[0:?] of pty_productivity_index FOR wellbore_point (*<DESC> These are the productivity index measured at this point.*) (*<VERB>have a property of*); ADD pty_skin_effect : SET[0:?] of pty_skin_effect FOR wellbore_point (*<DESC> These are the skin factors measured at this point.*) (*<VERB>have a property of*); ADD pty_transient_pressure : SET[0:?] of pty_transient_pressure FOR wellbore_point (*<DESC> These are the pressures measured over time at this point.*) (*<VERB>have a property of*); ADD pty_transient_temperature : SET[0:?] of pty_transient_temperature FOR wellbore_point (*<DESC> These are the temperatures over time measured at this point.*) (*<VERB>have a property of*); UNIQUE ADD si : ref_existence_kind, wellbore, identifier, kind, belongs_to_assembly; END_ENTITY; DROP ENTITY ref_wellbore_point (*<CHANGE>Move instances to Facility_class.*); ALTER ENTITY wellbore_interval DROP SUBTYPE OF (edge) ADD SUBTYPE OF (wellbore_component_facility); (*<DESC>An interesting named interval in a wellbore.*) UNIQUE ALTER si DROP wellbore_component_facility, well_completion, geologic_feature, geoscience_interpretation ADD ref_existence_kind FIRST ADD kind, belongs_to_assembly LAST; END_ENTITY; ALTER ENTITY well_test_measurement; ALTER wellbore_measurement_point AS wellbore_point ALTER TYPE AS wellbore_point (*<DESC> This designates a point in the wellbore when this measurement is taken at that point.*); WHERE ALTER ose: (EXISTS(wellbore_point) XOR (EXISTS(temporary_completion) XOR EXISTS(well_completion))) XOR (NOT ((EXISTS(wellbore_point) OR EXISTS(temporary_completion)) OR EXISTS(well_completion))); (*<DESC>Each WELL TEST MEASUREMENT may be made at or made over only one WELLBORE POINT, TEMPORARY COMPLETION or WELL COMPLETION.*) END_ENTITY; ALTER ENTITY wireline_formation_test; ALTER wellbore_measurement_point AS wellbore_point ALTER TYPE AS wellbore_point (*<DESC>This designates a point in the wellbore where this test is conducted, when this test is conducted at a single point.*); END_ENTITY; ALTER ENTITY pty_productivity_index; ALTER wellbore_measurement_point AS wellbore_point ALTER TYPE AS wellbore_point (*<DESC>This designates a point in the wellbore when this productivity index is measured at that point.*); END_ENTITY; ALTER ENTITY pty_skin_effect; ALTER wellbore_measurement_point AS wellbore_point ALTER TYPE AS wellbore_point (*<DESC> This designates a point in the wellbore when this skin effect is measured at that point.*); END_ENTITY; ALTER ENTITY pty_transient_pressure; ALTER wellbore_measurement_point AS wellbore_point ALTER TYPE AS wellbore_point (*<DESC> This designates a point in the wellbore when this pressure is measured at that point.*); END_ENTITY; ALTER ENTITY pty_transient_temperature; ALTER wellbore_measurement_point AS wellbore_point ALTER TYPE AS wellbore_point (*<DESC> This designates a point in the wellbore when this temperature is measured at that point.*); END_ENTITY; END_CHANGE;