# Dimension Record Classes
These classes define the schema for dimension record files (typically CSVs).
Every dimension config has a `class` field that selects one of these classes.
The class determines what columns are required or optional in the records file.
:::{note}
Time dimensions do not use record classes. They are configured entirely by
parameters in the config file. See the [Dimensions](dimension_model.md) reference
for time dimension config models (DateTimeDimensionModel, AnnualTimeDimensionModel, etc.).
:::
## Geography
### CensusDivision
*dsgrid.dimension.standard.CensusDivision*
Census Region attributes
| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `id` | `str` | *(required)* | Unique identifier within a dimension |
| `name` | `str` | *(required)* | User-defined name |
### CensusRegion
*dsgrid.dimension.standard.CensusRegion*
Census Region attributes
| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `id` | `str` | *(required)* | Unique identifier within a dimension |
| `name` | `str` | *(required)* | User-defined name |
### County
*dsgrid.dimension.standard.County*
County attributes
| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `id` | `str` | *(required)* | Unique identifier within a dimension |
| `name` | `str` | *(required)* | User-defined name |
| `state` | `str` | *(required)* | |
### Geography
*dsgrid.dimension.standard.Geography*
Generic geography with optional time_zone
| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `id` | `str` | *(required)* | Unique identifier within a dimension |
| `name` | `str` | *(required)* | User-defined name |
### State
*dsgrid.dimension.standard.State*
State attributes
| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `id` | `str` | *(required)* | Unique identifier within a dimension |
| `name` | `str` | *(required)* | User-defined name |
| `is_conus` | `bool | None` | `None` | |
| `census_division` | `str` | `""` | |
| `census_region` | `str` | `""` | |
---
## Sector
### Sector
*dsgrid.dimension.standard.Sector*
Sector attributes
| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `id` | `str` | *(required)* | Unique identifier within a dimension |
| `name` | `str` | *(required)* | User-defined name |
| `category` | `str` | `""` | Sector dimension |
---
## Subsector
### Subsector
*dsgrid.dimension.standard.Subsector*
Subsector attributes
| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `id` | `str` | *(required)* | Unique identifier within a dimension |
| `name` | `str` | *(required)* | User-defined name |
| `sector` | `str` | `""` | |
| `abbr` | `str` | `""` | |
---
## Metric
### EnergyEfficiency
*dsgrid.dimension.standard.EnergyEfficiency*
Energy Efficiency of building stock or equipment
| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `id` | `str` | *(required)* | Unique identifier within a dimension |
| `name` | `str` | *(required)* | User-defined name |
| `fuel_id` | `str` | *(required)* | |
| `unit` | `str` | *(required)* | |
### EnergyEndUse
*dsgrid.dimension.standard.EnergyEndUse*
Energy Demand End Use attributes
| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `id` | `str` | *(required)* | Unique identifier within a dimension |
| `name` | `str` | *(required)* | User-defined name |
| `fuel_id` | `str` | *(required)* | |
| `unit` | `str` | *(required)* | |
### EnergyIntensity
*dsgrid.dimension.standard.EnergyIntensity*
Energy Intensity per capita, GDP, etc.
| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `id` | `str` | *(required)* | Unique identifier within a dimension |
| `name` | `str` | *(required)* | User-defined name |
| `unit` | `str` | *(required)* | |
### EnergyIntensityRegression
*dsgrid.dimension.standard.EnergyIntensityRegression*
Energy Intensity per capita, GDP, etc. regression over time or other variables
| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `id` | `str` | *(required)* | Unique identifier within a dimension |
| `name` | `str` | *(required)* | User-defined name |
| `regression_type` | [`FunctionalForm`](enums.md#functionalform) | `"linear"` | Specifies the functional form of the regression model |
| `unit` | `str` | *(required)* | |
### EnergyServiceDemand
*dsgrid.dimension.standard.EnergyServiceDemand*
Energy Service Demand attributes
| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `id` | `str` | *(required)* | Unique identifier within a dimension |
| `name` | `str` | *(required)* | User-defined name |
| `unit` | `str` | *(required)* | |
### EnergyServiceDemandRegression
*dsgrid.dimension.standard.EnergyServiceDemandRegression*
Energy Service Demand, can be per floor area, vehicle, etc., regression
over time or other variables
| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `id` | `str` | *(required)* | Unique identifier within a dimension |
| `name` | `str` | *(required)* | User-defined name |
| `regression_type` | [`FunctionalForm`](enums.md#functionalform) | `"linear"` | Specifies the functional form of the regression model |
| `unit` | `str` | *(required)* | |
### FractionalIndex
*dsgrid.dimension.standard.FractionalIndex*
Fractional Index attributes - e.g., human development index (HDI)
Generally dimensionless, but a unit string can be provided to assist with
calculations.
| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `id` | `str` | *(required)* | Unique identifier within a dimension |
| `name` | `str` | *(required)* | User-defined name |
| `unit` | `str` | *(required)* | |
| `min_value` | `float` | *(required)* | |
| `max_value` | `float` | *(required)* | |
### PeggedIndex
*dsgrid.dimension.standard.PeggedIndex*
Pegged Index attributes
Data relative to a base year that is normalized to a value like 1 or 100.
Generally dimensionless, but a unit string can be provided to assist with
calculations.
| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `id` | `str` | *(required)* | Unique identifier within a dimension |
| `name` | `str` | *(required)* | User-defined name |
| `unit` | `str` | *(required)* | |
| `base_year` | `int` | *(required)* | |
| `base_value` | `float` | *(required)* | |
### Population
*dsgrid.dimension.standard.Population*
Population attributes
| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `id` | `str` | *(required)* | Unique identifier within a dimension |
| `name` | `str` | *(required)* | User-defined name |
| `unit` | `str` | *(required)* | |
### Stock
*dsgrid.dimension.standard.Stock*
Stock attributes - e.g., GDP, building stock, equipment
| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `id` | `str` | *(required)* | Unique identifier within a dimension |
| `name` | `str` | *(required)* | User-defined name |
| `unit` | `str` | *(required)* | |
### StockRegression
*dsgrid.dimension.standard.StockRegression*
Stock, can be per capita, GDP, etc., regression over time or other variables
| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `id` | `str` | *(required)* | Unique identifier within a dimension |
| `name` | `str` | *(required)* | User-defined name |
| `regression_type` | [`FunctionalForm`](enums.md#functionalform) | `"linear"` | Specifies the functional form of the regression model |
| `unit` | `str` | *(required)* | |
### StockShare
*dsgrid.dimension.standard.StockShare*
Stock Share attributes - e.g., market share of a technology
Generally dimensionless, but a unit string can be provided to assist with
calculations.
| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `id` | `str` | *(required)* | Unique identifier within a dimension |
| `name` | `str` | *(required)* | User-defined name |
| `unit` | `str` | *(required)* | |
### WeatherVariable
*dsgrid.dimension.standard.WeatherVariable*
Weather attributes - e.g., dry bulb temperature, relative humidity
| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `id` | `str` | *(required)* | Unique identifier within a dimension |
| `name` | `str` | *(required)* | User-defined name |
| `unit` | `str` | *(required)* | |
---
## Model Year
### ModelYear
*dsgrid.dimension.standard.ModelYear*
Model Year attributes
| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `id` | `str` | *(required)* | Unique identifier within a dimension |
| `name` | `str` | *(required)* | User-defined name |
---
## Weather Year
### WeatherYear
*dsgrid.dimension.standard.WeatherYear*
Weather Year attributes
| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `id` | `str` | *(required)* | Unique identifier within a dimension |
| `name` | `str` | *(required)* | User-defined name |
---
## Scenario
### Scenario
*dsgrid.dimension.standard.Scenario*
Scenario attributes
| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `id` | `str` | *(required)* | Unique identifier within a dimension |
| `name` | `str` | *(required)* | User-defined name |