Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions src/ispypsa/iasr_table_caching/local_cache.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,8 @@ def _build_required_tables(iasr_workbook_version: str) -> list[str]:
"gpg_min_stable_level_new_entrants",
"battery_properties",
"pumped_hydro_new_entrant_properties",
"technology_specific_lcfs",
"locational_cost_factors",
] + augmentation

else:
Expand Down
267 changes: 233 additions & 34 deletions src/ispypsa/templater/new_entrants.py

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion src/ispypsa/validation/schemas/generators_new_entrant.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ description: >
- `lead_time_and_project_life`
- `gpg_min_stable_level_new_entrants`
- `locational_cost_factors`
- `technology_cost_breakdown_ratios`
- `technology_specific_lcfs`

If absent:
Only existing (and planned) generation will be modelled.
Expand Down
3 changes: 1 addition & 2 deletions src/ispypsa/validation/schemas/storage_new_entrant.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,7 @@ description: >
- `gpg_min_stable_level_new_entrants`
- `lead_time_and_project_life`
- `locational_cost_factors`
- `locational_cost_pumped_hydro_factors`
- `technology_cost_breakdown_ratios`
- `technology_specific_lcfs`

If absent:
Only existing or planned storage will be modelled.
Expand Down
3 changes: 3 additions & 0 deletions tests/test_iasr_table_caching/test_local_cache.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,9 @@ def test_build_required_tables_new_format():
# Storage property tables merged into the new entrant storage template
assert "battery_properties" in result
assert "pumped_hydro_new_entrant_properties" in result
# Locational cost factor tables feed lcf_build / lcf_om in both new entrant templates
assert "technology_specific_lcfs" in result
assert "locational_cost_factors" in result


def test_build_required_tables_old_format():
Expand Down
50 changes: 32 additions & 18 deletions tests/test_templater/test_create_ispypsa_inputs_template.py
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,20 @@ def _new_entrant_property_tables(csv_str_to_df) -> dict[str, pd.DataFrame]:
Pumped Hydro (24hrs storage), 24, 76
BOTN - Cethana - 20h, 20, 80
"""),
"technology_specific_lcfs": csv_str_to_df("""
Cost zone / REZ ID, REZ name / Description, Wind, Large scale Solar PV, OCGT (small GT), Pumped Hydro (24hrs storage), BOTN - Cethana
Q1, Far North QLD, 1.05, 1.08, Not Applicable, Not Applicable, Not Applicable
CNSW, Subregional Ref Node, Not Applicable, Not Applicable, 1.04, Not Applicable, Not Applicable
SNW, Subregional Ref Node, Not Applicable, Not Applicable, 1.00, Not Applicable, Not Applicable
TAS, Subregional Ref Node, Not Applicable, Not Applicable, Not Applicable, 1.0469, 100
"""),
"locational_cost_factors": csv_str_to_df("""
Cost zone / REZ ID, O&M costs 3
Q1, 122.0
CNSW, 110.0
SNW, 100.0
TAS, 100.0
"""),
}


Expand Down Expand Up @@ -292,12 +306,12 @@ def test_create_ispypsa_inputs_template_new_format(csv_str_to_df):
IBR, 10
""")
new_entrants_summary = csv_str_to_df("""
IASR ID / DLT names, Technology Type, Fuel type, Fuel cost mapping, REZ ID, Sub-region
Q1_WH_Far North QLD, Wind, Wind, Wind, Q1, NQ
Q1_SAT_Far North QLD, Large scale Solar PV, Solar, Solar, Q1, NQ
CNSW OCGT Small, OCGT (small GT), Gas, NSW new OCGT, Not Applicable, CNSW
SNW OCGT Small, OCGT (small GT), Gas, NSW new OCGT, Not Applicable, SNW
BOTN - Cethana - 20h, Pumped Hydro (24hrs storage), Water, Hydro, Not Applicable, TAS
IASR ID / DLT names, Technology Type, Fuel type, Fuel cost mapping, REZ ID, Sub-region, Regional build cost zone
Q1_WH_Far North QLD, Wind, Wind, Wind, Q1, NQ, Q1
Q1_SAT_Far North QLD, Large scale Solar PV, Solar, Solar, Q1, NQ, Q1
CNSW OCGT Small, OCGT (small GT), Gas, NSW new OCGT, Not Applicable, CNSW, CNSW
SNW OCGT Small, OCGT (small GT), Gas, NSW new OCGT, Not Applicable, SNW, SNW
BOTN - Cethana - 20h, Pumped Hydro (24hrs storage), Water, Hydro, Not Applicable, TAS, TAS
""")

