Model data files
Table of contents
The data folder contains a model build’s input data, calibrated parameters and generated baseline files. Most model data files use CSV format. The ordered baseline design uses YAML.
Related YAML documentation: model file names, design YAML, simulation layers and setup YAML.
Which file names apply
model_configuration.yaml owns the model’s file choices. Conventional YAML model-build names include:
| File | Format | Purpose |
|---|---|---|
database.csv | CSV | Model database |
iotables.csv | CSV | Input-output tables for all regions |
user_parameters.csv | CSV | Parameter values maintained by the user |
labor_force_growth_rates.csv | CSV | Labour-force growth projections |
technology_advancement_rates.csv | CSV | Percentage-point deviations from configured frontier growth |
technology_gaps.csv | CSV | Initial technology gaps by region and sector |
technology_catchup_rates.csv | CSV | Rates at which technology gaps close |
autonomous_energy_efficiency_improvements.csv | CSV | Autonomous energy efficiency improvements |
baseline_design.yaml | YAML | Ordered baseline simulation layers |
Other files may be present because a model has additional features. Override a conventional name only through the files section of model_configuration.yaml.
The tables below show shortened CSV examples. The headings and rows represent the CSV fields, without making readers decipher raw comma-delimited text. Ellipses show omitted years or rows; do not put ellipses in a working file.
Model database
database.csv contains one row for each model variable and columns for its metadata and database years. The variable order must match the order generated by the SYM processor. Use sym/model_<VERSION>_<BUILD>_varmap.csv to check that order.
| order | name | description | vector | type | units | region | 2021 | … |
|---|---|---|---|---|---|---|---|---|
| 1 | ABUY(USA) | new purchases of foreign assets | end | z1l | gdp | USA | 0 | … |
| 2 | ABUY(ROW) | new purchases of foreign assets | end | z1l | gdp | ROW | 0 | … |
The metadata includes each variable’s name, description, vector, type, units and G-Cubed region code. Do not reorder database rows in a spreadsheet.
Input-output tables
iotables.csv contains one input-output table for each region, stacked vertically. A table has the following CSV structure:
USA | a01 | … | a0N | C | I | G | X | M |
|---|---|---|---|---|---|---|---|---|
g01 | value | … | value | value | value | value | value | value |
| … | … | … | … | … | … | … | … | … |
g0N | value | … | value | value | value | value | value | value |
L | value | … | value | value | value | value | value | value |
K | value | … | value | value | value | value | value | value |
TAX | value | … | value | value | value | value | value | value |
The region code in the top-left cell is mandatory and identifies the table. It must match the region code in the model’s SYM regions set. The first row and first column provide labels:
- sector columns use the SYM sector codes;
- good rows use the SYM good codes;
C,I,G,XandMmean consumption, investment, government spending, exports and imports; andL,KandTAXmean labour, capital and tax.
User-defined parameters
user_parameters.csv contains the subset of model parameters that users commonly adjust. Other parameters are calibrated from the model database and input-output tables. For example:
| parameter | USA | ROW |
|---|---|---|
adapt | 0.35 | 0.35 |
int_elast | -0.6 | -0.6 |
phi(a01) | 4.0 | 4.0 |
phi(a02) | 4.0 | 4.0 |
The first CSV column contains parameter names. The remaining columns are regions in SYM order, and every listed parameter needs a value for every region. A sector-specific parameter includes its sector code in the name. Keep those rows in the model’s SYM sector order.
Changing a parameter can alter the model’s full dynamic response. Consult the parameter documentation and build-specific values before changing it. Parameters calibrated from the database or input-output tables should normally be changed through their calibration inputs rather than added to this file.
Projection input tables
Several CSV files use projection years as columns. The shortened examples below illustrate a 2023–2150 horizon; use the first and last projection years in the actual model configuration. The technology-advancement examples use the new build 200 interpretation described below.
Labour-force growth
labor_force_growth_rates.csv has one row for each G-Cubed region. Values are percentage log growth rates, so 1.0 means a log increase of 0.01 (approximately 1.005 per cent in levels). Column 2023 applies to the 2023-to-2024 transition. The standard construction weights population by age-specific labor income, aggregates to model regions, and smooths growth toward a zero demographic tail. See the labor-force growth guide for sources, country proxies, missing data and the smoothing algorithm.
gcubed_region_code | 2023 | 2024 | … | 2150 |
|---|---|---|---|---|
USA | 0.25 | 0.26 | … | 0.0 |
ROW | 0.25 | 0.26 | … | 0.0 |
The CSV must contain contiguous year columns from the first through the last projection year. Include one row for every region and keep the rows in SYM region order.
Labour productivity and technological catch-up
The catch-up growth model uses three CSV files. See the G-Cubed catch-up growth model for the economic interpretation of these inputs.
Technology advancement
Build 200 changes the interpretation of this file. In build 199 and earlier, cells were absolute annual frontier log growth rates in percent. From build 200 onwards, cells are deviations from the configured rate. The filename and sector/year layout remain the same.
technology_advancement_rates.csv has sectors as rows and projection years as columns. Values are percentage-point deviations from calibration.effective_labor_productivity_growth_rate_in_steady_state. Write the common percentage log growth rate in that configuration field. G-Cubed resolves each actual frontier rate before computing labour-augmenting technical change:
actual annual frontier log growth (decimal) = (configured G + CSV D) / 100
| Configured G | CSV deviation D | Actual frontier log growth |
|---|---|---|
| 1.4 | 0.0 | 1.4% |
| 1.4 | 0.6 | 2.0% |
| 1.4 | -0.4 | 1.0% |
| 2.0 | 0.0 | 2.0% |
The model-local generate_default_baseline_data_files_and_user_parameters.py scripts generate all-zero advancement files, including _template output. For example:
| sector | 2023 | 2024 | … | 2150 |
|---|---|---|---|---|
a01 | 0.0 | 0.0 | … | 0.0 |
a02 | 0.0 | 0.0 | … | 0.0 |
Keep sector rows in SYM order and include every configured projection year exactly once. Values must be finite numbers; negative deviations are allowed only when the resolved actual rate is nonnegative. Missing or duplicate years and sector rows are errors.
Every sector’s deviations must be exactly zero for the final 50 configured projection years, including years.last_projection. For endpoint T, these are T-49 through T: 2101–2150 for endpoint 2150, or 2151–2200 for endpoint
- The projection horizon must contain at least 50 years. The rule follows the configured years, irrespective of column order, extra years or the last publishable year.
-0.0is zero; a tiny nonzero number is not. G-Cubed does not round or taper values to satisfy the rule.
Errors identify the input path, protected range, offending sector/year/value examples and total offending-cell count. The same checks apply to custom filenames selected by files.technology_advancement_rates and when generated inputs are preserved.
This build 200 compatibility break retains schema version 1. Migrate old absolute-rate CSVs together with their configuration; see build 200 calibration units and migration. The updated software does not select the old interpretation from a build number. Default generation creates a new assumption of zero deviations; use migration to preserve customized historical frontier paths.
Technology gaps
technology_gaps.csv has sectors as rows and regions as columns. Values are percentages of the technological frontier in the first projection year. A value of 50 means that the region and sector are half as efficient as the frontier; 100 places them on the frontier.
| sector | USA | ROW |
|---|---|---|
a01 | 90 | 100 |
a02 | 100 | 90 |
Values must be between zero and 100. It is typical, but not mandatory, for at least one region to have a value of 100 for each sector. Region columns and sector rows must follow their SYM order.
Technology catch-up
technology_catchup_rates.csv identifies a region and sector in its first two columns, followed by projection-year columns. Values are percentages: 2.0 means that two per cent of the remaining technology gap closes in that year.
| region | sector | 2023 | 2024 | … | 2150 |
|---|---|---|---|---|---|
USA | a01 | 2.0 | 2.0 | … | 2.0 |
USA | a02 | 2.0 | 2.0 | … | 2.0 |
ROW | a01 | 2.0 | 2.0 | … | 2.0 |
ROW | a02 | 2.0 | 2.0 | … | 2.0 |
Values must be between -100 and 100. Include all region-sector combinations and keep regions and sectors in their SYM order.
Autonomous energy efficiency improvements
autonomous_energy_efficiency_improvements.csv records exogenous improvements in the efficiency with which energy contributes to production and consumption. McKibbin and Wilcoxen (2013), “A global approach to energy and environment: the G-Cubed model”, explain the role of autonomous energy efficiency improvements (AEEI).
| variable | 2023 | 2024 | … | 2150 |
|---|---|---|---|---|
AEEI(a01,USA) | 1.0 | 1.0 | … | 1.0 |
AEEI(a02,USA) | 1.0 | 1.0 | … | 1.0 |
AEEI(a01,ROW) | 1.0 | 1.0 | … | 1.0 |
AEEI(a02,ROW) | 1.0 | 1.0 | … | 1.0 |
AEEIC(USA) | 1.0 | 1.0 | … | 1.0 |
AEEIC(ROW) | 1.0 | 1.0 | … | 1.0 |
AEEI(<sector>,<region>) rows apply to production and AEEIC(<region>) rows apply to consumption. A value of 1.0 means a one per cent improvement in that year. Keep sector rows in SYM sector order, region groups in SYM region order and consumption rows last. The first year may precede the first projection year, but the final column must be the configured last projection year.
Generated baseline files
Common generated CSV inputs include:
labor_augmenting_technical_change.csv, containing labour-augmenting technical change for all sectors and regions;baseline_exogenous_projections.csv, containing effective labour productivity growth, autonomous energy efficiency improvements and potential-output growth; andbaseline_INTX_projections.csv, when monetary-policy baseline tuning is configured.
Model-data preparation normally regenerates the first two. Projection preservation retains existing LATC and baseline growth rows only when they agree with the current source assumptions; it does not permit independent manual overrides of those values. Other baseline rows may remain curated. Monetary-policy baseline tuning owns baseline_INTX_projections.csv when that operation is configured.
baseline_design.yaml orders the simulation-layer CSV files applied to the baseline. It does not contain their projected shock values. See baseline projections for how these files are combined and regenerated.
G-Cubed