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

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
167 changes: 99 additions & 68 deletions docs/source/db_model_comparison.rst
Original file line number Diff line number Diff line change
@@ -1,83 +1,89 @@
Database Tables vs Model Sets/Parameters Comparison
======================================================
Our discussion of sets is broken down into several logical categories to make it
easier to parse. The first group of sets pertains to Temoa's treatment of time,
as shown below. **Note:** Some entries in the "Database Table" column are
comma-separated. In those cases, the first element refers to the name of the database
table, and the second refers to specific column within the database column used to
identify a specific subset. For example, in the first table below, :code:`time_period`
Comment on lines +4 to +6
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Tighten wording: “database column” → “database table”.
Currently reads “column within the database column,” which is redundant.

📝 Proposed fix
- table, and the second refers to specific column within the database column used to
+ table, and the second refers to a specific column within the database table used to
🤖 Prompt for AI Agents
In `@docs/source/db_model_comparison.rst` around lines 4 - 6, The phrase "column
within the database column" is redundant and should be changed to "column within
the database table"; update the sentence around the :code:`time_period` example
so it reads that the second element refers to a specific column within the
database table (not "database column") to tighten the wording.

is the master set and :code:`time_exist` is a subset that defines the user-defined
model time periods to define historical technology vintages that exist prior to
the model's time horizon for optimization.

Direct Mappings: Sets
---------------------

Time-Related Sets
^^^^^^^^^^^^^^^^^

.. csv-table::
:header: "Set", "Database Table", "Model Element", "Notes"
:widths: 15, 20, 25, 40

":math:`\text{P}^e`", "time_period", "time_exist", "model periods before optimization begins; partitioned by period type flag"
":math:`\text{P}^f`", "time_period", "time_future", "model time scale of interest; the last year is not optimized; partitioned by period type flag"
":math:`{}^*\text{P}^o`", "time_period", "time_optimize", "model time periods to optimize; (:math:`\text{P}^f - \text{max}(\text{P}^f)`); partitioned by period type flag"
":math:`{}^*\text{V}`", "time_period", "vintage_exist, vintage_optimize, vintage_all", "possible tech vintages; (:math:`\text{P}^e \cup \text{P}^o`); same data, used for vintage tracking"
":math:`\text{D}`", "time_of_day", "time_of_day", "time-of-day divisions (e.g. morning); direct mapping"
":math:`\text{S}`", "season_label", "time_season_all, time_season", "seasonal divisions (e.g. winter, summer); direct mapping"
"", "time_season", "time_season", "seasons by period"
"", "time_season_sequential", "time_season_to_sequential, ordered_season_sequential", "sequential season ordering"
":math:`\text{P}^e`", ":code:`time_period, flag = e`", ":code:`time_exist`", "model periods prior to the beginning of the optimization time horizon"
":math:`\text{P}^f`", ":code:`time_period, flag = f`", ":code:`time_future`", "model periods within the optimization time horizon"
":math:`{}^*\text{P}^o`", ":code:`time_period`", ":code:`time_optimize`", "model time periods to optimize, (:math:`\text{P}^f - \text{max}(\text{P}^f)`); the last time period is removed as it represents the end of the final period"
":math:`{}^*\text{V}`", ":code:`time_period`", ":code:`vintage_exist`, :code:`vintage_optimize`, :code:`vintage_all`", "tech vintages, (:math:`\text{P}^e \cup \text{P}^o`), derived from time period set"
":math:`\text{D}`", ":code:`time_of_day`", ":code:`time_of_day`", "intraday time divisions"
":math:`\text{S}`", ":code:`season_label`", ":code:`time_season`", "intra-annual divisions, e.g., different seasons or different representative days"
"", ":code:`time_season`", ":code:`time_season`", "ordered tuple of seasons by time period"
"", ":code:`time_season_sequential`", ":code:`time_season_to_sequential, ordered_season_sequential`", "superimposed sequential seasons used for seasonal storage and inter-season ramping"

Geography Sets
^^^^^^^^^^^^^^
The sets in the table below define Temoa's representation of regions.

