Skip to content

C. Processing HTAPv3 gridded global emission inventories

Huy Tran edited this page May 1, 2025 · 1 revision

1. Introduction

Details on the HTAPv3 data are presented in the Emission Database for Global Atmospheric (EDGAR). The Hemisperic Transport of Air Pollution (HTAP) v3 consists of emission datasets from various officially reported data including EMEP for Europe (CAMS-REG-v5.1), from the US Environmental Protection Agency (US EPA), Environment and Climate Change Canada (ECCC), REAS for most of the Asian domain, from Japan and CAPPS-KU for Korea, and EDGARv6.1 for the remaining countries.

HTAPv3 contains emissions of 16 detailed sectors which are grouped into 8 main sectors: International Shipping, Aviation, Energy, Industry, Ground Transport, Residential, Waste, and Agriculture. At the time of this training, annual and monthly emission data is available for 2000 through 2018 at horizontal resolutions of 0.5x0.5 or 0.1x0.1 degrees. In this training, the annual emission data of the Aviation sector at 0.1x0.1 resolution in 2018 will be processed through SMOKE for the 12 km training domain.

The U.S. EPA is adopting HTAPv3 to its hemispheric emission modeling platform. Several temporal and speciation profiles from this platform were adapted for processing HTAPv3 in this Example Case.

HTAPv3 data is accessible to all users and can be downloaded from European Commission - Joint Research Centre. The emissions data is available in both monthly and annual dataset.

HTAPv3 data files are classified by pollutant (e.g., edgar_HTAPv3_2018_CO.zip; edgar_HTAPv3_2018_NOx.zip); each file contains variables representing emissions data of the 16 detailed sectors (e.g., HTAPv3_2_1_Domestic_Aviation, HTAPv3_2_2_International_Aviation). Currently SMOKE does not support the length of variable name in HTAPv3 input files. Furthermore, the longitude array in HTAPv3 is in [-180, 180] degree format which needs to be converted to [0, 360] degree format before it can be processed through SMOKE.

2. Processing HTAPv3 data with SMOKE (Example Case)

This Example Case illustrate processing HTAPv3 0.1 x 0.1 degree annual dataset for one representative day in August 2018 (August 07, 2018) using SMOKE and following EPA Emission Modeling Platform structure.

The attached HTAPv3_ExamplePackage.zip package (ExamplePackage) includes a shell script download_HTAPv3.csh to accommodate the downloading HTAPv3 data and a Python script HTAP_processing.py to accommodate processing downloaded HTAPv3 data for SMOKE. This python script performs the following tasks:

  • Unzip downloaded HTAPv3 files (if needed) and rename variables to conform to SMOKE format
  • Convert longitude array from [-180, 180] degree format to [0, 360] degree format
  • Create the emission input list file EMISLST that can be imported to SMOKE

After executing HTAP_processing.py, the following annual HTAPv3 emission dataset should be donwloaded:

edgar_HTAPv3_2018_CO.zip       edgar_HTAPv3_2018_NH3.zip       edgar_HTAPv3_2018_NMVOC.zip  
edgar_HTAPv3_2018_NOx.zip      edgar_HTAPv3_2018_PM10.zip      edgar_HTAPv3_2018_PM2.5.zip
edgar_HTAPv3_2018_SO2.zip

After running HTAP_processing.py, the downloaded emission files are extracted, corrected in longitude array, and the following list files are created, each corresponding to one of the 8 emission sectors:

arinv.HTAPv3.AGRICULTURE.lst  arinv.HTAPv3.ENERGY.lst    arinv.HTAPv3.INTSHIP.lst   arinv.HTAPv3.TRANSPORT.lst
arinv.HTAPv3.AVIATION.lst     arinv.HTAPv3.INDUSTRY.lst  arinv.HTAPv3.RESIDENT.lst  arinv.HTAPv3.WASTE.lst

Example of arinv.HTAPv3.ENERGY.lst content:

