Module nemo.costs

Generation technology costs.

Sub-modules

nemo.costs.aeta

Australian Energy Technology Assessment costs.

nemo.costs.apgtr

Australian Power Generation Technology Report costs.

nemo.costs.ceem

Collaboration on Energy and Environmental Markets (CEEM) costs.

nemo.costs.common

Costs common to all cost classes.

nemo.costs.gencost

CSIRO GenCost common costs across all annual reports.

nemo.costs.gencost2021

CSIRO GenCost costs for 2020-21.

nemo.costs.gencost2022

CSIRO GenCost costs for 2021-22.

nemo.costs.gencost2023

CSIRO GenCost costs for 2022-23.

nemo.costs.gencost2024

CSIRO GenCost costs for 2023-24.

nemo.costs.gencost2025

CSIRO GenCost costs for 2024-25 (draft).

nemo.costs.null

All-zero cost class suitable for testing.

Classes

class AETA2012_2030High (discount, coal_price, gas_price, ccs_storage_costs)
Expand source code
class AETA2012_2030High(AETA2012_2030):
    """AETA (2012) costs for 2030, high end of the range."""

    def __init__(self, discount, coal_price, gas_price, ccs_storage_costs):
        """Construct a cost object."""
        AETA2012_2030.__init__(self, discount, coal_price, gas_price,
                               ccs_storage_costs)
        # capital costs in $/kW
        table = self.capcost_per_kw
        table[tech.Wind] = 1917
        table[tech.CentralReceiver] = 5253
        table[tech.ParabolicTrough] = 5659
        table[tech.PV] = 1871
        table[tech.PV1Axis] = 2542
        table[tech.CCGT] = 1221
        table[tech.OCGT] = 809
        table[tech.CCGT_CCS] = 2405
        table[tech.Coal_CCS] = 4727
        table[tech.Black_Coal] = 3128
        table[tech.Geothermal_HSA] = 7822
        table[tech.Geothermal_EGS] = 11811

AETA (2012) costs for 2030, high end of the range.

Construct a cost object.

Ancestors

Subclasses

Inherited members

class AETA2012_2030Low (discount, coal_price, gas_price, ccs_storage_costs)
Expand source code
class AETA2012_2030Low(AETA2012_2030):
    """AETA (2012) costs for 2030, low end of the range."""

    def __init__(self, discount, coal_price, gas_price, ccs_storage_costs):
        """Construct a cost object."""
        AETA2012_2030.__init__(self, discount, coal_price, gas_price,
                               ccs_storage_costs)
        # capital costs in $/kW
        table = self.capcost_per_kw
        table[tech.Wind] = 1701
        table[tech.CentralReceiver] = 4203
        table[tech.ParabolicTrough] = 4563
        table[tech.PV] = 1482
        table[tech.PV1Axis] = 2013
        table[tech.CCGT] = 1015
        table[tech.OCGT] = 694
        table[tech.CCGT_CCS] = 2095
        table[tech.Coal_CCS] = 4453
        table[tech.Black_Coal] = 2947
        table[tech.Geothermal_HSA] = 6645
        table[tech.Geothermal_EGS] = 10331

AETA (2012) costs for 2030, low end of the range.

Construct a cost object.

Ancestors

Subclasses

Inherited members

class AETA2012_2030Mid (discount, coal_price, gas_price, ccs_storage_costs)
Expand source code
class AETA2012_2030Mid(AETA2012_2030):
    """AETA (2012) costs for 2030, middle of the range."""

    def __init__(self, discount, coal_price, gas_price, ccs_storage_costs):
        """Construct a cost object."""
        AETA2012_2030.__init__(self, discount, coal_price, gas_price,
                               ccs_storage_costs)

        low = AETA2012_2030Low(discount, coal_price, gas_price,
                               ccs_storage_costs)
        high = AETA2012_2030High(discount, coal_price, gas_price,
                                 ccs_storage_costs)
        if low.opcost_per_mwh != high.opcost_per_mwh:
            raise AssertionError
        if low.fixed_om_costs != high.fixed_om_costs:
            raise AssertionError

        table = self.capcost_per_kw
        lowtable = low.capcost_per_kw
        hightable = high.capcost_per_kw
        for key, lowcost in lowtable.items():
            highcost = hightable[key]
            table[key] = lowcost / 2 + highcost / 2

AETA (2012) costs for 2030, middle of the range.

Construct a cost object.

Ancestors

Subclasses

Inherited members

class AETA2013_2030High (discount, coal_price, gas_price, ccs_storage_costs)
Expand source code
class AETA2013_2030High(AETA2012_2030High):
    """AETA (2013 update) costs for 2030, high end of the range."""

    def __init__(self, discount, coal_price, gas_price, ccs_storage_costs):
        """Construct a cost object."""
        AETA2012_2030High.__init__(self, discount, coal_price, gas_price,
                                   ccs_storage_costs)

        # Override a few O&M costs.
        fom = self.fixed_om_costs
        fom[tech.Wind] = 32.5 * self.ESCALATION
        fom[tech.PV1Axis] = 30 * self.ESCALATION
        fom[tech.CentralReceiver] = 71.312 * self.ESCALATION
        fom[tech.ParabolicTrough] = 72.381 * self.ESCALATION
        vom = self.opcost_per_mwh
        vom[tech.Wind] = 10 * self.ESCALATION
        vom[tech.CentralReceiver] = 5.65 * self.ESCALATION
        vom[tech.ParabolicTrough] = 11.39 * self.ESCALATION

AETA (2013 update) costs for 2030, high end of the range.

Construct a cost object.

Ancestors

Inherited members

class AETA2013_2030Low (discount, coal_price, gas_price, ccs_storage_costs)
Expand source code
class AETA2013_2030Low(AETA2012_2030Low):
    """AETA (2013 update) costs for 2030, low end of the range."""

    def __init__(self, discount, coal_price, gas_price, ccs_storage_costs):
        """Construct a cost object."""
        AETA2012_2030Low.__init__(self, discount, coal_price, gas_price,
                                  ccs_storage_costs)

        # Override a few O&M costs.
        fom = self.fixed_om_costs
        fom[tech.Wind] = 32.5 * self.ESCALATION
        fom[tech.PV1Axis] = 30 * self.ESCALATION
        fom[tech.CentralReceiver] = 71.312 * self.ESCALATION
        fom[tech.ParabolicTrough] = 72.381 * self.ESCALATION
        vom = self.opcost_per_mwh
        vom[tech.Wind] = 10 * self.ESCALATION
        vom[tech.CentralReceiver] = 5.65 * self.ESCALATION
        vom[tech.ParabolicTrough] = 11.39 * self.ESCALATION

AETA (2013 update) costs for 2030, low end of the range.

Construct a cost object.

Ancestors

Inherited members

class AETA2013_2030Mid (discount, coal_price, gas_price, ccs_storage_costs)
Expand source code
class AETA2013_2030Mid(AETA2012_2030):
    """AETA (2013) costs for 2030, middle of the range."""

    def __init__(self, discount, coal_price, gas_price, ccs_storage_costs):
        """Construct a cost object."""
        AETA2012_2030.__init__(self, discount, coal_price, gas_price,
                               ccs_storage_costs)

        low = AETA2013_2030Low(discount, coal_price, gas_price,
                               ccs_storage_costs)
        high = AETA2013_2030High(discount, coal_price, gas_price,
                                 ccs_storage_costs)
        if low.opcost_per_mwh != high.opcost_per_mwh:
            raise AssertionError
        if low.fixed_om_costs != high.fixed_om_costs:
            raise AssertionError

        table = self.capcost_per_kw
        lowtable = low.capcost_per_kw
        hightable = high.capcost_per_kw
        for key, lowcost in lowtable.items():
            highcost = hightable[key]
            table[key] = lowcost / 2 + highcost / 2