.. csv-table::
:header: "Set", "Database Table", "Model Element", "Notes"
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Update header to match other tables.

The header should be "Model Code" instead of "Model Element" for consistency with the other tables in this file.

📝 Proposed fix
-   :header: "Set", "Database Table", "Model Element", "Notes"
+   :header: "Set", "Database Table", "Model Code", "Notes"
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
:header: "Set", "Database Table", "Model Element", "Notes"
:header: "Set", "Database Table", "Model Code", "Notes"
🤖 Prompt for AI Agents
In @docs/source/db_model_comparison.rst at line 31, Update the table header
string that currently reads ':header: "Set", "Database Table", "Model Element",
"Notes"' to use "Model Code" instead of "Model Element"; locate the header
declaration (the :header: line) and replace "Model Element" with "Model Code" so
the table header matches the other tables.

:widths: 15, 20, 25, 40

":math:`\text{R}`", "region", "regions", "distinct geographical regions; direct mapping"
"", "region", "regional_indices", "derived with exchange logic"
"", "region", "regional_global_indices", "regional groups"
":math:`\text{R}`", ":code:`region`", ":code:`regions`", "distinct geographical regions; direct mapping"
"", ":code:`region`", ":code:`regional_indices`", "set of all the possible combinations of interregional exchanges plus original region indices"
"", ":code:`region_group_check`", ":code:`regional_global_indices`", "set used to validate regional group constraints; includes individual regions, exchange pairs, and groups"

Technology Sets
^^^^^^^^^^^^^^^
The sets below define how technologies are represented within Temoa. Because technologies
can serve many different functions across an energy system, we need to define a large
number of technology subsets.

.. csv-table::
:header: "Set", "Database Table", "Model Element", "Notes"
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Update header to match other tables.

The header should be "Model Code" instead of "Model Element" for consistency.

📝 Proposed fix
-   :header: "Set", "Database Table", "Model Element", "Notes"
+   :header: "Set", "Database Table", "Model Code", "Notes"
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
:header: "Set", "Database Table", "Model Element", "Notes"
:header: "Set", "Database Table", "Model Code", "Notes"
🤖 Prompt for AI Agents
In @docs/source/db_model_comparison.rst at line 43, Update the table header to
use "Model Code" instead of "Model Element": locate the table header declaration
that currently reads :header: "Set", "Database Table", "Model Element", "Notes"
and change the third header string to "Model Code" so it becomes :header: "Set",
"Database Table", "Model Code", "Notes".

:widths: 15, 20, 25, 40

":math:`{}^*\text{T}`", "technology", "tech_all", "all technologies to be modeled; (:math:`{T}^r \cup {T}^p`); all technologies"
":math:`\text{T}^p`", "technology", "tech_production", "techs producing intermediate commodities"
":math:`\text{T}^b`", "technology (flag='pb')", "tech_baseload", "baseload electric generators; (:math:`{T}^b \subset T`); filtered by flag"
":math:`\text{T}^s`", "technology (flag='ps')", "tech_storage", "all storage technologies; (:math:`{T}^s \subset T`); filtered by flag"
":math:`\text{T}^a`", "technology (annual=1)", "tech_annual", "technologies that produce constant annual output; (:math:`{T}^a \subset T`); filtered by annual flag"
":math:`\text{T}^{res}`", "technology (reserve=1)", "tech_reserve", "electric generators contributing to the reserve margin requirement; (:math:`{T}^{res} \subset T`); filtered by reserve flag"
":math:`\text{T}^c`", "technology (curtail=1)", "tech_curtailment", "technologies with curtailable output and no upstream cost; (:math:`{T}^c \subset (T - T^{res})`); filtered by curtail flag"
":math:`\text{T}^f`", "technology (flex=1)", "tech_flex", "technologies producing excess commodity flows; (:math:`{T}^f \subset T`); filtered by flex flag"
":math:`\text{T}^x`", "technology (exchange=1)", "tech_exchange", "technologies used for interregional commodity flow; (:math:`{T}^x \subset T`); filtered by exchange flag"
":math:`\text{T}^{ret}`", "technology (retire=1)", "tech_retirement", "technologies allowed to retire before end of life; (:math:`{T}^{ret} \subset (T - T^{u})`); filtered by retire flag"
":math:`\text{T}^u`", "technology (unlim_cap=1)", "tech_uncap", "technologies that have no bound on capacity; (:math:`{T}^u \subset (T - T^{res})`); filtered by unlim_cap flag"
":math:`\text{T}^{ss}`", "technology (seas_stor=1)", "tech_seasonal_storage", "seasonal storage technologies; (:math:`{T}^{ss} \subset T^s`); filtered by seas_stor flag"
"", "tech_group", "tech_group_names", "named groups for use in group constraints; group names"
"", "tech_group_member", "tech_group_members", "each technology belonging to each group; group membership"
":math:`\text{T}^e`", "existing_capacity", "tech_exist", "technologies constructed in an existing (past) vintage; (:math:`{T}^e \subset T`); derived from existing_capacity table"