#LIST GRID
#SCC,InvPollName,HTAP_VarName,Month,FileName
ENERGY,VOC,Energy,0,/proj/ie/proj/SMOKE/htran/smoke_training_Oct2024/2018gg_18j/inputs/htap/edgar_HTAPv3_2018_NMVOC.nc
ENERGY,NOX,Energy,0,/proj/ie/proj/SMOKE/htran/smoke_training_Oct2024/2018gg_18j/inputs/htap/edgar_HTAPv3_2018_NOx.nc
ENERGY,PM2_5,Energy,0,/proj/ie/proj/SMOKE/htran/smoke_training_Oct2024/2018gg_18j/inputs/htap/edgar_HTAPv3_2018_PM2.5.nc
ENERGY,PM10,Energy,0,/proj/ie/proj/SMOKE/htran/smoke_training_Oct2024/2018gg_18j/inputs/htap/edgar_HTAPv3_2018_PM10.nc
ENERGY,NH3,Energy,0,/proj/ie/proj/SMOKE/htran/smoke_training_Oct2024/2018gg_18j/inputs/htap/edgar_HTAPv3_2018_NH3.nc
ENERGY,SO2,Energy,0,/proj/ie/proj/SMOKE/htran/smoke_training_Oct2024/2018gg_18j/inputs/htap/edgar_HTAPv3_2018_SO2.nc
ENERGY,CO,Energy,0,/proj/ie/proj/SMOKE/htran/smoke_training_Oct2024/2018gg_18j/inputs/htap/edgar_HTAPv3_2018_CO.nc

In this list file, "ENERGY" acts as "pseudo" Source Classification Codes (SCCs) for HTAP source sectors, based on which SMOKE will apply temporal and speciation profiles to allocate annual emissions to hours and model species. "Energy" is the corresponding variable name in the HTAP input netcdf files that represent emissions of individual pollutants (e.g., VOC, NOX, etc.) of the respective "ENERGY". Since annual emission data is being processed, the month value is set to number "0" since annual data is being processed.

Auxiliary Files ($GE_DAT)

GEOCODE Files

For processing gridded global emission inventories, GEOCODE_LEVEL[1-4] files are used instead of the COSTCY file to define geographical regions. Currently, all GEOCODE levels specify the same country, ocean/water body, and country-level territories. GEOCODE files level 1-4 ($GE_DAT/geocode[1-4]_edgar.txt) are provided in the ExamplePackage

GRIDMASK File

The GRIDMASK file is an I/O API-netCDF formatted file that map each grid cell in the HTAPv3 gridded emission to geographical regions and time zones. The GRIDMASK file must be in same resolution of input gridded emission files (i.e., 0.1 x 0.1 degree in this example). A GRIDMASK input file ($GE_DAT/GRIDMASK_EDGAR.ncf) is provided in the ExamplePackage and contains two variables: (GEOCODE and TZONES):

  • GEOCODE is 6 digit integer (e.g., 001000) country code based on GEOCODE_LEVEL2 file.

  • TZONES is time zone by country.

Temporal and Speciation Profiles

Set of temporal (tref and tpro) and speciations (gsref and gspro) profiles are provided in the ExamplePackage. These profiles must contain valid entries for pseudo SCCs defined in the emission list file. These profiles are developed for modeling application in the U.S. and may need modifications for applications in other regions.

Running the HTAP script

An example run script Annual_htap_12US1_2018gg_18j.csh is provided in the ExamplePackage. This run script follows EPA Emission Modeling Platform structure and ,for this example case, only processes for one representative day in a month (both M_TYPE and L_TYPE are set to "aveday"). If the script was run successfully, a single 2-D CMAQ ready emission output file for August 7th is created.

(Optional) Generate 3-D Emissions Data

SMOKE utility Layalloc can be employed to distribute the 2-D HTAP Energy emissions to the vertical model layers. An example run script run_layalloc_edgar.csh is provided in the ExamplePackage. This run script uses the LAYER_FRACTION file defined in $GE_DAT/layers_gfed.txt which has the following content:

1,0,50,0.25
2,50,2000,0.75

In this example, 25% of emission from the 2-D file will be allocated to model layers between 0 and 50 meters, and the remaining 75% will be allocated to model layers between 50 and 2000 meters. (More information on the format of Layalloc and LAYER_FRACTION is in the SMOKE User Guide).