with (
Expand Down Expand Up @@ -488,12 +502,12 @@ def test_create_ispypsa_inputs_template_new_format_nem_regions(csv_str_to_df):
IBR, 10
""")
new_entrants_summary = csv_str_to_df("""
IASR ID / DLT names, Technology Type, Fuel type, Fuel cost mapping, REZ ID, Sub-region
Q1_WH_Far North QLD, Wind, Wind, Wind, Q1, NQ
Q1_SAT_Far North QLD, Large scale Solar PV, Solar, Solar, Q1, NQ
CNSW OCGT Small, OCGT (small GT), Gas, NSW new OCGT, Not Applicable, CNSW
SNW OCGT Small, OCGT (small GT), Gas, NSW new OCGT, Not Applicable, SNW
BOTN - Cethana - 20h, Pumped Hydro (24hrs storage), Water, Hydro, Not Applicable, TAS
IASR ID / DLT names, Technology Type, Fuel type, Fuel cost mapping, REZ ID, Sub-region, Regional build cost zone
Q1_WH_Far North QLD, Wind, Wind, Wind, Q1, NQ, Q1
Q1_SAT_Far North QLD, Large scale Solar PV, Solar, Solar, Q1, NQ, Q1
CNSW OCGT Small, OCGT (small GT), Gas, NSW new OCGT, Not Applicable, CNSW, CNSW
SNW OCGT Small, OCGT (small GT), Gas, NSW new OCGT, Not Applicable, SNW, SNW
BOTN - Cethana - 20h, Pumped Hydro (24hrs storage), Water, Hydro, Not Applicable, TAS, TAS
""")

with (
Expand Down Expand Up @@ -645,12 +659,12 @@ def test_create_ispypsa_inputs_template_new_format_single_region(csv_str_to_df):
IBR, 10
""")
new_entrants_summary = csv_str_to_df("""
IASR ID / DLT names, Technology Type, Fuel type, Fuel cost mapping, REZ ID, Sub-region
Q1_WH_Far North QLD, Wind, Wind, Wind, Q1, NQ
Q1_SAT_Far North QLD, Large scale Solar PV, Solar, Solar, Q1, NQ
CNSW OCGT Small, OCGT (small GT), Gas, NSW new OCGT, Not Applicable, CNSW
SNW OCGT Small, OCGT (small GT), Gas, NSW new OCGT, Not Applicable, SNW
BOTN - Cethana - 20h, Pumped Hydro (24hrs storage), Water, Hydro, Not Applicable, TAS
IASR ID / DLT names, Technology Type, Fuel type, Fuel cost mapping, REZ ID, Sub-region, Regional build cost zone
Q1_WH_Far North QLD, Wind, Wind, Wind, Q1, NQ, Q1
Q1_SAT_Far North QLD, Large scale Solar PV, Solar, Solar, Q1, NQ, Q1
CNSW OCGT Small, OCGT (small GT), Gas, NSW new OCGT, Not Applicable, CNSW, CNSW
SNW OCGT Small, OCGT (small GT), Gas, NSW new OCGT, Not Applicable, SNW, SNW
BOTN - Cethana - 20h, Pumped Hydro (24hrs storage), Water, Hydro, Not Applicable, TAS, TAS
""")

with (
Expand Down
Loading
Loading