diff --git a/docs/adr/001-trace-name-mapping.md b/docs/adr/001-trace-name-mapping.md new file mode 100644 index 0000000..b13da2b --- /dev/null +++ b/docs/adr/001-trace-name-mapping.md @@ -0,0 +1,317 @@ +# ADR-001: Trace name mapping convention + +## Status + +Proposed — 2026-05-28 + +Would supersede the implicit conventions encoded in `metadata_extractors.py` and +the split solar/wind × project/zone YAML files under `src/isp_trace_parser/mappings/`. + +This ADR *only* relates to format of trace *mapping* data - not it's downstream use (e.g. filtering, creating hive partitioned data, etc - though those uses kept in mind while developing this ) + +## Context + +The 2026 ISP trace data introduces new filename patterns (DREZs, Distributed Resources, split Q8 zones - see issue [#36](https://github.com/Open-ISP/isp-trace-parser/issues/36)) that the existing regex-based metadata extractors +misclassify (issue [#40](https://github.com/Open-ISP/isp-trace-parser/issues/40)). + +Updating / integrating these new traces presents an opportunity to streamline and improve the current approach. + +Characteristics of the current approach: + +- **Filename reconstruction in code.** Metadata is extracted from input filenames via regex, then output filenames are reconstructed from that metadata. Every new AEMO filename pattern requires a regex change. +- **Partial mapping also exits:** Mapping does exist, but for trace names to IASR names only) + - **Four mapping files per ISP version.** `solar_project_mapping.yaml`,`wind_project_mapping.yaml`, `solar_zone_mapping.yaml`,`wind_zone_mapping.yaml` (each with its own conventions - and the zone_maps being largely redundant) + - (**Coupling to IASR naming.** - downstream issue, but parsed output filenames are rewritten to IASR conventions, which couples) +- **Project/zone split.** The parser distinguishes "project" (named generator) from "zone" (REZ) traces, but the CSVs are all co-located in a single folder per reference year (the distinction is also re-derived from filename shape). +- **Silent misclassification & misses classificiation.** Some patterns match + *any* `*_RefYear.csv`, so unrecognised filenames silently fall + through with `file_type="project"`, `resource_type="WIND"` (see issue [#36](https://github.com/Open-ISP/isp-trace-parser/issues/36)). Some trace + +### Issues with current approach and new data: +1) The 2026 data includes new that don't fit the project/zone split cleanly: Distributed Resources are at ISP subregion resolution; DREZs are REZ-like but distinct. + +2) AEMO's conventions also differ across ISP versions: + - **ISP-2024**: no formal IASR identifier. Generators are referred to by a human-readable name (e.g. `"Bango 973 Wind Farm"`). + - **ISP-2026**: introduces a formal IASR ID, in addition to the human-readable name. + +3) Maintaining regex patterns that work across multiple / new AEMO formats sound like a literal nightmare (noting that we will continue to get updated traces in the future) + +4) Maintaining 4 resource maps per ISP also annoying (noting that IASR ID doesn't exist for 2024 ISP, and the mappings are already not internally consistent structures anyway) + +We already do (partial) mapping with - this ADR proposes a full ***explicit*** mapping for each ISP (or source) version + +This ADR sets out proposed mapping convention for ISP traces. ISP-2024 will be migrated to the same convention first. This is done for backwards compatability - but actually mainly because of testing and incremental implementation (i.e. there is no existing tests / safeguards for just trying on the 2026 data) + +## Decision + +### 1. One mapping file per ISP version, per concern + +``` +src/isp_trace_parser/mappings/ +├── 2024/ +│ ├── resources.yaml +│ ├── demand.yaml +│ └── topography.yaml +├── 2026/ +│ ├── resources.yaml +│ ├── demand.yaml +│ └── topography.yaml +``` + +Three files per version, regardless of technology or geographic resolution. The project/zone split is removed; the solar/wind split is removed. Technology and location-type are carried as fields on each entry in the yaml (see below). + +Add includes a separate topographic hierarchy (region → subregion → zone) into `topography.yaml`. ( rationale discuss below) + +### 2. Resources YAML: trace-stem-keyed, IASR aliases as values + +```yaml +# mappings/2026/resources.yaml + +BLUFF1: + location_type: project + location: BLUFF1 + resource_type: wind + zone: S3 # required: topography doesn't track projects + iasr_aliases: ["Hallett 5 The Bluff Wind Farm"] + +Coleambally_SAT: + location_type: project + location: Coleambally + resource_type: solar_sat + subregion: SNSW # no formal REZ- subregion is the tightest known parent + iasr_aliases: ["Coleambally Solar Farm"] + +Walla_Walla_SAT: + location_type: project + location: Walla_Walla + resource_type: solar_sat + subregion: SNSW + iasr_aliases: ['WLWLSF1', 'WLWLSF2'] # many IASR identifiers share one trace file + +REZ_N6_Wagga_Wagga_CST: + location_type: zone + location: N6 # no `zone:` - parent subregion resolved via topography + resource_type: solar_cst + iasr_aliases: [] # no IASR id / generator equivalent in 2024 IASR + + +# example of many traces feed one IASR name +CLRKCWF1: + location_type: project + location: CLRKCWF1 + resource_type: wind + zone: Q4 + iasr_aliases: ["Clarke Creek Wind Farm"] + +CLRKCWF2: + location_type: project + location: CLRKCWF2 + resource_type: wind + zone: Q4 + iasr_aliases: ["Clarke Creek Wind Farm"] +``` + +**Key:** the trace filename stem (the part before `_RefYear.csv`), including any resource_type suffix. + +**Filename convention assumption.** This ADR assumes AEMO's `_RefYear.csv` filename pattern. + +The parser would extract `reference_year` by a single `rpartition("_RefYear")`split; everything else comes from the mapping. If AEMO happened to changes the refyear convention in a future ISP release this function helper needs updating in one place (but the mapping itself is unaffected) + +**Fields:** + +| Field | Required | Allowed values | +| --------------- | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `location_type` | yes | `project`, `zone` (`drez`), `subregion`, | +| `location` | yes | Llocation identifier, distinct from the trace-stem key. For `project`, the bare project name (e.g. `Coleambally`); for `zone`/`drez`, the zone code (e.g. `N6`); for `subregion`, the subregion code (e.g. `SNSW`). | +| `resource_type` | yes | strings: `wind`, `wind_high`, `wind_medium`, `solar_sat`, `solar_cst`, `solar_ffp`, … | +| `zone` | conditional | REZ code from `topography.yaml`.
Set `zone` when the project sits inside a formal REZ.
Omitted on `zone`/`drez`/`subregion` entries. | +| `subregion` | conditional | ISP subregion code from `topography.yaml`.
Set on a `project` entry **only when** the project lies outside any formal REZ
Omitted on `zone`/`drez`/`subregion` entries. | +| `iasr_aliases` | yes (may be `[]`) | list of identifiers under which this trace is known in IASR/external sources | + +### Notes: + +1) **Asymmetric parent storage.** Only `project` entries carry an explicit parent (`zone:` or `subregion:`, whichever is tightest). Every other entry type omits a parent field — the parent is resolved by looking the entry's `location` up in `topography.yaml`: + - **project** `zone:` on the entry when the project sits inside a formal REZ; otherwise `subregion:` as the tightest known parent. Topography does not track projects, so resources must carry this. + - **zone** / **drez**: parent subregion is `topography["zones"][location]`. + - **subregion**: parent region is `topography["subregions"][location]`. + + The resolver would be a single small python function (not yet implemented). + - **Schema validation could be implemented**: (in a way that a parallels the resolver) + +2) **`iasr_aliases` is always a list, including the empty list**. Idea is that keeps downstream code on a single branch and distinguishes "no IASR equivalent" (empty list) from "schema error" (missing key). + 1) Chose more neutral "iasr_alias" - "iasr_id" is new (and maybe might change? - and there is no "iasr_id" in 2024 ISP, but there is human readable generator names). Ie. the type of identifier not encoded in scheme . + + +### 3. Topography YAML: normalised hierarchy + +```yaml +# mappings/2026/topography.yaml + +regions: [NSW, VIC, QLD, SA, TAS] + +subregions: + CNSW: NSW + NNSW: NSW + SNSW: NSW + VIC: VIC + CQ: QLD + NQ: QLD + SQ: QLD + CSA: SA + SESA: SA + TAS: TAS + +zones: + N0: CNSW # AEMO non-REZ NSW + V0: VIC # AEMO non-REZ VIC + Q1: NQ # Far North QLD + Q2: NQ # North Qld Clean Energy Hub + Q3: NQ # Northern Qld + Q4: CQ # Isaac + Q5: CQ # Barcaldine + # … +``` + +Each subregion/zone entry's value is its parent in the hierarchy + - in future, if something else needed here (e.g. display names / human readable names can be easily added - some extra details includes as comments for now ) + +AEMO's non-REZ zones (`N0`, `V0`) parent at a real subregion like every other zone (AEMO attributes "NSW Non-REZ" to `CNSW` and "Victoria Non-REZ" to `VIC` in its new-entrants modelling +inputs). This keeps every zone on the same `zone -> subregion -> region` +chain with no special case in the resolver. + +### 4. Demand YAML + +```yaml +# mappings/2026/demand.yaml + +scenarios: + "Step Change": step_change + "Progressive Change": progressive_change + "Green Energy Exports": green_energy_exports + +poe_levels: [POE10, POE50] + +demand_types: [OPSO_MODELLING, OPSO_MODELLING_PVLITE] +``` + +Demand filenames are a product / combination of these options, as well as`reference_year` and `subregion`. The YAML declares the each possible value rather than enumerating ~100+ valid combinations. + +The `subregion` axis is **not** redeclared here — it's resolved from `topography.yaml` (every subregion defined there is assumed to have a demand trace). This avoids a second list of subregion codes that has to stay in sync with the geography file. + +At load time the loader expands the vocabularies into a stem-keyed dict so the parser's ingest loop has the same shape as for resources. The asymmetry is in the YAML format (which matches each dataset's actual shape - and parser pipeline is the same). + +### 5. Ingest pipeline: mapping-driven, no regex + +Metadata extractors would be removed entirely. The ingest path becomes: + +``` +zip → ZipFile.namelist() → dict-lookup against mapping (fail loud on unknown) + → ZipFile.open(member) → polars.scan_csv → write parquet to output +``` + +The only thing extracted from the filename is `reference_year`, via a more simple `rpartition("_RefYear")` split. + +Unknown filenames raise `KeyError` rather than silently misclassifying. The mapping file is the canonical list of traces the parser supports. + +## Consequences + +### Positive + +- **No regex maintenance.** New AEMO filename patterns require a YAML edit, not a code change. +- **Loud failures.** Unmapped filenames raise; silent misclassification ([#40](https://github.com/Open-ISP/isp-trace-parser/issues/40)) becomes impossible. +- **Single source of truth per version.** Three YAMLs per ISP version, all declarative; geography defined once and referenced. +- **Normalised geography.** Region → subregion → zone is defined once per ISP version. Resource entries carry only their tightest known parent; no per-entry duplication of upstream geography. +- **Uniform parser pipeline.** Resources and demand share the ingest loop; the difference is in two small loader functions. +- **Decoupled from IASR naming.** The parser is faithful to AEMO source data; IASR lookup is an optional layer via the reverse index built from `iasr_aliases`. +- **Reviewable.** YAML diffs are easy to inspect; adding a trace is one block. +- **Resolution-agnostic.** DREZs, Distributed Resources, and any future new entity kinds are accommodated by adding a `location_type` value, not by special-casing filename shapes. +### Negative + +- **Update cost.** New ISP versions require writing the resources YAML up front. + - (though easier than updating regex!) +- **Redundancy on moderately common case.** For 1:1 traces, the key duplicates + one entry of `iasr_aliases`. Acceptable redundancy +- **Different YAML shapes.** Resources are entity-keyed; demand is option-keyed; geography is a small dimension file. +- **Mutual-exclusion check on projects.** A `project` entry must carry exactly one of `zone:` / `subregion:` (both present, or neither, is a schema error. A trivial load-time check. +- **Cross-file integrity.** `zone:` and `subregion:` values in `resources.yaml` must exist in `topography.yaml`; this is now a load-time check rather than an implicit assumption. + +## Alternatives considered + +### IASR-identifier-keyed YAML + +Key by IASR generator/REZ identifier; trace filenames as values. + +Rejected because: + +- Most 2024 entries have no IASR generator identifier, forcing the something else to be the key anyway. +- The parser ingest path is filename → metadata + - (trace-keyed gives that direct, IASR-keyed requires a reverse index). + - Checks and look up between YAML and `ZipFile.namelist()` are easier when keyed by trace stem. + +The reverse index (alias → trace stems) needed by user-facing `get_data`is straight forward for uses that want to select processed data by IASR names or ID's (iasr_alias) + +### Separate YAMLs for projects and zones + +Rejected because the source CSVs are co-located, and the project-vs-zone classification problem at parse time is kind of the exactly the regex problem this ADR tries removes. With `location_type` (i.e project/zone) adds more files / schemas for no gain (afact) + +### Denormalised geography (region/subregion/zone on every entry) + +Earlier discussion considered carrying `region`, `subregion`, and `rez` as fields on every resource entry. Rejected because: + +- Region duplicates information already implied by subregion (10 → 5 + values) - essentially a DRY argument. +- Subregion duplicates information already implied by zone (≥40 → 10 + values) - also DRY. +- Three fields per entry must be kept consistent with each other by + convention; with hundreds of entries the duplication is a real + maintenance and review surface (potential maintainance issue and/or easier to make a mistake. + +The original idea of keeping it all co-location / together explicitly was essentially for +review-ability / ease of reading. Considered that `topography.yaml` itself actually easier to review / maintain (for example, any diffs to heirachy only change one file in one place, rather than hundreds of lines in a a file ). + +Replaced by `topography.yaml` plus a single tightest-parent field on each entry. + +### Parent-pointer shape on resource entries (e.g. `parent: {zone: N6}`) + +Considered as a way to keep the schema uniform - every resource entry has exactly one `parent:` map regardless of whether it points at a zone or a subregion. + +Rejected in favour of flat `zone:` / `subregion:` fields because flat fields are more skimmable / readable (imho) and the uniformity argument matters more in `topography.yaml` than in `resources.yaml` (which is read/reviewed/edited by humans - hopefully). + +### Replacing `zone:` / `subregion:` with `location:` + +Considered as a way to give every resource entry an identical shape regardless of `location_type`(i.e. drop `zone` and `subregion` from resources entirely and have a single `location` field resolved via `topography.yaml`'s `projects` / `zones` / `subregions` sections to derive the geographic parent). + +Rejected because the "complexity" it removes is essentially avoided a two-line helper: + +```python +def parent_id(entry): + return entry.get("zone") or entry.get("subregion") +``` + + +Centralising it behind a `location` field would: + +- Add a new `projects:` section to `topography.yaml` mapping each project to its zone, duplicating the project namespace across `resources.yaml` (as keys) and `topography.yaml` (as `projects:` keys), which then have to agree. +- Replace a direct, self-contained item with two entries (ie. a reader/reviewer would have to jump to `topography.yaml` for every project entry entry) +- Provide no additional information that isn't already derivable from the direct fields ( the helper above is does that). + +### All geographic fields on every entry (nullable) + +Considered as a way to make every entry uniform *without* the above issues - that is every entry carries both `zone:` and `subregion:` (and any future levels), with values explicitly null where they don't apply. + +Rejected because of additional verbosity *and* raises a potential consistency problem: with both `zone` and `subregion` storable on the same entry, the two can drift (someone updates one, forgets / doesn't properly update the other, or sets a zone whose subregion contradicts the stored value). + +`topography.yaml` already encodes the zone → subregion relationship canonically; replicating it inline on every entry adds complexity for no readability gain. + +### Explicit demand `subregions:` list in demand YAML + +Also discuess a enumerated list of the demand-trace subregions in `demand.yaml`. + +Rejected once `topography.yaml` exists, because the list would have to stay in sync with the subregions defined there. + +## References + +- GitHub discussions + [#41](https://github.com/Open-ISP/isp-trace-parser/discussions/41), + [#42](https://github.com/Open-ISP/isp-trace-parser/discussions/42) +- Issues [#36](https://github.com/Open-ISP/isp-trace-parser/issues/36), [#39](https://github.com/Open-ISP/isp-trace-parser/issues/39), [#40](https://github.com/Open-ISP/isp-trace-parser/issues/40) diff --git a/pyproject.toml b/pyproject.toml index b8b2888..08e45a4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -59,4 +59,4 @@ select = [ where = ["src"] [tool.setuptools.package-data] -isp_trace_parser = ["mappings/*.yaml", "remote/manifests/**/*.txt"] +isp_trace_parser = ["mappings/**/*.yaml", "remote/manifests/**/*.txt"] diff --git a/src/isp_trace_parser/mappings/demand_scenario_mapping.yaml b/src/isp_trace_parser/mappings/2024/demand_scenario_mapping.yaml similarity index 100% rename from src/isp_trace_parser/mappings/demand_scenario_mapping.yaml rename to src/isp_trace_parser/mappings/2024/demand_scenario_mapping.yaml diff --git a/src/isp_trace_parser/mappings/2024/resources.yaml b/src/isp_trace_parser/mappings/2024/resources.yaml new file mode 100644 index 0000000..28be17a --- /dev/null +++ b/src/isp_trace_parser/mappings/2024/resources.yaml @@ -0,0 +1,2468 @@ +# 2024 ISP resources mapping +# +# Notes: +# * Keys are trace filename stems (the part before `_RefYear.csv`). +# * `location` is the general location identifier, distinct from the +# full trace stem: for projects it is the project name; for zones +# it is the REZ code (e.g. `N6`). +# * `location_type` is either "project" (power-station-level CSVs) or +# "zone" (REZ-level CSVs), for the 2024 ISP. +# * Project entries carry exactly one parent field: +# - `zone` (REZ code) when the project sits inside a formal REZ, or +# - `subregion` (e.g. SNSW) when it does not. +# * Zone entries don't include any parent field (their parent is determined +# via topography.yaml. +# * Entries are grouped by type then technology, alphabetical within +# each group: solar projects, wind projects, solar zones, wind zones. +# +# (See ADR-001 for further details and options considered.) + +# --------------------------------------------------------------------------- +# Solar project traces. +# --------------------------------------------------------------------------- + +Adelaide_Desal_FFP: + location_type: project + location: Adelaide_Desal + resource_type: solar_ffp + subregion: CSA + iasr_aliases: [Adelaide Desalination Plant Solar Farm] + +Aramara_SAT: + location_type: project + location: Aramara + resource_type: solar_sat + zone: Q7 + iasr_aliases: [Aramara Solar Farm] + +Avonlie_SAT: + location_type: project + location: Avonlie + resource_type: solar_sat + zone: N6 + iasr_aliases: [Avonlie Solar Farm] + +Banksia_SAT: + location_type: project + location: Banksia + resource_type: solar_sat + zone: Q7 + iasr_aliases: [Banksia Solar Farm] + +Bannerton_SAT: + location_type: project + location: Bannerton + resource_type: solar_sat + zone: V2 + iasr_aliases: [Bannerton Solar Park] + +Beryl_SAT: + location_type: project + location: Beryl + resource_type: solar_sat + zone: N3 + iasr_aliases: [Beryl Solar Farm] + +Bluegrass_SAT: + location_type: project + location: Bluegrass + resource_type: solar_sat + zone: Q8 + iasr_aliases: [Bluegrass Solar Farm] + +Bolivar_FFP: + location_type: project + location: Bolivar + resource_type: solar_ffp + subregion: CSA + iasr_aliases: [Bolivar Waste Water Treatment Solar Farm] + +Bomen_SAT: + location_type: project + location: Bomen + resource_type: solar_sat + zone: N6 + iasr_aliases: [Bomen Solar Farm] + +Broken_Hill_FFP: + location_type: project + location: Broken_Hill + resource_type: solar_ffp + zone: N4 + iasr_aliases: [Broken Hill Solar Farm] + +Bungala_One_SAT: + location_type: project + location: Bungala_One + resource_type: solar_sat + zone: S5 + iasr_aliases: [Bungala One Solar Farm] + +Bungala_Two_SAT: + location_type: project + location: Bungala_Two + resource_type: solar_sat + zone: S5 + iasr_aliases: [Bungala Two Solar Farm] + +Childers_SAT: + location_type: project + location: Childers + resource_type: solar_sat + zone: Q7 + iasr_aliases: [Childers Solar Farm] + +Clare_SAT: + location_type: project + location: Clare + resource_type: solar_sat + zone: Q3 + iasr_aliases: [Clare Solar Farm] + +Clermont_SAT: + location_type: project + location: Clermont + resource_type: solar_sat + zone: Q4 + iasr_aliases: [Clermont Solar Farm] + +Cohuna_SAT: + location_type: project + location: Cohuna + resource_type: solar_sat + zone: V2 + iasr_aliases: [Cohuna Solar Farm] + +Coleambally_SAT: + location_type: project + location: Coleambally + resource_type: solar_sat + subregion: SNSW + iasr_aliases: [Coleambally Solar Farm] + +Collinsville_FFP: + location_type: project + location: Collinsville + resource_type: solar_ffp + zone: Q4 + iasr_aliases: [Collinsville Solar Farm] + +Columboola_SAT: + location_type: project + location: Columboola + resource_type: solar_sat + zone: Q8 + iasr_aliases: [Columboola Solar Farm] + +Corowa_SAT: + location_type: project + location: Corowa + resource_type: solar_sat + zone: N5 + iasr_aliases: [Corowa Solar Farm] + +Culcairn_SAT: + location_type: project + location: Culcairn + resource_type: solar_sat + zone: N6 + iasr_aliases: [Culcairn Solar Farm] + +Cultana_SAT: + location_type: project + location: Cultana + resource_type: solar_sat + zone: S5 + iasr_aliases: [Cultana Solar Farm] + +Darling_Downs_FFP: + location_type: project + location: Darling_Downs + resource_type: solar_ffp + zone: Q8 + iasr_aliases: [Darling Downs Solar Farm] + +Darlington_Point_SAT: + location_type: project + location: Darlington_Point + resource_type: solar_sat + subregion: SNSW + iasr_aliases: [Darlington Point Solar Farm] + +Daydream_SAT: + location_type: project + location: Daydream + resource_type: solar_sat + zone: Q4 + iasr_aliases: [Daydream Solar Farm] + +Derby_SAT: + location_type: project + location: Derby + resource_type: solar_sat + zone: V2 + iasr_aliases: [Derby Solar Farm] + +Edenvale_SAT: + location_type: project + location: Edenvale + resource_type: solar_sat + zone: Q8 + iasr_aliases: [Edenvale Solar Park] + +Emerald_SAT: + location_type: project + location: Emerald + resource_type: solar_sat + subregion: CQ + iasr_aliases: [Emerald Solar Farm] + +Finley_SAT: + location_type: project + location: Finley + resource_type: solar_sat + subregion: SNSW + iasr_aliases: [Finley Solar Farm] + +Frasers_SAT: + location_type: project + location: Frasers + resource_type: solar_sat + zone: V5 + iasr_aliases: [Frasers Solar Farm] + +Fulham_SAT: + location_type: project + location: Fulham + resource_type: solar_sat + zone: V5 + iasr_aliases: [Fulham Solar Farm] + +Gangarri_SAT: + location_type: project + location: Gangarri + resource_type: solar_sat + zone: Q8 + iasr_aliases: [Gangarri Solar Farm] + +Gannawarra_SAT: + location_type: project + location: Gannawarra + resource_type: solar_sat + zone: V2 + iasr_aliases: [Gannawarra Solar Farm] + +Girgarre_SAT: + location_type: project + location: Girgarre + resource_type: solar_sat + zone: V6 + iasr_aliases: [Girgarre Solar Farm] + +Glenrowan_SAT: + location_type: project + location: Glenrowan + resource_type: solar_sat + zone: V6 + iasr_aliases: [Glenrowan Solar Farm] + +Glenrowan_West_SAT: + location_type: project + location: Glenrowan_West + resource_type: solar_sat + zone: V6 + iasr_aliases: [Glenrowan West Solar Farm] + +Goonumbla_SAT: + location_type: project + location: Goonumbla + resource_type: solar_sat + zone: N3 + iasr_aliases: [Goonumbla Solar Farm] + +Gullen_Range_FFP: + location_type: project + location: Gullen_Range + resource_type: solar_ffp + subregion: SNSW + iasr_aliases: [Gullen Range Solar Farm] + +Gunnedah_SAT: + location_type: project + location: Gunnedah + resource_type: solar_sat + zone: N1 + iasr_aliases: [Gunnedah Solar Farm] + +Hamilton_SAT: + location_type: project + location: Hamilton + resource_type: solar_sat + zone: Q4 + iasr_aliases: [Hamilton Solar Farm] + +Happy_Valley_SAT: + location_type: project + location: Happy_Valley + resource_type: solar_sat + subregion: CSA + iasr_aliases: [Happy Valley Reservoir] + +Haughton_SAT: + location_type: project + location: Haughton + resource_type: solar_sat + zone: Q3 + iasr_aliases: [Haughton Solar Farm] + +Hayman_SAT: + location_type: project + location: Hayman + resource_type: solar_sat + zone: Q4 + iasr_aliases: [Hayman Solar Farm] + +Hillston_SAT: + location_type: project + location: Hillston + resource_type: solar_sat + subregion: SNSW + iasr_aliases: [Hillston Sun Farm] + +Horsham_SAT: + location_type: project + location: Horsham + resource_type: solar_sat + zone: V3 + iasr_aliases: [Horsham Solar Farm] + +Hughenden_SAT: + location_type: project + location: Hughenden + resource_type: solar_sat + zone: Q2 + iasr_aliases: [Hughenden Solar Farm] + +Jemalong_SAT: + location_type: project + location: Jemalong + resource_type: solar_sat + subregion: CNSW + iasr_aliases: [Jemalong Solar] + +Junee_SAT: + location_type: project + location: Junee + resource_type: solar_sat + zone: N6 + iasr_aliases: [Junee Solar Farm] + +Karadoc_SAT: + location_type: project + location: Karadoc + resource_type: solar_sat + zone: V2 + iasr_aliases: [Karadoc Solar Farm] + +Kennedy_SAT: + location_type: project + location: Kennedy + resource_type: solar_sat + zone: Q2 + iasr_aliases: [Kennedy Energy Park Solar Farm] + +Kiamal_SAT: + location_type: project + location: Kiamal + resource_type: solar_sat + zone: V2 + iasr_aliases: [Kiamal Solar Farm stage 1, "Kiamal Solar Farm \u2013 Stage 2"] + +Kidston_FFP: + location_type: project + location: Kidston + resource_type: solar_ffp + zone: Q2 + iasr_aliases: [Kidston Solar Farm] + +Lilyvale_SAT: + location_type: project + location: Lilyvale + resource_type: solar_sat + zone: Q4 + iasr_aliases: [Lilyvale Solar Farm] + +Limondale_One_SAT: + location_type: project + location: Limondale_One + resource_type: solar_sat + zone: N5 + iasr_aliases: [Limondale Solar Farm 1] + +Limondale_Two_SAT: + location_type: project + location: Limondale_Two + resource_type: solar_sat + zone: N5 + iasr_aliases: [Limondale Solar Farm 2] + +Lockhart_SAT: + location_type: project + location: Lockhart + resource_type: solar_sat + zone: N6 + iasr_aliases: [Lockhart Hybrid Facility - Solar] + +Longreach_SAT: + location_type: project + location: Longreach + resource_type: solar_sat + zone: Q5 + iasr_aliases: [Longreach Solar Farm] + +Manildra_SAT: + location_type: project + location: Manildra + resource_type: solar_sat + zone: N3 + iasr_aliases: [Manildra Solar Farm] + +Mannum-Adelaide_2_SAT: + location_type: project + location: Mannum-Adelaide_2 + resource_type: solar_sat + zone: S1 + iasr_aliases: [Mannum Adelaide Pumping Station No 2 - MAPL2 (Palmer)] + +Mannum-Adelaide_3_SAT: + location_type: project + location: Mannum-Adelaide_3 + resource_type: solar_sat + zone: S1 + iasr_aliases: [Mannum Adelaide Pumping Station No 3 - MAPL3 (Tungkillo)] + +Mannum_Two_SAT: + location_type: project + location: Mannum_Two + resource_type: solar_sat + zone: S2 + iasr_aliases: [Mannum Solar Farm 2] + +Maryrorough_SAT: + location_type: project + location: Maryrorough + resource_type: solar_sat + zone: Q8 + iasr_aliases: [Maryrorough Solar Farm] + +Metz_SAT: + location_type: project + location: Metz + resource_type: solar_sat + zone: N2 + iasr_aliases: [Metz Solar Farm] + +Middlemount_SAT: + location_type: project + location: Middlemount + resource_type: solar_sat + zone: Q4 + iasr_aliases: [Middlemount Solar Farm] + +Molong_SAT: + location_type: project + location: Molong + resource_type: solar_sat + zone: N3 + iasr_aliases: [Molong Solar Farm] + +Moree_SAT: + location_type: project + location: Moree + resource_type: solar_sat + zone: N1 + iasr_aliases: [Moree Solar Farm] + +Morgan-Whyalla_1_SAT: + location_type: project + location: Morgan-Whyalla_1 + resource_type: solar_sat + zone: S2 + iasr_aliases: [Morgan To Whyalla Pipeline No 1 PS And Water Filtration Plant] + +Morgan-Whyalla_2_SAT: + location_type: project + location: Morgan-Whyalla_2 + resource_type: solar_sat + zone: S2 + iasr_aliases: [Morgan To Whyalla Pipeline No 2 PS] + +Morgan-Whyalla_3_SAT: + location_type: project + location: Morgan-Whyalla_3 + resource_type: solar_sat + zone: S2 + iasr_aliases: [Morgan To Whyalla Pipeline No 3 PS] + +Morgan-Whyalla_4_SAT: + location_type: project + location: Morgan-Whyalla_4 + resource_type: solar_sat + zone: S2 + iasr_aliases: [Morgan To Whyalla Pipeline No 4 PS] + +Moura_SAT: + location_type: project + location: Moura + resource_type: solar_sat + zone: Q6 + iasr_aliases: [Moura Solar Farm] + +Murray_Bridge-Onkaparinga_2_SAT: + location_type: project + location: Murray_Bridge-Onkaparinga_2 + resource_type: solar_sat + zone: S1 + iasr_aliases: [Murray Bridge - Onkaparinga Pipeline Pump 2] + +Nevertire_SAT: + location_type: project + location: Nevertire + resource_type: solar_sat + zone: N3 + iasr_aliases: [Nevertire Solar Farm] + +New_England_SAT: + location_type: project + location: New_England + resource_type: solar_sat + zone: N2 + iasr_aliases: [New England Solar Farm, New England Solar Farm - stage 2] + +Numurkah_One_SAT: + location_type: project + location: Numurkah_One + resource_type: solar_sat + zone: V6 + iasr_aliases: [Numurkah Solar Farm] + +Nyngan_FFP: + location_type: project + location: Nyngan + resource_type: solar_ffp + zone: N3 + iasr_aliases: [Nyngan Solar Plant] + +Oakey_One_FFP: + location_type: project + location: Oakey_One + resource_type: solar_ffp + zone: Q8 + iasr_aliases: [Oakey 1 Solar Farm] + +Oakey_Two_SAT: + location_type: project + location: Oakey_Two + resource_type: solar_sat + zone: Q8 + iasr_aliases: [Oakey 2 Solar Farm] + +Parkes_SAT: + location_type: project + location: Parkes + resource_type: solar_sat + subregion: CNSW + iasr_aliases: [Parkes Solar Farm] + +Port_Augusta_FFP: + location_type: project + location: Port_Augusta + resource_type: solar_ffp + zone: S5 + iasr_aliases: [Port Augusta Renewable Energy Park - Solar] + +Quorn_Park_SAT: + location_type: project + location: Quorn_Park + resource_type: solar_sat + subregion: CNSW + iasr_aliases: [Quorn Park Solar Farm] + +Riverina_SAT: + location_type: project + location: Riverina + resource_type: solar_sat + subregion: SNSW + iasr_aliases: [Riverina Solar Farm] + +Ross_River_SAT: + location_type: project + location: Ross_River + resource_type: solar_sat + zone: Q3 + iasr_aliases: [Ross River Solar Farm] + +Rugby_Run_SAT: + location_type: project + location: Rugby_Run + resource_type: solar_sat + zone: Q4 + iasr_aliases: [Rugby Run Solar Farm] + +Sebastopol_SAT: + location_type: project + location: Sebastopol + resource_type: solar_sat + zone: N6 + iasr_aliases: [Sebastopol Solar Farm] + +Stubbo_SAT: + location_type: project + location: Stubbo + resource_type: solar_sat + zone: N3 + iasr_aliases: [Stubbo Solar Farm] + +Sun_Metals_FFP: + location_type: project + location: Sun_Metals + resource_type: solar_ffp + zone: Q3 + iasr_aliases: [Sun Metals Corporation Solar Farm] + +Sunraysia_SAT: + location_type: project + location: Sunraysia + resource_type: solar_sat + zone: N5 + iasr_aliases: [Sunraysia Solar Farm] + +Suntop_SAT: + location_type: project + location: Suntop + resource_type: solar_sat + zone: N3 + iasr_aliases: [Suntop Solar Farm] + +Susan_River_SAT: + location_type: project + location: Susan_River + resource_type: solar_sat + zone: Q7 + iasr_aliases: [Susan River Solar Farm] + +Tailem_Bend_FFP: + location_type: project + location: Tailem_Bend + resource_type: solar_ffp + subregion: CSA + iasr_aliases: [Tailem Bend Solar Farm] + +Tailem_Bend_Stage_Two_SAT: + location_type: project + location: Tailem_Bend_Stage_Two + resource_type: solar_sat + subregion: CSA + iasr_aliases: [Tailem Bend Solar Farm - stage 2] + +Tamworth_SAT: + location_type: project + location: Tamworth + resource_type: solar_sat + zone: N2 + iasr_aliases: [Tamworth Solar Farm] + +Tilbuster_SAT: + location_type: project + location: Tilbuster + resource_type: solar_sat + zone: N2 + iasr_aliases: [Tilbuster Solar Farm] + +Wagga_North_SAT: + location_type: project + location: Wagga_North + resource_type: solar_sat + zone: N6 + iasr_aliases: [Wagga North Solar Farm] + +Walla_Walla_SAT: + location_type: project + location: Walla_Walla + resource_type: solar_sat + subregion: SNSW + iasr_aliases: [Walla Walla Solar Farm] + +Wandoan_SAT: + location_type: project + location: Wandoan + resource_type: solar_sat + zone: Q8 + iasr_aliases: [Wandoan South Solar Farm - stage 1] + +Warwick_One_SAT: + location_type: project + location: Warwick_One + resource_type: solar_sat + zone: Q8 + iasr_aliases: [Warwick Solar Farm] + +Warwick_Two_SAT: + location_type: project + location: Warwick_Two + resource_type: solar_sat + zone: Q8 + iasr_aliases: [] + +Wellington_SAT: + location_type: project + location: Wellington + resource_type: solar_sat + zone: N3 + iasr_aliases: [Wellington Solar Farm] + +Wellington_North_SAT: + location_type: project + location: Wellington_North + resource_type: solar_sat + zone: N3 + iasr_aliases: [Wellington North Solar Farm (Lightsource)] + +Wemen_SAT: + location_type: project + location: Wemen + resource_type: solar_sat + zone: V2 + iasr_aliases: [Wemen Solar Farm] + +West_Wyalong_SAT: + location_type: project + location: West_Wyalong + resource_type: solar_sat + subregion: SNSW + iasr_aliases: [West Wyalong Solar Farm] + +Western_Downs_Hub_SAT: + location_type: project + location: Western_Downs_Hub + resource_type: solar_sat + zone: Q8 + iasr_aliases: [Western Downs Green Power Hub] + +White_Rock_FFP: + location_type: project + location: White_Rock + resource_type: solar_ffp + zone: N2 + iasr_aliases: [White Rock Solar Farm] + +Whitsunday_SAT: + location_type: project + location: Whitsunday + resource_type: solar_sat + zone: Q4 + iasr_aliases: [Whitsunday Solar Farm] + +Winton_SAT: + location_type: project + location: Winton + resource_type: solar_sat + zone: V6 + iasr_aliases: [Winton Solar Farm] + +Wollar_SAT: + location_type: project + location: Wollar + resource_type: solar_sat + subregion: CNSW + iasr_aliases: [Wollar Solar Farm] + +Woolooga_SAT: + location_type: project + location: Woolooga + resource_type: solar_sat + zone: Q7 + iasr_aliases: [Woolooga Solar Farm] + +Wunghnu_SAT: + location_type: project + location: Wunghnu + resource_type: solar_sat + subregion: VIC + iasr_aliases: [Wunghnu Solar Farm] + +Wyalong_SAT: + location_type: project + location: Wyalong + resource_type: solar_sat + subregion: SNSW + iasr_aliases: [Wyalong Solar Farm] + +Yarranlea_SAT: + location_type: project + location: Yarranlea + resource_type: solar_sat + zone: Q8 + iasr_aliases: [Yarranlea Solar Farm] + +Yatpool_SAT: + location_type: project + location: Yatpool + resource_type: solar_sat + zone: V2 + iasr_aliases: [Yatpool Solar Farm] + + +# --------------------------------------------------------------------------- +# Wind project traces. +# --------------------------------------------------------------------------- + +ARWF1: + location_type: project + location: ARWF1 + resource_type: wind + zone: V3 + iasr_aliases: [Ararat Wind Farm] + +BALDHWF1: + location_type: project + location: BALDHWF1 + resource_type: wind + subregion: VIC + iasr_aliases: [Bald Hills Wind Farm] + +BANGOWF1: + location_type: project + location: BANGOWF1 + resource_type: wind + subregion: SNSW + iasr_aliases: [Bango 973 Wind Farm] + +BANGOWF2: + location_type: project + location: BANGOWF2 + resource_type: wind + subregion: SNSW + iasr_aliases: [Bango 999 Wind Farm] + +BLUFF1: + location_type: project + location: BLUFF1 + resource_type: wind + zone: S3 + iasr_aliases: [Hallett 5 The Bluff Wind Farm] + +BOCORWF1: + location_type: project + location: BOCORWF1 + resource_type: wind + zone: N8 + iasr_aliases: [Boco Rock Wind Farm] + +BODWF1: + location_type: project + location: BODWF1 + resource_type: wind + zone: N3 + iasr_aliases: [Bodangora Wind Farm] + +BRYB1WF1: + location_type: project + location: BRYB1WF1 + resource_type: wind + zone: V4 + iasr_aliases: [Berrybank Wind Farm] + +BULGANA1: + location_type: project + location: BULGANA1 + resource_type: wind + zone: V3 + iasr_aliases: [Bulgana Green Power Hub - Wind Farm] + +CAPTL_WF: + location_type: project + location: CAPTL_WF + resource_type: wind + subregion: SNSW + iasr_aliases: [Capital Wind Farm] + +CATHROCK: + location_type: project + location: CATHROCK + resource_type: wind + zone: S8 + iasr_aliases: [Cathedral Rocks Wind Farm] + +CHALLHWF: + location_type: project + location: CHALLHWF + resource_type: wind + zone: V3 + iasr_aliases: [Challicum Hills Wind Farm] + +CHYTWF1: + location_type: project + location: CHYTWF1 + resource_type: wind + subregion: VIC + iasr_aliases: [Cherry Tree Wind Farm] + +CLEMGPWF: + location_type: project + location: CLEMGPWF + resource_type: wind + zone: S3 + iasr_aliases: [Clements Gap Wind Farm] + +CLRKCWF1: + location_type: project + location: CLRKCWF1 + resource_type: wind + zone: Q4 + iasr_aliases: [Clarke Creek Wind Farm] + +CLRKCWF2: + location_type: project + location: CLRKCWF2 + resource_type: wind + zone: Q4 + iasr_aliases: [Clarke Creek Wind Farm] + +CNUNDAWF: + location_type: project + location: CNUNDAWF + resource_type: wind + zone: S1 + iasr_aliases: [Canunda Wind Farm] + +COLWF01: + location_type: project + location: COLWF01 + resource_type: wind + subregion: SNSW + iasr_aliases: [Collector Wind Farm] + +COOPGWF1: + location_type: project + location: COOPGWF1 + resource_type: wind + zone: Q8 + iasr_aliases: [Coopers Gap Wind Farm] + +Coppabella: + location_type: project + location: Coppabella + resource_type: wind + zone: N7 + iasr_aliases: [Coppabella Wind Farm] + +CROOKWF2: + location_type: project + location: CROOKWF2 + resource_type: wind + subregion: SNSW + iasr_aliases: [Crookwell 2 Wind Farm] + +Crookwell_3: + location_type: project + location: Crookwell_3 + resource_type: wind + subregion: SNSW + iasr_aliases: [Crookwell 3 Wind Farm] + +CROWLWF1: + location_type: project + location: CROWLWF1 + resource_type: wind + zone: V3 + iasr_aliases: [Crowlands Wind Farm] + +CRURWF1: + location_type: project + location: CRURWF1 + resource_type: wind + subregion: CNSW + iasr_aliases: [Crudine Ridge Wind Farm] + +CTHLWF1: + location_type: project + location: CTHLWF1 + resource_type: wind + zone: T3 + iasr_aliases: [Cattle Hill Wind Farm] + +CULLRGWF: + location_type: project + location: CULLRGWF + resource_type: wind + subregion: SNSW + iasr_aliases: [Cullerin Range Wind Farm] + +DULAWF1: + location_type: project + location: DULAWF1 + resource_type: wind + zone: Q8 + iasr_aliases: [Dulacca Wind Farm] + +DUNDWF1: + location_type: project + location: DUNDWF1 + resource_type: wind + zone: V4 + iasr_aliases: [Dundonnell Wind Farm] + +DUNDWF2: + location_type: project + location: DUNDWF2 + resource_type: wind + zone: V4 + iasr_aliases: [Dundonnell Wind Farm] + +DUNDWF3: + location_type: project + location: DUNDWF3 + resource_type: wind + zone: V4 + iasr_aliases: [Dundonnell Wind Farm] + +ELAINWF1: + location_type: project + location: ELAINWF1 + resource_type: wind + zone: V3 + iasr_aliases: [Elaine Wind Farm] + +Flyers_Creek: + location_type: project + location: Flyers_Creek + resource_type: wind + zone: N3 + iasr_aliases: [Flyers Creek Wind Farm] + +Golden_Plains_East: + location_type: project + location: Golden_Plains_East + resource_type: wind + zone: V4 + iasr_aliases: [Golden Plains Wind Farm East] + +Goyder_South: + location_type: project + location: Goyder_South + resource_type: wind + zone: S3 + iasr_aliases: [Goyder South Wind Farm 1A, Goyder South Wind Farm 1B] + +GRANWF1: + location_type: project + location: GRANWF1 + resource_type: wind + zone: T2 + iasr_aliases: [Granville Harbour Wind Farm] + +GULLRWF1: + location_type: project + location: GULLRWF1 + resource_type: wind + subregion: SNSW + iasr_aliases: [Gullen Range Wind Farm] + +GULLRWF2: + location_type: project + location: GULLRWF2 + resource_type: wind + subregion: SNSW + iasr_aliases: [Gullen Range Wind Farm 2] + +GUNNING1: + location_type: project + location: GUNNING1 + resource_type: wind + subregion: SNSW + iasr_aliases: [Gunning Wind Farm] + +HALLWF1: + location_type: project + location: HALLWF1 + resource_type: wind + zone: S3 + iasr_aliases: [Hallett Stage 1 Brown Hill Wind Farm] + +HALLWF2: + location_type: project + location: HALLWF2 + resource_type: wind + zone: S3 + iasr_aliases: [Hallett Stage 2 Hallett Hill Wind Farm] + +Hawkesdale: + location_type: project + location: Hawkesdale + resource_type: wind + zone: V4 + iasr_aliases: [Hawkesdale Wind Farm] + +HDWF1: + location_type: project + location: HDWF1 + resource_type: wind + zone: S3 + iasr_aliases: [Hornsdale Wind Farm Stage 1] + +HDWF2: + location_type: project + location: HDWF2 + resource_type: wind + zone: S3 + iasr_aliases: [Hornsdale Wind Farm Stage 2] + +HDWF3: + location_type: project + location: HDWF3 + resource_type: wind + zone: S3 + iasr_aliases: [Hornsdale Wind Farm Stage 3] + +KABANWF1: + location_type: project + location: KABANWF1 + resource_type: wind + zone: Q1 + iasr_aliases: [Kaban Green Power Hub - Wind Farm] + +KEPWF1: + location_type: project + location: KEPWF1 + resource_type: wind + zone: Q2 + iasr_aliases: [Kennedy Energy Park Wind Farm] + +KIATAWF1: + location_type: project + location: KIATAWF1 + resource_type: wind + zone: V3 + iasr_aliases: [Kiata Wind Farm] + +LGAPWF1: + location_type: project + location: LGAPWF1 + resource_type: wind + zone: S5 + iasr_aliases: [Lincoln Gap Wind Farm - stage 1] + +LGAPWF2: + location_type: project + location: LGAPWF2 + resource_type: wind + zone: S5 + iasr_aliases: [Lincoln Gap Wind Farm - stage 2] + +LKBONNY1: + location_type: project + location: LKBONNY1 + resource_type: wind + zone: S1 + iasr_aliases: [Lake Bonney 1 Wind Farm] + +LKBONNY2: + location_type: project + location: LKBONNY2 + resource_type: wind + zone: S1 + iasr_aliases: [Lake Bonney 2 Wind Farm] + +LKBONNY3: + location_type: project + location: LKBONNY3 + resource_type: wind + zone: S1 + iasr_aliases: [Lake Bonney 3 Wind Farm] + +MACARTH1: + location_type: project + location: MACARTH1 + resource_type: wind + zone: V4 + iasr_aliases: [Macarthur Wind Farm] + +Macintyre: + location_type: project + location: Macintyre + resource_type: wind + zone: Q8 + iasr_aliases: [MacIntyre Wind Farm] + +MERCER01: + location_type: project + location: MERCER01 + resource_type: wind + zone: V3 + iasr_aliases: [Mt Mercer Wind Farm] + +MEWF1: + location_type: project + location: MEWF1 + resource_type: wind + zone: Q1 + iasr_aliases: [Mount Emerald Wind Farm] + +MLWF1: + location_type: project + location: MLWF1 + resource_type: wind + zone: V4 + iasr_aliases: [Mortons Lane Wind Farm] + +MOORAWF1: + location_type: project + location: MOORAWF1 + resource_type: wind + zone: V3 + iasr_aliases: [Moorabool Wind Farm] + +MRTLSWF1: + location_type: project + location: MRTLSWF1 + resource_type: wind + zone: V4 + iasr_aliases: [Mortlake South Wind Farm] + +MTGELWF1: + location_type: project + location: MTGELWF1 + resource_type: wind + zone: V4 + iasr_aliases: [Mt Gellibrand Wind Farm] + +MTMILLAR: + location_type: project + location: MTMILLAR + resource_type: wind + zone: S8 + iasr_aliases: [Mount Millar Wind Farm] + +MUSSELR1: + location_type: project + location: MUSSELR1 + resource_type: wind + subregion: TAS + iasr_aliases: [Musselroe Wind Farm] + +MUWAWF1: + location_type: project + location: MUWAWF1 + resource_type: wind + zone: V3 + iasr_aliases: [Murra Warra Wind Farm - stage 1] + +MUWAWF2: + location_type: project + location: MUWAWF2 + resource_type: wind + zone: V3 + iasr_aliases: [Murra Warra Wind Farm - stage 2] + +NBHWF1: + location_type: project + location: NBHWF1 + resource_type: wind + zone: S3 + iasr_aliases: [Hallett 4 North Brown Hill Wind Farm] + +OAKLAND1: + location_type: project + location: OAKLAND1 + resource_type: wind + zone: V4 + iasr_aliases: [Oaklands Hill Wind Farm] + +PAREPW1: + location_type: project + location: PAREPW1 + resource_type: wind + zone: S5 + iasr_aliases: [Port Augusta Renewable Energy Park - Wind] + +PORTWF: + location_type: project + location: PORTWF + resource_type: wind + zone: V4 + iasr_aliases: [Portland Wind Farm] + +Ryan_Corner: + location_type: project + location: Ryan_Corner + resource_type: wind + zone: V4 + iasr_aliases: [Ryan Corner Wind Farm] + +Rye_Park: + location_type: project + location: Rye_Park + resource_type: wind + subregion: SNSW + iasr_aliases: [Rye Park Wind Farm] + +SALTCRK1: + location_type: project + location: SALTCRK1 + resource_type: wind + zone: V4 + iasr_aliases: [Salt Creek Wind Farm] + +SAPHWF1: + location_type: project + location: SAPHWF1 + resource_type: wind + zone: N2 + iasr_aliases: [Sapphire Wind Farm] + +SNOWNTH1: + location_type: project + location: SNOWNTH1 + resource_type: wind + zone: S3 + iasr_aliases: [Snowtown S2 Wind Farm] + +SNOWSTH1: + location_type: project + location: SNOWSTH1 + resource_type: wind + zone: S3 + iasr_aliases: [Snowtown S2 Wind Farm] + +SNOWTWN1: + location_type: project + location: SNOWTWN1 + resource_type: wind + zone: S3 + iasr_aliases: [Snowtown Wind Farm] + +STARHLWF: + location_type: project + location: STARHLWF + resource_type: wind + subregion: CSA + iasr_aliases: [Starfish Hill Wind Farm] + +STOCKYD1: + location_type: project + location: STOCKYD1 + resource_type: wind + zone: V4 + iasr_aliases: [Stockyard Hill Wind Farm] + +STWF1: + location_type: project + location: STWF1 + resource_type: wind + zone: N4 + iasr_aliases: [Silverton Wind Farm] + +TARALGA1: + location_type: project + location: TARALGA1 + resource_type: wind + subregion: SNSW + iasr_aliases: [Taralga Wind Farm] + +Uungula: + location_type: project + location: Uungula + resource_type: wind + zone: N3 + iasr_aliases: [Uungula Wind Farm] + +Wambo: + location_type: project + location: Wambo + resource_type: wind + zone: Q8 + iasr_aliases: [Wambo Wind Farm] + +WATERLWF: + location_type: project + location: WATERLWF + resource_type: wind + zone: S3 + iasr_aliases: [Waterloo Wind Farm] + +WAUBRAWF: + location_type: project + location: WAUBRAWF + resource_type: wind + zone: V3 + iasr_aliases: [Waubra Wind Farm] + +WGWF1: + location_type: project + location: WGWF1 + resource_type: wind + zone: S3 + iasr_aliases: [Willogoleche Wind Farm] + +WOODLWN1: + location_type: project + location: WOODLWN1 + resource_type: wind + subregion: SNSW + iasr_aliases: [Woodlawn Wind Farm] + +WOOLNTH1: + location_type: project + location: WOOLNTH1 + resource_type: wind + subregion: TAS + iasr_aliases: [Woolnorth Wind Farm] + +Woolsthorpe: + location_type: project + location: Woolsthorpe + resource_type: wind + zone: V4 + iasr_aliases: [Woolsthorpe Wind Farm] + +WPWF: + location_type: project + location: WPWF + resource_type: wind + zone: S4 + iasr_aliases: [Wattle Point Wind Farm] + +WRWF1: + location_type: project + location: WRWF1 + resource_type: wind + zone: N2 + iasr_aliases: [White Rock Wind Farm - Stage 1] + +YAMBUKWF: + location_type: project + location: YAMBUKWF + resource_type: wind + zone: V4 + iasr_aliases: [Yambuk Wind Farm] + +YENDWF1: + location_type: project + location: YENDWF1 + resource_type: wind + zone: V3 + iasr_aliases: [Yendon Wind Farm] + +YSWF1: + location_type: project + location: YSWF1 + resource_type: wind + zone: V3 + iasr_aliases: [Yaloak South Wind Farm] + + +# --------------------------------------------------------------------------- +# Zone-level solar traces. +# --------------------------------------------------------------------------- + +REZ_N0_NSW_Non-REZ_SAT: + location_type: zone + location: N0 + resource_type: solar_sat + iasr_aliases: [] + +REZ_N0_NSW_Non-REZ_CST: + location_type: zone + location: N0 + resource_type: solar_cst + iasr_aliases: [] + +REZ_N1_North_West_NSW_SAT: + location_type: zone + location: N1 + resource_type: solar_sat + iasr_aliases: [] + +REZ_N1_North_West_NSW_CST: + location_type: zone + location: N1 + resource_type: solar_cst + iasr_aliases: [] + +REZ_N2_New_England_SAT: + location_type: zone + location: N2 + resource_type: solar_sat + iasr_aliases: [] + +REZ_N2_New_England_CST: + location_type: zone + location: N2 + resource_type: solar_cst + iasr_aliases: [] + +REZ_N3_Central-West_Orana_SAT: + location_type: zone + location: N3 + resource_type: solar_sat + iasr_aliases: [] + +REZ_N3_Central-West_Orana_CST: + location_type: zone + location: N3 + resource_type: solar_cst + iasr_aliases: [] + +REZ_N4_Broken_Hill_SAT: + location_type: zone + location: N4 + resource_type: solar_sat + iasr_aliases: [] + +REZ_N4_Broken_Hill_CST: + location_type: zone + location: N4 + resource_type: solar_cst + iasr_aliases: [] + +REZ_N5_South_West_NSW_SAT: + location_type: zone + location: N5 + resource_type: solar_sat + iasr_aliases: [] + +REZ_N5_South_West_NSW_CST: + location_type: zone + location: N5 + resource_type: solar_cst + iasr_aliases: [] + +REZ_N6_Wagga_Wagga_SAT: + location_type: zone + location: N6 + resource_type: solar_sat + iasr_aliases: [] + +REZ_N6_Wagga_Wagga_CST: + location_type: zone + location: N6 + resource_type: solar_cst + iasr_aliases: [] + +REZ_N7_Tumut_SAT: + location_type: zone + location: N7 + resource_type: solar_sat + iasr_aliases: [] + +REZ_N7_Tumut_CST: + location_type: zone + location: N7 + resource_type: solar_cst + iasr_aliases: [] + +REZ_N8_Cooma-Monaro_SAT: + location_type: zone + location: N8 + resource_type: solar_sat + iasr_aliases: [] + +REZ_N8_Cooma-Monaro_CST: + location_type: zone + location: N8 + resource_type: solar_cst + iasr_aliases: [] + +REZ_N9_Hunter-Central_Coast_SAT: + location_type: zone + location: N9 + resource_type: solar_sat + iasr_aliases: [] + +REZ_N9_Hunter-Central_Coast_CST: + location_type: zone + location: N9 + resource_type: solar_cst + iasr_aliases: [] + +REZ_V0_VIC_Non-REZ_SAT: + location_type: zone + location: V0 + resource_type: solar_sat + iasr_aliases: [] + +REZ_V0_VIC_Non-REZ_CST: + location_type: zone + location: V0 + resource_type: solar_cst + iasr_aliases: [] + +REZ_V1_Ovens_Murray_SAT: + location_type: zone + location: V1 + resource_type: solar_sat + iasr_aliases: [] + +REZ_V1_Ovens_Murray_CST: + location_type: zone + location: V1 + resource_type: solar_cst + iasr_aliases: [] + +REZ_V2_Murray_River_SAT: + location_type: zone + location: V2 + resource_type: solar_sat + iasr_aliases: [] + +REZ_V2_Murray_River_CST: + location_type: zone + location: V2 + resource_type: solar_cst + iasr_aliases: [] + +REZ_V3_Western_Victoria_SAT: + location_type: zone + location: V3 + resource_type: solar_sat + iasr_aliases: [] + +REZ_V3_Western_Victoria_CST: + location_type: zone + location: V3 + resource_type: solar_cst + iasr_aliases: [] + +REZ_V4_South_West_Victoria_SAT: + location_type: zone + location: V4 + resource_type: solar_sat + iasr_aliases: [] + +REZ_V4_South_West_Victoria_CST: + location_type: zone + location: V4 + resource_type: solar_cst + iasr_aliases: [] + +REZ_V5_Gippsland_SAT: + location_type: zone + location: V5 + resource_type: solar_sat + iasr_aliases: [] + +REZ_V5_Gippsland_CST: + location_type: zone + location: V5 + resource_type: solar_cst + iasr_aliases: [] + +REZ_V6_Central_North_Vic_SAT: + location_type: zone + location: V6 + resource_type: solar_sat + iasr_aliases: [] + +REZ_V6_Central_North_Vic_CST: + location_type: zone + location: V6 + resource_type: solar_cst + iasr_aliases: [] + +REZ_Q1_Far_North_QLD_SAT: + location_type: zone + location: Q1 + resource_type: solar_sat + iasr_aliases: [] + +REZ_Q1_Far_North_QLD_CST: + location_type: zone + location: Q1 + resource_type: solar_cst + iasr_aliases: [] + +REZ_Q2_North_Qld_Clean_Energy_Hub_SAT: + location_type: zone + location: Q2 + resource_type: solar_sat + iasr_aliases: [] + +REZ_Q2_North_Qld_Clean_Energy_Hub_CST: + location_type: zone + location: Q2 + resource_type: solar_cst + iasr_aliases: [] + +REZ_Q3_Northern_Qld_SAT: + location_type: zone + location: Q3 + resource_type: solar_sat + iasr_aliases: [] + +REZ_Q3_Northern_Qld_CST: + location_type: zone + location: Q3 + resource_type: solar_cst + iasr_aliases: [] + +REZ_Q4_Isaac_SAT: + location_type: zone + location: Q4 + resource_type: solar_sat + iasr_aliases: [] + +REZ_Q4_Isaac_CST: + location_type: zone + location: Q4 + resource_type: solar_cst + iasr_aliases: [] + +REZ_Q5_Barcaldine_SAT: + location_type: zone + location: Q5 + resource_type: solar_sat + iasr_aliases: [] + +REZ_Q5_Barcaldine_CST: + location_type: zone + location: Q5 + resource_type: solar_cst + iasr_aliases: [] + +REZ_Q6_Fitzroy_SAT: + location_type: zone + location: Q6 + resource_type: solar_sat + iasr_aliases: [] + +REZ_Q6_Fitzroy_CST: + location_type: zone + location: Q6 + resource_type: solar_cst + iasr_aliases: [] + +REZ_Q7_Wide_Bay_SAT: + location_type: zone + location: Q7 + resource_type: solar_sat + iasr_aliases: [] + +REZ_Q7_Wide_Bay_CST: + location_type: zone + location: Q7 + resource_type: solar_cst + iasr_aliases: [] + +REZ_Q8_Darling_Downs_SAT: + location_type: zone + location: Q8 + resource_type: solar_sat + iasr_aliases: [] + +REZ_Q8_Darling_Downs_CST: + location_type: zone + location: Q8 + resource_type: solar_cst + iasr_aliases: [] + +REZ_Q9_Banana_SAT: + location_type: zone + location: Q9 + resource_type: solar_sat + iasr_aliases: [] + +REZ_Q9_Banana_CST: + location_type: zone + location: Q9 + resource_type: solar_cst + iasr_aliases: [] + +REZ_S1_South_East_SA_SAT: + location_type: zone + location: S1 + resource_type: solar_sat + iasr_aliases: [] + +REZ_S1_South_East_SA_CST: + location_type: zone + location: S1 + resource_type: solar_cst + iasr_aliases: [] + +REZ_S2_Riverland_SAT: + location_type: zone + location: S2 + resource_type: solar_sat + iasr_aliases: [] + +REZ_S2_Riverland_CST: + location_type: zone + location: S2 + resource_type: solar_cst + iasr_aliases: [] + +REZ_S3_Mid-North_SA_SAT: + location_type: zone + location: S3 + resource_type: solar_sat + iasr_aliases: [] + +REZ_S3_Mid-North_SA_CST: + location_type: zone + location: S3 + resource_type: solar_cst + iasr_aliases: [] + +REZ_S4_Yorke_Peninsula_SAT: + location_type: zone + location: S4 + resource_type: solar_sat + iasr_aliases: [] + +REZ_S4_Yorke_Peninsula_CST: + location_type: zone + location: S4 + resource_type: solar_cst + iasr_aliases: [] + +REZ_S5_Northern_SA_SAT: + location_type: zone + location: S5 + resource_type: solar_sat + iasr_aliases: [] + +REZ_S5_Northern_SA_CST: + location_type: zone + location: S5 + resource_type: solar_cst + iasr_aliases: [] + +REZ_S6_Leigh_Creek_SAT: + location_type: zone + location: S6 + resource_type: solar_sat + iasr_aliases: [] + +REZ_S6_Leigh_Creek_CST: + location_type: zone + location: S6 + resource_type: solar_cst + iasr_aliases: [] + +REZ_S7_Roxby_Downs_SAT: + location_type: zone + location: S7 + resource_type: solar_sat + iasr_aliases: [] + +REZ_S7_Roxby_Downs_CST: + location_type: zone + location: S7 + resource_type: solar_cst + iasr_aliases: [] + +REZ_S8_Eastern_Eyre_Peninsula_SAT: + location_type: zone + location: S8 + resource_type: solar_sat + iasr_aliases: [] + +REZ_S8_Eastern_Eyre_Peninsula_CST: + location_type: zone + location: S8 + resource_type: solar_cst + iasr_aliases: [] + +REZ_S9_Western_Eyre_Peninsula_SAT: + location_type: zone + location: S9 + resource_type: solar_sat + iasr_aliases: [] + +REZ_S9_Western_Eyre_Peninsula_CST: + location_type: zone + location: S9 + resource_type: solar_cst + iasr_aliases: [] + +REZ_T1_North_East_Tasmania_SAT: + location_type: zone + location: T1 + resource_type: solar_sat + iasr_aliases: [] + +REZ_T1_North_East_Tasmania_CST: + location_type: zone + location: T1 + resource_type: solar_cst + iasr_aliases: [] + +REZ_T2_North_West_Tasmania_SAT: + location_type: zone + location: T2 + resource_type: solar_sat + iasr_aliases: [] + +REZ_T2_North_West_Tasmania_CST: + location_type: zone + location: T2 + resource_type: solar_cst + iasr_aliases: [] + +REZ_T3_Central_Highlands_SAT: + location_type: zone + location: T3 + resource_type: solar_sat + iasr_aliases: [] + +REZ_T3_Central_Highlands_CST: + location_type: zone + location: T3 + resource_type: solar_cst + iasr_aliases: [] + + +# --------------------------------------------------------------------------- +# Zone-level wind traces. +# --------------------------------------------------------------------------- + +N0_WH_NSW_Non-REZ: + location_type: zone + location: N0 + resource_type: wind_high + iasr_aliases: [] + +N0_WM_NSW_Non-REZ: + location_type: zone + location: N0 + resource_type: wind_medium + iasr_aliases: [] + +N1_WH_North_West_NSW: + location_type: zone + location: N1 + resource_type: wind_high + iasr_aliases: [] + +N1_WM_North_West_NSW: + location_type: zone + location: N1 + resource_type: wind_medium + iasr_aliases: [] + +N2_WH_New_England: + location_type: zone + location: N2 + resource_type: wind_high + iasr_aliases: [] + +N2_WM_New_England: + location_type: zone + location: N2 + resource_type: wind_medium + iasr_aliases: [] + +N3_WH_Central-West_Orana: + location_type: zone + location: N3 + resource_type: wind_high + iasr_aliases: [] + +N3_WM_Central-West_Orana: + location_type: zone + location: N3 + resource_type: wind_medium + iasr_aliases: [] + +N4_WH_Broken_Hill: + location_type: zone + location: N4 + resource_type: wind_high + iasr_aliases: [] + +N4_WM_Broken_Hill: + location_type: zone + location: N4 + resource_type: wind_medium + iasr_aliases: [] + +N5_WH_South_West_NSW: + location_type: zone + location: N5 + resource_type: wind_high + iasr_aliases: [] + +N5_WM_South_West_NSW: + location_type: zone + location: N5 + resource_type: wind_medium + iasr_aliases: [] + +N6_WH_Wagga_Wagga: + location_type: zone + location: N6 + resource_type: wind_high + iasr_aliases: [] + +N6_WM_Wagga_Wagga: + location_type: zone + location: N6 + resource_type: wind_medium + iasr_aliases: [] + +N7_WH_Tumut: + location_type: zone + location: N7 + resource_type: wind_high + iasr_aliases: [] + +N7_WM_Tumut: + location_type: zone + location: N7 + resource_type: wind_medium + iasr_aliases: [] + +N8_WH_Cooma-Monaro: + location_type: zone + location: N8 + resource_type: wind_high + iasr_aliases: [] + +N8_WM_Cooma-Monaro: + location_type: zone + location: N8 + resource_type: wind_medium + iasr_aliases: [] + +N9_WH_Hunter-Central_Coast: + location_type: zone + location: N9 + resource_type: wind_high + iasr_aliases: [] + +N9_WM_Hunter-Central_Coast: + location_type: zone + location: N9 + resource_type: wind_medium + iasr_aliases: [] + +N10_WFL_Hunter_Coast: + location_type: zone + location: N10 + resource_type: wind_offshore_floating + iasr_aliases: [] + +N10_WFX_Hunter_Coast: + location_type: zone + location: N10 + resource_type: wind_offshore_fixed + iasr_aliases: [] + +N11_WFL_Illawarra_Coast: + location_type: zone + location: N11 + resource_type: wind_offshore_floating + iasr_aliases: [] + +N11_WFX_Illawarra_Coast: + location_type: zone + location: N11 + resource_type: wind_offshore_fixed + iasr_aliases: [] + +V0_WH_VIC_Non-REZ: + location_type: zone + location: V0 + resource_type: wind_high + iasr_aliases: [] + +V0_WM_VIC_Non-REZ: + location_type: zone + location: V0 + resource_type: wind_medium + iasr_aliases: [] + +V1_WH_Ovens_Murray: + location_type: zone + location: V1 + resource_type: wind_high + iasr_aliases: [] + +V1_WM_Ovens_Murray: + location_type: zone + location: V1 + resource_type: wind_medium + iasr_aliases: [] + +V2_WH_Murray_River: + location_type: zone + location: V2 + resource_type: wind_high + iasr_aliases: [] + +V2_WM_Murray_River: + location_type: zone + location: V2 + resource_type: wind_medium + iasr_aliases: [] + +V3_WH_Western_Victoria: + location_type: zone + location: V3 + resource_type: wind_high + iasr_aliases: [] + +V3_WM_Western_Victoria: + location_type: zone + location: V3 + resource_type: wind_medium + iasr_aliases: [] + +V4_WH_South_West_Victoria: + location_type: zone + location: V4 + resource_type: wind_high + iasr_aliases: [] + +V4_WM_South_West_Victoria: + location_type: zone + location: V4 + resource_type: wind_medium + iasr_aliases: [] + +V5_WH_Gippsland: + location_type: zone + location: V5 + resource_type: wind_high + iasr_aliases: [] + +V5_WM_Gippsland: + location_type: zone + location: V5 + resource_type: wind_medium + iasr_aliases: [] + +V6_WH_Central_North_Vic: + location_type: zone + location: V6 + resource_type: wind_high + iasr_aliases: [] + +V6_WM_Central_North_Vic: + location_type: zone + location: V6 + resource_type: wind_medium + iasr_aliases: [] + +V7_WFL_Gippsland_Coast: + location_type: zone + location: V7 + resource_type: wind_offshore_floating + iasr_aliases: [] + +V7_WFX_Gippsland_Coast: + location_type: zone + location: V7 + resource_type: wind_offshore_fixed + iasr_aliases: [] + +V8_WFL_Portland_Coast: + location_type: zone + location: V8 + resource_type: wind_offshore_floating + iasr_aliases: [] + +V8_WFX_Portland_Coast: + location_type: zone + location: V8 + resource_type: wind_offshore_fixed + iasr_aliases: [] + +Q1_WH_Far_North_QLD: + location_type: zone + location: Q1 + resource_type: wind_high + iasr_aliases: [] + +Q1_WM_Far_North_QLD: + location_type: zone + location: Q1 + resource_type: wind_medium + iasr_aliases: [] + +Q2_WH_North_Qld_Clean_Energy_Hub: + location_type: zone + location: Q2 + resource_type: wind_high + iasr_aliases: [] + +Q2_WM_North_Qld_Clean_Energy_Hub: + location_type: zone + location: Q2 + resource_type: wind_medium + iasr_aliases: [] + +Q3_WH_Northern_Qld: + location_type: zone + location: Q3 + resource_type: wind_high + iasr_aliases: [] + +Q3_WM_Northern_Qld: + location_type: zone + location: Q3 + resource_type: wind_medium + iasr_aliases: [] + +Q4_WH_Isaac: + location_type: zone + location: Q4 + resource_type: wind_high + iasr_aliases: [] + +Q4_WM_Isaac: + location_type: zone + location: Q4 + resource_type: wind_medium + iasr_aliases: [] + +Q5_WH_Barcaldine: + location_type: zone + location: Q5 + resource_type: wind_high + iasr_aliases: [] + +Q5_WM_Barcaldine: + location_type: zone + location: Q5 + resource_type: wind_medium + iasr_aliases: [] + +Q6_WH_Fitzroy: + location_type: zone + location: Q6 + resource_type: wind_high + iasr_aliases: [] + +Q6_WM_Fitzroy: + location_type: zone + location: Q6 + resource_type: wind_medium + iasr_aliases: [] + +Q7_WH_Wide_Bay: + location_type: zone + location: Q7 + resource_type: wind_high + iasr_aliases: [] + +Q7_WM_Wide_Bay: + location_type: zone + location: Q7 + resource_type: wind_medium + iasr_aliases: [] + +Q8_WH_Darling_Downs: + location_type: zone + location: Q8 + resource_type: wind_high + iasr_aliases: [] + +Q8_WM_Darling_Downs: + location_type: zone + location: Q8 + resource_type: wind_medium + iasr_aliases: [] + +Q9_WH_Banana: + location_type: zone + location: Q9 + resource_type: wind_high + iasr_aliases: [] + +Q9_WM_Banana: + location_type: zone + location: Q9 + resource_type: wind_medium + iasr_aliases: [] + +S1_WH_South_East_SA: + location_type: zone + location: S1 + resource_type: wind_high + iasr_aliases: [] + +S1_WM_South_East_SA: + location_type: zone + location: S1 + resource_type: wind_medium + iasr_aliases: [] + +S2_WH_Riverland: + location_type: zone + location: S2 + resource_type: wind_high + iasr_aliases: [] + +S2_WM_Riverland: + location_type: zone + location: S2 + resource_type: wind_medium + iasr_aliases: [] + +S3_WH_Mid-North_SA: + location_type: zone + location: S3 + resource_type: wind_high + iasr_aliases: [] + +S3_WM_Mid-North_SA: + location_type: zone + location: S3 + resource_type: wind_medium + iasr_aliases: [] + +S4_WH_Yorke_Peninsula: + location_type: zone + location: S4 + resource_type: wind_high + iasr_aliases: [] + +S4_WM_Yorke_Peninsula: + location_type: zone + location: S4 + resource_type: wind_medium + iasr_aliases: [] + +S5_WH_Northern_SA: + location_type: zone + location: S5 + resource_type: wind_high + iasr_aliases: [] + +S5_WM_Northern_SA: + location_type: zone + location: S5 + resource_type: wind_medium + iasr_aliases: [] + +S6_WH_Leigh_Creek: + location_type: zone + location: S6 + resource_type: wind_high + iasr_aliases: [] + +S6_WM_Leigh_Creek: + location_type: zone + location: S6 + resource_type: wind_medium + iasr_aliases: [] + +S7_WH_Roxby_Downs: + location_type: zone + location: S7 + resource_type: wind_high + iasr_aliases: [] + +S7_WM_Roxby_Downs: + location_type: zone + location: S7 + resource_type: wind_medium + iasr_aliases: [] + +S8_WH_Eastern_Eyre_Peninsula: + location_type: zone + location: S8 + resource_type: wind_high + iasr_aliases: [] + +S8_WM_Eastern_Eyre_Peninsula: + location_type: zone + location: S8 + resource_type: wind_medium + iasr_aliases: [] + +S9_WH_Western_Eyre_Peninsula: + location_type: zone + location: S9 + resource_type: wind_high + iasr_aliases: [] + +S9_WM_Western_Eyre_Peninsula: + location_type: zone + location: S9 + resource_type: wind_medium + iasr_aliases: [] + +S10_WFL_South_East_SA_Coast: + location_type: zone + location: S10 + resource_type: wind_offshore_floating + iasr_aliases: [] + +S10_WFX_South_East_SA_Coast: + location_type: zone + location: S10 + resource_type: wind_offshore_fixed + iasr_aliases: [] + +T1_WH_North-East_Tasmania: + location_type: zone + location: T1 + resource_type: wind_high + iasr_aliases: [] + +T1_WM_North-East_Tasmania: + location_type: zone + location: T1 + resource_type: wind_medium + iasr_aliases: [] + +T2_WH_North-West_Tasmania: + location_type: zone + location: T2 + resource_type: wind_high + iasr_aliases: [] + +T2_WM_North-West_Tasmania: + location_type: zone + location: T2 + resource_type: wind_medium + iasr_aliases: [] + +T3_WH_Central_Highlands: + location_type: zone + location: T3 + resource_type: wind_high + iasr_aliases: [] + +T3_WM_Central_Highlands: + location_type: zone + location: T3 + resource_type: wind_medium + iasr_aliases: [] + +T4_WFL_North_West_Tasmania_Coast: + location_type: zone + location: T4 + resource_type: wind_offshore_floating + iasr_aliases: [] + +T4_WFX_North_West_Tasmania_Coast: + location_type: zone + location: T4 + resource_type: wind_offshore_fixed + iasr_aliases: [] + +T5_WFL_North_East_Tasmania_Coast: + location_type: zone + location: T4 + resource_type: wind_offshore_floating + iasr_aliases: [] + +T5_WFX_North_East_Tasmania_Coast: + location_type: zone + location: T4 + resource_type: wind_offshore_fixed + iasr_aliases: [] diff --git a/src/isp_trace_parser/mappings/2024/topography.yaml b/src/isp_trace_parser/mappings/2024/topography.yaml new file mode 100644 index 0000000..824cc1a --- /dev/null +++ b/src/isp_trace_parser/mappings/2024/topography.yaml @@ -0,0 +1,76 @@ +# 2024 ISP geographic topography (based on the 2024 IASR workbook). +# +# Maps renewable energy zones (REZ) -> ISP subregions -> regions. Each +# entry's value is its parent in the topography hierarchy. +# +# AEMO 2024 trace data includes two "non-REZ" REZ trace files (N0, V0) +# for new entrant technologies, attributed to specific subregions: +# - "New South Wales Non-REZ" -> CNSW +# - "Victoria Non-REZ" -> VIC +# +# Existing projects that sit outside any formal REZ are attributed at +# subregion resolution directly on their `resources.yaml` entry (via +# `subregion` instead of `zone`). + + +regions: [NSW, VIC, QLD, SA, TAS] + +subregions: + CNSW: NSW + NNSW: NSW + SNSW: NSW + SNW: NSW + VIC: VIC + CQ: QLD + NQ: QLD + SQ: QLD + CSA: SA + SESA: SA + TAS: TAS + +zones: + N0: CNSW # AEMO non-REZ NSW + V0: VIC # AEMO non-REZ VIC + Q1: NQ # Far North QLD + Q2: NQ # North Qld Clean Energy Hub + Q3: NQ # Northern Qld + Q4: CQ # Isaac + Q5: CQ # Barcaldine + Q6: CQ # Fitzroy + Q7: SQ # Wide Bay + Q8: SQ # Darling Downs + Q9: CQ # Banana + N1: NNSW # North West NSW + N2: NNSW # New England + N3: CNSW # Central-West Orana + N4: SNSW # Broken Hill + N5: SNSW # South West NSW + N6: SNSW # Wagga Wagga + N7: SNSW # Tumut + N8: SNSW # Cooma-Monaro + N9: CNSW # Hunter-Central Coast + N10: SNW # Hunter Coast + N11: SNW # Illawarra Coast + N12: SNW # Illawarra + V1: VIC # Ovens Murray + V2: VIC # Murray River + V3: VIC # Western Victoria + V4: VIC # South West Victoria + V5: VIC # Gippsland + V6: VIC # Central North Vic + V7: VIC # Gippsland Coast + V8: VIC # Southern Ocean + S1: SESA # South East SA + S2: CSA # Riverland + S3: CSA # Mid-North SA + S4: CSA # Yorke Peninsula + S5: CSA # Northern SA + S6: CSA # Leigh Creek + S7: CSA # Roxby Downs + S8: CSA # Eastern Eyre Peninsula + S9: CSA # Western Eyre Peninsula + S10: SESA # South East SA Coast + T1: TAS # North East Tasmania + T2: TAS # North West Tasmania + T3: TAS # Central Highlands + T4: TAS # North Tasmania Coast diff --git a/src/isp_trace_parser/mappings/__init__.py b/src/isp_trace_parser/mappings/__init__.py index 9fcc3fd..38bf0ca 100644 --- a/src/isp_trace_parser/mappings/__init__.py +++ b/src/isp_trace_parser/mappings/__init__.py @@ -3,15 +3,16 @@ import yaml -def load(name: str) -> dict: +def load(name: str, version: str = "2024") -> dict: """Load a mapping YAML bundled as package data. Args: - name: Mapping file stem (e.g. ``"solar_project_mapping"``). + name: Mapping file stem (e.g. ``"resources"``). + version: ISP version subdirectory (e.g. ``"2024"``). Returns: Parsed YAML contents. """ - resource = files(__package__).joinpath(f"{name}.yaml") + resource = files(__package__).joinpath(version, f"{name}.yaml") with resource.open("r") as f: return yaml.safe_load(f) diff --git a/src/isp_trace_parser/mappings/solar_project_mapping.yaml b/src/isp_trace_parser/mappings/solar_project_mapping.yaml deleted file mode 100644 index 04cfcca..0000000 --- a/src/isp_trace_parser/mappings/solar_project_mapping.yaml +++ /dev/null @@ -1,114 +0,0 @@ -Adelaide Desalination Plant Solar Farm: Adelaide_Desal -Aramara Solar Farm: Aramara -Avonlie Solar Farm: Avonlie -Banksia Solar Farm: Banksia -Bannerton Solar Park: Bannerton -Beryl Solar Farm: Beryl -Bluegrass Solar Farm: Bluegrass -Bolivar Waste Water Treatment Solar Farm: Bolivar -Bomen Solar Farm: Bomen -Broken Hill Solar Farm: Broken_Hill -Bungala One Solar Farm: Bungala_One -Bungala Two Solar Farm: Bungala_Two -Childers Solar Farm: Childers -Clare Solar Farm: Clare -Clermont Solar Farm: Clermont -Cohuna Solar Farm: Cohuna -Coleambally Solar Farm: Coleambally -Collinsville Solar Farm: Collinsville -Columboola Solar Farm: Columboola -Corowa Solar Farm: Corowa -Culcairn Solar Farm: Culcairn -Cultana Solar Farm: Cultana -Darling Downs Solar Farm: Darling_Downs -Darlington Point Solar Farm: Darlington_Point -Daydream Solar Farm: Daydream -Derby Solar Farm: Derby -Edenvale Solar Park: Edenvale -Emerald Solar Farm: Emerald -Finley Solar Farm: Finley -Frasers Solar Farm: Frasers -Fulham Solar Farm: Fulham -Gangarri Solar Farm: Gangarri -Gannawarra Solar Farm: Gannawarra -Girgarre Solar Farm: Girgarre -Glenrowan Solar Farm: Glenrowan -Glenrowan West Solar Farm: Glenrowan_West -Goonumbla Solar Farm: Goonumbla -Gullen Range Solar Farm: Gullen_Range -Gunnedah Solar Farm: Gunnedah -Hamilton Solar Farm: Hamilton -Happy Valley Reservoir: Happy_Valley -Haughton Solar Farm: Haughton -Hayman Solar Farm: Hayman -Hillston Sun Farm: Hillston -Horsham Solar Farm: Horsham -Hughenden Solar Farm: Hughenden -Jemalong Solar: Jemalong -Junee Solar Farm: Junee -Karadoc Solar Farm: Karadoc -Kennedy Energy Park Solar Farm: Kennedy -Kiamal Solar Farm stage 1: Kiamal -"Kiamal Solar Farm \u2013 Stage 2": Kiamal -Kidston Solar Farm: Kidston -Lilyvale Solar Farm: Lilyvale -Limondale Solar Farm 1: Limondale_One -Limondale Solar Farm 2: Limondale_Two -Lockhart Hybrid Facility - Solar: Lockhart -Longreach Solar Farm: Longreach -Manildra Solar Farm: Manildra -Mannum Adelaide Pumping Station No 2 - MAPL2 (Palmer): Mannum-Adelaide_2 -Mannum Adelaide Pumping Station No 3 - MAPL3 (Tungkillo): Mannum-Adelaide_3 -Mannum Solar Farm 2: Mannum_Two -Maryrorough Solar Farm: Maryrorough -Metz Solar Farm: Metz -Middlemount Solar Farm: Middlemount -Molong Solar Farm: Molong -Moree Solar Farm: Moree -Morgan To Whyalla Pipeline No 1 PS And Water Filtration Plant: Morgan-Whyalla_1 -Morgan To Whyalla Pipeline No 2 PS: Morgan-Whyalla_2 -Morgan To Whyalla Pipeline No 3 PS: Morgan-Whyalla_3 -Morgan To Whyalla Pipeline No 4 PS: Morgan-Whyalla_4 -Moura Solar Farm: Moura -Murray Bridge - Onkaparinga Pipeline Pump 2: Murray_Bridge-Onkaparinga_2 -Nevertire Solar Farm: Nevertire -New England Solar Farm: New_England -New England Solar Farm - stage 2: New_England -Numurkah Solar Farm: Numurkah_One -Nyngan Solar Plant: Nyngan -Oakey 1 Solar Farm: Oakey_One -Oakey 2 Solar Farm: Oakey_Two -Parkes Solar Farm: Parkes -Port Augusta Renewable Energy Park - Solar: Port_Augusta -Quorn Park Solar Farm: Quorn_Park -Riverina Solar Farm: Riverina -Ross River Solar Farm: Ross_River -Rugby Run Solar Farm: Rugby_Run -Sebastopol Solar Farm: Sebastopol -Stubbo Solar Farm: Stubbo -Sun Metals Corporation Solar Farm: Sun_Metals -Sunraysia Solar Farm: Sunraysia -Suntop Solar Farm: Suntop -Susan River Solar Farm: Susan_River -Tailem Bend Solar Farm: Tailem_Bend -Tailem Bend Solar Farm - stage 2: Tailem_Bend_Stage_Two -Tamworth Solar Farm: Tamworth -Tilbuster Solar Farm: Tilbuster -Wagga North Solar Farm: Wagga_North -Walla Walla Solar Farm: Walla_Walla -Wandoan South Solar Farm - stage 1: Wandoan -Warwick Solar Farm: Warwick_One -Wellington North Solar Farm (Lightsource): Wellington_North -Wellington Solar Farm: Wellington -Wemen Solar Farm: Wemen -West Wyalong Solar Farm: West_Wyalong -Western Downs Green Power Hub: Western_Downs_Hub -White Rock Solar Farm: White_Rock -Whitsunday Solar Farm: Whitsunday -Winton Solar Farm: Winton -Wollar Solar Farm: Wollar -Woolooga Solar Farm: Woolooga -Wunghnu Solar Farm: Wunghnu -Wyalong Solar Farm: Wyalong -Yarranlea Solar Farm: Yarranlea -Yatpool Solar Farm: Yatpool diff --git a/src/isp_trace_parser/mappings/solar_zone_mapping.yaml b/src/isp_trace_parser/mappings/solar_zone_mapping.yaml deleted file mode 100644 index 1526f42..0000000 --- a/src/isp_trace_parser/mappings/solar_zone_mapping.yaml +++ /dev/null @@ -1,40 +0,0 @@ -Q1: Q1 -Q2: Q2 -Q3: Q3 -Q4: Q4 -Q5: Q5 -Q6: Q6 -Q7: Q7 -Q8: Q8 -Q9: Q9 -N0: N0 -N1: N1 -N2: N2 -N3: N3 -N4: N4 -N5: N5 -N6: N6 -N7: N7 -N8: N8 -N9: N9 -N12: N12 -V0: V0 -V1: V1 -V2: V2 -V3: V3 -V4: V4 -V5: V5 -V6: V6 -V8: V8 -S1: S1 -S2: S2 -S3: S3 -S4: S4 -S5: S5 -S6: S6 -S7: S7 -S8: S8 -S9: S9 -T1: T1 -T2: T2 -T3: T3 diff --git a/src/isp_trace_parser/mappings/wind_project_mapping.yaml b/src/isp_trace_parser/mappings/wind_project_mapping.yaml deleted file mode 100644 index f04a2fd..0000000 --- a/src/isp_trace_parser/mappings/wind_project_mapping.yaml +++ /dev/null @@ -1,356 +0,0 @@ -Bango 973 Wind Farm: - Station Name: Bango 973 Wind Farm - DUID: BANGOWF1 - CSVFile: BANGOWF1 -Bango 999 Wind Farm: - Station Name: Bango 999 Wind Farm - DUID: BANGOWF2 - CSVFile: BANGOWF2 -Boco Rock Wind Farm: - Station Name: Boco Rock Wind Farm - DUID: BOCORWF1 - CSVFile: BOCORWF1 -Bodangora Wind Farm: - Station Name: Bodangora Wind Farm - DUID: BODWF1 - CSVFile: BODWF1 -Capital Wind Farm: - Station Name: Capital Wind Farm - DUID: CAPTL_WF - CSVFile: CAPTL_WF -Collector Wind Farm: - Station Name: Collector Wind Farm 1 - DUID: COLWF01 - CSVFile: COLWF01 -Crookwell 2 Wind Farm: - Station Name: Crookwell 2 Wind Farm - DUID: CROOKWF2 - CSVFile: CROOKWF2 -Crudine Ridge Wind Farm: - Station Name: Crudine Ridge Wind Farm - DUID: CRURWF1 - CSVFile: CRURWF1 -Cullerin Range Wind Farm: - Station Name: Cullerin Range Wind Farm - DUID: CULLRGWF - CSVFile: CULLRGWF -Gullen Range Wind Farm: - Station Name: Gullen Range Wind Farm - DUID: GULLRWF1 - CSVFile: GULLRWF1 -Gullen Range Wind Farm 2: - Station Name: Gullen Range Wind Farm - DUID: GULLRWF1 - CSVFile: GULLRWF2 -Gunning Wind Farm: - Station Name: Gunning Wind Farm - DUID: GUNNING1 - CSVFile: GUNNING1 -Sapphire Wind Farm: - Station Name: Sapphire Wind Farm - DUID: SAPHWF1 - CSVFile: SAPHWF1 -Silverton Wind Farm: - Station Name: Silverton Wind Farm - DUID: STWF1 - CSVFile: STWF1 -Taralga Wind Farm: - Station Name: Taralga Wind Farm - DUID: TARALGA1 - CSVFile: TARALGA1 -White Rock Wind Farm - Stage 1: - Station Name: White Rock Wind Farm - DUID: WRWF1 - CSVFile: WRWF1 -Woodlawn Wind Farm: - Station Name: Woodlawn Wind Farm - DUID: WOODLWN1 - CSVFile: WOODLWN1 -Coopers Gap Wind Farm: - Station Name: Coopers Gap Wind Farm - DUID: COOPGWF1 - CSVFile: COOPGWF1 -Kaban Green Power Hub - Wind Farm: - Station Name: Kaban Wind Farm - DUID: KABANWF1 - CSVFile: KABANWF1 -Kennedy Energy Park Wind Farm: - Station Name: Kennedy Energy Park - DUID: KEPWF1 - CSVFile: KEPWF1 -Mount Emerald Wind Farm: - Station Name: Mount Emerald Wind Farm - DUID: MEWF1 - CSVFile: MEWF1 -Canunda Wind Farm: - Station Name: Canunda Wind Farm - DUID: CNUNDAWF - CSVFile: CNUNDAWF -Cathedral Rocks Wind Farm: - Station Name: Cathedral Rocks - DUID: CATHROCK - CSVFile: CATHROCK -Clements Gap Wind Farm: - Station Name: Clements Gap Wind Farm - DUID: CLEMGPWF - CSVFile: CLEMGPWF -Hallett 4 North Brown Hill Wind Farm: - Station Name: North Brown Hill Wind Farm - DUID: NBHWF1 - CSVFile: NBHWF1 -Hallett 5 The Bluff Wind Farm: - Station Name: The Bluff Wind Farm - DUID: BLUFF1 - CSVFile: BLUFF1 -Hallett Stage 1 Brown Hill Wind Farm: - Station Name: Hallett 1 Wind Farm - DUID: HALLWF1 - CSVFile: HALLWF1 -Hallett Stage 2 Hallett Hill Wind Farm: - Station Name: Hallett 2 Wind Farm - DUID: HALLWF2 - CSVFile: HALLWF2 -Hornsdale Wind Farm Stage 1: - Station Name: Hornsdale Wind Farm - DUID: HDWF1 - CSVFile: HDWF1 -Hornsdale Wind Farm Stage 2: - Station Name: Hornsdale Wind Farm - DUID: HDWF1 - CSVFile: HDWF2 -Hornsdale Wind Farm Stage 3: - Station Name: Hornsdale Wind Farm - DUID: HDWF1 - CSVFile: HDWF3 -Lake Bonney 1 Wind Farm: - Station Name: Lake Bonney Wind Farm Stage 1 - DUID: LKBONNY1 - CSVFile: LKBONNY1 -Lake Bonney 2 Wind Farm: - Station Name: Lake Bonney Stage 3 Wind Farm - DUID: LKBONNY3 - CSVFile: LKBONNY2 -Lake Bonney 3 Wind Farm: - Station Name: Lake Bonney Stage 3 Wind Farm - DUID: LKBONNY3 - CSVFile: LKBONNY3 -Lincoln Gap Wind Farm - stage 1: - Station Name: Lincoln Gap Wind Farm - DUID: LGAPWF1 - CSVFile: LGAPWF1 -Lincoln Gap Wind Farm - stage 2: - Station Name: Lincoln Gap Wind Farm - DUID: LGAPWF1 - CSVFile: LGAPWF2 -Mount Millar Wind Farm: - Station Name: Mt Millar Wind Farm - DUID: MTMILLAR - CSVFile: MTMILLAR -Port Augusta Renewable Energy Park - Wind: - Station Name: Port Augusta Renewable Energy Park - DUID: PAREPW1 - CSVFile: PAREPW1 -Snowtown S2 Wind Farm: - Station Name: Snowtown South Wind Farm - DUID: SNOWSTH1 - CSVFile: ['SNOWSTH1', 'SNOWNTH1'] -Snowtown Wind Farm: - Station Name: Snowtown South Wind Farm - DUID: SNOWSTH1 - CSVFile: SNOWTWN1 -Starfish Hill Wind Farm: - Station Name: Starfish Hill Wind Farm - DUID: STARHLWF - CSVFile: STARHLWF -Waterloo Wind Farm: - Station Name: Waterloo Wind Farm - DUID: WATERLWF - CSVFile: WATERLWF -Wattle Point Wind Farm: - Station Name: Wattle Point Wind Farm - DUID: WPWF - CSVFile: WPWF -Willogoleche Wind Farm: - Station Name: Willogoleche Wind Farm - DUID: WGWF1 - CSVFile: WGWF1 -Cattle Hill Wind Farm: - Station Name: Cattle Hill Wind Farm - DUID: CTHLWF1 - CSVFile: CTHLWF1 -Granville Harbour Wind Farm: - Station Name: Granville Harbour Wind Farm - DUID: GRANWF1 - CSVFile: GRANWF1 -Musselroe Wind Farm: - Station Name: Musselroe Wind Farm - DUID: MUSSELR1 - CSVFile: MUSSELR1 -Woolnorth Wind Farm: - Station Name: Woolnorth Studland Bay / Bluff Point Wind Farm - DUID: WOOLNTH1 - CSVFile: WOOLNTH1 -Ararat Wind Farm: - Station Name: Ararat Wind Farm - DUID: ARWF1 - CSVFile: ARWF1 -Bald Hills Wind Farm: - Station Name: Bald Hills Wind Farm - DUID: BALDHWF1 - CSVFile: BALDHWF1 -Berrybank Wind Farm: - Station Name: Berrybank 2 Wind Farm - DUID: BRYB2WF2 - CSVFile: BRYB1WF1 -Bulgana Green Power Hub - Wind Farm: - Station Name: Bulgana Green Power Hub - DUID: BULGANA1 - CSVFile: BULGANA1 -Challicum Hills Wind Farm: - Station Name: Challicum Hills Wind Farm - DUID: CHALLHWF - CSVFile: CHALLHWF -Cherry Tree Wind Farm: - Station Name: Cherry Tree Wind Farm - DUID: CHYTWF1 - CSVFile: CHYTWF1 -Crowlands Wind Farm: - Station Name: Crowlands Wind Farm - DUID: CROWLWF1 - CSVFile: CROWLWF1 -Dulacca Wind Farm: - Station Name: Dulacca Wind Farm - DUID: DULAWF1 - CSVFile: DULAWF1 -Dundonnell Wind Farm: - Station Name: Dundonnell Wind Farm - DUID: DUNDWF1 - CSVFile: ['DUNDWF1', 'DUNDWF2', 'DUNDWF3'] -Elaine Wind Farm: - Station Name: Elaine Wind Farm - DUID: ELAINWF1 - CSVFile: ELAINWF1 -Kiata Wind Farm: - Station Name: Kiata Wind Farm - DUID: KIATAWF1 - CSVFile: KIATAWF1 -Macarthur Wind Farm: - Station Name: Macarthur Wind Farm - DUID: MACARTH1 - CSVFile: MACARTH1 -Moorabool Wind Farm: - Station Name: Moorabool Wind Farm - DUID: MOORAWF1 - CSVFile: MOORAWF1 -Mortlake South Wind Farm: - Station Name: Mortlake South Wind Farm - DUID: MRTLSWF1 - CSVFile: MRTLSWF1 -Mortons Lane Wind Farm: - Station Name: Mortons Lane Wind Farm - DUID: MLWF1 - CSVFile: MLWF1 -Mt Gellibrand Wind Farm: - Station Name: Mt Gellibrand Wind Farm - DUID: MTGELWF1 - CSVFile: MTGELWF1 -Mt Mercer Wind Farm: - Station Name: Mt Mercer Wind Farm - DUID: MERCER01 - CSVFile: MERCER01 -Murra Warra Wind Farm - stage 1: - Station Name: Murra Warra Wind Farm - DUID: MUWAWF1 - CSVFile: MUWAWF1 -Murra Warra Wind Farm - stage 2: - Station Name: Murra Warra Wind Farm - DUID: MUWAWF1 - CSVFile: MUWAWF2 -Oaklands Hill Wind Farm: - Station Name: Oaklands Hill Wind Farm - DUID: OAKLAND1 - CSVFile: OAKLAND1 -Portland Wind Farm: - Station Name: Crowlands Wind Farm - DUID: CROWLWF1 - CSVFile: PORTWF -Salt Creek Wind Farm: - Station Name: Salt Creek Wind Farm - DUID: SALTCRK1 - CSVFile: SALTCRK1 -Stockyard Hill Wind Farm: - Station Name: Stockyard Hill Wind Farm - DUID: STOCKYD1 - CSVFile: STOCKYD1 -Waubra Wind Farm: - Station Name: Waubra Wind Farm - DUID: WAUBRAWF - CSVFile: WAUBRAWF -Yaloak South Wind Farm: - Station Name: Yaloak South Wind Farm - DUID: YSWF1 - CSVFile: YSWF1 -Yambuk Wind Farm: - Station Name: Yambuk Wind Farm - DUID: YAMBUKWF - CSVFile: YAMBUKWF -Yendon Wind Farm: - Station Name: Yendon Wind Farm - DUID: YENDWF1 - CSVFile: YENDWF1 -Clarke Creek Wind Farm: - Station Name: Salt Creek Wind Farm - DUID: SALTCRK1 - CSVFile: ['CLRKCWF1', 'CLRKCWF2'] -Crookwell 3 Wind Farm: - Station Name: Crookwell 3 Wind Farm - DUID: CROOKWF3 - CSVFile: Crookwell_3 -Flyers Creek Wind Farm: - Station Name: Flyers Creek Wind Farm - DUID: FLYCRKWF - CSVFile: Flyers_Creek -Golden Plains Wind Farm East: - Station Name: Golden Plains Wind Farm East - DUID: GPWFEST1 - CSVFile: Golden_Plains_East -Goyder South Wind Farm 1A: - Station Name: Goyder South Wind Farm 1A - DUID: GSWF1A - CSVFile: Goyder_South -Goyder South Wind Farm 1B: - Station Name: Goyder South Wind Farm 1B - DUID: GSWF1B1 - CSVFile: Goyder_South -Hawkesdale Wind Farm: - Station Name: Hawkesdale Wind Farm - DUID: HD1WF1 - CSVFile: Hawkesdale -Ryan Corner Wind Farm: - Station Name: Ryan Corner Wind Farm - DUID: RYANCWF1 - CSVFile: Ryan_Corner -Rye Park Wind Farm: - Station Name: Ararat Wind Farm - DUID: ARWF1 - CSVFile: Rye_Park -Wambo Wind Farm: - Station Name: Waubra Wind Farm - DUID: WAUBRAWF - CSVFile: Wambo -MacIntyre Wind Farm: - Station Name: MacIntyre Wind Farm - DUID: MCINTYR1 - CSVFile: Macintyre -Uungula Wind Farm: - Station Name: Canunda Wind Farm - DUID: CNUNDAWF - CSVFile: Uungula -Woolsthorpe Wind Farm: - Station Name: Kaban Wind Farm - DUID: KABANWF1 - CSVFile: Woolsthorpe -Coppabella Wind Farm: - Station Name: Capital Wind Farm - DUID: CAPTL_WF - CSVFile: Coppabella diff --git a/src/isp_trace_parser/mappings/wind_zone_mapping.yaml b/src/isp_trace_parser/mappings/wind_zone_mapping.yaml deleted file mode 100644 index 730a52a..0000000 --- a/src/isp_trace_parser/mappings/wind_zone_mapping.yaml +++ /dev/null @@ -1,45 +0,0 @@ -Q1: Q1 -Q2: Q2 -Q3: Q3 -Q4: Q4 -Q5: Q5 -Q6: Q6 -Q7: Q7 -Q8: Q8 -Q9: Q9 -N0: N0 -N1: N1 -N2: N2 -N3: N3 -N4: N4 -N5: N5 -N6: N6 -N7: N7 -N8: N8 -N9: N9 -N10: N10 -N11: N11 -N12: N12 -V0: V0 -V1: V1 -V2: V2 -V3: V3 -V4: V4 -V5: V5 -V6: V6 -V7: V7 -V8: V8 -S1: S1 -S2: S2 -S3: S3 -S4: S4 -S5: S5 -S6: S6 -S7: S7 -S8: S8 -S9: S9 -S10: S10 -T1: T1 -T2: T2 -T3: T3 -T4: T4 diff --git a/src/isp_trace_parser/solar_traces.py b/src/isp_trace_parser/solar_traces.py index 8de7b31..f52ee49 100644 --- a/src/isp_trace_parser/solar_traces.py +++ b/src/isp_trace_parser/solar_traces.py @@ -135,8 +135,19 @@ def parse_solar_traces( files = get_all_filepaths(input_directory) file_metadata = extract_metadata_for_all_solar_files(files) - project_name_mapping = mappings.load("solar_project_mapping") - zone_name_mapping = mappings.load("solar_zone_mapping") + resource_mapping = mappings.load("resources") + + project_name_mapping = { + alias: val["location"] + for key, val in resource_mapping.items() + for alias in val["iasr_aliases"] + } + zone_name_mapping = { + val["location"]: val["location"] + for key, val in resource_mapping.items() + if val["location_type"] == "zone" + } + name_mappings = {**project_name_mapping, **zone_name_mapping} project_and_zone_input_names = get_unique_project_and_zone_names_in_input_files( diff --git a/src/isp_trace_parser/wind_traces.py b/src/isp_trace_parser/wind_traces.py index 5eefafb..68db9c8 100644 --- a/src/isp_trace_parser/wind_traces.py +++ b/src/isp_trace_parser/wind_traces.py @@ -137,10 +137,18 @@ def parse_wind_traces( files = get_all_filepaths(input_directory) file_metadata = extract_metadata_for_all_wind_files(files) - project_name_mappings = mappings.load("wind_project_mapping") - project_name_mappings = restructure_wind_project_mapping(project_name_mappings) + resource_mapping = mappings.load("resources") + zone_name_mappings = { + val["location"]: val["location"] + for key, val in resource_mapping.items() + if val["location_type"] == "zone" + } - zone_name_mappings = mappings.load("wind_zone_mapping") + project_name_mappings = { + alias: val["location"] + for key, val in resource_mapping.items() + for alias in val["iasr_aliases"] + } project_and_zone_input_names = get_unique_project_and_zone_names_in_input_files( file_metadata @@ -312,18 +320,6 @@ def write_output_wind_zone_filename(metadata: dict) -> str: return f"RefYear{m['reference_year']}_{name}_{m['resource_type']}.parquet" -def restructure_wind_project_mapping(project_name_mapping: dict) -> dict: - """ - Simplifies the wind project name mapping. - - Returns a dict with the workbook project names as keys and CSV file project names as values. - """ - return { - name: mapping_data["CSVFile"] - for name, mapping_data in project_name_mapping.items() - } - - def extract_metadata_for_all_wind_files(filepaths: list) -> dict: """ Extracts metadata for all wind trace files.