CMAQ ACONC outputs using 2014 NEI emissions

Dear all;

I am developing a new ammonia emission inventory for animal production operations in NC. I have used it for 4 CMAQ simulations, January, April, July, and October. Each run simulated 3-day with the domain of 12US1.

Somehow, I need to test my simulation method and setup. Therefore, I went back to test on the NEI original emission inputs. But I have observed something not making a lot of sense in the CMAQ outputs. Mainly the nitrogen species are not looking correct to me. So I want to show you the ACONC outputs of some nitrogen compounds and perhaps you can give me some ideas.

For this 1-d simulation on 20140703, the emission gridded input file is “emis_mole_all_20140703_12US1_cmaq_cb6_2014fb_cdc_cb6cmaq_14j.ncf”. This is the original NEI emission file for 2014. I did not modify or make any changes on it. I know it is a single day simulation. The outputs could be impacted by ICON and BCON a lot. This reason could not be excluded. But I am still skeptical about the chemistry setup in the running script. Below is the setup in the script.

##################################################################################
#> CCTM Configuration Options

=====================================================================

#> Set Start and End Days for looping
setenv NEW_START TRUE #> Set to FALSE for model restart
set START_DATE = “2014-07-03” #> beginning date (June 20, 2014)
set END_DATE = “2014-07-03” #> ending date (July 30, 2014)

#> Set Timestepping Parameters
set STTIME = 000000 #> beginning GMT time (HHMMSS)
set NSTEPS = 240000 #> time duration (HHMMSS) for this run
set TSTEP = 010000 #> output time step interval (HHMMSS)

#> Horizontal domain decomposition
if ( $PROC == serial ) then
setenv NPCOL_NPROW “1 1”; set NPROCS = 1 # single processor setting
else
@ NPCOL = 8; @ NPROW = 6
@ NPROCS = $NPCOL * $NPROW
setenv NPCOL_NPROW “$NPCOL $NPROW”;
endif

#> Define Execution ID: e.g. [CMAQ-Version-Info][User][Date][Time]
setenv EXECUTION_ID "CMAQ_CCTM${VRSN}
id -u -n_date -u +%Y%m%d_%H%M%S_%N" #> Inform IO/API of the Execution ID
echo “”
echo “—CMAQ EXECUTION ID: $EXECUTION_ID —”

#> Logfile Options
#> Master Log File Name; uncomment to write standard output to a log, otherwise write to screen
#setenv LOGFILE $CMAQ_HOME/$RUNID.log
if (! -e $LOGDIR ) then
mkdir -p $LOGDIR
endif
setenv PRINT_PROC_TIME Y #> Print timing for all science subprocesses to Logfile
#> [ default: TRUE or Y ]
setenv STDOUT T #> Override I/O-API trying to write information to both the processor
#> logs and STDOUT [ options: T | F ]

setenv GRID_NAME 12US1 #> check GRIDDESC file for GRID_NAME options
setenv GRIDDESC $INPDIR/GRIDDESC #> grid description file

#> Retrieve the number of columns, rows, and layers in this simulation
set NZ = 35
set NX = grep -A 1 ${GRID_NAME} ${GRIDDESC} | tail -1 | sed 's/ */ /g' | cut -d' ' -f6
set NY = grep -A 1 ${GRID_NAME} ${GRIDDESC} | tail -1 | sed 's/ */ /g' | cut -d' ' -f7
set NCELLS = echo "${NX} * ${NY} * ${NZ}" | bc -l

#> Output Species and Layer Options
** #> CONC file species; comment or set to “ALL” to write all species to CONC**
** #setenv CONC_SPCS “O3 NO ANO3I ANO3J NO2 FORM ISOP ANH4J ASO4I ASO4J” **
** #setenv CONC_BLEV_ELEV " 1 4" #> CONC file layer range; comment to write all layers to CONC**