AETA (2013) costs for 2030, middle of the range.

Construct a cost object.

Ancestors

Inherited members

class APGTR2015 (discount, coal_price, gas_price, ccs_price)
Expand source code
class APGTR2015(Common):
    """Australian Power Generation Technology Report costs in 2015.

    Source: CO2CRC Australian Power Generation Technology Report (2015)
    """

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        Common.__init__(self, discount)
        self.ccs_storage_per_t = ccs_price
        self.coal_price_per_gj = coal_price
        self.gas_price_per_gj = gas_price

        # Variable O&M (VOM) costs
        self.opcost_per_mwh.update({
            tech.Wind: 0,
            tech.CentralReceiver: 4,
            tech.PV: 0,
            tech.PV1Axis: 0,
            tech.CCGT: 1.5,
            tech.OCGT: 12,
            tech.Black_Coal: 2.5})

        # Fixed O&M (FOM) costs
        self.fixed_om_costs.update({
            tech.Wind: 55,
            tech.CentralReceiver: 65,
            tech.PV: 30,
            tech.PV1Axis: 35,
            tech.CCGT: 20,
            tech.OCGT: 8,
            tech.Black_Coal: 45})

        table = self.capcost_per_kw
        table[tech.Wind] = 2450
        table[tech.CentralReceiver] = 8500
        table[tech.PV] = 2100
        table[tech.PV1Axis] = 2700
        table[tech.CCGT] = 1450
        table[tech.OCGT] = 1000
        table[tech.Black_Coal] = 3000

Australian Power Generation Technology Report costs in 2015.

Source: CO2CRC Australian Power Generation Technology Report (2015)

Construct a cost object.

Ancestors

Subclasses

Inherited members

class APGTR2030 (discount, coal_price, gas_price, ccs_price)
Expand source code
class APGTR2030(APGTR2015):
    """Australian Power Generation Technology Report (2015) costs in 2030.

    Source: CO2CRC Australian Power Generation Technology Report (2015)
    """

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        APGTR2015.__init__(self, discount, coal_price, gas_price, ccs_price)

        # Modify the capital costs in APGTR2015 by specified learning rates.
        # Fixed and variable O&M remain the same as in 2015.
        table = self.capcost_per_kw
        table[tech.Wind] *= 0.8
        table[tech.CentralReceiver] *= 0.8
        table[tech.PV] *= 0.5
        table[tech.PV1Axis] *= 0.5
        table[tech.CCGT] *= 0.9
        table[tech.OCGT] *= 1.1
        table[tech.Black_Coal] *= 0.9

Australian Power Generation Technology Report (2015) costs in 2030.

Source: CO2CRC Australian Power Generation Technology Report (2015)

Construct a cost object.

Ancestors

Inherited members

class CEEM2016_2030 (discount, coal_price, gas_price, ccs_storage_costs)
Expand source code
class CEEM2016_2030(AETA2012_2030Mid):
    """CEEM 2016 custom costs.

    These custom costs were produced by CEEM -- AETA (2013) mid costs
    with CO2CRC Power Generation Technology Report 2030 capital costs
    for utility-scale PV.
    """

    def __init__(self, discount, coal_price, gas_price, ccs_storage_costs):
        """Construct a cost object."""
        AETA2012_2030Mid.__init__(self, discount, coal_price, gas_price,
                                  ccs_storage_costs)

        # CO2CRC Power Generation Technology Report (p. 253) gives a
        # narrow range of $1,108 to $1,218 per kW. Meet half-way.
        self.capcost_per_kw[tech.PV1Axis] = 1255

CEEM 2016 custom costs.

These custom costs were produced by CEEM – AETA (2013) mid costs with CO2CRC Power Generation Technology Report 2030 capital costs for utility-scale PV.

Construct a cost object.

Ancestors

Inherited members

class GenCost2021_2020 (discount, coal_price, gas_price, ccs_price)
Expand source code
class GenCost2021_2020(GenCost2021):
    """GenCost 2020-21 costs for 2020."""

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        GenCost2021.__init__(self, discount, coal_price, gas_price, ccs_price)
        table = self.capcost_per_kw
        table[tech.Black_Coal] = 4450
        table[tech.CCGT] = 1743
        table[tech.CCGT_CCS] = 4396
        table[tech.CentralReceiver] = 7411
        table[tech.Coal_CCS] = 9311
        table[tech.OCGT] = 873
        table[tech.PV1Axis] = 1505
        table[tech.Wind] = 1951

GenCost 2020-21 costs for 2020.

Construct a cost object.

Ancestors

Inherited members

class GenCost2021_2030High (discount, coal_price, gas_price, ccs_price)
Expand source code
class GenCost2021_2030High(GenCost2021):
    """GenCost 2020-21 costs for 2030 (high end of the range)."""

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        GenCost2021.__init__(self, discount, coal_price, gas_price, ccs_price)
        table = self.capcost_per_kw
        table[tech.Black_Coal] = 4362
        table[tech.CCGT] = 1709
        table[tech.CCGT_CCS] = 4352
        table[tech.CentralReceiver] = 6496
        table[tech.Coal_CCS] = 14054
        table[tech.OCGT] = 856
        table[tech.PV1Axis] = 933
        table[tech.Wind] = 1910

GenCost 2020-21 costs for 2030 (high end of the range).

Construct a cost object.

Ancestors

Inherited members

class GenCost2021_2030Low (discount, coal_price, gas_price, ccs_price)
Expand source code
class GenCost2021_2030Low(GenCost2021):
    """GenCost 2020-21 costs for 2030 (low end of the range)."""

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        GenCost2021.__init__(self, discount, coal_price, gas_price, ccs_price)
        table = self.capcost_per_kw
        table[tech.Black_Coal] = 4362
        table[tech.CCGT] = 1709
        table[tech.CCGT_CCS] = 3865
        table[tech.CentralReceiver] = 5968
        table[tech.Coal_CCS] = 8674
        table[tech.OCGT] = 856
        table[tech.PV1Axis] = 768
        table[tech.Wind] = 1863

GenCost 2020-21 costs for 2030 (low end of the range).

Construct a cost object.

Ancestors

Inherited members

class GenCost2021_2040High (discount, coal_price, gas_price, ccs_price)
Expand source code
class GenCost2021_2040High(GenCost2021):
    """GenCost 2020-21 costs for 2040 (high end of the range)."""

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        GenCost2021.__init__(self, discount, coal_price, gas_price, ccs_price)
        table = self.capcost_per_kw
        table[tech.Black_Coal] = 4275
        table[tech.CCGT] = 1675
        table[tech.CCGT_CCS] = 4309
        table[tech.CentralReceiver] = 6087
        table[tech.Coal_CCS] = 9034
        table[tech.OCGT] = 839
        table[tech.PV1Axis] = 778
        table[tech.Wind] = 1863

