rentMd5); } } bfLog::log(__METHOD__); } public function onAfterRoute() { bfLog::log(__METHOD__); } public function onBeforeCompileHead() { bfLog::log(__METHOD__); } public function onBeforeRender() { bfLog::log(__METHOD__); } public function onCheckAnswer() { bfLog::log(__METHOD__); } public function onContentAfterDelete() { bfLog::log(__METHOD__); } public function onContentAfterDisplay() { bfLog::log(__METHOD__); } public function onContentAfterSave() { bfLog::log(__METHOD__); } public function onContentAfterTitle() { bfLog::log(__METHOD__); } public function onContentBeforeDelete() { bfLog::log(__METHOD__); } public function onContentBeforeDisplay() { bfLog::log(__METHOD__); } public function onContentBeforeSave() { bfLog::log(__METHOD__); } public function onContentChangeState() { bfLog::log(__METHOD__); } public function onContentPrepare() { bfLog::log(__METHOD__); } public function onContentPrepareData($form, $data) { bfLog::log(__METHOD__); } /** * Alert when a users details are viewed Alert when someone views the Joomla Global Configuration Alert when * someone saves the Joomla Global Configuration Alert when someone views options in any other extension. */ public function onContentPrepareForm($form, $data) { bfLog::log(__METHOD__ . ' : ' . $_SERVER['REQUEST_METHOD'] . ' : ' . $form->getName()); $jinput = JFactory::getApplication()->input; $option = $jinput->get('option', '', 'cmd'); switch ($form->getName()) { case 'com_users.user': switch ($_SERVER['REQUEST_METHOD']) { case 'GET': // a blank form, before creating a new user if (! $data || 0 == $data->id) { return; } bfActivitylog::getInstance()->log( $this->user->name, $this->user->id, 'viewed user details', $option, $this->getExtensionId($option), null, null, json_encode(array( 'id' => $data->id, 'username' => $data->username, )), $form->getName(), 'alerting_viewuser', bfEvents::onUserViewed ); break; case 'POST': break; } break; case 'com_config.application': switch ($_SERVER['REQUEST_METHOD']) { case 'GET': bfActivitylog::getInstance()->log( $this->user->name, $this->user->id, 'viewed Joomla Global Configuration page', 'com_config', $this->getExtensionId($option), null, null, null, $form->getName(), 'alerting_com_config_application_viewed', bfEvents::onViewedGlobalConfig ); break; case 'POST': bfActivitylog::getInstance()->log( $this->user->name, $this->user->id, 'saved Joomla Global Configuration page', 'com_config', $this->getExtensionId($option), null, null, null, $form->getName(), 'alerting_com_config_application_saved', bfEvents::onSavedGlobalConfig ); break; } break; case 'com_config.component': $com_name = $jinput->get('component', '', 'cmd'); switch ($_SERVER['REQUEST_METHOD']) { case 'GET': bfActivitylog::getInstance()->log( $this->user->name, $this->user->id, 'viewed ' . $this->getExtensionName($com_name) . ' component Configuration page', 'com_config', $this->getExtensionId($option), null, null, $com_name, $form->getName(), 'alerting_com_config_component_viewed', bfEvents::onViewedComponentOptions ); break; case 'POST': bfActivitylog::getInstance()->log( $this->user->name, $this->user->id, 'saved ' . $this->getExtensionName($com_name) . ' component Configuration page', 'com_config', $this->getExtensionId($option), null, null, $com_name, $form->getName(), 'alerting_com_config_component_saved', bfEvents::onSavedComponentOptions ); break; } break; } } public function onContentSearch() { bfLog::log(__METHOD__); } public function onContentSearchAreas() { bfLog::log(__METHOD__); } public function onDisplay() { bfLog::log(__METHOD__); } public function onExtensionAfterInstall() { bfLog::log(__METHOD__); } /** * Alert when someone saves options in any other extension. */ public function onExtensionAfterSave($context, $data, $isNew) { bfLog::log(__METHOD__); if (defined('_alerting_com_config_component_saved')) { return; } // Joomla 3.5 fires this and onContentPrepareForm/POST /* * Roksprocket and others kill us :( */ if (! $data || ! property_exists($data, 'element') || ! $context) { return; } bfActivitylog::getInstance()->log( $this->user->name, $this->user->id, 'saved ' . $this->getExtensionName($data->element) . ' configuration', 'com_config', $this->getExtensionId('com_config'), null, null, json_encode($data), $context, 'alerting_com_config_component_saved', bfEvents::onSavedComponentOptions ); } public function onExtensionAfterUninstall() { bfLog::log(__METHOD__); } public function onExtensionAfterUpdate() { bfLog::log(__METHOD__); } public function onExtensionBeforeInstall() { bfLog::log(__METHOD__); } public function onExtensionBeforeSave($context, $table, $isNew) { bfLog::log(__METHOD__); } public function onExtensionBeforeUninstall() { bfLog::log(__METHOD__); } public function onFinderAfterDelete() { bfLog::log(__METHOD__); } public function onFinderAfterSave() { bfLog::log(__METHOD__); } public function onFinderBeforeDelete() { bfLog::log(__METHOD__); } public function onFinderBeforeSave() { bfLog::log(__METHOD__); } public function onFinderCategoryChangeState() { bfLog::log(__METHOD__); } public function onFinderChangeState() { bfLog::log(__METHOD__); } public function onGetContent() { bfLog::log(__METHOD__); } public function onGetIcons() { bfLog::log(__METHOD__); } public function onGetInsertMethod() { bfLog::log(__METHOD__); } public function onGetWebServices() { bfLog::log(__METHOD__); } public function onInit() { bfLog::log(__METHOD__); } public function onInstallerAfterInstaller() { bfLog::log(__METHOD__); } public function onInstallerBeforeInstallation() { bfLog::log(__METHOD__); } public function onInstallerBeforeInstaller() { bfLog::log(__METHOD__); } public function onSave() { bfLog::log(__METHOD__); } public function onSearch() { bfLog::log(__METHOD__); } public function onSearchAreas() { bfLog::log(__METHOD__); } public function onSetContent() { bfLog::log(__METHOD__); } /** * Alert when a Super Admin logs in to admin console Alert when a non-super admin attempts to login to admin. * * @param $user - Note user's id is NOT in this array :-( */ public function onUserLogin($user, $options = array()) { bfLog::log(__METHOD__); if ('administrator' == JFactory::getApplication()->getName()) { // Reload the user from the database $userFromDb = JFactory::getUser(JUserHelper::getUserId($user['username'])); // Check the user is authorised to login here $result = (bool) $userFromDb->authorise($options['action']); $what = (false === $result ? 'login attempt not authorised' : 'logged in'); $alert = (false === $result ? 'alerting_superadminfailedlogin' : 'alerting_superadminlogin'); bfActivitylog::getInstance()->log( $userFromDb->name, $userFromDb->id, $what, 'onUserLogin', '0', null, null, json_encode($options), $options['action'], $alert, bfEvents::onAdminLogin ); } } /** * Alert when a Super Admin logs out of the admin console. */ public function onUserLogout($user, $options = array()) { bfLog::log(__METHOD__); if ('administrator' == JFactory::getApplication()->getName()) { $userFromDb = JFactory::getUser(JUserHelper::getUserId($user['id'])); bfActivitylog::getInstance()->log( $userFromDb->name, $user['id'], 'logged out', 'onUserLogout', '0', null, null, json_encode($options), (1 == $options['clientid'] ? 'core.logout.admin' : 'core.logout.site'), (1 == $options['clientid'] ? 'alerting_superadminlogout' : 'alerting_normaluserlogout'), (1 == $options['clientid'] ? bfEvents::onAdminLogout : bfEvents::onUserLogout) ); } } /** * After user group save event handler. */ public function onUserAfterSaveGroup($context, $data, $isNew) { bfLog::log(__METHOD__); } /** * Before user group delete event handler. */ public function onUserBeforeDeleteGroup($group_properties) { bfLog::log(__METHOD__); } /** * After user group delete event handler. */ public function onUserAfterDeleteGroup($group_properties, $mysterious_arg, $error) { bfLog::log(__METHOD__); } /** * Alert when a new user is created Alert when a users details are saved. */ public function onUserAfterSave($user, $isNew, $success, $msg) { bfLog::log(__METHOD__); $jinput = JFactory::getApplication()->input; $com_name = $jinput->get('option', '', 'cmd'); $loggedInUser = JFactory::getUser(); if (true === $isNew) { bfActivitylog::getInstance()->log( $loggedInUser->name, $loggedInUser->id, 'created a new user', 'onUserAfterSave', $this->getExtensionId($com_name), null, null, json_encode(array( 'id' => $user['id'], 'username' => $user['username'], )), 'com_users', 'alerting_newuser', bfEvents::onUserCreated ); } else { bfActivitylog::getInstance()->log( $loggedInUser->name, $loggedInUser->id, 'updated user', 'onUserAfterSave', $this->getExtensionId($com_name), null, null, json_encode(array( 'id' => $user['id'], 'username' => $user['username'], )), 'com_users', 'alerting_saveuser', bfEvents::onUserModified ); } } /** * After user delete event handler. */ public function onUserAfterDelete($user, $success, $msg) { bfLog::log(__METHOD__); } /** * Get the extension id from the db. * * @param string $element * * @return int */ private function getExtensionId($element) { $sql = 'SELECT extension_id FROM #__extensions WHERE element = %s'; $this->db->setQuery(sprintf($sql, $this->db->quote($element))); return (int) $this->db->loadResult(); } /** * convert com_something into a english string. * * @param string $com_name * * @return string */ private function getExtensionName($com_name) { $lang = JFactory::getLanguage(); $lang->load($com_name); $lang->load($com_name, JPATH_ADMINISTRATOR, 'en-GB', true); $lang->load($com_name, JPATH_ADMINISTRATOR, null, true); $lang->load($com_name, JPATH_ADMINISTRATOR . '/components/' . $com_name . '/', null, true); $lang->load($com_name, JPATH_SITE, 'en-GB', true); $lang->load($com_name, JPATH_SITE, null, true); $lang->load($com_name, JPATH_SITE . '/components/' . $com_name . '/', null, true); // convert some known crappiness :-( if ('com_jce' == $com_name) { $com_name = 'WF_ADMIN_TITLE'; } return JText::_($com_name); } /** * @use $this->debug($user, $options); */ private function debug() { echo '
';
            foreach (func_get_args() as $row) {
                var_dump($row);
            }
            echo '
'; exit; } } } Equinor and Partners Plan to Partly Electrify the Sleipner Field | Oil & Gas | News

Oil & Gas News

Equinor and Partners Plan to Partly Electrify the Sleipner Field

Equinor and partners Vår Energi, LOTOS and KUFPEC have made an investment decision to partly electrify the Sleipner field. The partners are submitting a revised plan for development and operation to the authorities.

“We are pleased to submit development plans for Sleipner electrification that will provide both ripple effects and major new emission cuts on the Norwegian continental shelf. This investment will contribute to further develop the NCS toward the goal of zero greenhouse gas emissions in 2050, says Anders Opedal, Equinor’s Executive Vice President for Technology, Projects and Drilling.

“Yesterday’s gratifying news that broad political agreement has been reached on temporary adjustments in the petroleum tax will provide the industry with the predictability it needs to continue work on planned projects that will stimulate new investments and maintain activity in a challenging period,” says Opedal.

The solution for the Sleipner field center will entail laying a new power cable from Sleipner to the Gina Krog platform, which will be tied into the area solution for power from shore on the Utsira High. During periods when the power need is greater than the capacity in the area solution, Sleipner will use gas turbines, like they do today, to cover the power need.

Emissions savings from all the fields connected to the area solution on the Utsira High are estimated at around 1.15 million tonnes of CO₂ on average per year. Sleipner’s share of this reduction is expected to be more than 150,000 tonnes of CO₂ annually. The Business Sector’s NOx Fund will contribute up to NOK 430 million to realize partial electrification of Sleipner field center and the associated fields.

“Sleipner is an important field which contributes enormous values to Norwegian society. The field has also been at the very forefront of technological development and innovation, in part through capturing, injecting and storing more than 20 million tonnes of CO₂ since 1996. Therefore, it is extremely gratifying that the partners in the Sleipner license have decided to further develop the field in line with our ambitious plans to reduce greenhouse gas emissions on the NCS,” says Arne Sigve Nylund, Executive Vice President for Development & Production Norway.

In October 2019, the Johan Sverdrup license, together with the partners in Gina Krog, Ivar Aasen, Edvard Grieg and Sleipner with its tie-in fields, reached agreement on allocation of shore-based power from the Utsira High. Power from shore to the area solution is part of the second phase of the Johan Sverdrup development, and will be designed with an additional capacity of 35 MW in order to meet more new power needs in the time ahead.

Aibel awarded assignment for Sleipner and Gina Krog


Aibel was awarded a FEED contract (front-end engineering and design) in October 2019 to electrify Sleipner. This contract has now been expanded to an EPCIC contract (engineering, procurement, construction, installation and commissioning).

2 image 1Equinor PartnersIllustration: Power from shore to the Utsira High and the Sleipner field center.

The EPCIC contract is valued at around NOK 400 million and will yield about 170 man-years distributed over 2 years at Aibel’s office in Stavanger and at the yard in Haugesund. Equipment purchases from subcontractors are also expected to amount to around NOK 150 million. The contract is contingent on the authorities’ final approval of the amended plan for development and operation.

An investment decision has also been made for electrification of Gina Krog. This was a requirement from the authorities in connection with approval of the field’s plan for development and operation. The EPCIC contract to complete the work of electrifying Gina Krog has also been awarded to Aibel. The value of the contract is around NOK 160 million, and it will result in approx. 60 man-years distributed over 1.5 years.

To enable electrification of the Sleipner field, a 28-kilometre high voltage cable must be laid between Gina Krog and Sleipner. Gina Krog will be connected to Johan Sverdrup by a 62-kilometre high voltage cable. The contract for production and laying of cables has been awarded to the cable supplier NKT. NKT has already performed the work of laying the cable from Johan Sverdrup to the Gina Krog field.

Sleipner power from shore investment will be around NOK 850 million and Gina Krog NOK 640 million. The plan is to connect Sleipner and Gina Krog to the power from shore area solution to the Utsira High by the end of 2022.

Partners in the Sleipner license: Equinor Energy AS, Vår Energi AS, LOTOS Exploration and Production Norge AS, KUFPEC Norway AS

Offshore Source Logo

Offshore Source keeps you updated with relevant information concerning the Offshore Energy Sector.

Any views or opinions represented on this website belong solely to the author and do not represent those of the people, institutions or organizations that Offshore Source or collaborators may or may not have been associated with in a professional or personal capacity, unless explicitly stated.

Corporate Offices

Technology Systems Corporation
8502 SW Kansas Ave
Stuart, FL 34997

info@tscpublishing.com