Translate ReEDS with the CLI
Turn a completed ReEDS run into a Sienna model using three installed plugins. Start with the first CLI pipeline if you have not used pipeline files before.
Required inputs
Section titled “Required inputs”You need a completed ReEDS run directory containing its inputs_case/ and outputs/ data.
Use solve and weather years present in that run.
The parser loads the datasets named by its installed file mapping.
A ReEDS model and run data are external to this repository; this page’s list, resolved configuration, and dry-run commands were verified, but a complete ReEDS translation was not executed without those inputs.
Install and inspect the plugins
Section titled “Install and inspect the plugins”Run these installation commands from your workspace using the same r2x
executable that will execute the pipeline. First check its managed environment:
r2x python showInstall the ReEDS source parser. It reads the completed run directory and supplies
reeds-parser; the translation step cannot read the source files on its own:
r2x install r2x-reedsSee the r2x-reeds reference documentation for parser configuration, input file mappings and supported ReEDS data.
Install the translation package, which maps parsed ReEDS components to Sienna:
r2x install r2x-reeds-to-siennaInstall the target package explicitly as well. It supplies the Sienna model
classes and sienna-exporter used to write the native result:
r2x install r2x-siennaCheck each package’s registered entry points before writing the configuration.
First, confirm reeds-parser is available:
r2x list r2x-reedsThen confirm reeds-to-sienna:
r2x list r2x-reeds-to-siennaFinally, confirm sienna-exporter:
r2x list r2x-siennaTogether, these lists should contain the three steps used below. Inspect the parser options to understand which settings locate and select your ReEDS data:
r2x run reeds-parser --helpThen inspect the translation options. This separates source-data settings from settings that control the target model:
r2x run reeds-to-sienna --helpThe pipeline needs reeds-parser, reeds-to-sienna, and sienna-exporter.
The parser requires solve_year and weather_year.
The translation uses ReEDSToSiennaConfig.
Configure the translation
Section titled “Configure the translation”Save this as reeds-pipeline.yaml.
Replace the absolute run path, case name, and years with your completed model run:
variables: run_dir: /path/to/ReEDS/runs/my-case solve_year: 2035 weather_year: 2012pipelines: reeds-to-sienna: - reeds-parser - reeds-to-sienna - sienna-exporterconfig: reeds-parser: path: ${run_dir} case_name: my-case solve_year: ${solve_year} weather_year: ${weather_year} reeds-to-sienna: {} sienna-exporter: output_path: outputs/my-case.jsonoutput_folder: outputspath supplies the parser’s data store.
The empty translation configuration uses the package defaults.
The parser uses the solve year as its model year; the exporter writes to the configured output path.
Keep the JSON export and its companion time-series file together.
Check before running
Section titled “Check before running”From the directory containing the YAML file:
r2x run reeds-pipeline.yaml reeds-to-sienna --printCheck that the resolved path and both years match your run. Then preview the execution order:
r2x run reeds-pipeline.yaml reeds-to-sienna --dry-runExpect reeds-parser → reeds-to-sienna → sienna-exporter.
A successful dry run does not validate ReEDS datasets or target model values.
Execute and inspect
Section titled “Execute and inspect”Create the directory that will hold the exported model and serialized system:
mkdir -p outputsNow execute the checked pipeline. The --zip option saves the final transformed
system for inspection; -o names that archive. Choose a fresh filename if it
already exists:
r2x run reeds-pipeline.yaml reeds-to-sienna \ --zip \ -o outputs/my-case-system.zipSuccess creates the Sienna JSON and companion time-series file under outputs/, plus my-case-system.zip for inspection.
Check the generated files before loading them:
ls -lh outputsFollow inspect a transformed system to read the archive with a tested script, list buses, inspect load fields and attached time series, and load the same result directly with Infrasys.
Troubleshooting and next steps
Section titled “Troubleshooting and next steps”For missing datasets, unregistered plugins, execution failures after a dry run, or result-loading errors, follow troubleshooting. For unexpected target mappings, compare the property reference with the source components and pinned translation rules.
For Python integration and detailed mapping behavior, see ReEDS to Sienna.