The PM2.5 concentration appears to be discontinuous, as if it is restarting every day

Hello, everyone!
I am encountering some issues while using CMAQ-5.3.2 for a simulation (two levels of domains). The PM2.5 concentration appears to be discontinuous, as if it is restarting every day. In fact, my CCTM parameters are set to output results once a day, and both my ICON and BCON files are also configured to generate output daily. For the second domain of ICON/BCON, I am using the modeling results from the first domain.

I have uploaded the relevant documents for your review. Thank you for your attention.


run_bcon-XiXian-D01.csh (6.1 KB)
run_bcon-XiXian-D02.csh (6.4 KB)
run_icon-XiXian-D01.csh (5.7 KB)
run_icon-XiXian-D02.csh (5.9 KB)

Here are two scripts for run_cctm.
run_cctm-XiXian-D01.csh (37.3 KB)
run_cctm-XiXian-D02-copy.csh (37.3 KB)

My settings are ROW = 77, COL = 99 for the first domain (27 km), and ROW = 108, COL = 123 for the second domain (9 km). The ICON, BCON, and CCTM log files have been uploaded for your review. I can only upload 5 files at a time, I’ll upload the other log files next time.
bcon-XiXian-D01.txt (53.2 KB)
bcon-XiXian-D02.txt (32.6 KB)
icon-XiXian-D01.txt (51.6 KB)
icon-XiXian-D02.txt (29.3 KB)

Here are CTM_LOG files.
CTM_LOG_000.v532_intel_20200701–D01.txt (484.9 KB)
CTM_LOG_000.v532_intel_20200701-D02.txt (1.6 MB)

Thanks for posting these log files.

The problem is caused by not writing out all CMAQ species to the CONC file for D01 and instead limiting the output to only 13 species. Therefore, when this D01 CONC file is used as input to ICON and BCON to generate initial and boundary conditions for D02, these files also contain only 13 variables. When D02 is run with these initial and boundary condition files, concentrations for all other species (including many aerosol species) are initialized to 1E-30 and set to the same value at the D02 boundaries. You can see this being reported in the “LOAD INITIAL CONDITIONS” section of the CTM_LOG_000 file for D02. Because of this issue, the second day almost looks like a clean start for D02.

To fix this problem, change the following line in your D01 CCTM run script



setenv CONC_SPCS "ALL" 

and then regenerate your initial and boundary conditions for D02 after rerunning CCTM for D01.

In addition, for clarity and consistency, I suggest changing the D02 icon and bcon run scripts as follows, to have the “_FIN” variables point to D02 MCIP files. This will not change any actual results because in your setup no variables needed for vertical interpolation are being read from these files as the grid structure matches across domains, but it’s still an incorrect script setting.

ICON D02 run script - change

setenv MET_CRO_3D_FIN $CMAQ_DATA/XiXian/mcip/XiXian_27KM/METBDY3D_${ju_curday}.nc


setenv MET_CRO_3D_FIN $CMAQ_DATA/XiXian/mcip/XiXian_9KM/METBDY3D_${ju_curday}.nc

BCON D02 run script - change

setenv MET_BDY_3D_FIN $CMAQ_DATA/XiXian/mcip/XiXian_27KM/METBDY3D_${ju_curday}.nc


setenv MET_BDY_3D_FIN $CMAQ_DATA/XiXian/mcip/XiXian_9KM/METBDY3D_${ju_curday}.nc
1 Like

Thank you very much for your patience, sir. The suggestions you made are very practical for me.
I also discovered some issues in my run_cctm script. When I added the loop at the beginning of the script, the command around line 762,

#The next simulation day will, by definition, be a restart
setenv NEW_START false

was ignored, making it seem like a clean start each day. After I removed my custom loop and used the loop that comes with run_cctm, the modeling values looked much more normal.
Thanks again. :handshake: :handshake:

1 Like

I think another suggestion is to use the CGRID file, that contains all of the variables for the initial conditions instead of the CONC file.


Thank you for your eagerness to help! You’ve given me another solution to this problem.