CEDS Global Emissions

We have a data loader for CEDS (Community Emissions Data System) global gridded anthropogenic emissions, CEDS.

CEDS provides monthly global anthropogenic emissions at 0.5° × 0.5° resolution from 1750 to 2023 in units of kg m⁻² s⁻¹, with 8 anthropogenic sectors.

Reference: Hoesly, R. M., et al. (2018). Historical (1750–2014) anthropogenic emissions of reactive gases and aerosols from the Community Emissions Data System (CEDS). Geoscientific Model Development, 11, 369–408. https://doi.org/10.5194/gmd-11-369-2018

Equations

This is what its equation system looks like:

using EarthSciData, EarthSciMLBase
using ModelingToolkit, DynamicQuantities, DataFrames
using ModelingToolkit: t
using DynamicQuantities: dimension
using Dates

domain = DomainInfo(
    DateTime(2016, 5, 1), DateTime(2016, 5, 2);
    lonrange = deg2rad(-180):deg2rad(2.5):deg2rad(175),
    latrange = deg2rad(-85):deg2rad(2):deg2rad(85),
    levrange = 1:10,
    u_proto = zeros(Float32, 1, 1, 1, 1)
)

emis = CEDS(domain; species = ["SO2", "NOx", "CO"])

\[ \begin{align} \mathtt{SO2\_em\_anthro}\left( t \right) &= \mathtt{SO2\_em\_anthro\_unit} ~ interp\_unsafe\left( \mathtt{SO2\_em\_anthro\_data}, 1 + \frac{ - \mathtt{SO2\_em\_anthro\_tstart} + t + \mathtt{t\_ref}}{\mathtt{SO2\_em\_anthro\_tstep}}, 1 + \frac{ - \mathtt{SO2\_em\_anthro\_s1start} + \mathtt{lon}}{\mathtt{SO2\_em\_anthro\_s1step}}, 1 + \frac{ - \mathtt{SO2\_em\_anthro\_s2start} + \mathtt{lat}}{\mathtt{SO2\_em\_anthro\_s2step}}, \mathtt{SO2\_em\_anthro\_extrap} \right) \\ \mathtt{NOx\_em\_anthro}\left( t \right) &= \mathtt{NOx\_em\_anthro\_unit} ~ interp\_unsafe\left( \mathtt{NOx\_em\_anthro\_data}, 1 + \frac{ - \mathtt{NOx\_em\_anthro\_tstart} + t + \mathtt{t\_ref}}{\mathtt{NOx\_em\_anthro\_tstep}}, 1 + \frac{ - \mathtt{NOx\_em\_anthro\_s1start} + \mathtt{lon}}{\mathtt{NOx\_em\_anthro\_s1step}}, 1 + \frac{ - \mathtt{NOx\_em\_anthro\_s2start} + \mathtt{lat}}{\mathtt{NOx\_em\_anthro\_s2step}}, \mathtt{NOx\_em\_anthro\_extrap} \right) \\ \mathtt{CO\_em\_anthro}\left( t \right) &= \mathtt{CO\_em\_anthro\_unit} ~ interp\_unsafe\left( \mathtt{CO\_em\_anthro\_data}, 1 + \frac{ - \mathtt{CO\_em\_anthro\_tstart} + t + \mathtt{t\_ref}}{\mathtt{CO\_em\_anthro\_tstep}}, 1 + \frac{ - \mathtt{CO\_em\_anthro\_s1start} + \mathtt{lon}}{\mathtt{CO\_em\_anthro\_s1step}}, 1 + \frac{ - \mathtt{CO\_em\_anthro\_s2start} + \mathtt{lat}}{\mathtt{CO\_em\_anthro\_s2step}}, \mathtt{CO\_em\_anthro\_extrap} \right) \end{align} \]

Variables

Here are the variables in tabular format:

function table(vars)
    DataFrame(
        :Name => [string(Symbolics.tosymbol(v, escape = false)) for v in vars],
        :Units => [dimension(ModelingToolkit.get_unit(v)) for v in vars],
        :Description => [ModelingToolkit.getdescription(v) for v in vars]
    )
end
table(unknowns(emis))
3×3 DataFrame
RowNameUnitsDescription
StringDimensio…String
1SO2_em_anthrom⁻² kg s⁻¹SO2 Anthropogenic Emissions
2NOx_em_anthrom⁻² kg s⁻¹NOx Anthropogenic Emissions
3CO_em_anthrom⁻² kg s⁻¹CO Anthropogenic Emissions

Parameters

Finally, here are the parameters in tabular format:

table(parameters(emis))
30×3 DataFrame
RowNameUnitsDescription
StringDimensio…String
1lonLongitude
2latLatitude
3SO2_em_anthro_s1startSpatial grid start dim 1 for SO2_em_anthro
4SO2_em_anthro_s1stepSpatial grid step dim 1 for SO2_em_anthro
5SO2_em_anthro_s2startSpatial grid start dim 2 for SO2_em_anthro
6SO2_em_anthro_s2stepSpatial grid step dim 2 for SO2_em_anthro
7SO2_em_anthro_extrapExtrapolation type for SO2_em_anthro
8SO2_em_anthro_unitm⁻² kg s⁻¹Unit scale for SO2_em_anthro
9NOx_em_anthro_s1startSpatial grid start dim 1 for NOx_em_anthro
10NOx_em_anthro_s1stepSpatial grid step dim 1 for NOx_em_anthro
11NOx_em_anthro_s2startSpatial grid start dim 2 for NOx_em_anthro
12NOx_em_anthro_s2stepSpatial grid step dim 2 for NOx_em_anthro
13NOx_em_anthro_extrapExtrapolation type for NOx_em_anthro
14NOx_em_anthro_unitm⁻² kg s⁻¹Unit scale for NOx_em_anthro
15CO_em_anthro_s1startSpatial grid start dim 1 for CO_em_anthro
16CO_em_anthro_s1stepSpatial grid step dim 1 for CO_em_anthro
17CO_em_anthro_s2startSpatial grid start dim 2 for CO_em_anthro
18CO_em_anthro_s2stepSpatial grid step dim 2 for CO_em_anthro
19CO_em_anthro_extrapExtrapolation type for CO_em_anthro
20CO_em_anthro_unitm⁻² kg s⁻¹Unit scale for CO_em_anthro
21SO2_em_anthro_dataInterpolation data for SO2_em_anthro
22SO2_em_anthro_tstartsTime grid start for SO2_em_anthro
23SO2_em_anthro_tstepsTime grid step for SO2_em_anthro
24NOx_em_anthro_dataInterpolation data for NOx_em_anthro
25NOx_em_anthro_tstartsTime grid start for NOx_em_anthro
26NOx_em_anthro_tstepsTime grid step for NOx_em_anthro
27CO_em_anthro_dataInterpolation data for CO_em_anthro
28CO_em_anthro_tstartsTime grid start for CO_em_anthro
29CO_em_anthro_tstepsTime grid step for CO_em_anthro
30t_refsReference time