GenCost 2020-21 costs for 2040 (high end of the range).

Construct a cost object.

Ancestors

Inherited members

class GenCost2021_2040Low (discount, coal_price, gas_price, ccs_price)
Expand source code
class GenCost2021_2040Low(GenCost2021):
    """GenCost 2020-21 costs for 2040 (low end of the range)."""

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        GenCost2021.__init__(self, discount, coal_price, gas_price, ccs_price)
        table = self.capcost_per_kw
        table[tech.Black_Coal] = 4275
        table[tech.CCGT] = 1675
        table[tech.CCGT_CCS] = 3327
        table[tech.CentralReceiver] = 5234
        table[tech.Coal_CCS] = 8030
        table[tech.OCGT] = 839
        table[tech.PV1Axis] = 569
        table[tech.Wind] = 1822

GenCost 2020-21 costs for 2040 (low end of the range).

Construct a cost object.

Ancestors

Inherited members

class GenCost2021_2050High (discount, coal_price, gas_price, ccs_price)
Expand source code
class GenCost2021_2050High(GenCost2021):
    """GenCost 2020-21 costs for 2050 (high end of the range)."""

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        GenCost2021.__init__(self, discount, coal_price, gas_price, ccs_price)
        table = self.capcost_per_kw
        table[tech.Black_Coal] = 4195
        table[tech.CCGT] = 1643
        table[tech.CCGT_CCS] = 4270
        table[tech.CentralReceiver] = 5530
        table[tech.Coal_CCS] = 8906
        table[tech.OCGT] = 822
        table[tech.PV1Axis] = 624
        table[tech.Wind] = 1830

GenCost 2020-21 costs for 2050 (high end of the range).

Construct a cost object.

Ancestors

Inherited members

class GenCost2021_2050Low (discount, coal_price, gas_price, ccs_price)
Expand source code
class GenCost2021_2050Low(GenCost2021):
    """GenCost 2020-21 costs for 2050 (low end of the range)."""

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        GenCost2021.__init__(self, discount, coal_price, gas_price, ccs_price)
        table = self.capcost_per_kw
        table[tech.Black_Coal] = 4195
        table[tech.CCGT] = 1643
        table[tech.CCGT_CCS] = 3276
        table[tech.CentralReceiver] = 4748
        table[tech.Coal_CCS] = 7891
        table[tech.OCGT] = 822
        table[tech.PV1Axis] = 532
        table[tech.Wind] = 1774

GenCost 2020-21 costs for 2050 (low end of the range).

Construct a cost object.

Ancestors

Inherited members

class GenCost2022_2021 (discount, coal_price, gas_price, ccs_price)
Expand source code
class GenCost2022_2021(GenCost2022):
    """GenCost 2020-21 costs for 2021 (low assumption)."""

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        GenCost2022.__init__(self, discount, coal_price, gas_price, ccs_price)
        table = self.capcost_per_kw
        table[tech.Black_Coal] = 4343
        table[tech.CCGT] = 1559
        table[tech.CCGT_CCS] = 4011
        table[tech.CentralReceiver] = 6693
        table[tech.Coal_CCS] = 9077
        table[tech.OCGT] = 873
        table[tech.Behind_Meter_PV] = 1333
        table[tech.PV1Axis] = 1441
        table[tech.Wind] = 1960
        table[tech.WindOffshore] = 4649

        table = self.totcost_per_kwh
        table[tech.Battery] = {1: 790, 2: 527, 4: 407, 8: 357}

GenCost 2020-21 costs for 2021 (low assumption).

Construct a cost object.

Ancestors

Inherited members

class GenCost2022_2030_CP (discount, coal_price, gas_price, ccs_price)
Expand source code
class GenCost2022_2030_CP(GenCost2022):
    """GenCost 2021-22 costs for 2030 (current policies)."""

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        GenCost2022.__init__(self, discount, coal_price, gas_price, ccs_price)
        table = self.capcost_per_kw
        table[tech.Black_Coal] = 4223
        table[tech.CCGT] = 1516
        table[tech.CCGT_CCS] = 3957
        table[tech.CentralReceiver] = 5660
        table[tech.Coal_CCS] = 8884
        table[tech.OCGT] = 741
        table[tech.Behind_Meter_PV] = 949
        table[tech.PV1Axis] = 1013
        table[tech.Wind] = 1897
        table[tech.WindOffshore] = 4545

        table = self.totcost_per_kwh
        table[tech.Battery] = {1: 687, 2: 452, 4: 343, 8: 298}

GenCost 2021-22 costs for 2030 (current policies).

Construct a cost object.

Ancestors

Inherited members

class GenCost2022_2030_NZE2050 (discount, coal_price, gas_price, ccs_price)
Expand source code
class GenCost2022_2030_NZE2050(GenCost2022):
    """GenCost 2021-22 costs for 2030 (Global NZE by 2050)."""

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        GenCost2022.__init__(self, discount, coal_price, gas_price, ccs_price)
        table = self.capcost_per_kw
        table[tech.Black_Coal] = 4208
        table[tech.CCGT] = 1511
        table[tech.CCGT_CCS] = 3725
        table[tech.CentralReceiver] = 4657
        table[tech.Coal_CCS] = 8631
        table[tech.OCGT] = 741
        table[tech.Behind_Meter_PV] = 752
        table[tech.PV1Axis] = 785
        table[tech.Wind] = 1633
        table[tech.WindOffshore] = 2967

        table = self.totcost_per_kwh
        table[tech.Battery] = {1: 553, 2: 344, 4: 242, 8: 200}

GenCost 2021-22 costs for 2030 (Global NZE by 2050).

Construct a cost object.

Ancestors

Inherited members

class GenCost2022_2030_NZEPost2050 (discount, coal_price, gas_price, ccs_price)
Expand source code
class GenCost2022_2030_NZEPost2050(GenCost2022):
    """GenCost 2021-22 costs for 2030 (Global NZE post 2050)."""

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        GenCost2022.__init__(self, discount, coal_price, gas_price, ccs_price)
        table = self.capcost_per_kw
        table[tech.Black_Coal] = 4223
        table[tech.CCGT] = 1516
        table[tech.CCGT_CCS] = 3784
        table[tech.CentralReceiver] = 5236
        table[tech.Coal_CCS] = 8747
        table[tech.OCGT] = 741
        table[tech.Behind_Meter_PV] = 977
        table[tech.PV1Axis] = 1046
        table[tech.Wind] = 1778
        table[tech.WindOffshore] = 4437

        table = self.totcost_per_kwh
        table[tech.Battery] = {1: 608, 2: 390, 4: 287, 8: 244}

GenCost 2021-22 costs for 2030 (Global NZE post 2050).

Construct a cost object.

Ancestors

Inherited members

class GenCost2022_2040_CP (discount, coal_price, gas_price, ccs_price)
Expand source code
class GenCost2022_2040_CP(GenCost2022):
    """GenCost 2021-22 costs for 2040 (current policies)."""

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        GenCost2022.__init__(self, discount, coal_price, gas_price, ccs_price)
        table = self.capcost_per_kw
        table[tech.Black_Coal] = 4078
        table[tech.CCGT] = 1464
        table[tech.CCGT_CCS] = 3892
        table[tech.CentralReceiver] = 4894
        table[tech.Coal_CCS] = 8650
        table[tech.OCGT] = 716
        table[tech.Behind_Meter_PV] = 691
        table[tech.PV1Axis] = 733
        table[tech.Wind] = 1868
        table[tech.WindOffshore] = 4482

        table = self.totcost_per_kwh
        table[tech.Battery] = {1: 565, 2: 363, 4: 269, 8: 230}