Commodity Sets
^^^^^^^^^^^^^^
":math:`{}^*\text{T}`", ":code:`technology`", ":code:`tech_all`", "all technologies to be modeled; (:math:`{T}^r \cup {T}^p`)"
":math:`\text{T}^p`", ":code:`technology, flag = p`", ":code:`tech_production`", "techs producing intermediate commodities, like electricity"
":math:`\text{T}^b`", ":code:`technology, flag = pb`", ":code:`tech_baseload`", "baseload electric generators, (:math:`{T}^b \subset T`)"
":math:`\text{T}^s`", ":code:`technology, flag = ps`", ":code:`tech_storage`", "all storage technologies, (:math:`{T}^s \subset T`)"
":math:`\text{T}^a`", ":code:`technology, annual = 1`", ":code:`tech_annual`", "technologies that produce constant annual output, (:math:`{T}^a \subset T`)"
":math:`\text{T}^{res}`", ":code:`technology, reserve = 1`", ":code:`tech_reserve`", "electric generators contributing to the reserve margin requirement, (:math:`{T}^{res} \subset T`)"
":math:`\text{T}^c`", ":code:`technology, curtail = 1`", ":code:`tech_curtailment`", "technologies with curtailable output and no upstream cost; (:math:`{T}^c \subset (T - T^{res})`)"
":math:`\text{T}^f`", ":code:`technology, flex = 1`", ":code:`tech_flex`", "technologies producing excess commodity flows, (:math:`{T}^f \subset T`)"
":math:`\text{T}^x`", ":code:`technology, exchange = 1`", ":code:`tech_exchange`", "technologies used for interregional commodity flows, (:math:`{T}^x \subset T`)"
":math:`\text{T}^{ur}`", ":code:`technology, ramp_up = 1`", ":code:`tech_upramping`", "electric generators with a ramp up hourly rate limit; (:math:`{T}^{ur} \subset T`)"
":math:`\text{T}^{dr}`", ":code:`technology, ramp_down = 1`", ":code:`tech_downramping`", "electric generators with a ramp down hourly rate limit; (:math:`{T}^{dr} \subset T`)"
":math:`\text{T}^{ret}`", ":code:`technology, retire = 1`", ":code:`tech_retirement`", "technologies allowed to retire before end of life, (:math:`{T}^{ret} \subset (T - T^{u})`)"
":math:`\text{T}^u`", ":code:`technology, unlim_cap = 1`", ":code:`tech_uncap`", "technologies that have no bound on capacity, (:math:`{T}^u \subset (T - T^{res})`)"
":math:`\text{T}^{ss}`", ":code:`technology, seas_stor = 1`", ":code:`tech_seasonal_storage`", "seasonal storage technologies, (:math:`{T}^{ss} \subset T^s`)"
"", ":code:`tech_group`", ":code:`tech_group_names`", "named groups for use in group constraints"
"", ":code:`tech_group_member`", ":code:`tech_group_members`", "each technology belonging to each group"
":math:`\text{T}^e`", ":code:`existing_capacity`", ":code:`tech_exist`", "technologies constructed in an existing (past) vintage; (:math:`{T}^e \subset T`)"

