BAAQMD / InMAP-SFAB

InMAP analyses scoped to SF air basin
1 stars 0 forks source link

InMAP evaluation - Bay Area NGC emission scenario #11

Open bkoo-git opened 1 year ago

bkoo-git commented 1 year ago

This issue is opened to archive discussions on a test case for InMAP performance evaluation.

Contributions of the Bay Area natural gas combustion (NGC) emissions to ambient concentrations of PM2.5 (and its components) were estimated by InMAP and compared to those by CMAQ. CMAQ calculated the contributions by the brute-force method (BFM) which involved two model simulations: the base case where all emissions were present and the control case where the Bay Area NGC emissions were zeroed out.

The Bay Area NGC emission scenario was selected because:

  1. CMAQ estimates of the impacts are already available
  2. "[InMAP's] performance should be evaluated in terms of predicting marginal changes in concentrations rather than total ambient concentrations." (Tessum et al., 2017)
bkoo-git commented 1 year ago

Step 1: prepare InMAP meteorology and chemistry input data

The WRF meteorology and CMAQ 3-D concentration outputs used for the 2018 base case annual CMAQ simulation were processed by wrfcmaq2inmap.

VOC and NOy species mappings in the wrfcmaq2inmap script were updated for the SAPRC07TC chemical mechanism used in the CMAQ simulations. A few unit conversion issues were also corrected. @yuzhou-wang, please review the updates.

The daily outputs from wrfcmaq2inmap were then processed by the InMAP preprocessing system (modified by @yuzhou-wang for WRF-CMAQ data) into a new InMAP input data file.

bkoo-git commented 1 year ago

Step 2: run InMAP with the Bay Area NGC emissions

The 2018 annual Bay Area NGC emissions were prepared in shapefile format: 2018_NGC_Emiss.zip VOC emissions include anthropogenic SOA precursors only as discussed in Issue#10.

InMAP v1.9.0 was run with the new InMAP input data and the Bay Area NGC emissions. Concentrations of PM2.5 and its components (sulfate, nitrate, ammonium, SOA and primary PM2.5) were saved in the output shapefile: InMAP_output.zip

bkoo-git commented 1 year ago

Annual average impacts of the Bay Area NGC emissions estimated by InMAP were compared with the CMAQ estimates (using BFM; base case - control case).

Preliminary results of the comparison are summarized here: InMAP_evaluation_BA_NGC_2018_prelim.pptx

pmartien commented 1 year ago

Annual average impacts of the Bay Area NGC emissions estimated by InMAP were compared with the CMAQ estimates (using BFM; base case - control case).

Preliminary results of the comparison are summarized here: InMAP_evaluation_BA_NGC_2018_prelim.pptx

Thanks, Bonyoung, for developing these comparisons. I want to make sure I understand how InMAP is working in this comparison. Here, we're not using the ISRM, correct? The comparison of direct PM2.5 raises the most questions for me. This seems like a good test case--mostly just comparing the advection algorithms; would you agree? These seem like they should be much more similar.

bkoo-git commented 1 year ago

Here, we're not using the ISRM, correct? The comparison of direct PM2.5 raises the most questions for me. This seems like a good test case--mostly just comparing the advection algorithms; would you agree?

No, we are not using the ISRM. In InMAP, everything other than sulfate, nitrate, ammonium and SOA is treated as primary PM, which includes some components that CMAQ treats as reactive: for example, CMAQ models POA aging where POA is oxidized to form oxygenated OA. But, this doesn't explain all primary PM differences.

yuzhou-wang commented 1 year ago

Hi Bonyoung, I've looked at the updated code (including the revised species and the unit changes) and it looks great! Thanks for your work on it!

bkoo-git commented 1 year ago

I was reviewing the log output from my test run and notice that the emission totals shown in the log are not consistent with what the emission input file actually has. I calculated total emissions in the emissions input file by summing up the emission values across all grid cells and got, for example, 462 tons/year for PM2_5. Converting it to μg/s (907184.74 x 1.e6 μg/ton; 8760 x 3600 sec/year), I got 13291295 μg/s. However, the log shows 945392 μg/s, which is only ~7% of what's in the emission input. For NOx, I have 4309 tons/year in the input. Converting it to gNO (N fraction of NOx; NOxToN = 14/46), I got 3.77e7 μg/s. However, the log shows 2.68e6 μg/s, which is again only ~7% of what the emissions input has.

@yuzhou-wang Can you figure out what's causing the discrepancies? You can replicate this issue using the configuration file of the test run. The InMAP input data and emission input file used for the test are posted above.

pmartien commented 1 year ago

Hi @yuzhou-wang, does @bkoo-git 's findings and questions make sense? Anything else you need from us to isolate the discrepancies? Thanks!

yuzhou-wang commented 1 year ago

@bkoo-git @pmartien Hi Bonyoung, sorry for the late reply. I made some test runs for the NGC emissions using both new InMAP and the national InMAP, and found the same problem. (However, this problem doesn't exit for my previous test runs for the bay area EGU emissions. I)'ve also double checked the emission shapefile, and found that it matches the output grid.

I have one guess about the possible reason: for the NGC emission shapefile, each data row contains the emission values for all the five pollutants; however, in my previous tests using other emission shapefiles, each row only contains the emission value for one pollutants. I'm not sure whether it causes the problem, but I will make changes to the NGC shapefile (make separate data rows for each pollutant) and run the test again to see whether it solve the problem.

yuzhou-wang commented 1 year ago

I've tried a test run using the updated NGC emission shapefile mentioned above, but still got the same problem. I'll try some other tests to see whether I can figure out the problem.

yuzhou-wang commented 1 year ago

@bkoo-git I changed the emission shapefile from polygons to points (using the centroid of each polygon), and the problem is solved! The new NGC emission shapefile can be downloaded from here. It seems like InMAP doesn't process the polygons correctly. I will wait for the runs to get the pollutant concentrations and see whether using point and polygon get the same concentration predictions.

bkoo-git commented 1 year ago

Thanks, @yuzhou-wang! Your discovery gave me a nice clue, which helped me figure out what's causing the problem. I grabbed the polygon vertex coordinates from an existing shapefile of the CMAQ modeling grid, and I find that the coordinate values sometimes have small residuals; for example, 1000.00012207031 m when it's actually 1000 m. My guess is that the polygon vertex coordinates were originally constructed by adding multiples of the grid cell size to the origin coordinates, and these small numerical errors were introduced due to the binary representation of floating-point numbers. Normally, this shouldn't be a problem as the residuals are very small, but somehow it seems to mess up InMAP processing the emissions.

I ran the test again after having cleaned up the residuals, and now the log gives emission totals that are close enough to the actual totals. The updated InMAP results are also different than the previous test results. I'll update my slides next week, but here's the updated bar chart of PM2.5 composition: Now the two models agree somewhat better while InMAP estimates are greater than CMAQ's.

bkoo-git commented 1 year ago

Here's the full slide deck updated with the new InMAP results: InMAP_evaluation_BA_NGC_2018_updated.pptx Also added some analysis on running InMAP for monthly periods.

marshalljulian commented 1 year ago

Thanks, Bonyoung. This is great. in the latest PPT file you sent, from slide 10: it looks like InMAP is estimating higher than CMAQ --- in some locations, the difference is not large. In other locations, InMAP is quite a bit larger (say, more than 2x larger). Also, this is based on only two species in InMAP. What happened with the other species in InMAP -- do you know? (were the emissions included? SOA, Sulfates, Ammonia) Thanks!

On Tue, Feb 14, 2023 at 2:59 PM bkoo-git @.***> wrote:

Here's the full slide deck updated with the new InMAP results: InMAP_evaluation_BA_NGC_2018_updated.pptx https://github.com/BAAQMD/InMAP-SFAB/files/10737605/InMAP_evaluation_BA_NGC_2018_updated.pptx Also added some analysis on running InMAP for monthly periods.

— Reply to this email directly, view it on GitHub https://github.com/BAAQMD/InMAP-SFAB/issues/11#issuecomment-1430503558, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEOOV3NBA5BUZJULEL5JSY3WXQE57ANCNFSM6AAAAAAUEJ4T6A . You are receiving this because you are subscribed to this thread.Message ID: @.***>

bkoo-git commented 1 year ago

@marshalljulian Actually the InMAP bars show all InMAP species: pSO4, pNO3, pNH4, SOA and PrimaryPM25. It's just that InMAP predicted negligible contributions to species other than pNO3 and PrimaryPM25. See slide 9. All emissions are there except for ammonia. See slide 3.

bkoo-git commented 1 year ago

The updated (w/ the cleaned emission shapefile) InMAP input/output files are archived here.

InMAP emission input files: inmap_emiss_baaqmd_ngc_2018_clean.zip

InMAP output files: inmap_output_baaqmd_ngc_2018_clean.zip