GenCost 2021-22 costs for 2040 (current policies).

Construct a cost object.

Ancestors

Inherited members

class GenCost2022_2040_NZE2050 (discount, coal_price, gas_price, ccs_price)
Expand source code
class GenCost2022_2040_NZE2050(GenCost2022):
    """GenCost 2021-22 costs for 2040 (Global NZE by 2050)."""

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        GenCost2022.__init__(self, discount, coal_price, gas_price, ccs_price)
        table = self.capcost_per_kw
        table[tech.Black_Coal] = 4063
        table[tech.CCGT] = 1459
        table[tech.CCGT_CCS] = 3039
        table[tech.CentralReceiver] = 3620
        table[tech.Coal_CCS] = 7768
        table[tech.OCGT] = 716
        table[tech.Behind_Meter_PV] = 557
        table[tech.PV1Axis] = 578
        table[tech.Wind] = 1553
        table[tech.WindOffshore] = 2653

        table = self.totcost_per_kwh
        table[tech.Battery] = {1: 436, 2: 272, 4: 194, 8: 161}

GenCost 2021-22 costs for 2040 (Global NZE by 2050).

Construct a cost object.

Ancestors

Inherited members

class GenCost2022_2040_NZEPost2050 (discount, coal_price, gas_price, ccs_price)
Expand source code
class GenCost2022_2040_NZEPost2050(GenCost2022):
    """GenCost 2021-22 costs for 2040 (Global NZE post 2050)."""

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        GenCost2022.__init__(self, discount, coal_price, gas_price, ccs_price)
        table = self.capcost_per_kw
        table[tech.Black_Coal] = 4078
        table[tech.CCGT] = 1464
        table[tech.CCGT_CCS] = 3276
        table[tech.CentralReceiver] = 4181
        table[tech.Coal_CCS] = 8025
        table[tech.OCGT] = 716
        table[tech.Behind_Meter_PV] = 653
        table[tech.PV1Axis] = 689
        table[tech.Wind] = 1648
        table[tech.WindOffshore] = 3772

        table = self.totcost_per_kwh
        table[tech.Battery] = {1: 483, 2: 309, 4: 227, 8: 193}

GenCost 2021-22 costs for 2040 (Global NZE post 2050).

Construct a cost object.

Ancestors

Inherited members

class GenCost2022_2050_CP (discount, coal_price, gas_price, ccs_price)
Expand source code
class GenCost2022_2050_CP(GenCost2022):
    """GenCost 2021-22 costs for 2050 (current policies)."""

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        GenCost2022.__init__(self, discount, coal_price, gas_price, ccs_price)
        table = self.capcost_per_kw
        table[tech.Black_Coal] = 3937
        table[tech.CCGT] = 1413
        table[tech.CCGT_CCS] = 3324
        table[tech.CentralReceiver] = 4103
        table[tech.Coal_CCS] = 7958
        table[tech.OCGT] = 691
        table[tech.Behind_Meter_PV] = 606
        table[tech.PV1Axis] = 644
        table[tech.Wind] = 1828
        table[tech.WindOffshore] = 4431

        table = self.totcost_per_kwh
        table[tech.Battery] = {1: 485, 2: 315, 4: 236, 8: 203}

GenCost 2021-22 costs for 2050 (current policies).

Construct a cost object.

Ancestors

Inherited members

class GenCost2022_2050_NZE2050 (discount, coal_price, gas_price, ccs_price)
Expand source code
class GenCost2022_2050_NZE2050(GenCost2022):
    """GenCost 2021-22 costs for 2050 (Global NZE by 2050)."""

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        GenCost2022.__init__(self, discount, coal_price, gas_price, ccs_price)
        table = self.capcost_per_kw
        table[tech.Black_Coal] = 3930
        table[tech.CCGT] = 1411
        table[tech.CCGT_CCS] = 2978
        table[tech.CentralReceiver] = 2911
        table[tech.Coal_CCS] = 7552
        table[tech.OCGT] = 691
        table[tech.Behind_Meter_PV] = 500
        table[tech.PV1Axis] = 521
        table[tech.Wind] = 1521
        table[tech.WindOffshore] = 2506

        table = self.totcost_per_kwh
        table[tech.Battery] = {1: 337, 2: 220, 4: 167, 8: 144}

GenCost 2021-22 costs for 2050 (Global NZE by 2050).

Construct a cost object.

Ancestors

Inherited members

class GenCost2022_2050_NZEPost2050 (discount, coal_price, gas_price, ccs_price)
Expand source code
class GenCost2022_2050_NZEPost2050(GenCost2022):
    """GenCost 2021-22 costs for 2050 (Global NZE post 2050)."""

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        GenCost2022.__init__(self, discount, coal_price, gas_price, ccs_price)
        table = self.capcost_per_kw
        table[tech.Black_Coal] = 3937
        table[tech.CCGT] = 1413
        table[tech.CCGT_CCS] = 3206
        table[tech.CentralReceiver] = 3478
        table[tech.Coal_CCS] = 7792
        table[tech.OCGT] = 691
        table[tech.Behind_Meter_PV] = 508
        table[tech.PV1Axis] = 530
        table[tech.Wind] = 1546
        table[tech.WindOffshore] = 3168

        table = self.totcost_per_kwh
        table[tech.Battery] = {1: 385, 2: 255, 4: 196, 8: 172}

GenCost 2021-22 costs for 2050 (Global NZE post 2050).

Construct a cost object.

Ancestors

Inherited members

class GenCost2023_2030_CP (discount, coal_price, gas_price, ccs_price)
Expand source code
class GenCost2023_2030_CP(GenCost2023):
    """GenCost 2022-23 costs for 2030 (current policies)."""

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        GenCost2023.__init__(self, discount, coal_price, gas_price, ccs_price)
        table = self.capcost_per_kw
        table[tech.Black_Coal] = 4558
        table[tech.CCGT] = 1636
        table[tech.CCGT_CCS] = 4279
        table[tech.CentralReceiver] = 5562
        table[tech.Coal_CCS] = 9597
        table[tech.OCGT] = 803
        table[tech.Behind_Meter_PV] = 977
        table[tech.PV1Axis] = 1058
        table[tech.Wind] = 1989
        table[tech.WindOffshore] = 4803

        table = self.totcost_per_kwh
        table[tech.Battery] = {1: 742, 2: 510, 4: 411, 8: 366}

GenCost 2022-23 costs for 2030 (current policies).

Construct a cost object.

Ancestors

Inherited members

class GenCost2023_2030_NZE2050 (discount, coal_price, gas_price, ccs_price)
Expand source code
class GenCost2023_2030_NZE2050(GenCost2023):
    """GenCost 2022-23 costs for 2030 (Global NZE by 2050)."""

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        GenCost2023.__init__(self, discount, coal_price, gas_price, ccs_price)
        table = self.capcost_per_kw
        table[tech.Black_Coal] = 4668
        table[tech.CCGT] = 1672
        table[tech.CCGT_CCS] = 4283
        table[tech.CentralReceiver] = 4917
        table[tech.Coal_CCS] = 9639
        table[tech.OCGT] = 828
        table[tech.Behind_Meter_PV] = 988
        table[tech.PV1Axis] = 1071
        table[tech.Wind] = 1913
        table[tech.WindOffshore] = 2755

        table = self.totcost_per_kwh
        table[tech.Battery] = {1: 580, 2: 344, 4: 235, 8: 186}