** #> ACONC file species; comment or set to “ALL” to write all species to ACONC**
** #setenv AVG_CONC_SPCS “O3 NO CO NO2 ASO4I ASO4J NH3” **
** setenv AVG_CONC_SPCS “ALL” **
** setenv ACONC_BLEV_ELEV " 1 1" #> ACONC file layer range; comment to write all layers to ACONC**
** setenv AVG_FILE_ENDTIME N #> override default beginning ACONC timestamp [ default: N ]**

#> Synchronization Time Step and Tolerance Options
setenv CTM_MAXSYNC 300 #> max sync time step (sec) [ default: 720 ]
setenv CTM_MINSYNC 60 #> min sync time step (sec) [ default: 60 ]
setenv SIGMA_SYNC_TOP 0.7 #> top sigma level thru which sync step determined [ default: 0.7 ]
#setenv ADV_HDIV_LIM 0.95 #> maximum horiz. div. limit for adv step adjust [ default: 0.9 ]
setenv CTM_ADV_CFL 0.95 #> max CFL [ default: 0.75]
#setenv RB_ATOL 1.0E-09 #> global ROS3 solver absolute tolerance [ default: 1.0E-07 ]

#> Science Options
setenv CTM_SS_AERO Y #> use inline Sea Spray Aerosol emissions [ default: Y ]
setenv CTM_WB_DUST Y #> use inline windblown dust emissions [ default: Y ]
setenv CTM_ERODE_AGLAND N #> use agricultural activity for windblown dust **
** #> [ default: N ]; ignore if CTM_WB_DUST = N

setenv CTM_WBDUST_BELD BELD3 #> landuse database for identifying dust source regions **
** #> [ default: UNKNOWN ]; ignore if CTM_WB_DUST = N **
setenv CTM_LTNG_NO N #> turn on lightning NOx [ default: N ]
setenv CTM_WVEL Y #> save derived vertical velocity component to conc **
** #> file [ default: N ]

setenv KZMIN Y #> use Min Kz option in edyintb [ default: Y ], **
** #> otherwise revert to Kz0UT

setenv CTM_ILDEPV Y #> calculate in-line deposition velocities [ default: Y ]
setenv CTM_MOSAIC N #> landuse specific deposition velocities [ default: N ]
setenv CTM_FST N #> mosaic method to get land-use specific stomatal flux **
** #> [ default: N ]

setenv PX_VERSION Y #> WRF PX LSM
setenv CLM_VERSION N #> WRF CLM LSM
setenv NOAH_VERSION N #> WRF NOAH LSM
setenv CTM_ABFLUX N #> ammonia bi-directional flux for in-line deposition **
** #> velocities [ default: N ]; ignore if CTM_ILDEPV = N

setenv CTM_BIDI_FERT_NH3 T #> subtract fertilizer NH3 from emissions because it will be handled
** #> by the BiDi calculation [ default: Y ]

setenv CTM_HGBIDI N #> mercury bi-directional flux for in-line deposition **
** #> velocities [ default: N ]; ignore if CTM_ILDEPV = N

setenv CTM_SFC_HONO Y #> surface HONO interaction [ default: Y ]; ignore if CTM_ILDEPV = N
setenv CTM_GRAV_SETL Y #> vdiff aerosol gravitational sedimentation [ default: Y ]
setenv CTM_BIOGEMIS Y #> calculate in-line biogenic emissions [ default: N ]
setenv CTM_ZERO_PCSOA N #> zero out emissions of VOC precursor for pcSOA formation.
** #> The CMAQ dev team recommends leaving pcSOA mass in the**
** #> model for production runs. [ default: N ]**

#> Vertical Extraction Options
setenv VERTEXT N
setenv VERTEXT_COORD_PATH ${WORKDIR}/lonlat.csv

#> I/O Controls

setenv IOAPI_LOG_WRITE F #> turn on excess WRITE3 logging [ options: T | F ]
setenv FL_ERR_STOP N #> stop on inconsistent input files
setenv PROMPTFLAG F #> turn on I/O-API PROMPT*FILE interactive mode [ options: T | F ]
setenv IOAPI_OFFSET_64 YES #> support large timestep records (>2GB/timestep record) [ options: YES | NO ]
setenv IOAPI_CHECK_HEADERS N #> check file headers [ options: Y | N ]
setenv IOAPI_CFMETA YES
setenv CTM_EMISCHK N #> Abort CMAQ if missing surrogates from emissions Input files
setenv EMISDIAG F #> Print Emission Rates at the output time step after they have been
#> scaled and modified by the user Rules [options: F | T or 2D | 3D | 2DSUM ]
#> Individual streams can be modified using the variables:
#> GR_EMIS_DIAG_## | STK_EMIS_DIAG_## | BIOG_EMIS_DIAG
#> MG_EMIS_DIAG | LTNG_EMIS_DIAG | DUST_EMIS_DIAG
#> SEASPRAY_EMIS_DIAG
#> Note that these diagnostics are different than other emissions diagnostic
#> output because they occur after scaling.
setenv EMIS_DATE_OVRD N #> Master switch for allowing CMAQ to use the date from each Emission file
#> rather than checking the emissions date against the internal model date.
#> [options: T | F or Y | N]. If false (F/N), then the date from CMAQ’s internal
#> time will be used and an error check will be performed (recommended). Users
#> may switch the behavior for individual emission files below using the variables:
#> GR_EM_DTOVRD_## | STK_EM_DTOVRD_##

#> Aerosol Diagnostic Controls
setenv CTM_PMDIAG Y #> Instantaneous Aerosol Diagnostic File [ default: Y ]
setenv CTM_APMDIAG Y #> Hourly-Average Aerosol Diagnostic File [ default: Y ]
#setenv APMDIAG_BLEV_ELEV “1 3” #> layer range for average pmdiag
setenv APMDIAG_BLEV_ELEV “” #> layer range for average pmdiag = NLAYS

#> Diagnostic Output Flags
setenv CTM_CKSUM Y #> checksum report [ default: Y ]
setenv CLD_DIAG Y #> cloud diagnostic file [ default: N ]
setenv CTM_AERDIAG Y #> aerosol diagnostic file [ default: N ]

setenv CTM_PHOTDIAG Y #> photolysis diagnostic file [ default: N ]
setenv NLAYS_PHOTDIAG “3” #> Number of layers for PHOTDIAG2 and PHOTDIAG3 from
#> Layer 1 to NLAYS_PHOTDIAG [ default: all layers ]
#setenv NWAVE_PHOTDIAG “294 303 310 316 333 381 607” #> Wavelengths written for variables
#> in PHOTDIAG2 and PHOTDIAG3
#> [ default: all wavelengths ]

setenv CTM_SSEMDIAG Y #> sea-spray emissions diagnostic file [ default: N ]
setenv CTM_DUSTEM_DIAG Y #> windblown dust emissions diagnostic file [ default: N ];
#> Ignore if CTM_WB_DUST = N
setenv CTM_DEPV_FILE Y #> deposition velocities diagnostic file [ default: N ]
setenv VDIFF_DIAG_FILE Y #> vdiff & possibly aero grav. sedimentation diagnostic file [ default: N ]
setenv LTNGDIAG Y #> lightning diagnostic file [ default: N ]
setenv B3GTS_DIAG Y #> BEIS mass emissions diagnostic file [ default: N ]
setenv PT3DDIAG N #> 3D point source emissions diagnostic file [ default: N];
setenv PT3DFRAC N #> layer fractions diagnostic file(s) [ default: N];
setenv REP_LAYER_MIN -1 #> Minimum layer for reporting plume rise info [ default: -1 ]

set DISP = delete #> [ delete | keep ] existing output files

##################################################################################

Based on the script, I have two concerns.

  1. Note that the parameter “CTM_LTING_NO” is set to be N.
  2. I set the ACONC_BLEV_ELEV to be “1 1”. What does it mean? Doe it mean surface level of the average of all layers?

The NO3 and HNO3 avg. concentration are shown below. They seem not right.


Could you give me some advice on the outputs? If you need any supporting files, please let me know and I can upload them.

Thanks very much!

Yijia

Does anyone know any publications on CMAQ application on 2014 emission inventory? For example, the study of reactive nitrogen or PM2.5 using CMAQ.