EXTRACT emissions from EDGAR_HTAPv3 with limited geographical domain (South America)

Hi there,
I was wondering if I can process with SMOKE my little domain (São Paulo) from EDGAR_HTAPv3 emission files that covers only a big geographical domain (e.g. South America). I was tried to run but unfortunately I got the log message related to smkinven:

     Value for WKDAY_NORMALIZE:  N returning FALSE
     NOTE: Setting inventory to use full-week normalizer for weekly profiles
     Bad NDIMS for  "Transport" in "TMPFILE"
     Could not read "Transport" from gridded inventory file
     Bad NDIMS for  "Transport" in "TMPFILE"
     Could not read "Transport" from gridded inventory file
     Bad NDIMS for  "Transport" in "TMPFILE"
     Could not read "Transport" from gridded inventory file
     Bad NDIMS for  "Transport" in "TMPFILE"
     Could not read "Transport" from gridded inventory file
     Bad NDIMS for  "Transport" in "TMPFILE"
     Could not read "Transport" from gridded inventory file
     Bad NDIMS for  "Transport" in "TMPFILE"
     Could not read "Transport" from gridded inventory file
     Bad NDIMS for  "Transport" in "TMPFILE"
     Could not read "Transport" from gridded inventory file
     Bad NDIMS for  "Transport" in "TMPFILE"
     Could not read "Transport" from gridded inventory file
     Bad NDIMS for  "Transport" in "TMPFILE"
     Could not read "Transport" from gridded inventory file

I don’t know if it is mandatory to use all dimensions of EDGAR-HTAPv3, I mean 1800 rows, 3600 cols (all the world and not only South American). Do you have any suggestions?

Best regards,
Alejandro

It may be that the gridded inventory list input (EMISLST) is not set up correctly.

The error seems to indicate that SMOKE is not parsing the gridded inventories properly, as if there is an incorrect path, or the variable name in the EMISLST file does not match what is in the gridded inventory.

The EMISLST input for the road transport sector should look something like this:

#LIST GRID

#SCC, Pollutant, Variable_Name, Month, File_location_name

“TRANSPORT”,“PEC”,“Transport_Road”,6,“/work/inputs/HTAPv3/data/fluxes/monthly/edgar_HTAPv3_2018-06_BC.nc”

“TRANSPORT”,“CO”,“Transport_Road”,6,“/work/inputs/HTAPv3/data/fluxes/monthly/edgar_HTAPv3_2018-06_CO.nc”

“TRANSPORT”,“NH3”,“Transport_Road”,6,“/work/inputs/HTAPv3/data/fluxes/monthly/edgar_HTAPv3_2018-06_NH3.nc”

“TRANSPORT”,“VOC”,“Transport_Road”,6,“/work/inputs/HTAPv3/data/fluxes/monthly/edgar_HTAPv3_2018-06_NMVOC.nc”

“TRANSPORT”,“NOX”,“Transport_Road”,6,“/work/inputs/HTAPv3/data/fluxes/monthly/edgar_HTAPv3_2018-06_NOx.nc”

“TRANSPORT”,“POC”,“Transport_Road”,6,“/work/inputs/HTAPv3/data/fluxes/monthly/edgar_HTAPv3_2018-06_OC.nc”

“TRANSPORT”,“PM10”,“Transport_Road”,6,“/work/inputs/HTAPv3/data/fluxes/monthly/edgar_HTAPv3_2018-06_PM10.nc”

“TRANSPORT”,“PM2_5”,“Transport_Road”,6,“/work/inputs/HTAPv3/data/fluxes/monthly/edgar_HTAPv3_2018-06_PM2.5.nc”

“TRANSPORT”,“PM2_5_OTH”,“Transport_Road”,6,“/work/inputs/HTAPv3/data/fluxes/monthly/edgar_HTAPv3_2018-06_PM2.5_OTHER.nc”

“TRANSPORT”,“SO2”,“Transport_Road”,6,“/work/inputs/HTAPv3/data/fluxes/monthly/edgar_HTAPv3_2018-06_SO2.nc”

