docs(pypsa): the pypsa page lists seven more refusals and eight data-prep steps, and a capital cost says where fom_cost and overnight_cost enter - #816
Open
FabianHofmann wants to merge 2 commits into
Conversation
…prep steps, and a capital cost says where fom_cost and overnight_cost enter Data prep section: n 20, median 19, over25 4.
Documentation build overview
16 files changed ·
|
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Note
The following content was generated by AI.
The PyPSA page now has seven more Refusals rows and a Data prep section with eight steps. Each capital cost says how
fom_costandovernight_costenter, and the transmission cost limit reads the cost withoutfom_cost. No math changes.Stacks on #787, which stacks on #786. Part of #783 (step 4, group 4: docs only).
Method, gate output, PyPSA cites, what is not done
Method. I re-read each #783 claim on PyPSA master
02bdcbbabefore I wrote it down. Line numbers in the new text are on02bdcbba.fom_costandovernight_cost. The seven*_capital_costdescriptions inexamples/pypsa.yamlsaid "periodized as an annuity in data prep". That is wrong whenovernight_costis absent. They now give PyPSA'speriodized_cost:overnight_costas an annuity timesnyearswhere it is given,capital_costwhere it is not, plusfom_cost(components.py:1126-1147,costs.py:102-203, read by the objective atoptimize.py:222,:406).Line_expansion_cost_weightandLink_expansion_cost_weightnow say the limit reads thecapital_costproperty, withoutfom_cost(components.py:1151-1169,global_constraints.py:935). The rung 3 and rung 5 index rows say the same in short form.period_weight_objectivenow says that data prep feeds one withoutmulti_investment_periods(optimize.py:205-207,:264-266).Refusals, seven rows.
consistency.py:231-283ConsistencyErroronly understrict(_log_or_raise,:45-49). The file builds the same: min > max keeps the fixed shift, and an infinite bound leaves the shift freeconstraints.py:1819-1820{c}-p_nomexists only for extendable, active units (variables.py:354-360), so.selraisesKeyErrorconstraints.py:2772,:2781Generator-pspans onlyactive_assets(variables.py:44-46), soe_sum_minore_sum_maxon an inactive unit raisesKeyError. The file builds0 >= e_sum_minconstraints.py:1558-1563Empty LHS with non-zero RHSwhere every term of a loaded bus is masked in a snapshotcomponents/descriptors.py:141-144get_active_assets(period)raises for a period outsiden.investment_periods. Reached fromglobal_constraints.py:88and the transmission limitsconstraints.py:1146-1148,:1153-1158p >= (shut - 1) * p_nomat the first snapshot. The file givesp >= -p_nom. This binds only for a unit that can run below zeroconstraints.py:120-1250 * infis set to0for a fixed build ofinfData prep, eight steps. These are typed branches (
network/power_flow.py:441-564) and the carrier fill frombus0(:780-782,:831-837). Then the KVL weightsx_pu_effandr_pu_eff(networks.py:1360-1365), andbus0for branches, Link and Process intech_capacity_expansion_limit(global_constraints.py:93). Then the period weight on a plain run, and storage inprimary_energy: onlycyclic_state_of_charge/e_cyclicexclude a unit (global_constraints.py:436,:490), andoperational_limitalso readsactive(:636,:687). Last, no capacity variable foractive = False(variables.py:354-360), and no row for an empty global constraint (global_constraints.py:98-99,:538-539,:730-731,:844-845,:939-940).Gates.
pixi run python -m tools.pypsa_split split examples/pypsaandpixi run python -m tools.gallery: fragments and pages regenerated, not edited.uv run --script examples/references/pypsa/reference.py --check: every rung solves to its record.pixi run lint: pass.pixi run ci: 2621 passed, docs build with no issues, 55 TeX documents compiled.Not run.
reference.pywithout--check: no rung is new or changed, so there is nothing to record.Not done.
{c}_came_in_running_unless_committableto readramp_limit_shut_downis a math change, and it belongs to the PyPSA parity with master: open points, new master changes and the PyPSA bugs found #783 item "First-snapshot ramp from a start-up or shut-down limit alone".constraints.py:1708and rung 58 cites:1872. Both are1.3.0lines, and they move to1817and1981on master. docs(pypsa): the pypsa line references point at pypsa master #806 re-anchors these cites, thenetworks.py:1354-1361cites (C1), and the two sentences that say line numbers are1.3.0. If I changed those lines here, they would conflict with docs(pypsa): the pypsa line references point at pypsa master #806.1.3.0", but the seven new rows cite02bdcbba.Line_cycle_weightand the*_tech_capacity_weightdescriptions are unchanged. Their steps are on the page. docs(pypsa): the pypsa line references point at pypsa master #806 edits theLine_cycle_weightline.