Contact Energy

Contact Energy


Contact Energy Limited is a New Zealand electricity generator, natural gas wholesaler and electricity, natural gas, and LPG retailer.

The company is the second-largest electricity generator in New Zealand (after Meridian Energy), generating 24% of all electricity in 2013, and has the second-largest market share (22%) of electricity retailers (after Genesis Energy).[1] Contact owns and operates twelve power stations in New Zealand with a generation portfolio made up of geothermal, hydro and natural gas assets.[2] Contact Energy's power stations consist of five gas turbine facilities, in Auckland, Hamilton, Hawkes Bay and Taranaki; five geothermal stations north of Taupo; and two hydroelectric dams on the Clutha River.

Contact originated with the partitioning of the Electricity Corporation of New Zealand in 1996, and publicly listed in 1999.

Contact Energy has its own internet-only radio station, Cocoon, on iHeartRadio.[3]

History

Contact was incorporated on 8 November 1995 and became a state owned enterprise on 18 November 1995.[4] Contact commenced operations on 1 February 1996, acquiring assets from ECNZ with a payment of $1.6 billion.[4] As the founding chief executive, Paul Anthony was instrumental in establishing the corporation distinct from ECNZ.

In 1999, the company was sold, with 40% purchased by Edison Mission Energy (EME) as cornerstone shareholder for $5 per share. The remaining 60% was sold in a public offering of shares for $3.10 per share.[5] EME subsequently increased its shareholding to 51%.

As part of the 1999 electricity sector reforms, local electricity companies were split into lines and retail, with most selling the retail part off. Contact Energy acquired the retail bases of Top Energy, Counties Power, Eastland Network (Gisborne area), Unison (Hawke's Bay area), Electra, Network Tasman, MainPower, Alpine Energy, Aurora Energy (Dunedin area), The Power Company and Electricity Invercargill.

Following financial difficulties elsewhere in its business, EME sold its shareholding to Origin Energy in 2004.

During the 2008 financial crisis, Contact decided to increase prices by up to 12% while doubling its directors' fees. As a result, it lost more than 40,000 customers in six months − 10% of the total. Its profit was halved. Contact calls this the worst blow to its reputation in the company's history.[6][7]

Following financial difficulties elsewhere in its business, Origin sold its 53% shareholding to the market in 2015.[8]

Power stations

Contact owns and operates (unless otherwise stated) the following power stations:
Name Fuel Type Location Capacity
(MW)
Annual Average
Generation (GWh)
Commissioned Notes
New Zealand stations
Clyde Hydroelectric Conventional Clyde, Otago 464 2050 1992
Ohaaki Geothermal Flash steam Ohaaki, Waikato 70 300 1989
Otahuhu B Gas Combined-cycle turbine Otahuhu, Auckland 380 2380 2000
Poihipi Geothermal Flash steam Wairakei, Waikato 55 350 1996
Roxburgh Hydroelectric Conventional Roxburgh, Otago 320 1610 1956-1962
Stratford Gas Open-cycle / Combined-cycle turbine Stratford, Taranaki 585 3350 1998, 2010
Te Huka Geothermal Binary cycle Taupo 23 2010
Te Mihi Geothermal Flash steam north of Taupo 159 2014
Te Rapa Gas Open-cycle turbine
Cogeneration
Te Rapa, Waikato 44 200 2000
Wairakei Geothermal Flash steam / Binary cycle Wairakei, Waikato 161 1310 1958, 2005
Whirinaki Diesel Open-cycle turbine Whirinaki, Hawke's Bay 155 9 2004

Decommissioned stations

Name Fuel Type Location Capacity
(MW)
Annual Average
Generation (GWh)
Commissioned Decommissioned Notes
Otahuhu A Gas Open-cycle turbine Otahuhu, Auckland 1968

In 2001, Contact decommissioned the FT4 twinpac open cycle power stations on the Stratford and Whirinaki sites, and sold the generating equipment offshore.

In June 2013, previously decommissioned New Plymouth Power Station was sold to Port Taranaki and Methanex New Zealand.[9]

Developments

Generation developments

Contact Energy Development Projects
Name Fuel Location Proposed
capacity (MW)
Status Notes
Hawea Hydro Lake Hawea, Otago 17 Consents granted Expect complete by 2017[10]
Tauhara stage 2 Geothermal near Taupo 250 Consents granted
Waitahora Wind Puketoi Ranges, east of Palmerston North 156 Consents granted

Other developments

In 2001 and 2002, Contact and Edison Mission Energy developed the Valley Power Peaking Facility near Traralgon in Australia. This plant was sold in 2005.[11]

In 2006, Contact and Genesis Energy set up a joint venture project called Gasbridge to import LNG.[12] Their proposed terminal at Port Taranaki was highly controversial, and the plan was shelved in favour of an offshore terminal plan in mid 2009.[13]

Contact and Origin Energy have developed a gas storage facility at the depleted Ahuroa reservoir in Taranaki.[14]

In 2012, Contact announced it would not proceed with hydro developments on the Clutha River, at Queensbury, Luggate, Tuapeka and Beaumont.[15]

In June 2013, the Taheke joint venture (Taheke 8C Incorporated and Contact Energy) made the decision to delay the development of the Taheke Geothermal field due to market conditions.

In August 2013, Contact announced its decision to exit the Hauāurumā raki wind generation development on the Waikato coast and that they would not proceed in the foreseeable future with the Waitahora wind generation development project near Dannevirke in the Tararua district.

See also

References


-- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --


local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno

local p = {}


-- Helper functions


local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end

local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end

function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end

function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end

function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end

function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end


-- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.


function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end

function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end


-- Hatnote -- -- Produces standard hatnote text. Implements the template.


function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end

function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
%s
', table.concat(classes, ' '), s )

end

return p-------------------------------------------------------------------------------- -- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --


local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno

local p = {}


-- Helper functions


local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end

local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end

function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end

function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end

function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end

function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end


-- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.


function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end

function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end


-- Hatnote -- -- Produces standard hatnote text. Implements the template.


function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end

function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
%s
', table.concat(classes, ' '), s )

end

return p
  1. ^
  2. ^
  3. ^
  4. ^ a b
  5. ^
  6. ^
  7. ^
  8. ^
  9. ^
  10. ^
  11. ^
  12. ^
  13. ^
  14. ^
  15. ^

External links

  • Contact Energy