GenCost 2022-23 costs for 2030 (Global NZE by 2050).

Construct a cost object.

Ancestors

Inherited members

class GenCost2023_2030_NZEPost2050 (discount, coal_price, gas_price, ccs_price)
Expand source code
class GenCost2023_2030_NZEPost2050(GenCost2023):
    """GenCost 2022-23 costs for 2030 (Global NZE post 2050)."""

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        GenCost2023.__init__(self, discount, coal_price, gas_price, ccs_price)
        table = self.capcost_per_kw
        table[tech.Black_Coal] = 4668
        table[tech.CCGT] = 1672
        table[tech.CCGT_CCS] = 4283
        table[tech.CentralReceiver] = 5124
        table[tech.Coal_CCS] = 9639
        table[tech.OCGT] = 828
        table[tech.Behind_Meter_PV] = 976
        table[tech.PV1Axis] = 1071
        table[tech.Wind] = 1900
        table[tech.WindOffshore] = 4352

        table = self.totcost_per_kwh
        table[tech.Battery] = {1: 623, 2: 401, 4: 293, 8: 244}

GenCost 2022-23 costs for 2030 (Global NZE post 2050).

Construct a cost object.

Ancestors

Inherited members

class GenCost2023_2040_CP (discount, coal_price, gas_price, ccs_price)
Expand source code
class GenCost2023_2040_CP(GenCost2023):
    """GenCost 2022-23 costs for 2040 (current policies)."""

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        GenCost2023.__init__(self, discount, coal_price, gas_price, ccs_price)
        table = self.capcost_per_kw
        table[tech.Black_Coal] = 4484
        table[tech.CCGT] = 1610
        table[tech.CCGT_CCS] = 3673
        table[tech.CentralReceiver] = 4826
        table[tech.Coal_CCS] = 8896
        table[tech.OCGT] = 790
        table[tech.Behind_Meter_PV] = 764
        table[tech.PV1Axis] = 839
        table[tech.Wind] = 1959
        table[tech.WindOffshore] = 4659

        table = self.totcost_per_kwh
        table[tech.Battery] = {1: 581, 2: 380, 4: 291, 8: 251}

GenCost 2022-23 costs for 2040 (current policies).

Construct a cost object.

Ancestors

Inherited members

class GenCost2023_2040_NZE2050 (discount, coal_price, gas_price, ccs_price)
Expand source code
class GenCost2023_2040_NZE2050(GenCost2023):
    """GenCost 2022-23 costs for 2040 (Global NZE by 2050)."""

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        GenCost2023.__init__(self, discount, coal_price, gas_price, ccs_price)
        table = self.capcost_per_kw
        table[tech.Black_Coal] = 4484
        table[tech.CCGT] = 1610
        table[tech.CCGT_CCS] = 3502
        table[tech.CentralReceiver] = 3835
        table[tech.Coal_CCS] = 8722
        table[tech.OCGT] = 790
        table[tech.Behind_Meter_PV] = 610
        table[tech.PV1Axis] = 653
        table[tech.Wind] = 1720
        table[tech.WindOffshore] = 2589

        table = self.totcost_per_kwh
        table[tech.Battery] = {1: 465, 2: 272, 4: 179, 8: 137}

GenCost 2022-23 costs for 2040 (Global NZE by 2050).

Construct a cost object.

Ancestors

Inherited members

class GenCost2023_2040_NZEPost2050 (discount, coal_price, gas_price, ccs_price)
Expand source code
class GenCost2023_2040_NZEPost2050(GenCost2023):
    """GenCost 2022-23 costs for 2040 (Global NZE post 2050)."""

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        GenCost2023.__init__(self, discount, coal_price, gas_price, ccs_price)
        table = self.capcost_per_kw
        table[tech.Black_Coal] = 4484
        table[tech.CCGT] = 1610
        table[tech.CCGT_CCS] = 3518
        table[tech.CentralReceiver] = 4105
        table[tech.Coal_CCS] = 8739
        table[tech.OCGT] = 790
        table[tech.Behind_Meter_PV] = 618
        table[tech.PV1Axis] = 687
        table[tech.Wind] = 1817
        table[tech.WindOffshore] = 3988

        table = self.totcost_per_kwh
        table[tech.Battery] = {1: 507, 2: 322, 4: 230, 8: 189}

GenCost 2022-23 costs for 2040 (Global NZE post 2050).

Construct a cost object.

Ancestors

Inherited members

class GenCost2023_2050_CP (discount, coal_price, gas_price, ccs_price)
Expand source code
class GenCost2023_2050_CP(GenCost2023):
    """GenCost 2022-23 costs for 2050 (current policies)."""

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        GenCost2023.__init__(self, discount, coal_price, gas_price, ccs_price)
        table = self.capcost_per_kw
        table[tech.Black_Coal] = 4361
        table[tech.CCGT] = 1565
        table[tech.CCGT_CCS] = 3488
        table[tech.CentralReceiver] = 4051
        table[tech.Coal_CCS] = 8566
        table[tech.OCGT] = 768
        table[tech.Behind_Meter_PV] = 619
        table[tech.PV1Axis] = 676
        table[tech.Wind] = 1927
        table[tech.WindOffshore] = 4511

        table = self.totcost_per_kwh
        table[tech.Battery] = {1: 514, 2: 335, 4: 257, 8: 221}

GenCost 2022-23 costs for 2050 (current policies).

Construct a cost object.

Ancestors

Inherited members

class GenCost2023_2050_NZE2050 (discount, coal_price, gas_price, ccs_price)
Expand source code
class GenCost2023_2050_NZE2050(GenCost2023):
    """GenCost 2022-23 costs for 2050 (Global NZE by 2050)."""

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        GenCost2023.__init__(self, discount, coal_price, gas_price, ccs_price)
        table = self.capcost_per_kw
        table[tech.Black_Coal] = 4361
        table[tech.CCGT] = 1565
        table[tech.CCGT_CCS] = 3012
        table[tech.CentralReceiver] = 3087
        table[tech.Coal_CCS] = 8083
        table[tech.OCGT] = 768
        table[tech.Behind_Meter_PV] = 483
        table[tech.PV1Axis] = 513
        table[tech.Wind] = 1642
        table[tech.WindOffshore] = 2539

        table = self.totcost_per_kwh
        table[tech.Battery] = {1: 410, 2: 241, 4: 162, 8: 126}

GenCost 2022-23 costs for 2050 (Global NZE by 2050).

Construct a cost object.

Ancestors

Inherited members

class GenCost2023_2050_NZEPost2050 (discount, coal_price, gas_price, ccs_price)
Expand source code
class GenCost2023_2050_NZEPost2050(GenCost2023):
    """GenCost 2022-23 costs for 2050 (Global NZE post 2050)."""

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        GenCost2023.__init__(self, discount, coal_price, gas_price, ccs_price)
        table = self.capcost_per_kw
        table[tech.Black_Coal] = 4361
        table[tech.CCGT] = 1565
        table[tech.CCGT_CCS] = 3037
        table[tech.CentralReceiver] = 3419
        table[tech.Coal_CCS] = 8109
        table[tech.OCGT] = 768
        table[tech.Behind_Meter_PV] = 525
        table[tech.PV1Axis] = 586
        table[tech.Wind] = 1787
        table[tech.WindOffshore] = 3751

        table = self.totcost_per_kwh
        table[tech.Battery] = {1: 443, 2: 284, 4: 207, 8: 172}

GenCost 2022-23 costs for 2050 (Global NZE post 2050).

Construct a cost object.

Ancestors

Inherited members

class GenCost2024_2030_CP (discount, coal_price, gas_price, ccs_price)
Expand source code
class GenCost2024_2030_CP(GenCost2024):
    """GenCost 2023-24 costs for 2030 (current policies)."""

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        GenCost2024.__init__(self, discount, coal_price, gas_price, ccs_price)
        table = self.capcost_per_kw
        table[tech.Black_Coal] = 5141
        table[tech.CCGT] = 1731
        table[tech.CCGT_CCS] = 4024
        table[tech.CentralReceiver] = 5301
        table[tech.Coal_CCS] = 9675
        table[tech.OCGT] = 865
        table[tech.Behind_Meter_PV] = 1071
        table[tech.PV1Axis] = 1173
        table[tech.Wind] = 2399
        table[tech.WindOffshore] = 5230

        table = self.totcost_per_kwh
        table[tech.Battery] = {1: 648, 2: 445, 4: 344, 8: 292}

GenCost 2023-24 costs for 2030 (current policies).

Construct a cost object.

Ancestors

Inherited members

class GenCost2024_2030_NZE2050 (discount, coal_price, gas_price, ccs_price)
Expand source code
class GenCost2024_2030_NZE2050(GenCost2024):
    """GenCost 2023-24 costs for 2030 (Global NZE by 2050)."""

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        GenCost2024.__init__(self, discount, coal_price, gas_price, ccs_price)
        table = self.capcost_per_kw
        table[tech.Black_Coal] = 5168
        table[tech.CCGT] = 1747
        table[tech.CCGT_CCS] = 4070
        table[tech.CentralReceiver] = 4768
        table[tech.Coal_CCS] = 9751
        table[tech.OCGT] = 893
        table[tech.Behind_Meter_PV] = 1068
        table[tech.PV1Axis] = 1166
        table[tech.Wind] = 2358
        table[tech.WindOffshore] = 3720

        table = self.totcost_per_kwh
        table[tech.Battery] = {1: 433, 2: 302, 4: 236, 8: 202}

GenCost 2023-24 costs for 2030 (Global NZE by 2050).

Construct a cost object.

Ancestors

Inherited members

class GenCost2024_2030_NZEPost2050 (discount, coal_price, gas_price, ccs_price)
Expand source code
class GenCost2024_2030_NZEPost2050(GenCost2024):
    """GenCost 2023-24 costs for 2030 (Global NZE post 2050)."""

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        GenCost2024.__init__(self, discount, coal_price, gas_price, ccs_price)
        table = self.capcost_per_kw
        table[tech.Black_Coal] = 5168
        table[tech.CCGT] = 1747
        table[tech.CCGT_CCS] = 4070
        table[tech.CentralReceiver] = 4968
        table[tech.Coal_CCS] = 9751
        table[tech.OCGT] = 893
        table[tech.Behind_Meter_PV] = 1073
        table[tech.PV1Axis] = 1172
        table[tech.Wind] = 2386
        table[tech.WindOffshore] = 4914

        table = self.totcost_per_kwh
        table[tech.Battery] = {1: 561, 2: 393, 4: 309, 8: 266}

GenCost 2023-24 costs for 2030 (Global NZE post 2050).

Construct a cost object.

Ancestors

Inherited members

class GenCost2024_2040_CP (discount, coal_price, gas_price, ccs_price)
Expand source code
class GenCost2024_2040_CP(GenCost2024):
    """GenCost 2023-24 costs for 2040 (current policies)."""

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        GenCost2024.__init__(self, discount, coal_price, gas_price, ccs_price)
        table = self.capcost_per_kw
        table[tech.Black_Coal] = 5205
        table[tech.CCGT] = 1702
        table[tech.CCGT_CCS] = 3831
        table[tech.CentralReceiver] = 4615
        table[tech.Coal_CCS] = 9396
        table[tech.OCGT] = 850
        table[tech.Behind_Meter_PV] = 896
        table[tech.PV1Axis] = 994
        table[tech.Wind] = 1962
        table[tech.WindOffshore] = 4936

        table = self.totcost_per_kwh
        table[tech.Battery] = {1: 502, 2: 338, 4: 256, 8: 215}

GenCost 2023-24 costs for 2040 (current policies).

Construct a cost object.

Ancestors

Inherited members

class GenCost2024_2040_NZE2050 (discount, coal_price, gas_price, ccs_price)
Expand source code
class GenCost2024_2040_NZE2050(GenCost2024):
    """GenCost 2023-24 costs for 2040 (Global NZE by 2050)."""

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        GenCost2024.__init__(self, discount, coal_price, gas_price, ccs_price)
        table = self.capcost_per_kw
        table[tech.Black_Coal] = 5236
        table[tech.CCGT] = 1702
        table[tech.CCGT_CCS] = 3209
        table[tech.CentralReceiver] = 3731
        table[tech.Coal_CCS] = 8792
        table[tech.OCGT] = 855
        table[tech.Behind_Meter_PV] = 750
        table[tech.PV1Axis] = 832
        table[tech.Wind] = 1871
        table[tech.WindOffshore] = 2755

        table = self.totcost_per_kwh
        table[tech.Battery] = {1: 372, 2: 249, 4: 188, 8: 157}

GenCost 2023-24 costs for 2040 (Global NZE by 2050).

Construct a cost object.

Ancestors

Inherited members

class GenCost2024_2040_NZEPost2050 (discount, coal_price, gas_price, ccs_price)
Expand source code
class GenCost2024_2040_NZEPost2050(GenCost2024):
    """GenCost 2023-24 costs for 2040 (Global NZE post 2050)."""

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        GenCost2024.__init__(self, discount, coal_price, gas_price, ccs_price)
        table = self.capcost_per_kw
        table[tech.Black_Coal] = 5236
        table[tech.CCGT] = 1702
        table[tech.CCGT_CCS] = 3514
        table[tech.CentralReceiver] = 3994
        table[tech.Coal_CCS] = 9095
        table[tech.OCGT] = 855
        table[tech.Behind_Meter_PV] = 823
        table[tech.PV1Axis] = 913
        table[tech.Wind] = 1949
        table[tech.WindOffshore] = 4339

        table = self.totcost_per_kwh
        table[tech.Battery] = {1: 421, 2: 278, 4: 207, 8: 171}

GenCost 2023-24 costs for 2040 (Global NZE post 2050).

Construct a cost object.

Ancestors

Inherited members

