Layer filenames and CSV data
data_file is resolved beside the design file and must be a bare filename.
schema_version: 1
layers:
- name: Inflation-target adjustment
data_file: inflation_target.csv
event_year: 2026
For an experiment design in simulations/policy/design.yaml, G-Cubed reads simulations/policy/inflation_target.csv.
The layer file remains CSV. Its first column is name; later columns are projection years:
name,2023,2024,2025,2026,2027
INFX(USA),0,0,0,1,1
Values are additive changes in database units
Each CSV number is added to the corresponding variable’s database value in the preceding layer. This rule is the same for setup-generated and maintained files, and for logged and unlogged model variables. An index at 120 with +10 becomes 130; a percentage variable at 5 with +1 becomes 6. Chart deviation units and a trajectory’s descriptive units field do not change this rule.
For exogenous variables the reference is the preceding layer’s value in each shocked year. For state variables only the event-year value adjusts the existing state slot; later finite entries do not reset the state each year. Successive same-year exogenous layers with +2 and +3 therefore add 5 database units in total.
The runtime first converts the database increment into internal level units. It retains the existing fixed regional GDP normalization for local-GDP units; reference-GDP units do not receive that regional factor. This does not make a GDP-normalized increment an exact fraction of contemporaneous scenario GDP. For a logged variable with internal level x and internal level increment delta, the runtime adds log1p(delta / x) to its stored log coordinate. Both old and new levels must be finite and strictly positive. Zero shocks leave the stored coordinate unchanged.
| Database units | Interpretation of an input |
|---|---|
gdp, mmtgdp, btugdp, gwhgdp | Additive local-GDP-normalized database units, with the existing regional GDP factor |
usgdp, mmtusgdp, btuusgdp | Additive reference-GDP-normalized units, without a regional GDP factor |
pct, del | Additive points in the stored percentage or change measure |
idx | Additive index points, except the actual nominal FX basis below |
dollar | +100 database units adds one internal dollar |
lcu | +100 adds one normalized internal currency unit; publication gives 1 / monetary_anchor LCU |
nomusdbillion, realusdbillion | Additive stored GDP-level units; nonzero LGDPR shocks are rejected because its reported path is generated |
Historical cent, mmt, btu | Additive units of that database row; no extra cents/dollars or physical conversion |
Build-200 nominal EXCH/EXCL rows have idx metadata but store 100 times actual USD per LCU. Database 88 with CSV +8 becomes 96: actual 0.88 becomes 0.96. The runtime accounts for its captured FX coordinate anchor. Do not apply that conversion to ordinary indices or LCU prices. Nonzero shocks to the reference currency’s nominal FX or structurally excluded variables are rejected. Older normalized-FX model builds retain their own database basis.
Updating existing experiments
The shock-coordinate correction changes results from older runs that added level increments directly to log coordinates. Review the intent of existing logged controls and regenerate shocked projections and serialized simulation runners. The nominal-FX input correction also replaces the earlier normalized FX control convention with the actual-rate database convention for build 200.
If an optimizer or fixed-point client computes a desired database level, write desired level - preceding layer level into the CSV for each variable and year. Logarithms used internally to parameterize a fitting curve are fine; solver-coordinate increments must be converted back to database increments before writing the layer. There is no universal constant rescaling for an old logged-shock file. Matching input shocks across forms does not require identical endogenous responses from their different approximations.
Invalid filename
data_file: ../shared/inflation_target.csv
Directory components, absolute paths, URLs and traversal are invalid. Copy or generate the layer beside its design and use only its filename.
See generated simulation layers for a reproducible way to create standard layer CSV files.
G-Cubed