Version: dev

EDGAR_v81

EDGAR v8.1 monthly global air pollutant emissions data loader. Provides surface-layer volumetric emission rate (kg m⁻³ s⁻¹) for lev < 2 (first vertical layer), and zero above. Configured per substance (species) and emission sector at instantiation time via {species} and {sector} URL template substitutions.

.esm schema
1.0.0
Source
components/earthsci_data/edgar_v81_monthly.esm

Description

EDGAR v8.1 monthly global air pollutant emissions data loader. Provides surface-layer volumetric emission rate (kg m⁻³ s⁻¹) for lev < 2 (first vertical layer), and zero above. Configured per substance (species) and emission sector at instantiation time via {species} and {sector} URL template substitutions.

Supported substances: BC, CO, NH3, NMVOC, NOx, OC, PM10, PM2.5, SO2. Data spans 2000–2022 at 0.1°×0.1° global resolution, with monthly temporal resolution.

The gt-p3ep (@register_symbolic interp_unsafe) blocking gap is resolved by the data_loaders §8 mechanism: the runtime handles file download, temporal interpolation, and spatial regridding to the model domain; the model equation references the loader variable directly via EDGAR_v81.flx. No registered functions remain in the migrated component.

Equation: emission = ifelse(lev < 2, EDGAR_v81.flx / Δz * scale, 0) where EDGAR_v81.flx is the emission flux (kg m⁻² s⁻¹) regridded by the runtime from the 0.1°×0.1° EDGAR grid to the model domain, and Δz (default 60 m) is the first-layer height that converts the surface flux to a volumetric rate.

Migrated from EarthSciData.jl@830435a src/edgar_v81_monthly.jl:277 (EDGARv81MonthlyEmis, esm-yp9q).

[esm-3nc.3] Split at 0.7.0 into a pure-I/O loader (edgar_v81_monthly_loader.esm) + this regridding model per RFC pure-io-data-loaders §6/§7; at esm 1.0.0 that file is merged BACK into this one, which now holds both the model and the EDGAR_v81 data source it consumes. The loader is referenced as the subsystem EDGAR_v81; the surface flux is regridded conservatively (cell-centered emissions).

Reference

Crippa, M. et al. (2023). EDGAR v8.1 Global Air Pollutant Emissions (1970–2022). European Commission, Joint Research Centre (JRC). Available: https://edgar.jrc.ec.europa.eu/dataset_ap81

Data source

Kindgrid
URL templatehttps://jeodpp.jrc.ec.europa.eu/ftp/jrc-opendata/EDGAR/datasets/v81_FT2022_AP_new/monthly/{species}/bkl_{sector}/bkl_{sector}_flx_nc.zip
Coverage2000-01-01T00:00:00Z → 2022-12-31T23:59:59Z
File periodP1Y
Sample frequencyP1M
Records per file12

Raw .esm

