POSC Specifications: Epicentre Version 3.0 | Logical Data Model |
The concept of a cargo describes a discrete amount of material which is stored and/or transported, probably being the subject of a contract.
CHANGE ESM2_fluid_cargo (*<REMARK> CHANGE ESM2_fluid_cargo *) (*<desc> The concept of a cargo describes a discrete amount of material which is stored and/or transported, probably being the subject of a contract.*) ADD ENTITY pfnu_cargo_connection (*<desc> The description of the connection of two ports of different product flow network units in a manner that implies that discrete cargos must be utilized to transport fluids between them.*) SUBTYPE OF (pfnu_external_connection); INVERSE fluid_cargo : SET [0:?] OF fluid_cargo FOR pfnu_cargo_connection (*<desc> These are the fluid cargos that are transported from the inlet port to the outlet port of this connection.*) (*<verb>be used to transport*); UNIQUE si: end_time, start_time, inlet_port, outlet_port; END_ENTITY; ALTER ENTITY pfnu_external_connection; INVERSE DROP pty_diameter; DROP pty_pressure_change; END_ENTITY; ALTER ENTITY pfnu_external_direct_conn; INVERSE ADD pty_diameter : SET [0:?] OF pty_diameter FOR pfnu_external_direct_conn (*<desc> This is the effective internal diameter of this connection.*) (*<verb>have a property of*); ADD pty_pressure_change : SET [0:?] OF pty_pressure_change FOR pfnu_external_direct_conn (*<desc> This defines the pressure change from the inlet port to the outlet port for this connection.*) (*<verb>have a property of*); END_ENTITY; ALTER ENTITY pfnu_external_span_connection (*<desc> The description of the connection of two ports of different product flow network units in a manner that implies a distance between the two ports that is bridged by a span. This might be a flow line from a wellhead to the production gathering facility. The characteristics of the span are unimportant, and only weakly described.*); INVERSE ADD pty_diameter : SET [0:?] OF pty_diameter FOR pfnu_external_span_connection (*<desc> This is the effective internal diameter of this connection.*) (*<verb>have a property of*); ADD pty_pressure_change : SET [0:?] OF pty_pressure_change FOR pfnu_external_span_connection (*<desc> This defines the pressure change from the inlet port to the outlet port for this connection.*) (*<verb>have a property of*); END_ENTITY; ALTER ENTITY pty_diameter; DROP pfnu_external_connection; ADD pfnu_external_direct_conn : OPTIONAL pfnu_external_direct_conn (*<desc> This is the direct pfnu port connection that this diameter describes.*) (*<verb>be a property of*); ADD pfnu_external_span_connection : OPTIONAL pfnu_external_span_connection (*<desc> This is the span pfnu port connection that this diameter describes.*) (*<verb>be a property of*); UNIQUE ALTER si DROP pfnu_external_connection ADD pfnu_external_direct_conn, pfnu_external_span_connection LAST; END_ENTITY; ALTER ENTITY pty_pressure_change; DROP pfnu_external_connection; ADD pfnu_external_direct_conn : OPTIONAL pfnu_external_direct_conn (*<desc> This is the direct pfnu port connection that this pressure change describes.*) (*<verb>be a property of*); ADD pfnu_external_span_connection : OPTIONAL pfnu_external_span_connection (*<desc> This is the span pfnu port connection that this pressure change describes.*) (*<verb>be a property of*); UNIQUE ALTER si DROP pfnu_external_connection ADD pfnu_external_direct_conn, pfnu_external_span_connection LAST; END_ENTITY; ALTER ENTITY business_object DROP SUPERTYPE OF (reserves_sale_commitment); END_ENTITY; ADD ENTITY fluid_cargo (*<desc> The volume or mass of fluid, specifically hydrocarbons, that are stored or in transit, usually from a seller to a buyer.*) SUBTYPE OF (business_object); identifier : ndt_identifier (*<desc> The identifier, such as a cargo number, for the fluid cargo.*); fluid_component : fluid_component (*<desc> The specific or generic fluid in the cargo.*) (*<verb>composed of*); start_date : OPTIONAL ndt_date_tod (*<desc> The date and time when this fluid cargo was created, such as when loaded into a stationary container, a vessel or a pipeline.*); end_date : OPTIONAL ndt_date_tod (*<desc> The date and time when this fluid cargo ceases to exist, such as when unloaded from a stationary container, offloaded from a vessel or delivered by a pipeline.*); containing_facility : OPTIONAL general_facility (*<desc> This is the facility that holds the fluid cargo, such as a ship or a pipeline.*) (*<verb>contained within*); pfnu_cargo_connection : OPTIONAL pfnu_cargo_connection (*<desc> This is the description of the initial and terminal sites for the fluid cargo. These sites are defined as fluid inlets and outlets of producing, processing, storage and transporting facilities.*) (*<verb>be transported over*); INVERSE transfer_target : SET[0:?] OF fluid_cargo_transfer FOR cargo_source (*<desc> These are the fluid cargo transfers which use this fluid cargo as a source. That is, they transfer fluid from this fluid cargo to another one.*) (*<verb>transfer fluid to*); transfer_source : SET[0:?] OF fluid_cargo_transfer FOR cargo_target (*<desc> These are the fluid cargo transfers which use this fluid cargo as a target. That is, they transfer fluid from another fluid cargo to this one.*) (*<verb>receive fluid from*); pty_standard_volume_gas : SET[0:?] OF pty_standard_volume_gas FOR fluid_cargo (*<desc> When the fluid in the fluid cargo is a vapor, this defines the volume at standard conditions of the fluid cargo.*) (*<verb>have a property of*); pty_standard_volume_liquid : SET[0:?] OF pty_standard_volume_liquid FOR fluid_cargo (*<desc> When the fluid in the fluid cargo is a liquid, this defines the volume at standard conditions of the fluid cargo.*) (*<verb>have a property of*); pty_transient_density_liquid : SET[0:?] OF pty_transient_density_liquid FOR fluid_cargo (*<desc> When the fluid in the fluid cargo is a vapor, this defines the density at in-situ conditions of the fluid cargo.*) (*<verb>have a property of*); pty_transient_density_vapor : SET[0:?] OF pty_transient_density_vapor FOR fluid_cargo (*<desc> When the fluid in the fluid cargo is a liquid, this defines the density at in-situ conditions of the fluid cargo.*) (*<verb>have a property of*); pty_transient_mass : SET[0:?] OF pty_transient_mass FOR fluid_cargo (*<desc> This is the mass of the fluid cargo.*) (*<verb>have a property of*); pty_transient_pressure : SET[0:?] OF pty_transient_pressure FOR fluid_cargo (*<desc> This is the in-situ pressure of the fluid cargo.*) (*<verb>have a property of*); pty_transient_temperature : SET[0:?] OF pty_transient_temperature FOR fluid_cargo (*<desc> This is the in-situ temperature of the fluid cargo.*) (*<verb>have a property of*); pty_transient_energy : SET[0:?] OF pty_transient_energy FOR fluid_cargo (*<desc> This is the energy content of the fluid cargo.*) (*<verb>have a property of*); UNIQUE si: identifier, start_date, end_date, containing_facility, pfnu_cargo_connection; END_ENTITY; ALTER ENTITY fluid_component; INVERSE ADD fluid_cargo : SET[0:?] OF fluid_cargo FOR fluid_component (*<desc> These are the fluid cargos defined for this fluid component.*) (*<verb>be transported as*); END_ENTITY; ALTER ENTITY general_facility; INVERSE ADD contained_cargo : SET[0:?] OF fluid_cargo FOR containing_facility (*<desc> These are the cargos that were stored or transported by this facility.*) (*<verb>used to store or transport*); END_ENTITY; ADD ENTITY fluid_sale_commitment (*<desc> description of the amount of fluid, usually hydrocarbons, which are committed to meet the obligations of a marketing agreement.*) SUBTYPE OF (sale_commitment); identifier : ndt_identifier (*<desc> This is an identifier for the fluid sales commitment.*); UNIQUE si: identifier, subject_of_contract; END_ENTITY; ALTER ENTITY reserves_sale_commitment; INVERSE DROP pty_standard_volume_gas; DROP pty_standard_volume_liquid; DROP pty_mass; UNIQUE ALTER si ADD subject_of_contract LAST; END_ENTITY; ADD ENTITY sale_commitment (*<desc> This is the specific information in a marketing agreement that identifies the specific items that are sold as part of the agreement.*) ABSTRACT SUPERTYPE OF (ONEOF (reserves_sale_commitment, fluid_sale_commitment)) SUBTYPE OF (business_object); INVERSE pty_mass : SET[0:?] OF pty_mass FOR sale_commitment (*<verb>have a property of*); pty_standard_volume_gas : SET[0:?] OF pty_standard_volume_gas FOR sale_commitment (*<verb>have a property of*); pty_standard_volume_liquid : SET[0:?] OF pty_standard_volume_liquid FOR sale_commitment (*<verb>have a property of*); pty_bulk_volume_total : SET[0:?] OF pty_bulk_volume_total FOR sale_commitment (*<verb>have a property of*); END_ENTITY; ALTER ENTITY pty_mass; ALTER reserves_sale_commitment AS sale_commitment ALTER TYPE AS sale_commitment; END_ENTITY; ALTER ENTITY pty_standard_volume_gas; ALTER reserves_sale_commitment AS sale_commitment ALTER TYPE AS sale_commitment; ADD fluid_cargo : OPTIONAL fluid_cargo (*<verb>be a property of*); UNIQUE ALTER si ADD fluid_cargo LAST; END_ENTITY; ALTER ENTITY pty_standard_volume_liquid; ALTER reserves_sale_commitment AS sale_commitment ALTER TYPE AS sale_commitment; ADD fluid_cargo : OPTIONAL fluid_cargo (*<verb>be a property of*); UNIQUE ALTER si ADD fluid_cargo LAST; END_ENTITY; ALTER ENTITY pty_transient_density_liquid; ADD fluid_cargo : OPTIONAL fluid_cargo (*<verb>be a property of*); UNIQUE ALTER si ADD fluid_cargo LAST; END_ENTITY; ALTER ENTITY pty_transient_density_vapor; ADD fluid_cargo : OPTIONAL fluid_cargo (*<verb>be a property of*); UNIQUE ALTER si ADD fluid_cargo LAST; END_ENTITY; ALTER ENTITY pty_transient_mass; ADD fluid_cargo : OPTIONAL fluid_cargo (*<verb>be a property of*); UNIQUE ALTER si ADD fluid_cargo LAST; END_ENTITY; ALTER ENTITY pty_transient_pressure; ADD fluid_cargo : OPTIONAL fluid_cargo (*<verb>be a property of*); UNIQUE ALTER si ADD fluid_cargo LAST; END_ENTITY; ALTER ENTITY pty_transient_temperature; ADD fluid_cargo : OPTIONAL fluid_cargo (*<verb>be a property of*); UNIQUE ALTER si ADD fluid_cargo LAST; END_ENTITY; ALTER ENTITY pty_bulk_volume_total; ADD sale_commitment : OPTIONAL sale_commitment (*<verb>be a property of*); UNIQUE ALTER si ADD sale_commitment LAST; END_ENTITY; ADD ENTITY fluid_cargo_transfer (*<desc> This association defines the transfer of fluids from a source fluid cargo to a target cargo.*) SUBTYPE OF (transient_association); cargo_source : fluid_cargo (*<desc> This defines the source for the fluid cargo transfer.*) (*<verb>receive fluid from*); cargo_target : fluid_cargo (*<desc> This defines the target for the fluid cargo transfer.*) (*<verb>transfer fluid to*); INVERSE pty_fl_cargo_shrinkage_factor : SET[0:?] OF pty_fl_cargo_shrinkage_factor FOR fluid_cargo_transfer (*<desc> These are the shrinkage factors for the fluid cargo transfer.*) (*<verb>have a property of*); pty_fluid_cargo_split_factor : SET[0:?] OF pty_fluid_cargo_split_factor FOR fluid_cargo_transfer (*<desc> These are the split factors for the fluid cargo transfer.*) (*<verb>have a property of*); UNIQUE si: end_time, cargo_source, cargo_target, start_time; END_ENTITY; ADD ENTITY pty_fl_cargo_shrinkage_factor (*<desc> This describes the ratio of the amount of fluid in a source fluid cargo to the fluid in the cargo of a transfer target.*) SUBTYPE OF (pty_transient_property); data_value : ndt_volume_per_std_volume (*<desc> This is the shrinkage factor value: i.e. the ratio of total source fluid to total target fluid, reflecting a degree of fluid loss in the transfer.*); fluid_cargo_transfer : fluid_cargo_transfer (*<desc> This is the fluid cargo transfer that this factor describes.*) (*<verb>be a property of*); UNIQUE si: fluid_cargo_transfer, end_time, ref_transient_period, start_time, activity; END_ENTITY; ADD ENTITY pty_fluid_cargo_split_factor (*<desc> This describes the fraction of fluid in a source fluid cargo that is transferred to a target fluid cargo.*) SUBTYPE OF (pty_transient_property); data_value : ndt_preal4 (*<desc> This is the split factor value: i.e. the fraction of fluid transferred from the source cargo to the target cargo.*); fluid_cargo_transfer : fluid_cargo_transfer (*<desc> This is the fluid cargo transfer that this factor describes.*) (*<verb>be a property of*); UNIQUE si: end_time, ref_transient_period, start_time, activity, fluid_cargo_transfer; END_ENTITY; ADD ENTITY pty_transient_energy (*<desc> This is the amount of energy contained.*) SUBTYPE OF (pty_transient_property); data_value : ndt_energy (*<desc> This is the value of energy.*); fluid_cargo : OPTIONAL fluid_cargo (*<desc> This is the fluid cargo this energy is defined for.*) (*<verb>be a property of*); fluid_flow_stream : OPTIONAL fluid_flow_stream (*<desc> This is the fluid flow that this energy is defined for.*) (*<verb>be a property of*); UNIQUE si: end_time, ref_transient_period, start_time, activity, fluid_cargo, fluid_flow_stream; END_ENTITY; ALTER ENTITY fluid_flow_stream; INVERSE ADD pty_transient_energy : SET[0:?] OF pty_transient_energy FOR fluid_flow_stream (*<desc> This is the energy content of the fluid flow stream.*) (*<verb>have a property of*); END_ENTITY; END_CHANGE;