> ## Documentation Index
> Fetch the complete documentation index at: https://docs.transitionzero.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Input Types

> A directory of Scenario Builder’s input types

Scenario Builder models are defined by the following input types, all of which can be edited [in the workspace](https://docs.transitionzero.org/platform/editing-scenarios), or via [AMP](https://docs.transitionzero.org/platform/amp-ai-assistant).

## Capacity

<AccordionGroup>
  <Accordion title="Absolute maximum growth rate" defaultOpen={false}>
    <Badge color="blue">Framework: osemosys</Badge>{" "}<Badge color="green">Unit: MW</Badge>{" "}<Badge color="purple">Temporality: year\_only</Badge>

    Maximum allowed increase in capacity for a given technology year on year. Expressed in absolute values. If used in conjunction with maximum relative growth rates, capacity will be limited to whichever value is greater. Provides a floor value for maximum growth rates for technologies with no / low installed capacity.
  </Accordion>

  <Accordion title="Installed capacity" defaultOpen={false}>
    <Badge color="blue">Framework: osemosys</Badge>{" "}<Badge color="blue">Framework: pypsa</Badge>{" "}<Badge color="green">Unit: MW</Badge>{" "}<Badge color="purple">Temporality: year\_only</Badge>

    Existing and planned generator and interconnector capacity. Generator capacities are specified per geography. Interconnector capacities are specified between geographies.
  </Accordion>

  <Accordion title="Maximum additional capacity" defaultOpen={false}>
    <Badge color="blue">Framework: osemosys</Badge>{" "}<Badge color="blue">Framework: pypsa</Badge>{" "}<Badge color="green">Unit: MW</Badge>{" "}<Badge color="purple">Temporality: year\_only</Badge>

    Maximum additional capacity allowed per technology above the installed capacity for that technology for that year. This can be used to limit additional capacity being built e.g. if set to 0, then no additional capacity will be built.
  </Accordion>

  <Accordion title="Maximum total capacity" defaultOpen={false}>
    <Badge color="blue">Framework: osemosys</Badge>{" "}<Badge color="blue">Framework: pypsa</Badge>{" "}<Badge color="green">Unit: MW</Badge>{" "}<Badge color="purple">Temporality: year\_only</Badge>

    Maximum total capacity allowed per technology. This can be used to limit total capacity per technology.
  </Accordion>

  <Accordion title="Minimum additional capacity" defaultOpen={false}>
    <Badge color="blue">Framework: osemosys</Badge>{" "}<Badge color="blue">Framework: pypsa</Badge>{" "}<Badge color="green">Unit: MW</Badge>{" "}<Badge color="purple">Temporality: year\_only</Badge>

    Minimum additional capacity required per technology above the installed capacity for that technology for that year. This can be used to set capacity targets that are in addition to the installed capacity.
  </Accordion>

  <Accordion title="Minimum total capacity" defaultOpen={false}>
    <Badge color="blue">Framework: osemosys</Badge>{" "}<Badge color="blue">Framework: pypsa</Badge>{" "}<Badge color="green">Unit: MW</Badge>{" "}<Badge color="purple">Temporality: year\_only</Badge>

    Minimum total capacity required per technology. This can be used to set total capacity targets.
  </Accordion>

  <Accordion title="Relative maximum growth rate" defaultOpen={false}>
    <Badge color="blue">Framework: osemosys</Badge>{" "}<Badge color="green">Unit: unitless</Badge>{" "}<Badge color="purple">Temporality: year\_only</Badge>

    Maximum allowed increase in capacity for a given technology year on year. Expressed as a decimal e.g. 0.2 for 20%. If used in conjunction with maximum absolute growth rates, capacity will be limited to whichever value is greater.
  </Accordion>

  <Accordion title="Relative minimum growth rate" defaultOpen={false}>
    <Badge color="blue">Framework: osemosys</Badge>{" "}<Badge color="green">Unit: unitless</Badge>{" "}<Badge color="purple">Temporality: year\_only</Badge>

    Minimum increase in capacity required per technology year on year. Expressed as a decimal e.g. 0.2 for 20%.
  </Accordion>

  <Accordion title="Renewable potential" defaultOpen={false}>
    <Badge color="blue">Framework: osemosys</Badge>{" "}<Badge color="blue">Framework: pypsa</Badge>{" "}<Badge color="green">Unit: MW</Badge>{" "}<Badge color="purple">Temporality: constant</Badge>

    Total maximum capacity allowed for renewable technologies per year.
  </Accordion>
</AccordionGroup>

## Costs

<AccordionGroup>
  <Accordion title="Fixed operating cost" defaultOpen={false}>
    <Badge color="blue">Framework: osemosys</Badge>{" "}<Badge color="blue">Framework: pypsa</Badge>{" "}<Badge color="green">Unit: \$/MW</Badge>{" "}<Badge color="purple">Temporality: year\_only</Badge>

    Fixed operating & maintenance costs per technology.
  </Accordion>

  <Accordion title="Fuel price" defaultOpen={false}>
    <Badge color="blue">Framework: osemosys</Badge>{" "}<Badge color="blue">Framework: pypsa</Badge>{" "}<Badge color="green">Unit: \$/MWh</Badge>{" "}<Badge color="purple">Temporality: year\_only</Badge>

    Cost per fuel.
  </Accordion>

  <Accordion title="Generator capital cost" defaultOpen={false}>
    <Badge color="blue">Framework: osemosys</Badge>{" "}<Badge color="blue">Framework: pypsa</Badge>{" "}<Badge color="green">Unit: \$/MW</Badge>{" "}<Badge color="purple">Temporality: year\_only</Badge>

    Overnight investment cost per technology.
  </Accordion>

  <Accordion title="Variable operating cost" defaultOpen={false}>
    <Badge color="blue">Framework: osemosys</Badge>{" "}<Badge color="blue">Framework: pypsa</Badge>{" "}<Badge color="green">Unit: \$/MWh</Badge>{" "}<Badge color="purple">Temporality: year\_only</Badge>

    Variable operating & maintenance costs per technology.
  </Accordion>
</AccordionGroup>

## Demand

<AccordionGroup>
  <Accordion title="Annual demand" defaultOpen={false}>
    <Badge color="blue">Framework: osemosys</Badge>{" "}<Badge color="blue">Framework: pypsa</Badge>{" "}<Badge color="green">Unit: MWh</Badge>{" "}<Badge color="purple">Temporality: year\_only</Badge>

    Total annual electricity demand per region.
  </Accordion>

  <Accordion title="Demand profile" defaultOpen={false}>
    <Badge color="blue">Framework: osemosys</Badge>{" "}<Badge color="blue">Framework: pypsa</Badge>{" "}<Badge color="green">Unit: unitless</Badge>{" "}<Badge color="purple">Temporality: full</Badge>

    Electricity demand per time-slice as a proportion of total annual demand. Expressed as a decimal e.g. 0.2 for 20%.
  </Accordion>
</AccordionGroup>

## Economic

<AccordionGroup>
  <Accordion title="Cost of capital" defaultOpen={false}>
    <Badge color="blue">Framework: osemosys</Badge>{" "}<Badge color="blue">Framework: pypsa</Badge>{" "}<Badge color="green">Unit: unitless</Badge>{" "}<Badge color="purple">Temporality: constant</Badge>

    Cost of capital is the “price of money” used to build a technology. It turns a one-time overnight capital cost into an annual cost so the model can compare technologies fairly. A higher cost of capital means a more expensive annualised cost.
  </Accordion>

  <Accordion title="Discount rate" defaultOpen={false}>
    <Badge color="blue">Framework: osemosys</Badge>{" "}<Badge color="green">Unit: unitless</Badge>{" "}<Badge color="purple">Temporality: constant</Badge>

    Discount rate is the "time value" of money. It tells the model how much less a dollar spent in the future is worth compared to a dollar spent today. Higher rates favor technologies with low upfront costs, while lower rates favor capital-intensive options.
  </Accordion>
</AccordionGroup>

## Operational

<AccordionGroup>
  <Accordion title="Emissions rate" defaultOpen={false}>
    <Badge color="blue">Framework: osemosys</Badge>{" "}<Badge color="blue">Framework: pypsa</Badge>{" "}<Badge color="green">Unit: t/MWh</Badge>{" "}<Badge color="purple">Temporality: year\_only</Badge>

    Emissions produced per unit of activity per technology.
  </Accordion>

  <Accordion title="Fuel use rate" defaultOpen={false}>
    <Badge color="blue">Framework: osemosys</Badge>{" "}<Badge color="blue">Framework: pypsa</Badge>{" "}<Badge color="green">Unit: unitless</Badge>{" "}<Badge color="purple">Temporality: year\_only</Badge>

    Fuel use per technology. Expressed as a decimal e.g. if a technology consumes 2 units of a fuel to generate 1 unit of electricity, its input activity ratio would be 2.0.
  </Accordion>

  <Accordion title="Operating life" defaultOpen={false}>
    <Badge color="blue">Framework: osemosys</Badge>{" "}<Badge color="blue">Framework: pypsa</Badge>{" "}<Badge color="green">Unit: years</Badge>{" "}<Badge color="purple">Temporality: year\_only</Badge>

    Operating life of each technology in years.
  </Accordion>

  <Accordion title="Ramp down rate" defaultOpen={false}>
    <Badge color="blue">Framework: pypsa</Badge>{" "}<Badge color="green">Unit: unitless</Badge>{" "}<Badge color="purple">Temporality: constant</Badge>

    Maximum allowed decrease in a technology’s power output between two time steps, relative to its total capacity. Expressed as a decimal e.g. a value of 0.2 means a technology can decreases its output by 20% of its total capacity per time step.
  </Accordion>

  <Accordion title="Ramp up rate" defaultOpen={false}>
    <Badge color="blue">Framework: pypsa</Badge>{" "}<Badge color="green">Unit: unitless</Badge>{" "}<Badge color="purple">Temporality: constant</Badge>

    Maximum allowed increase in a technology’s power output between two time steps, relative to its total capacity. Expressed as a decimal e.g. a value of 0.2 means a technology can increase its output by 20% of its total capacity per time step.
  </Accordion>
</AccordionGroup>

## Policy

<AccordionGroup>
  <Accordion title="Annual emissions" defaultOpen={false}>
    <Badge color="blue">Framework: osemosys</Badge>{" "}<Badge color="blue">Framework: pypsa</Badge>{" "}<Badge color="green">Unit: t</Badge>{" "}<Badge color="purple">Temporality: year\_only</Badge>

    Maximum emissions allowed per year. Can be used to set emissions targets.
  </Accordion>

  <Accordion title="Carbon price" defaultOpen={false}>
    <Badge color="blue">Framework: osemosys</Badge>{" "}<Badge color="green">Unit: \$/t</Badge>{" "}<Badge color="purple">Temporality: year\_only</Badge>

    The cost / penalty of emissions.
  </Accordion>

  <Accordion title="Maximum generation" defaultOpen={false}>
    <Badge color="blue">Framework: osemosys</Badge>{" "}<Badge color="blue">Framework: pypsa</Badge>{" "}<Badge color="green">Unit: unitless</Badge>{" "}<Badge color="purple">Temporality: year\_only</Badge>

    Maximum generation allowed per technology as a proportion of total generation. This can be used to set generation limits e.g. Only 20% of generation can come from solar.
  </Accordion>

  <Accordion title="Minimum generation" defaultOpen={false}>
    <Badge color="blue">Framework: osemosys</Badge>{" "}<Badge color="blue">Framework: pypsa</Badge>{" "}<Badge color="green">Unit: unitless</Badge>{" "}<Badge color="purple">Temporality: year\_only</Badge>

    Minimum generation required per technology as a proportion of total generation. This can be used to set generation targets e.g. 20% of generation must come from solar.
  </Accordion>

  <Accordion title="Reserve margin" defaultOpen={false}>
    <Badge color="blue">Framework: osemosys</Badge>{" "}<Badge color="green">Unit: unitless</Badge>{" "}<Badge color="purple">Temporality: year\_only</Badge>

    The percentage of extra capacity required above the expected peak demand, ensuring reliability in case of unexpected outages or demand surges. Expressed as a decimal e.g. 1.2 for 20% reserve margin.
  </Accordion>

  <Accordion title="Reserve margin contribution" defaultOpen={false}>
    <Badge color="blue">Framework: osemosys</Badge>{" "}<Badge color="green">Unit: unitless</Badge>{" "}<Badge color="purple">Temporality: constant</Badge>

    The maximum proportion of a technology's total capacity that can contribute to reserve margin e.g. 0.2 means 20% of a given technology's total capacity can contribute to reserve margin.
  </Accordion>

  <Accordion title="Total emissions" defaultOpen={false}>
    <Badge color="blue">Framework: osemosys</Badge>{" "}<Badge color="green">Unit: t</Badge>{" "}<Badge color="purple">Temporality: constant</Badge>

    Maximum emissions allowed over the entire model time horizon. Can be used to set emissions targets.
  </Accordion>
</AccordionGroup>

## Storage

<AccordionGroup>
  <Accordion title="Initial state of charge" defaultOpen={false}>
    <Badge color="blue">Framework: osemosys</Badge>{" "}<Badge color="blue">Framework: pypsa</Badge>{" "}<Badge color="green">Unit: MWh</Badge>{" "}<Badge color="purple">Temporality: constant</Badge>

    Starting storage capacity at the very beginning of the simulation (time step 0).
  </Accordion>

  <Accordion title="Maximum charge rate" defaultOpen={false}>
    <Badge color="blue">Framework: osemosys</Badge>{" "}<Badge color="green">Unit: MWh/year</Badge>{" "}<Badge color="purple">Temporality: constant</Badge>

    Maximum charging rate for storage technologies.
  </Accordion>

  <Accordion title="Maximum discharge rate" defaultOpen={false}>
    <Badge color="blue">Framework: osemosys</Badge>{" "}<Badge color="green">Unit: MWh/year</Badge>{" "}<Badge color="purple">Temporality: constant</Badge>

    Maximum discharging rate for storage technologies.
  </Accordion>

  <Accordion title="Standing loss" defaultOpen={false}>
    <Badge color="blue">Framework: pypsa</Badge>{" "}<Badge color="green">Unit: %/h</Badge>{" "}<Badge color="purple">Temporality: year\_only</Badge>

    The proportion of stored energy lost per hour for storage technologies. Given as a decimal i.e. 0.2 for 20% loss per hour.
  </Accordion>

  <Accordion title="State of charge" defaultOpen={false}>
    <Badge color="blue">Framework: pypsa</Badge>{" "}<Badge color="green">Unit: MWh</Badge>{" "}<Badge color="purple">Temporality: typical\_profile</Badge>

    Required state of charge per time slice for storage technologies.
  </Accordion>

  <Accordion title="Storage balance (day)" defaultOpen={false}>
    <Badge color="blue">Framework: osemosys</Badge>{" "}<Badge color="green">Unit: binary (0 or 1)</Badge>{" "}<Badge color="purple">Temporality: constant</Badge>

    If enabled (i.e. set to 1, not 0), then the storage technology should charge the same amount it discharges over a day.
  </Accordion>

  <Accordion title="Storage balance (season)" defaultOpen={false}>
    <Badge color="blue">Framework: osemosys</Badge>{" "}<Badge color="green">Unit: binary (0 or 1)</Badge>{" "}<Badge color="purple">Temporality: constant</Badge>

    If enabled (i.e. set to 1, not 0), then the storage technology should charge the same amount it discharges over a season.
  </Accordion>

  <Accordion title="Storage balance (year)" defaultOpen={false}>
    <Badge color="blue">Framework: osemosys</Badge>{" "}<Badge color="green">Unit: binary (0 or 1)</Badge>{" "}<Badge color="purple">Temporality: constant</Badge>

    If enabled (i.e. set to 1, not 0), then the storage technology should charge the same amount it discharges over a year.
  </Accordion>

  <Accordion title="Storage capacity" defaultOpen={false}>
    <Badge color="blue">Framework: osemosys</Badge>{" "}<Badge color="blue">Framework: pypsa</Badge>{" "}<Badge color="green">Unit: h</Badge>{" "}<Badge color="purple">Temporality: year\_only</Badge>

    Maximum number of hours the storage technology can discharge at full power before it is empty e.g. 4 for a 4-hour battery.
  </Accordion>
</AccordionGroup>

## Utilisation

<AccordionGroup>
  <Accordion title="Maximum annual utilisation" defaultOpen={false}>
    <Badge color="blue">Framework: osemosys</Badge>{" "}<Badge color="blue">Framework: pypsa</Badge>{" "}<Badge color="green">Unit: unitless</Badge>{" "}<Badge color="purple">Temporality: year\_only</Badge>

    Maximum annual output per technology as a proportion of total capacity. Expressed as a decimal e.g. 0.8 for 80%. Used to represent the possibility for planned outages.
  </Accordion>

  <Accordion title="Minimum annual utilisation" defaultOpen={false}>
    <Badge color="blue">Framework: osemosys</Badge>{" "}<Badge color="blue">Framework: pypsa</Badge>{" "}<Badge color="green">Unit: unitless</Badge>{" "}<Badge color="purple">Temporality: year\_only</Badge>

    Minimum annual output required per technology as a proportion of total capacity. Expressed as a decimal e.g. 0.8 for 80%. Used to represent technical or economic constraints e.g. Power Purchase Agreements.
  </Accordion>

  <Accordion title="Minimum hourly utilisation" defaultOpen={false}>
    <Badge color="blue">Framework: pypsa</Badge>{" "}<Badge color="green">Unit: unitless</Badge>{" "}<Badge color="purple">Temporality: typical\_profile</Badge>

    Minimum hourly output required per technology as a proportion of total capacity. Expressed as a decimal e.g. 0.8 for 80%.
  </Accordion>

  <Accordion title="Renewable profile" defaultOpen={false}>
    <Badge color="blue">Framework: osemosys</Badge>{" "}<Badge color="blue">Framework: pypsa</Badge>{" "}<Badge color="green">Unit: unitless</Badge>{" "}<Badge color="purple">Temporality: typical\_profile</Badge>

    Maximum capacity available to renewable technologies per time slice, as a proportion of total capacity, due to weather and seasonal patterns. Expressed as a decimal e.g. 0.2 for 20%.
  </Accordion>
</AccordionGroup>
