Skip to content

Bring network and resource schemas up to the newer schema format#116

Merged
nick-gorman merged 3 commits into
109-flow-path-timeslice-mappingfrom
update-network-resource-schema-formats
Jun 18, 2026
Merged

Bring network and resource schemas up to the newer schema format#116
nick-gorman merged 3 commits into
109-flow-path-timeslice-mappingfrom
update-network-resource-schema-formats

Conversation

@nick-gorman

Copy link
Copy Markdown
Member

The costs, generators and storage schemas were restructured in #93 with sectioned descriptions (Source tables / Source notes / If absent), per-column absence semantics and numeric value constraints, but the earlier network_ and resource_ schemas kept the old flat style. This aligns them so all schemas share one format ahead of the validation layer landing. Stacked on #109.

src/ispypsa/validation/schemas/
├── network_geography.yaml                        ← source tables; subregion_id absence semantics
├── network_transmission_paths.yaml               ← source tables; parallel-corridor source note
├── network_transmission_path_limits.yaml         ← blank capacity/timeslice meanings; gte on capacity
├── network_expansion_options.yaml                ← least-cost selection source note; gte on expansion
├── network_transmission_path_expansion_costs.yaml ← integer → int; gte on cost
└── resource_limits.yaml                          ← source table; hard-cap penalty semantics

Two choices a reviewer might query:

  • No nan_fill anywhere. In these tables a blank cell carries meaning (no physical limit, hard cap, static timeslice) rather than standing in for a default value.
  • resource_limits source table is inferred. It has no new-format templater yet, so initial_build_limits comes from the legacy REZ build-limits templater and may need revisiting when the real one lands.

The gte: 0.0 constraints are new spec, not just reformatting — nothing enforces them today, but they become real rules once validation lands.

🤖 Generated with Claude Code

The costs, generators and storage schemas were restructured (2963704) with
sectioned descriptions (Source tables / Source notes / If absent), per-column
absence semantics and numeric value constraints, but the earlier network_ and
resource_ schemas were left in the old flat style. This aligns them so all
schemas share one format ahead of the validation layer landing.

No nan_fill was added anywhere: in these tables a blank cell carries meaning
(no physical limit, hard cap, static timeslice) rather than standing in for a
default. resource_limits has no new-format templater yet, so its source table
is inferred from the legacy REZ build-limits templater.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@codecov

codecov Bot commented Jun 10, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Reword the network_transmission_paths, _path_limits and _expansion_options
schema descriptions to state the schema contract rather than incidental
properties of the default IASR data, and to describe what each column means
without circular cross-references.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
type: integer
type: int
required: true
description: Financial year the cost applies to.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor note I think you pointed out earlier - we could just use "Year" rather than "Financial year" in these descriptions to be a little freer (unless is distinct here?)

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes! nice catch!

@nick-gorman nick-gorman merged commit 012bc15 into 109-flow-path-timeslice-mapping Jun 18, 2026
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants