YAML formats
Builds 199 and 200 use four YAML formats. Each format has a separate job. The growth-input interpretation changes at build 200 while model configuration retains schema_version: 1.
| File | What it controls | Usual location |
|---|---|---|
| Model configuration YAML | Model identity, years, files and economic settings | <version>/<build>/model_configuration.yaml |
| Design YAML | Which simulation layers are applied, and in what order | data/baseline_design.yaml or simulations/<experiment>/design.yaml |
| Setup YAML | Generation of standard simulation layers, designs, targets and chartpacks | simulations/<name>/setup.yaml |
| Chartpack YAML | Which projection series appear in reports | simulations/<name>/chartpack.yaml |
The files fit together as follows:
model_configuration.yaml
|
+-- data/baseline_design.yaml ------------> baseline run
|
setup.yaml + setup.py
|
+-- generated simulation-layer CSV files
+-- generated design YAML
+-- generated chartpack YAML
|
maintained run_*.py -----+-------------------------> solve and report
setup.yaml is an authoring file. It is not read when an experiment runs. A setup run replaces the generated files that it declares. The maintained run script selects the design, chartpack, results and algorithm settings.
Model configuration, design and setup documents use schema_version: 1. Standalone chartpacks put their format version inside the first chartpack item: numeric version: 1 for the original format, or a supported quoted version such as version: "1.4.0" for later features. The four formats have different document shapes, so do not copy a block from one format into another. In particular, standalone chartpack YAML and the chartpack declaration inside setup YAML use different syntax.
Where to begin
- To understand a model build, start with model configuration.
- To order baseline or experiment layers, use design YAML.
- To create standard simulation layers, use setup YAML and the shock projection recipes.
- To select report series, use chartpack YAML.
G-Cubed