What is a Block?
A block is a container that includes two or more terms (inputs or outputs) and may also contain one or more functions. Blocks help structure complex project models by grouping related logic together. Blocks can represent:- A subsystem (e.g., battery, solar panel, electrolyzer)
- A financing structure (e.g., tax equity, project finance, grants)
- A business model configuration (e.g., PPA, merchant, hybrid)
Why Use Blocks?
Blocks are optional but recommended. They help you:- Stay organized: Group related terms and functions together
- Reuse logic: Apply blocks across multiple projects or scenarios
- Compare configurations: Create and analyze cases of blocks
- Work efficiently: Reduce duplication and make updates easier
Blocks in Scenarios
When you create a scenario, anything in a block can differ from the base — term values, formulas, or structure. You can change a single input, rewire the logic entirely, or add blocks that don’t exist in the base. The scenario is its own version of the model.Example: Solar Array Block
A solar array block might include:- Inputs: System Size (MW), Panel Efficiency (%), Inverter Capacity (MW), Tilt Angle (degrees)
- Outputs: Annual Generation (MWh), Capacity Factor (%), Levelized Cost ($/MWh)
Flexibility by Design
Blocks support multiple workflows. Some users start with fully modularized models, while others introduce blocks later as complexity grows. Both approaches work. You can:- Add terms directly to a project without blocks
- Group related terms into a block when structure helps
- Nest blocks within other blocks for complex systems
- Edit terms within or outside of block views
