Technology Templates¶
TEMPO ships with a built-in technology library that covers the most common generation, storage, conversion, and demand technologies. The library is defined in src/components/TechnologiesData.js and can optionally be enriched at runtime by a local OEO Technology Database API.
Library structure¶
Technologies are grouped into the following categories:
Renewable generation¶
| ID | Description |
|---|---|
solar_pv_utility_scale |
Utility-scale solar PV |
solar_pv_distributed |
Distributed rooftop PV |
concentrated_solar_power_csp |
Concentrating solar power with thermal storage |
onshore_wind |
Onshore wind turbines |
offshore_wind_fixed_bottom |
Fixed-bottom offshore wind |
offshore_wind_floating |
Floating offshore wind |
hydroelectric_run_of_river |
Run-of-river hydropower |
hydroelectric_reservoir |
Reservoir hydropower with dispatchable output |
Conventional generation¶
| ID | Description |
|---|---|
combined_cycle_gas_turbine_ccgt |
Combined-cycle gas turbine |
open_cycle_gas_turbine_ocgt |
Open-cycle (peaking) gas turbine |
internal_combustion_engine |
Diesel / gas internal combustion engine |
coal_power_plant |
Pulverised coal boiler |
nuclear_power_conventional |
Large nuclear reactor |
small_modular_reactors_smr |
Small modular reactor |
geothermal_power |
Geothermal binary / flash plant |
biomass_power_plant |
Solid biomass combustion |
biogas_power_plant |
Anaerobic digestion + gas engine |
waste_to_energy |
Municipal solid waste incinerator |
marine_energy |
Tidal / wave energy converter |
Electrochemical storage¶
| ID | Description |
|---|---|
lithium_ion_bess |
Li-ion utility-scale battery |
redox_flow_batteries |
Vanadium redox flow battery |
sodium_sulfur_batteries |
Na-S high-temperature battery |
lead_acid_batteries |
Lead-acid battery bank |
Mechanical and thermal storage¶
| ID | Description |
|---|---|
pumped_hydro_storage |
Pumped-hydro energy storage |
compressed_air_energy_storage_caes |
CAES above-ground or cavern |
liquid_air_energy_storage_laes |
Liquid-air energy storage |
flywheels |
Flywheel kinetic storage |
sensible_thermal_storage |
Hot-water / molten-salt tank |
latent_thermal_storage |
Phase-change material storage |
Hydrogen supply chain¶
| ID | Description |
|---|---|
pem_electrolyzer |
Proton-exchange membrane electrolyser |
alkaline_electrolyzer |
Alkaline water electrolysis |
solid_oxide_electrolyzer_soec |
High-temperature SOEC |
pem_fuel_cell |
PEM H₂ fuel cell (electricity output) |
solid_oxide_fuel_cell_sofc |
SOFC (electricity + heat) |
hydrogen_pipeline |
H₂ pipeline transmission |
compressed_hydrogen_storage |
Above-ground pressure vessel |
liquid_hydrogen_storage |
Cryogenic hydrogen tank |
underground_hydrogen_storage |
Salt cavern / aquifer storage |
hydrogen_to_methane |
Power-to-methane (methanation) |
hydrogen_to_liquid_fuels |
Fischer-Tropsch / methanol synthesis |
hydrogen_steam_reforming_smr |
Natural gas SMR with CCS option |
Carbon capture and storage (CCS)¶
| ID | Description |
|---|---|
post_combustion_ccs |
Amine scrubbing on a power plant flue |
direct_air_capture_dac |
Ambient-air CO₂ capture |
co2_pipeline |
CO₂ transport pipeline |
co2_geological_storage |
Geological injection and storage |
Demand¶
| ID | Description |
|---|---|
electricity_demand |
Electricity demand sink (time series driven) |
heat_demand |
Heat demand sink |
hydrogen_demand |
H₂ demand sink |
cooling_demand |
Cooling demand sink |
Default parameter values¶
Each technology entry in TechnologiesData.js carries a set of default Calliope parameter values (capital cost, efficiency, lifetime, etc.). These values are pre-filled when you add a technology from the library in the Technologies screen.
If the OEO Technology Database API is available at startup, the application merges the API's parameter values on top of the built-in defaults, giving you up-to-date techno-economic data from the Open Energy Ontology ecosystem.
OEO Technology Database API¶
An optional local REST service (default port 8005) can supply technology parameters from a curated database aligned with the Open Energy Ontology (OEO). The Go backend proxies requests to this service via the /tech/api/v1/* endpoints.
| Endpoint | Description |
|---|---|
GET /api/technologies |
List all technologies (id, name, oeo_class, type) |
GET /api/technologies/{id} |
Full parameter set for a technology |
POST /api/technologies/batch |
Fetch multiple technologies by ID |
GET /api/technologies/types/{type} |
Filter by type (supply, storage, etc.) |
The Python client for this API lives in python/services/tech_database.py. If the service is offline, TEMPO falls back silently to the built-in defaults.
Running the tech database
The OEO Technology Database is a separate project. Refer to its own documentation for installation and startup instructions. Set the OEO_API_URL environment variable (default: http://127.0.0.1:8005) to point TEMPO to a non-local instance.
Adding or overriding technologies¶
To add a custom technology or override a default value:
- Use Add Technology → Custom in the Technologies screen — this creates a one-off entry for the current model.
- For a persistent addition, edit
src/components/TechnologiesData.jsand add an entry following the existing structure. The change is picked up after a frontend rebuild (npm run buildor restartingnpm run dev).