Rule add_extra_components¶
Workflow Diagram
See the complete workflow in the repository.
digraph snakemake_dag { graph [bgcolor=white, margin=0, size="8,5" ]; node [fontname=sans, fontsize=10, penwidth=2, shape=box, style=rounded ]; edge [color=grey, penwidth=2 ]; 1 [color="0.56 0.6 0.85", label=prepare_network]; 2 [color="0.47 0.6 0.85", fillcolor=gray, label=add_extra_components, style=filled]; 2 -> 1; 3 [color="0.03 0.6 0.85", label=cluster_network]; 3 -> 2; }
Script Documentation¶
Adds extra extendable components to the clustered and simplified network.
Relevant Settings¶
.. code:: yaml
sector:
transmission_efficiency:
.. seealso::
Documentation of the configuration file config.yaml at :ref:sector_cf
Inputs¶
resources/costs.csv: The database of cost assumptions for all included technologies for specific years from various sources; e.g. discount rate, lifetime, investment (CAPEX), fixed operation and maintenance (FOM), variable operation and maintenance (VOM), fuel costs, efficiency, carbon-dioxide intensity.
Outputs¶
networks/elec_s{simpl}_{clusters}_ec.nc:
Description¶
The rule :mod:add_extra_components attaches additional extendable components to the clustered and simplified network. These can be configured in the config.yaml at electricity: extendable_carriers:. It processes networks/elec_s{simpl}_{clusters}.nc to build networks/elec_s{simpl}_{clusters}_ec.nc, which in contrast to the former (depending on the configuration) contain with zero initial capacity
-
StorageUnitsof carrier 'H2' and/or 'battery'. If this option is chosen, every bus is given an extendableStorageUnitof the corresponding carrier. The energy and power capacities are linked through a parameter that specifies the energy capacity as maximum hours at full dispatch power and is configured inelectricity: max_hours:. This linkage leads to one investment variable per storage unit. The defaultmax_hourslead to long-term hydrogen and short-term battery storage units. -
Storesof carrier 'H2' and/or 'battery' in combination withLinks. If this option is chosen, the script adds extra buses with corresponding carrier where energyStoresare attached and which are connected to the corresponding power buses via two links, one each for charging and discharging. This leads to three investment variables for the energy capacity, charging and discharging capacity of the storage unit.
get_available_storage_carriers(n, carriers, storage_techs)
¶
Filter and register available storage carriers from a given list.
Parameters¶
n : pypsa.Network The PyPSA network object to which valid storage carriers will be added. carriers : list of str A list of carrier names to filter and potentially register as storage technologies. storage_techs : dict A dictionary mapping storage carriers to their respective technology parameters.
Returns¶
list of str A list of storage carriers that are both implemented and available in the network.
attach_stores(n, costs, buses_i, carriers, storage_techs)
¶
Attach stores to the network.
Parameters¶
n : pypsa.Network The PyPSA network to attach the stores to. costs : pd.DataFrame DataFrame containing the cost data. buses_i : list List of high voltage electricity buses. carriers : list List of extendable energy carriers. storage_techs : dict A dictionary mapping storage carriers to their respective technology parameters.
attach_storageunits(n, costs, buses_i, carriers, max_hours, storage_techs)
¶
Attach storage units to the network.
Parameters¶
n : pypsa.Network The PyPSA network to attach the storage units to. costs : pd.DataFrame DataFrame containing the cost data. buses_i : list List of high voltage electricity buses. carriers : list List of extendable energy carriers. max_hours : dict Dictionary of maximum hours for storage units. storage_techs : dict A dictionary mapping storage carriers to their respective technology parameters.
attach_advance_csp(n, costs)
¶
Attach advance CHP to the network.
Advance CHP is a hybrid of generation and storage, needing its own workflow
Parameters¶
n : pypsa.Network The PyPSA network to attach the storage units to. costs : pd.DataFrame DataFrame containing the cost data. cost_name : str Name of the column in the costs DataFrame that represents the capital cost.
attach_hydrogen_pipelines(n, costs, electricity, transmission_efficiency)
¶
Attach hydrogen pipelines to the network.
Parameters¶
n : pypsa.Network The PyPSA network to attach the hydrogen pipelines to. costs : pd.DataFrame DataFrame containing the cost data. electricity : dict Dictionary containing the electricity parameters. transmission_efficiency : float The efficiency of the hydrogen transmission.