Skip to content

Jb/documentation updates#1635

Draft
jbrossman wants to merge 11 commits intomainfrom
jb/documentation-updates
Draft

Jb/documentation updates#1635
jbrossman wants to merge 11 commits intomainfrom
jb/documentation-updates

Conversation

@jbrossman
Copy link
Copy Markdown

Draft PR to address issues shown in #1504 and #1461 . Most changes occur from the supplemental attributes and system explanations. Spelling and cross reference issues were also addressed. While compiling the documentation a lot of the files were changed, but it's not clear what the change was.

One known issue still which is a figure not displaying. I will continue to work on this.

The contributing guidelines opened a link that did not work for me as well. Not sure if that is because I am a NLR employee or if the link is broken.

Jes Brossman added 9 commits February 17, 2026 15:17
Changed accessor and getter language across multiple pages
Edits include deleting the original supplemental attributes explanation, and creating a new one. Then, adding in two how tos, which describe how to add supplemental attributes and then a second how to about querying the supplemental attributes to get additional information. Update the glossary with UUID description as well.
First edits to system explanation and a new how-to. Also edited the make.jl file to include previously committed files and these new files.
Key changes include adding @id references to the tutorials, referencing those tutorials in the explanation, and creating a separate how-to using code originally featured in the system explanation.
Successfully compiled the documentation and fixed a number of issues. Most of them were for broken or missing references.
@jbrossman jbrossman requested a review from kdayday February 24, 2026 21:09
@jbrossman jbrossman self-assigned this Feb 24, 2026
@codecov
Copy link
Copy Markdown

codecov bot commented Feb 24, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 84.05%. Comparing base (1617cc3) to head (0224c49).
⚠️ Report is 4 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #1635      +/-   ##
==========================================
+ Coverage   84.03%   84.05%   +0.01%     
==========================================
  Files         203      203              
  Lines       10462    10462              
==========================================
+ Hits         8792     8794       +2     
+ Misses       1670     1668       -2     
Flag Coverage Δ
unittests 84.05% <ø> (+0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.
see 1 file with indirect coverage changes

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

@kdayday
Copy link
Copy Markdown
Contributor

kdayday commented Feb 25, 2026

@jbrossman I haven't taken a look yet, but FYI, about figures there's a different file path to get it to show up locally versus on github ("../" vs. "../../" or vice versa). We will want whichever one gets it to show up on the github Preview, so don't worry about it if it doesn't show up locally

Comment on lines +16 to +26
1. **Categorization by behavior:** Components that serve the same modeling role share a
common abstract supertype. Code can retrieve all components of a given category — all
generators, all transmission branches — without enumerating every specific technology
type.

2. **Generic and extensible model logic:** Downstream packages such as
[`PowerSimulations.jl`](https://nrel-sienna.github.io/PowerSimulations.jl/stable/)
define optimization formulations against abstract types. A new concrete component type
slots into existing model formulations automatically, as long as it implements the
expected interface. This means users can define technologies not yet in the package and
have them work with existing tools.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

[JuliaFormatter] reported by reviewdog 🐶

Suggested change
1. **Categorization by behavior:** Components that serve the same modeling role share a
common abstract supertype. Code can retrieve all components of a given category — all
generators, all transmission branches — without enumerating every specific technology
type.
2. **Generic and extensible model logic:** Downstream packages such as
[`PowerSimulations.jl`](https://nrel-sienna.github.io/PowerSimulations.jl/stable/)
define optimization formulations against abstract types. A new concrete component type
slots into existing model formulations automatically, as long as it implements the
expected interface. This means users can define technologies not yet in the package and
have them work with existing tools.
1. **Categorization by behavior:** Components that serve the same modeling role share a
common abstract supertype. Code can retrieve all components of a given category — all
generators, all transmission branches — without enumerating every specific technology
type.
2. **Generic and extensible model logic:** Downstream packages such as
[`PowerSimulations.jl`](https://nrel-sienna.github.io/PowerSimulations.jl/stable/)
define optimization formulations against abstract types. A new concrete component type
slots into existing model formulations automatically, as long as it implements the
expected interface. This means users can define technologies not yet in the package and
have them work with existing tools.

``` ⠀
For a hands-on introduction to navigating the type hierarchy, see the
[Create and Explore a Power System](@ref tutorial_creating_system) tutorial.
```
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

[JuliaFormatter] reported by reviewdog 🐶

Suggested change
```
```
```

@@ -1,4 +1,4 @@
# # Create and Explore a Power `System`
# # [Create and Explore a Power `System`](@id tutorial_creating_system)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I think these ID tags show up badly in the Jupyter notebook versions of the tutorials, so let's remove and just use the title tags if it all possible

The system above is invalid because the bus connected to the Alta generator is not
part of subsystem "1". Add the bus first, then re-run [`from_subsystem`](@ref):

```@repl subsystem
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This doesn't fully get to an error-free resolution. Maybe at least make a comment underneath that a similar approach would be needed to resolve the remaining errors ( adding a slack bus or modifying the existing bus, adding an electric load to the subsystem)

@@ -1,12 +1,35 @@
# [Type Structure](@id type_structure)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

👏

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Fantastic


Each infrastructure component is represented as a [`struct`](@ref S) — a composite data
type that bundles together the fields needed to describe that component. For example, an
`ACBus` carries fields for its bus number, nominal voltage, bus type, and more:
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Add hyperlinks on all type and function names

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants