geoschem / HEMCO

The Harmonized Emissions Component (HEMCO), developed by the GEOS-Chem Support Team.
https://hemco.readthedocs.io
Other
17 stars 33 forks source link

Implementing overlapping regional inventories in HEMCO (standalone) #288

Open mattloman opened 1 month ago

mattloman commented 1 month ago

Your name

Matt Loman

Your affiliation

University of Rochester

Please provide a clear and concise description of your question or discussion topic.

HEMCO_Config.rc.txt HEMCO_sa_Grid.rc.txt

I am using HEMCO to prepare emission fields to be used offline in an inversion of methane in New York and the surrounding region. I have been running into issues with using inputs from overlapping regional inventories, but I'm not sure if I'm struggling with a misunderstanding of how HEMCO works or a bug.

I am using a gridded anthropogenic methane inventory I created for New York state, as well as the New York City Urban Area (NY-UA) inventory from Pitt et al (doi.org/10.1021/acs.est.3c10307) and the FLAME-GTA inventory for the Toronto metropolitan area from Mostafavi Pak et al (doi.org/10.1016/j.atmosenv.2021.118319). My goal is to use my work for all emissions within New York, NY-UA for everything in its domain that lies outside of the state of New York, FLAME-GTA for the Toronto area, and then the Maasakkers et al gridded EPA 2 inventory and the Scarpelli et al gridded Canadian methane inventory for the remainder of the US and Canada respectively. I am also using a wetland methane emission map developed by my advisor Lee Murray that covers the entire domain of my simulation.

The first image below shows the overlap of the domains of my work (input file boundaries in red, inventory domain in pink), NY-UA (input file boundaries in yellow, inventory domain in light yellow), and FLAME-GTA (input file boundaries in green, inventory domain in light green).

My understanding of the implementation of non-global inventories in HEMCO (based on the default HEMCO_Config) is that the regional inventory is placed at a higher hierarchy with a regional mask, and then emissions to grid cells at the border of that mask are added to an underlying global inventory (e.g., EDGAR) through the use of a "mirror" mask (1 - region mask) on a second line with the same hierarchy as the global inventory. Based on this understanding, I used four lines for each New York state emission input in my attempt to use all the inventories I listed above: one for emissions within New York, with the highest hierarchy value; two using a mirror mask at a lower hierarchy matching the value for NY-UA and FLAME-GTA, with boundaries for these masks limited to the domains of NY-UA and FLAME-GTA; and one more using a mirror mask at an even lower hierarchy value used for the Maasakkers et al and Scarpelli et al gridded inventories. My additions to the attached HEMCO_Config file are on lines 185-602, 1821-1837, and 2139-2157.

The output from the HEMCO standalone clearly indicates some issues with masks, with rectangles surrounding NY and some strange behavior in the Atlantic (second image below). It looks like the gridded EPA emissions aren't getting applied to northern Pennsylvania as a result of the masking.

I have also found that HEMCO provides incorrect totals in the diagnostic output for the emissions from my work even when implemented on its own (i.e. without NY-UA or FLAME-GTA or the associated mirror mask lines - just my work layered on top of the Maasakkers et al and Scarpelli et al regional inventories). I'm not sure if that's the same issue, though.

QUESTIONS: Is my understanding of regional inventory implementation in HEMCO correct? What needs to change in my HEMCO_Config file to achieve the inventory layering that I described?

domain_overlap

HEMCO_maskissues
msulprizio commented 1 month ago

Hi @mattloman. Apologies for the delayed response.

The "mirror" masks are not necessary in most cases. They were added for US, Mexico, and Canada solely for the CH4 simulation to ensure that offshore emissions were properly included. Those regional inventories include offshore emissions so simply using the US, Mexico, and Canada masks would exclude those emissions. As a workaround, we added the mirror masks to add the offshore emissions from the regional inventories to the global inventory (EDGAR) which is used by default over oceans. In your case, you shouldn't need to use mirror masks unless you have emissions in your regional inventory that extend beyond the mask file used.

I think the issue seen here is the use of rectangular boxes to define the regions. If you can create shapefiles and convert those to mask files (see example gcpy script here) that should properly mask the regions and avoid the regional boxes that you're seeing in the output.

To check that the emissions are processed properly, I would recommend (1) turn on verbose in HEMCO_Config.rc (make sure it's on in the SA config too) and check the log file and (2) modify HEMCO_Diagn.rc to save out emissions by sector and by inventory (see the inventory entries in HEMCO_Diagn.fullchem for example).

mattloman commented 1 month ago

Hi @msulprizio, thanks for your reply!

If I'm not using the mirror masks, is there another way to handle emissions to cells that are only partially within the mask boundaries? I'm mainly concerned about the NYC and Toronto areas since the masks have several "partial" cells around there. Ideally I'd want to use 100% of the emissions from the NY and Toronto inventories in those partial cells but then add emissions from the underlying inventories proportional to the area of the cell outside NY/Toronto. For example, for a NYC cell with 75% of its area in NY, emit 100% of NY inventory emissions for that cell + 25% of emissions from the underlying inventory to account for emissions to that cell that come from outside NY. As far as I can tell, in HEMCO the only options are binary masks or fractional mask values that apply to both sides of the mask, which is why I was using the mirror mask to make sure 100% of inventory emissions were being used at mask borders. Emissions to grid cells at the border of NY/Toronto would be underestimated otherwise since the inventories quantify emissions only within the borders of their municipalities.

I'm still not sure I understand what the issue is with the rectangular boxes. I was using mask files that I'd created from shapefiles - do I need to crop the mask file to fit the area that I want to apply it to instead of using corner coordinates in HEMCO_Config.rc to crop it?

Thanks again!

mattloman commented 2 weeks ago

I have figured out the causes of the patterns in emissions in the images I shared, and determined a way to ensure HEMCO is overlaying 100% of regional emissions inventories for cells at their borders. I still have questions about how to ensure marine/boating emissions are represented properly.

mattloman commented 1 week ago

Tagging @ltmurray in case he has any additional input

msulprizio commented 6 days ago

Thanks for the followup @mattloman.

Individually removing the coastal emissions lines for GHGI_v2 did not prevent GHGI emissions from masking EDGARv8 emissions offshore. Do you have any other suggestions on how I can fix this?

Can you remind me at what resolution you are running at? I'm wondering if the CONUS mask file used for GHGI_v2 is too coarse.

One option to try to force the inclusion of EDGARv8 offshore emissions is to set it to the same hierarchy as GHGI_v2 and apply the CONUS mirror mask to those emissions.

There appears to be some error causing HEMCO to assign methane emissions from wildfires to ocean grid cells.

A relatively simple fix for this may be to implement a land mask in the GFED extension if one doesn't exist already. Another option is to try using a different biomass burning inventory (QFED, GFAS). I suspect those inventories would automatically be masked over oceans in the similar manner that you describe for other sectors because they are base emissions.

mattloman commented 3 days ago

Hi @msulprizio, I'm running at 0.25$^\circ \times$0.3125$^\circ$, but the CONUS mask file is gridded at 0.01$^\circ$.

Your suggestion for including EDGARv8 offshore emissions seems to have worked! I used a sea mask instead of the CONUS mirror since part of the simulation domain is in Canada. I removed all masks from mobile combustion emissions for both GHGI_v2 and the Canadian gridded methane inventory, and applied the sea mask to EDGAR at the same hierarchy as GHGI_v2 and Canadian gridded methane emissions. I'm surprised, though, since the current (default?) implementation of GHGI_v2 has its offshore emissions (with mirror mask) at the same hierarchy as EDGAR so in theory there shouldn't have been any difference.