class GenCost2024_2050_CP (discount, coal_price, gas_price, ccs_price)
Expand source code
class GenCost2024_2050_CP(GenCost2024):
    """GenCost 2023-24 costs for 2050 (current policies)."""

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        GenCost2024.__init__(self, discount, coal_price, gas_price, ccs_price)
        table = self.capcost_per_kw
        table[tech.Black_Coal] = 5149
        table[tech.CCGT] = 1655
        table[tech.CCGT_CCS] = 3590
        table[tech.CentralReceiver] = 3878
        table[tech.Coal_CCS] = 9011
        table[tech.OCGT] = 826
        table[tech.Behind_Meter_PV] = 710
        table[tech.PV1Axis] = 791
        table[tech.Wind] = 1924
        table[tech.WindOffshore] = 4778

        table = self.totcost_per_kwh
        table[tech.Battery] = {1: 477, 2: 320, 4: 242, 8: 202}

GenCost 2023-24 costs for 2050 (current policies).

Construct a cost object.

Ancestors

Inherited members

class GenCost2024_2050_NZE2050 (discount, coal_price, gas_price, ccs_price)
Expand source code
class GenCost2024_2050_NZE2050(GenCost2024):
    """GenCost 2023-24 costs for 2050 (Global NZE by 2050)."""

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        GenCost2024.__init__(self, discount, coal_price, gas_price, ccs_price)
        table = self.capcost_per_kw
        table[tech.Black_Coal] = 5268
        table[tech.CCGT] = 1655
        table[tech.CCGT_CCS] = 3146
        table[tech.CentralReceiver] = 3007
        table[tech.Coal_CCS] = 8575
        table[tech.OCGT] = 830
        table[tech.Behind_Meter_PV] = 524
        table[tech.PV1Axis] = 583
        table[tech.Wind] = 1763
        table[tech.WindOffshore] = 2691

        table = self.totcost_per_kwh
        table[tech.Battery] = {1: 364, 2: 244, 4: 184, 8: 154}

GenCost 2023-24 costs for 2050 (Global NZE by 2050).

Construct a cost object.

Ancestors

Inherited members

class GenCost2024_2050_NZEPost2050 (discount, coal_price, gas_price, ccs_price)
Expand source code
class GenCost2024_2050_NZEPost2050(GenCost2024):
    """GenCost 2023-24 costs for 2050 (Global NZE post 2050)."""

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        GenCost2024.__init__(self, discount, coal_price, gas_price, ccs_price)
        table = self.capcost_per_kw
        table[tech.Black_Coal] = 5268
        table[tech.CCGT] = 1655
        table[tech.CCGT_CCS] = 3154
        table[tech.CentralReceiver] = 3330
        table[tech.Coal_CCS] = 8580
        table[tech.OCGT] = 830
        table[tech.Behind_Meter_PV] = 617
        table[tech.PV1Axis] = 687
        table[tech.Wind] = 1885
        table[tech.WindOffshore] = 3990

        table = self.totcost_per_kwh
        table[tech.Battery] = {1: 405, 2: 267, 4: 198, 8: 163}

GenCost 2023-24 costs for 2050 (Global NZE post 2050).

Construct a cost object.

Ancestors

Inherited members

class GenCost2025_2030_CP (discount, coal_price, gas_price, ccs_price)
Expand source code
class GenCost2025_2030_CP(GenCost2025):
    """GenCost 2024-25 costs for 2030 (current policies)."""

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        GenCost2025.__init__(self, discount, coal_price, gas_price, ccs_price)
        table = self.capcost_per_kw
        table[tech.Black_Coal] = 5301
        table[tech.CCGT] = 1969
        table[tech.CCGT_CCS] = 4617
        table[tech.CentralReceiver] = 5973
        table[tech.Coal_CCS] = 10435
        table[tech.Nuclear] = 8467
        table[tech.OCGT] = 1302
        table[tech.Behind_Meter_PV] = 1106
        table[tech.PV1Axis] = 1224
        table[tech.Wind] = 2603
        table[tech.WindOffshore] = 4629

        table = self.totcost_per_kwh
        table[tech.Battery] = {
            1: 780, 2: 525, 4: 367, 8: 300, 12: 278, 24: 256,
        }

GenCost 2024-25 costs for 2030 (current policies).

Construct a cost object.

Ancestors

Inherited members

class GenCost2025_2030_NZE2050 (discount, coal_price, gas_price, ccs_price)
Expand source code
class GenCost2025_2030_NZE2050(GenCost2025):
    """GenCost 2024-25 costs for 2030 (Global NZE by 2050)."""

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        GenCost2025.__init__(self, discount, coal_price, gas_price, ccs_price)
        table = self.capcost_per_kw
        table[tech.Black_Coal] = 5344
        table[tech.CCGT] = 1996
        table[tech.CCGT_CCS] = 4678
        table[tech.CentralReceiver] = 5437
        table[tech.Coal_CCS] = 10529
        table[tech.Nuclear] = 8493
        table[tech.OCGT] = 1302
        table[tech.Behind_Meter_PV] = 1031
        table[tech.PV1Axis] = 1141
        table[tech.Wind] = 2491
        table[tech.WindOffshore] = 4409

        table = self.totcost_per_kwh
        table[tech.Battery] = {
            1: 531, 2: 371, 4: 268, 8: 225, 12: 211, 24: 198,
        }

GenCost 2024-25 costs for 2030 (Global NZE by 2050).

Construct a cost object.

Ancestors

Inherited members

class GenCost2025_2030_NZEPost2050 (discount, coal_price, gas_price, ccs_price)
Expand source code
class GenCost2025_2030_NZEPost2050(GenCost2025):
    """GenCost 2024-25 costs for 2030 (Global NZE post 2050)."""

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        GenCost2025.__init__(self, discount, coal_price, gas_price, ccs_price)
        table = self.capcost_per_kw
        table[tech.Black_Coal] = 5344
        table[tech.CCGT] = 1996
        table[tech.CCGT_CCS] = 4678
        table[tech.CentralReceiver] = 5666
        table[tech.Coal_CCS] = 10529
        table[tech.Nuclear] = 8467
        table[tech.OCGT] = 1302
        table[tech.Behind_Meter_PV] = 1069
        table[tech.PV1Axis] = 1183
        table[tech.Wind] = 2533
        table[tech.WindOffshore] = 4379

        table = self.totcost_per_kwh
        table[tech.Battery] = {
            1: 667, 2: 453, 4: 319, 8: 263, 12: 244, 24: 226,
        }

GenCost 2024-25 costs for 2030 (Global NZE post 2050).

Construct a cost object.

Ancestors

Inherited members

class GenCost2025_2040_CP (discount, coal_price, gas_price, ccs_price)
Expand source code
class GenCost2025_2040_CP(GenCost2025):
    """GenCost 2024-25 costs for 2040 (current policies)."""

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        GenCost2025.__init__(self, discount, coal_price, gas_price, ccs_price)
        table = self.capcost_per_kw
        table[tech.Black_Coal] = 5378
        table[tech.CCGT] = 1935
        table[tech.CCGT_CCS] = 4486
        table[tech.CentralReceiver] = 5217
        table[tech.Coal_CCS] = 10202
        table[tech.Nuclear] = 8322
        table[tech.OCGT] = 1280
        table[tech.Behind_Meter_PV] = 907
        table[tech.PV1Axis] = 1016
        table[tech.Wind] = 2047
        table[tech.WindOffshore] = 4489

        table = self.totcost_per_kwh
        table[tech.Battery] = {
            1: 640, 2: 422, 4: 290, 8: 234, 12: 214, 24: 196,
        }

