GCAM sector output uses two independent unit fields:
output-unit: unit of physical-output (e.g. Mt, EJ, Mt NH3)price-unit: unit of sector/cost (e.g. 1975$/kg, 1975$/GJ, 1975$/kgNH3)These two units are NOT always compatible. The product sector/cost * physical-output only represents a monetary proxy when the units are closed (e.g. Mt * 1975$/kg can be converted because Mt -> kg is a known factor).
Before interpreting cost * output as revenue, check unit compatibility:
If both units refer to the same physical commodity (e.g. Mt and 1975$/kg for cement), the product can be converted to 1975$ by applying the correct scale factor.
If output-unit is energy-based (EJ) and price-unit is energy-based (1975$/GJ), the product represents a service expenditure proxy, not a physical commodity revenue. This is common for chemical and other industry.
If the units are mismatched (e.g. Mt output, 1975$/GJ price, as seen in some GCAM-China configurations for iron and steel), the product is not directly interpretable as revenue. The sector’s price-unit should be confirmed in the model input configuration.
| sector | output_unit | price_unit | compatible for revenue proxy? |
|---|---|---|---|
ammonia |
Mt NH3 |
1975$/kgNH3 |
yes (Mt -> kg conversion) |
cement |
Mt |
1975$/kg |
yes (Mt -> kg conversion) |
chemical |
EJ |
1975$/GJ |
yes, but as service proxy |
other industry |
EJ |
1975$/GJ |
yes, but as service proxy |
iron and steel |
Mt |
1975$/GJ |
NOT compatible; check config |
Both price-unit and output-unit are defined in the GCAM input XML for each sector. They are set via input CSV files and written by R processing scripts into the model XML. BaseX output faithfully reflects whatever was loaded into the model.
In GCAM-China, these are typically set in files like:
A323.sector.csv or A323.sector_China.csv for detailed industryA321.sector.csv for cementdetailed_industry_CHINA.xml, cement_CHINA.xmlA mismatch in the input configuration (e.g. iron and steel with price-unit=1975$/GJ but output-unit=Mt) flows through to BaseX output. This should be addressed at the input configuration level.
GCAM official documentation: