Process area/point-source ag NH3 emission for CMAQ


At first, I want to lay out what I want to do with the SMOKE output and CMAQ emission input. I am trying to run CMAQ_12US1 for a single day of 20140101 with my own ammonia emission inventory for NC. This emission inventory is ammonia emission from animal farms in North Carolina. The challenge here is that my ammonia emission is a point source. I need to cut off the ammonia part in NC from non-point ag livestock emission. And also, I need to generate new point source inputs which will be inln and stack group for ag_NH3_NC.

I have a pre-merged emission input file for nonpt sources named “emis_mole_all_20140101_12US1_cmaq_cb6_2014fb_cdc_cb6cmaq_14j.ncf”. It is a gridded single day input. I want to use ncbo in netcdf nco tools to subtract ag_NH3_NC from this file. How to generate the similar gridded CMAQ input or SMOKE output from NEI modeling platform?

I have some outputs from running NEI model platform as shown below.

However, they are not gridded. It seems that they need to be merged at some point to be compatible with “emis_mole_all_20140101_12US1_cmaq_cb6_2014fb_cdc_cb6cmaq_14j.ncf”.

Do you have any suggestion? If you have any other thoughts on what I can do, please let me know.

Appreciate, CMAS community!

Yijia Zhao

Hi Yijia,

Have you made any progress with this issue, perhaps @bbaek has been helping you offline on this?

Thanks, Liz


Running CMAQ with my pt_livestock ammonia emission inventory file is the ultimate goal. Now I am still trying to get the CMAQ run with NEI input run. Running with NEI is not only for testing the program, it will also give me a reference output which can be used to compare later on.

The netcdf dimension issue did not appear again but I have to debug some small issues potential associated with input files. Once the NEI input is running through, I will move on to use my ammonia emission inventory which will be more on NEI modeling platform or SMOKE.



1 Like

I want to use ncbo in netcdf nco tools to subtract ag_NH3_NC from this file.

No, you do not want to do this. NCO, cdo, and similar tools that operate directly on netCDF files without using the IOAPI interface result in outputs that are no longer proper IOAPI files, so that subsequent attempts to use the interface do not work.

Instead, use IOAPI-conformant tools: either the combine program or the IOAPI utility program m3combo should work for this purpose.

Thank you for your advice! I finally made to this step. I will look into m3combo.


Hi, cgnolte;

I am confusing myself by doing too much operations on the CMAQ input.

My current goal is to cut off the only variable of NH3 in North Carolina specifically for the sector “ag”.

The file I want to make operation on is called “emis_mole_all_20140101_12US1_cmaq_cb6_2014fb_cdc_cb6cmaq_14j.ncf”. In this file, all sectors’ premerged files are merged together.

And I have a pre-merged file named “emis_mole_ag_onlyNC_20140101_12US1_cmaq_cb6cmaq_2014fa_nata_cb6cmaq_14j.ncf”. This file has only NH3 and fert-NH3 from sector “ag” in NC.

What I did are:

  1. Using m3xtract to extract only NH3 variable (all layers) from “emis_mole_all_20140101_12US1_cmaq_cb6_2014fb_cdc_cb6cmaq_14j.ncf”

2.Using m3tract to extract only NH3 variable (all layers) from “emis_mole_ag_onlyNC_20140101_12US1_cmaq_cb6cmaq_2014fa_nata_cb6cmaq_14j.ncf”

  1. Using ncbo to do the substraction on NH3 from the previous two steps and getting a file “onlyNH3_woNC.ncf”. This file has only one variable which is NH3 and it is entire US except for NC.

I am thinking if m3tools has one for re-writing variable. If so, I can re-write the variable NH3 to drop off the part of NC.

Please give me some thoughts you have.

Thank you very much!


Use m3diff: see

1 Like

I used m3diff to cut down the NH3 variable for NC.

Thank you!!!