1 Like

Hi Eyth. Thank you for your answer and support.

I understand that the problem was in an additional dimension in my EDGAR-HTAPv3 files (time, see below), because when I ran the SMOKE yesterday with two dimensions (lat, lon) and for all the Globe (1800, 3600) , I got “results” but with a wrong location of emissions.

netcdf edgar_HTAPv3_2018_PM2.5 {
dimensions:
        time = 12 ;
        lat = 230 ;
        lon = 350 ;
variables:
        float Transport(time, lat, lon) ;
                Transport:_FillValue = 9.96921e+36f ;
                Transport:description = "Road_Transport" ;
                Transport:grid_mapping = "spatial_ref" ;
                Transport:long_name = "Road Transport" ;
                Transport:units = "kg m-2 s-1" ;
        float Industry(time, lat, lon) ;
                Industry:_FillValue = 9.96921e+36f ;
                Industry:description = "Industry" ;
                Industry:grid_mapping = "spatial_ref" ;
                Industry:long_name = "Industry" ;
                Industry:units = "kg m-2 s-1" ;

On the other hand, I was wondering if I can use a small domain of EDGAR-HTAP that covers only South America as an input to SMOKE or I must create a GRIDMASK_EDGAR.ncf that covers South America as well as geocodes files?

As I was saying, a problem that I’m experiencing is emission outputs from SMOKE. I saw that emission locations are not consistent with my domain (Southeastern Brazil, center in São Paulo). I don’t know if the GRIDDESC for São Paulo domain that was processed with MCIPv5.4 has errors or maybe the IOAPI_ISPH=20 in my ASSIGN file. I attached my files if you want to see my two scripts (ASSIGN and sms_edgar_TRANSPORT_SEBRA.csh).
ASSIGNS.EDGAR.TRANSPORT.SEBRA.csh (17.9 KB)

' '                                                                             
'LAM_28S55W'                                                                    
  2       -60.000       -30.000       -55.000       -55.000       -45.000          
' '                                                                             
'2018_SEBRA'                                                                                                     
'LAM_28S55W'    -40499.000   1813357.500      9000.000      9000.000  247  177    1
' ' 

smk_edgar_TRANSPORT_SEBRA.csh (6.7 KB)

Best regards,
Alejandro

Hi Eyth,
SMOKE is an interesting tool, but I thought that it could process pre-gridded emissions based on lat lon coordinates like the “anthro_emis” tool for WRF-Chem. Yesterday, I ran the SMOKE model with the EDGAR-HTAPv2 (the base year 2010), and I got consistent locations of the emissions according to my domain, and that is because the map of EDGAR-HTAPv2 starts with a time zone 0 in Africa that is different compared with the EDGAR-HTAPv3. So, the problem was not the GRIDDESC.

This is the EDGAR-HTAPv2:

This is the EDGAR-HTAPv3:

BTW, is it possible that you could share us the geocodes and the GRIDMASK_EDGAR.ncf adapted to the EDGAR-HTAPv3 order?

Best regards,
Alejandro

Thank you for pointing this out. We will soon be starting some work with HTAPv3 but we have not yet.

We will be providing some information on how to process HTAPv3 data in the next couple of months.

If I learn anything new before then, I will let you know.

Also, we note the variables are organized a bit differently in the HTAPv3 gridded inventories. Instead of a single variable called “Transport” there is now “Transport_Road”, “Transport_BWTW”, “Transport_Other”, etc. You will need to update the EMISLST input accordingly. Please let us know if you are able to get it to work.

Alison, thank you for your answer and support. I understand that previously to list in the EMISLST, I must change variable names in each netCDF with no more than 16 character. I can do that with nco and cdo operators using a script. The only thing that I couldn’t do is to create a new GRIDMASK_EDGAR_htapv3.ncf. I’ve read about it how can I do. I will return with you in case I will create one to process EDGA-HTAPv3.

Best regards,
Alejandro