Skip to content

Data and objects

This page introduces the objects and data expected by the coupling layer

Data

Mapping Table

The REMIND-PyPSA mapping allows to build the the techno-economic data from the pypsa and remind techno-economic data

Variable Description Allowed values example
PyPSA_tech pypsa tech names as expected by network creation OCGT
parameter the techno-economic field [CO2 itensity, efficiency, FOM, fuel, investment, lifetime, VOM] -
mapper func to determine the techno-econ parameter ["set_value", "use_remind", use_pypsa", "weigh_remind_by_gen", "use_remind_with_learning_from"] -
reference the value to pass to the mapper set_value: 1.2, use_pysa:(ignored), use_remind: biochp (remind_name), weigh_remind_by_gen: "[biochp, bioigcc]"
unit the reference unit. Note pypsa load cost sometimes uses this! str, missing USD/Mwh, % (for FOM)
comment additional comments that will be added to pypsa_cost csv entry str "Dummy value to avoid issues"

Example:

PyPSA_tech parameter mapper reference unit comment
battery inverter CO2 intensity set_value 0 tCO2/MWh_th
biomass investment weigh_remind_by_gen "[biochp, bioigcc, bioigccc]"

The pypsa <-> REMIND tech name map is derived from this table (using the investment parameter by default).

REMIND Data

The following data are needed from REMIND:

  • techno-economic parameters: pm_data
  • weights for technology baskets: e.g p32_weightGen,
  • CO2 prices: p_priceCO2
  • pre-investment capacities (several options)
  • AC load: p32_load
  • capex: p32_capCost (several options),
  • eta: pm_dataeta,: pm_eta_conv,
  • fuel_costs: p32_PEPriceAvg,
  • discount_r: p32_discountRate,
  • co2_intensity: pm_emifac,
  • run name: c_expname
  • version: c_modelversion

These can either be exported in the gdx format or a series of csvs. Implicit in these are the years and regions.

PyPSA data

  • the cost data: in case the pypsa-cost data ends before the remind horizon, the missing values will be fixed to the last available time point
  • the existing infrastructure data (powerplantmatching or equiv)

Objects

transformations (abstracted etl)

Transformation steps are represented by the Transformation dataclass. These can be specified in YAML

steps:
    name: example
    method: run_example
    frames: 
        data1: pm_data1 # remind name
        eta: p32_etaconversion
    params: #extra params
    filters:
        eta: "region==@region" # pandas queries for the table
    kwargs: null # extra args

The method name points to the ETL register. You can declare your own transformations with the @register_etl decorator from rpycpl.etl example

data

Each of these data are represented as pandas: pd.Dataframe or: pd.Series.

Whilst there is validation - in particular of the mapping - the package expects column names as per powerplantmatching, pypsa and REMIND (GAMS sets in this case).

The various routines also merge pypsa and remind data. Some processing functions will only worked with the merged data. The merged data should have suffixes=("_remind", "_pypsa").