Raw .esm JSON (this component)
{
  "kind": "grid",
  "source": {
    "url_template": "https://jeodpp.jrc.ec.europa.eu/ftp/jrc-opendata/EDGAR/datasets/v81_FT2022_AP_new/monthly/{species}/bkl_{sector}/bkl_{sector}_flx_nc.zip"
  },
  "temporal": {
    "start": "2000-01-01T00:00:00Z",
    "end": "2022-12-31T23:59:59Z",
    "file_period": "P1Y",
    "frequency": "P1M",
    "records_per_file": 12,
    "time_variable": "time"
  },
  "reference": {
    "citation": "Crippa, M. et al. (2023). EDGAR v8.1 Global Air Pollutant Emissions (1970–2022). European Commission, Joint Research Centre (JRC). Available: https://edgar.jrc.ec.europa.eu/dataset_ap81",
    "url": "https://edgar.jrc.ec.europa.eu/dataset_ap81"
  },
  "metadata": {
    "tags": [
      "emissions",
      "anthropogenic",
      "edgar",
      "monthly",
      "gridded"
    ],
    "earthscidata_source": "src/edgar_v81_monthly.jl::EDGARv81MonthlyEmisFileSet",
    "valid_species": [
      "BC",
      "CO",
      "NH3",
      "NMVOC",
      "NOx",
      "OC",
      "PM10",
      "PM2.5",
      "SO2"
    ],
    "packaging": "zip-of-netcdf",
    "unit_note": "Raw NC file may declare units 'kg m-2 s-1'; the loadmetadata function reads var.attrib['units'] and applies to_unit() conversion — default assumed if attribute absent.",
    "native_resolution_deg": {
      "lon": 0.1,
      "lat": 0.1
    },
    "native_extent": {
      "lon": [
        -180.0,
        180.0
      ],
      "lat": [
        -90.0,
        90.0
      ]
    },
    "proj4_string": "+proj=longlat +datum=WGS84 +no_defs",
    "former_regridding": "Pre-migration per-loader regridding block was {fill_value: 0.0, extrapolation: clamp}; at 0.7.0 regridding became a per-variable model `regrid` map; 0.8.0 removed that too — the kernel is now a coupling expression (esm-spec §8.6), and edgar_v81_monthly.esm keeps the per-variable choice verbatim in Model.reference.notes.",
    "native_grid_family": "cartesian",
    "native_crs_epsg": "EPSG:4326 (geographic longlat / WGS84). At esm 0.8.0 the crs is documentation only — a data source no longer carries a `grid`/crs descriptor; the longlat identity reprojection is applied at the coupling edge via ESD reprojection/longlat.esm (esd-47z.1).",
    "native_crs_descriptor": {
      "projection": "longlat",
      "datum": "WGS84"
    },
    "native_dimensions": [
      "lon",
      "lat"
    ],
    "native_dimension_extents": {
      "lon": {
        "n": 3600,
        "spacing": "uniform"
      },
      "lat": {
        "n": 1800,
        "spacing": "uniform"
      }
    },
    "native_staggering": "Cell-centered (lon 'center', lat 'center') — the native EDGAR v8.1 0.1°×0.1° lattice is a regular non-staggered raster (the former `grid.description`, preserved verbatim in native_grid_description, said 'cell-centered'). At esm 0.8.0 the regridding kernel is a coupling expression, not a model `regrid` block; the per-variable kernel choice is recorded verbatim in edgar_v81_monthly.esm's Model.reference.notes.",
    "native_grid_description": "Native EDGAR v8.1 grid: regular global 0.1°×0.1° longitude/latitude lattice, cell-centered. Geographic (unprojected) crs — the regridding model applies the longlat identity reprojection (ESD reprojection/longlat.esm, esd-47z.1). Migrated from the loader's former DataLoaderSpatial block (proj4 +proj=longlat +datum=WGS84); the loader describes this grid but performs no reprojection or regridding. Documented native geometry: lon ∈ [-180°, 180°] (3600 cells), lat ∈ [-90°, 90°] (1800 cells).",
    "migration_note": "esm 0.7.0 -> 0.8.0: removed the `grid` block (family/crs/dimensions/extents/description), which no schema at or after 0.8.0 permits — 0.8.0 deleted the native-grid descriptor outright (esm-spec §8.4; the 1.0.0 DataSource is additionalProperties:false over {kind, source, temporal, determinism, reader_options, select, record_filter, extent, reference, metadata}, with no `grid` key). Nothing was dropped: `family` → native_grid_family; `crs` → native_crs_epsg + native_crs_descriptor (verbatim); `dimensions` → native_dimensions; `extents` (per-dimension cell count + spacing) → native_dimension_extents; `description` → native_grid_description (verbatim). Native grid geometry is now ordinary data — a source exposes its coordinates/connectivity/metric arrays as ordinary `file_variable`s bound to consuming parameters, and reprojection/regridding are ordinary `aggregate` coupling expressions (esm-spec §8.6), not a loader `grid` or a model `regrid` block. No other field changed.",
    "merged_from": "components/earthsci_data/edgar_v81_monthly_loader.esm",
    "merge_note": "Merged from the standalone pure-I/O file components/earthsci_data/edgar_v81_monthly_loader.esm, which is deleted by the same commit. The 0.x `X.esm` + `X_loader.esm` split existed only because a loader was a COMPONENT and a {\"ref\"} target had to contain exactly one component. At esm 1.0.0 a data source is NOT a component, not a coupling endpoint and not a scoped-name path root, and `data_sources` no longer counts toward a file's top-level system count — so one file may hold a model AND the data_sources that model consumes and still be mountable by {\"ref\"}. This registry entry is byte-identical to the one the deleted file declared (it was already mirrored here so this document would validate), and the deleted file's own top-level metadata — name, description, tags, created, authors, references — is preserved verbatim in `merged_file_metadata` so no provenance, citation or migration note is lost.",
    "merged_file_metadata": {
      "name": "EDGAR_v81_loader",
      "description": "Pure-I/O data loader for EDGAR v8.1 monthly global air-pollutant emissions. Supplies the surface emission flux (kg m⁻² s⁻¹) for one substance/sector (selected at instantiation via {species}/{sector} URL-template substitution) on the native 0.1°×0.1° global longitude/latitude grid, monthly, 2000–2022.\n\nThis is the loader half of the edgar_v81_monthly loader+regridding-model split (RFC pure-io-data-loaders §4.1/§7; bead esm-3nc.3). It is PURE I/O: it declares its source (url_template), the file variable it reads (flx, with units), and its temporal cadence. It declares NO grid: esm 0.8.0 removed the loader `grid`/GDD-Grid descriptor outright, so the native 0.1°×0.1° longlat/WGS84 lattice is recorded as documentation in the data source's metadata and is materialized downstream by `aggregate` coupling expressions. It performs NO reprojection and NO regridding — those are per-variable concerns of the regridding model (components/earthsci_data/edgar_v81_monthly.esm), which references this file as a subsystem via {\"ref\": \"./edgar_v81_monthly_loader.esm\"}.\n\nThe removed co-located blocks: the old DataLoaderSpatial block (proj4 crs string / grid_type / staggering / resolution / extent) became the GDD `grid` at 0.7.0 and, at 0.8.0, metadata documentation (see metadata.migration_note on the data source); the old per-loader `regridding` block (fill_value / extrapolation) is gone, and so is the model-level `regrid` map that briefly replaced it — at 0.8.0 the regridding kernel is a coupling expression, and edgar_v81_monthly.esm keeps the per-variable kernel choice verbatim in Model.reference.notes. Because a `temporal` block is present, this loader seeds DISCRETE cadence (ess-v9a.5): the runtime refreshes the monthly file buffers.\n\nMigrated from EarthSciData.jl@830435a src/edgar_v81_monthly.jl:91-338 (EDGARv81MonthlyEmisFileSet). Split out of the pre-migration components/earthsci_data/edgar_v81_monthly.esm (esm-yp9q).",
      "tags": [
        "earthsci_data",
        "emissions",
        "anthropogenic",
        "edgar",
        "monthly",
        "data_loader",
        "surface_flux",
        "pure-io",
        "longlat"
      ],
      "created": "2026-06-25T00:00:00Z",
      "authors": [
        "EarthSciData.jl contributors",
        "EarthSciModels migration (esm-3nc.3)"
      ],
      "references": [
        {
          "citation": "Crippa, M., Guizzardi, D., Butler, T., Keating, T., Wu, R., Rosenveld, M., Jonescu, M., Muntean, M., Schaaf, E., Oreggioni, G., Gonzalez Ortiz, A., Textor, R., Sarigiannis, D., Muntean, M. (2023). EDGAR v8.1 Global Air Pollutant Emissions (1970–2022). European Commission, Joint Research Centre (JRC). Available: https://edgar.jrc.ec.europa.eu/dataset_ap81",
          "url": "https://edgar.jrc.ec.europa.eu/dataset_ap81"
        },
        {
          "citation": "Source: EarthSciData.jl@830435a065f27e99f10bba91107ca1730322cc6b:src/edgar_v81_monthly.jl:91-338 (EDGARv81MonthlyEmisFileSet, EDGARv81MonthlyEmis constructor). Test: test/edgar_v81_monthly_test.jl."
        }
      ]
    }
  }
}