The sets below define commodities that are consumed and produced by different energy
technologies.

.. csv-table::
:header: "Set", "Database Table", "Model Element", "Notes"
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Update header to match other tables.

The header should be "Model Code" instead of "Model Element" for consistency.

📝 Proposed fix
-   :header: "Set", "Database Table", "Model Element", "Notes"
+   :header: "Set", "Database Table", "Model Code", "Notes"
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
:header: "Set", "Database Table", "Model Element", "Notes"
:header: "Set", "Database Table", "Model Code", "Notes"
🤖 Prompt for AI Agents
In @docs/source/db_model_comparison.rst at line 66, Replace the table header
entry that currently reads :header: "Set", "Database Table", "Model Element",
"Notes" so it matches other tables by using "Model Code" instead of "Model
Element"; locate the :header: line in docs/source/db_model_comparison.rst and
change the third quoted header token to "Model Code" to ensure consistency.

:widths: 15, 20, 25, 40

":math:`\text{C}^d`", "commodity (flag='d')", "commodity_demand", "end-use demand commodities; filtered by flag"
":math:`\text{C}^e`", "commodity (flag='e')", "commodity_emissions", "emission commodities (e.g. :math:`\text{CO}_\text{2}` :math:`\text{NO}_\text{x}`); filtered by flag"
":math:`\text{C}^p`", "commodity (flag='p')", "commodity_physical", "general energy forms (e.g. electricity, coal, uranium, oil); filtered by flag"
":math:`\text{C}^w`", "commodity (flag='w','wa','wp')", "commodity_waste", "production can be greater than consumption; can be physical, annual, or neither (not balanced); filtered by waste flags"
":math:`\text{C}^a`", "commodity (flag='a')", "commodity_annual", "same as commodity physical but flows are only balanced over each period (:math:`\text{C}^a \subset \text{C}^p`); filtered by flag"
":math:`\text{C}^s`", "commodity (flag='s')", "commodity_source", "input sources (not balanced by CommodityBalance_constraint); filtered by flag"
":math:`{}^*\text{C}^c`", "", "commodity_carrier", "physical energy carriers and end-use demands (:math:`\text{C}_p \cup \text{C}_d`); union of physical, demand, and waste commodities"
":math:`{}^*\text{C}`", "", "commodity_all", "union of all commodity sets; union of carrier and emissions commodities"
":math:`\text{C}^d`", ":code:`commodity, flag = d`", ":code:`commodity_demand`", "end-use demand commodities, representing the final consumer demands"
":math:`\text{C}^e`", ":code:`commodity, flag = e`", ":code:`commodity_emissions`", "emission commodities (e.g. :math:`\text{CO}_\text{2}` :math:`\text{NO}_\text{x}`); filtered by flag"
":math:`\text{C}^p`", ":code:`commodity, flag = p`", ":code:`commodity_physical`", "physical energy commodities (e.g. electricity, coal, uranium, oil) produced and consumed across the energy system"
":math:`\text{C}^w`", ":code:`commodity, flag = w, wa , wp`", ":code:`commodity_waste`", "production can be greater than consumption; can be physical, annual, or neither (not balanced, all wasted)"
":math:`\text{C}^a`", ":code:`commodity, flag = a`", ":code:`commodity_annual`", "same as commodity physical but flows are only balanced over each period (:math:`\text{C}^a \subset \text{C}^p`)"
":math:`\text{C}^l`", ":code:`commodity, flag = l`", ":code:`commodity_flex`", "(disposable) commodities produced by a flex technology (:math:`\text{C}^l \subset \text{C}^p`)"
":math:`\text{C}^s`", ":code:`commodity, flag = s`", ":code:`commodity_source`", "primary source commodities, not balanced by :code:`CommodityBalance_constraint`"
":math:`{}^*\text{C}^c`", "", ":code:`commodity_carrier`", "physical energy carriers and end-use demands (:math:`\text{C}_p \cup \text{C}_d`); union of physical, demand, and waste commodities"
":math:`{}^*\text{C}`", "", ":code:`commodity_all`", "union of all commodity sets; union of carrier and emissions commodities"

Other Sets
^^^^^^^^^^
There is one additional set that defines operators (=, <, >). While not strictly
necessary, defining these operators as a set allows modelers to express constraints
more efficiently.

.. csv-table::
:header: "Set", "Database Table", "Model Element", "Notes"
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Update header to match other tables.

The header should be "Model Code" instead of "Model Element" for consistency.

📝 Proposed fix
-   :header: "Set", "Database Table", "Model Element", "Notes"
+   :header: "Set", "Database Table", "Model Code", "Notes"
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
:header: "Set", "Database Table", "Model Element", "Notes"
:header: "Set", "Database Table", "Model Code", "Notes"
🤖 Prompt for AI Agents
In @docs/source/db_model_comparison.rst at line 83, Update the table header
string so it matches other tables by replacing "Model Element" with "Model Code"
in the :header: line; specifically edit the line currently reading :header:
"Set", "Database Table", "Model Element", "Notes" and change it to :header:
"Set", "Database Table", "Model Code", "Notes" so the header is consistent.

:widths: 15, 20, 25, 40

"", "operator", "operator", "constraint operators"
"", ":code:`operator`", ":code:`operator`", "constraint operators"


Direct Mappings: Parameters
Expand Down Expand Up @@ -159,35 +165,60 @@ Emission Parameters
":math:`\text{EE}_{r,t,v,e}`", "emission_embodied", "emission_embodied", "emissions associated with the creation of capacity; embodied emissions"
":math:`\text{EEOL}_{r,t,v,e}`", "emission_end_of_life", "emission_end_of_life", "emissions associated with the retirement/end of life of capacity; end-of-life emissions"

Limit & Constraint Parameters
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Absolute Limits (Capacity, Activity, Emission)
"""""""""""""""""""""""""""""""""""""""""""""""

.. csv-table::
:header: "Parameter", "Database Table", "Model Element", "Notes"
:widths: 15, 20, 25, 40

":math:`\text{LC}_{r,p,t}`", "limit_capacity", "limit_capacity", "limit tech-specific capacity by period; capacity limits"
"", "limit_new_capacity", "limit_new_capacity", "new capacity limits"
":math:`\text{LNC}_{r,p,t}`", "limit_new_capacity", "limit_new_capacity", "Limit new capacity deployment by period"
":math:`\text{LA}_{r,p,t}`", "limit_activity", "limit_activity", "limit tech-specific activity by region and period; activity limits"
":math:`\text{LE}_{r,p,e}`", "limit_emission", "limit_emission", "limit emissions by region and period; emission limits"
":math:`\text{LR}_{r,t}`", "limit_resource", "limit_resource", "limit resource production by tech across time periods; resource extraction limits"
"", "limit_growth_capacity", "limit_growth_capacity", "capacity growth rate"
"", "limit_degrowth_capacity", "limit_degrowth_capacity", "capacity degrowth rate"
"", "limit_growth_new_capacity", "limit_growth_new_capacity", "new capacity growth rate"
"", "limit_degrowth_new_capacity", "limit_degrowth_new_capacity", "new capacity degrowth rate"
"", "limit_growth_new_capacity_delta", "limit_growth_new_capacity_delta", "new capacity growth delta"
"", "limit_degrowth_new_capacity_delta", "limit_degrowth_new_capacity_delta", "new capacity degrowth delta"
"", "limit_annual_capacity_factor", "limit_annual_capacity_factor", "annual capacity factor limits"
"", "limit_seasonal_capacity_factor", "limit_seasonal_capacity_factor", "seasonal capacity factor limits"
"", "limit_capacity_share", "limit_capacity_share", "capacity share limits"
"", "limit_activity_share", "limit_activity_share", "activity share limits"
"", "limit_new_capacity_share", "limit_new_capacity_share", "new capacity share limits"
":math:`\text{LR}_{r,t}`", "limit_resource", "limit_resource", "Cumulative activity limit across time periods (not supported in myopic)"

Growth & Degrowth Limits
""""""""""""""""""""""""

.. csv-table::
:header: "Parameter", "Database Table", "Model Element", "Notes"
:widths: 15, 20, 25, 40

":math:`\text{LGC}_{r,t}`", "limit_growth_capacity", "limit_growth_capacity", "capacity growth rate limits"
":math:`\text{LDGC}_{r,t}`", "limit_degrowth_capacity", "limit_degrowth_capacity", "capacity degrowth rate limits"
":math:`\text{LGNC}_{r,t}`", "limit_growth_new_capacity", "limit_growth_new_capacity", "new capacity growth rate limits"
":math:`\text{LDGNC}_{r,t}`", "limit_degrowth_new_capacity", "limit_degrowth_new_capacity", "new capacity degrowth rate limits"
":math:`\mathrm{LGNC}_{\Delta,r,t}`", "limit_growth_new_capacity_delta", "limit_growth_new_capacity_delta", "new capacity growth acceleration limits"
":math:`\mathrm{LDGNC}_{\Delta,r,t}`", "limit_degrowth_new_capacity_delta", "limit_degrowth_new_capacity_delta", "new capacity degrowth deceleration limits"

Operational & Split Limits
""""""""""""""""""""""""""

.. csv-table::
:header: "Parameter", "Database Table", "Model Element", "Notes"
:widths: 15, 20, 25, 40

":math:`\text{LACF}_{r,p,t,o}`", "limit_annual_capacity_factor", "limit_annual_capacity_factor", "annual capacity factor limits"
":math:`\text{LSCF}_{r,p,s,t}`", "limit_seasonal_capacity_factor", "limit_seasonal_capacity_factor", "seasonal capacity factor limits"
":math:`\text{TIS}_{r,i,t}`", "limit_tech_input_split", "limit_tech_input_split", "technology input fuel ratio at time slice level; tech input split constraints"
":math:`\text{TISA}_{r,i,t}`", "limit_tech_input_split_annual", "limit_tech_input_split_annual", "average annual technology input fuel ratio; annual tech input splits"
":math:`\text{TOS}_{r,t,o}`", "limit_tech_output_split", "limit_tech_output_split", "technology output fuel ratio at time slice level; tech output split constraints"
":math:`\text{TISA}_{r,i,t}`", "limit_tech_output_split_annual", "limit_tech_output_split_annual", "average annual technology output fuel ratio; annual tech output splits"
":math:`\text{TOSA}_{r,t,o}`", "limit_tech_output_split_annual", "limit_tech_output_split_annual", "average annual technology output fuel ratio; annual tech output splits"
":math:`\text{LSF}_{r,p,s,d,t,v}`", "limit_storage_level_fraction", "limit_storage_fraction", "limit storage level in any time slice; storage level fraction limits"

Share Limits
""""""""""""

.. csv-table::
:header: "Parameter", "Database Table", "Model Element", "Notes"
:widths: 15, 20, 25, 40

":math:`\text{LCS}_{r,p,g_1,g_2}`", "limit_capacity_share", "limit_capacity_share", "capacity share limits between technology groups"
":math:`\text{LAS}_{r,p,g_1,g_2}`", "limit_activity_share", "limit_activity_share", "activity share limits between technology groups"
":math:`\text{LNCS}_{r,p,g_1,g_2}`", "limit_new_capacity_share", "limit_new_capacity_share", "new capacity share limits"

Storage Parameters
^^^^^^^^^^^^^^^^^^

Expand Down Expand Up @@ -224,7 +255,7 @@ Policy Parameters
:header: "Parameter", "Database Table", "Model Element", "Notes"
:widths: 15, 20, 25, 40

"", "rps_requirement", "renewable_portfolio_standard", "RPS requirements"
"", "rps_requirement", "renewable_portfolio_standard", "**[Deprecated]** RPS requirements; use limit_activity_share instead"
":math:`\text{LIT}_{r,t,e,t}`", "linked_tech", "linked_techs", "dummy techs used to convert CO2 emissions to physical commodity; linked technology specs"

Construction & End-of-Life Parameters
Expand Down
Loading