GenCost 2024-25 costs for 2040 (current policies).

Construct a cost object.

Ancestors

Inherited members

class GenCost2025_2040_NZE2050 (discount, coal_price, gas_price, ccs_price)
Expand source code
class GenCost2025_2040_NZE2050(GenCost2025):
    """GenCost 2024-25 costs for 2040 (Global NZE by 2050)."""

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        GenCost2025.__init__(self, discount, coal_price, gas_price, ccs_price)
        table = self.capcost_per_kw
        table[tech.Black_Coal] = 5396
        table[tech.CCGT] = 1935
        table[tech.CCGT_CCS] = 4292
        table[tech.CentralReceiver] = 4269
        table[tech.Coal_CCS] = 10001
        table[tech.Nuclear] = 8322
        table[tech.OCGT] = 1280
        table[tech.Behind_Meter_PV] = 599
        table[tech.PV1Axis] = 671
        table[tech.Wind] = 1940
        table[tech.WindOffshore] = 4235

        table = self.totcost_per_kwh
        table[tech.Battery] = {
            1: 466, 2: 316, 4: 223, 8: 183, 12: 170, 24: 158,
        }

GenCost 2024-25 costs for 2040 (Global NZE by 2050).

Construct a cost object.

Ancestors

Inherited members

class GenCost2025_2040_NZEPost2050 (discount, coal_price, gas_price, ccs_price)
Expand source code
class GenCost2025_2040_NZEPost2050(GenCost2025):
    """GenCost 2024-25 costs for 2040 (Global NZE post 2050)."""

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        GenCost2025.__init__(self, discount, coal_price, gas_price, ccs_price)
        table = self.capcost_per_kw
        table[tech.Black_Coal] = 5396
        table[tech.CCGT] = 1935
        table[tech.CCGT_CCS] = 4457
        table[tech.CentralReceiver] = 4570
        table[tech.Coal_CCS] = 10172
        table[tech.Nuclear] = 8322
        table[tech.OCGT] = 1280
        table[tech.Behind_Meter_PV] = 753
        table[tech.PV1Axis] = 843
        table[tech.Wind] = 2039
        table[tech.WindOffshore] = 3961

        table = self.totcost_per_kwh
        table[tech.Battery] = {
            1: 539, 2: 355, 4: 245, 8: 197, 12: 181, 24: 166,
        }

GenCost 2024-25 costs for 2040 (Global NZE post 2050).

Construct a cost object.

Ancestors

Inherited members

class GenCost2025_2050_CP (discount, coal_price, gas_price, ccs_price)
Expand source code
class GenCost2025_2050_CP(GenCost2025):
    """GenCost 2024-25 costs for 2050 (current policies)."""

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        GenCost2025.__init__(self, discount, coal_price, gas_price, ccs_price)
        table = self.capcost_per_kw
        table[tech.Black_Coal] = 5376
        table[tech.CCGT] = 1882
        table[tech.CCGT_CCS] = 4257
        table[tech.CentralReceiver] = 4388
        table[tech.Coal_CCS] = 9810
        table[tech.Nuclear] = 8091
        table[tech.OCGT] = 1243
        table[tech.Behind_Meter_PV] = 718
        table[tech.PV1Axis] = 807
        table[tech.Wind] = 1967
        table[tech.WindOffshore] = 4346

        table = self.totcost_per_kwh
        table[tech.Battery] = {
            1: 617, 2: 406, 4: 279, 8: 225, 12: 206, 24: 188,
        }

GenCost 2024-25 costs for 2050 (current policies).

Construct a cost object.

Ancestors

Inherited members

class GenCost2025_2050_NZE2050 (discount, coal_price, gas_price, ccs_price)
Expand source code
class GenCost2025_2050_NZE2050(GenCost2025):
    """GenCost 2024-25 costs for 2050 (Global NZE by 2050)."""

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        GenCost2025.__init__(self, discount, coal_price, gas_price, ccs_price)
        table = self.capcost_per_kw
        table[tech.Black_Coal] = 5427
        table[tech.CCGT] = 1882
        table[tech.CCGT_CCS] = 4122
        table[tech.CentralReceiver] = 3444
        table[tech.Coal_CCS] = 9670
        table[tech.Nuclear] = 8091
        table[tech.OCGT] = 1243
        table[tech.Behind_Meter_PV] = 505
        table[tech.PV1Axis] = 569
        table[tech.Wind] = 1868
        table[tech.WindOffshore] = 4136

        table = self.totcost_per_kwh
        table[tech.Battery] = {
            1: 457, 2: 311, 4: 219, 8: 180, 12: 167, 24: 155,
        }

GenCost 2024-25 costs for 2050 (Global NZE by 2050).

Construct a cost object.

Ancestors

Inherited members

class GenCost2025_2050_NZEPost2050 (discount, coal_price, gas_price, ccs_price)
Expand source code
class GenCost2025_2050_NZEPost2050(GenCost2025):
    """GenCost 2024-25 costs for 2050 (Global NZE post 2050)."""

    def __init__(self, discount, coal_price, gas_price, ccs_price):
        """Construct a cost object."""
        GenCost2025.__init__(self, discount, coal_price, gas_price, ccs_price)
        table = self.capcost_per_kw
        table[tech.Black_Coal] = 5427
        table[tech.CCGT] = 1882
        table[tech.CCGT_CCS] = 4184
        table[tech.CentralReceiver] = 3814
        table[tech.Coal_CCS] = 8734
        table[tech.Nuclear] = 8091
        table[tech.OCGT] = 1243
        table[tech.Behind_Meter_PV] = 612
        table[tech.PV1Axis] = 688
        table[tech.Wind] = 2001
        table[tech.WindOffshore] = 3679

        table = self.totcost_per_kwh
        table[tech.Battery] = {
            1: 509, 2: 338, 4: 233, 8: 189, 12: 174, 24: 160,
        }

GenCost 2024-25 costs for 2050 (Global NZE post 2050).

Construct a cost object.

Ancestors

Inherited members

class NullCosts (discount=0, coal_price=0, gas_price=0, ccs_price=0)
Expand source code
class NullCosts:
    """All costs are zero. Useful for debugging."""

    # pylint: disable=unused-argument
    def __init__(self, discount=0, coal_price=0, gas_price=0, ccs_price=0):
        """Construct an all-zero costs object."""
        self.capcost_per_kw = defaultdict(lambda: 0)
        self.fixed_om_costs = defaultdict(lambda: 0)
        self.opcost_per_mwh = defaultdict(lambda: 0)
        # a dictionary of dictionary of zeros
        self.totcost_per_kwh = defaultdict(lambda: defaultdict(lambda: 0))
        self.ccs_storage_per_t = 0
        self.bioenergy_price_per_gj = 0
        self.coal_price_per_gj = 0
        self.gas_price_per_gj = 0
        self.diesel_price_per_litre = 0
        self.carbon = 0

    def annuity_factor(self, lifetime):
        """Return the annuity factor for lifetime t."""
        return 1

All costs are zero. Useful for debugging.

Construct an all-zero costs object.

Methods

def annuity_factor(self, lifetime)
Expand source code
def annuity_factor(self, lifetime):
    """Return the annuity factor for lifetime t."""
    return 1

Return the annuity factor for lifetime t.