I am currently encountering some issues while running CMAQ and I cant find similar situation from earlier post. For reaching out for your guidance I have attached the error log and my run script for your reference.
The emission source was processed using the SMOKE tool with the EDGAR HTAP-V3 inventory. The original processing chemical mechanism for SMOKE-4.7 is CB5. So I made modifications to the gspro, gsref, and invtable files to adapt them for the CB6R5AE7 chemical mechanism in CMAQ-5.4 (keep gscnv file as the same, I dont have one for cb6 to replace). Based on the error log, I did not find any missing values in the emission input files so I felt confused about the reason why it crashed.
The version of programs I used are CMAQ-5.4.0.4, WRF-3.8/WRF4.1.1(I tried both of them) and SMOKE-4.7
>>--->> WARNING in subroutine aq_data_init on PE 000
Skipping AQ surrogate for AEROSPC AH3OPI AH3OPJ AH3OPK
CGRID_SPC SPC SURROGATE ISRG IDX
CO2 is not in GC or NR namelist so using background value of 340.0000
CGRID_SPC SPC SURROGATE ISRG IDX
TRACER_AITKEN is not in AE namelist so using background value of 0.0000
TRACER_ACCUM is not in AE namelist so using background value of 0.0000
TRACER_COARSE is not in AE namelist so using background value of 0.0000
PHG_AITKEN is not in AE namelist so using background value of 0.0000
PHG_ACCUM is not in AE namelist so using background value of 0.0000
PHG_COARSE is not in AE namelist so using background value of 0.0000
--- AQCHEM Gas and Aerosol Species Mapped ---
*** ERROR ABORT in subroutine AQCHEM on PE 000
Maximum AQCHEM total iterations exceeded
PM3EXIT: DTBUF 0:00:00 July 2, 2017
Date and time 0:00:00 July 2, 2017 (2017183:000000)
The cause of this problem could be non-trivial. I used the following few lines to print out the values for closer examination when I encountered this problem in the past:
write (logdev, '(a16, 20e15.8)') ' ==d== aqchem a ', airm, ALFA0, ALFA2, ALFA3, PRCRATE
write (logdev, '(a16, 20e15.8)') ' ==d== aqchem b ', PRES_PA, TAUCLD, TEMP, WCAVG, WTAVG, COSZ
do iox = 1, size(gas)
write (logdev, '(a16, i5, 20e15.8)') ' ==d== aqchem c ', iox, gas(iox), GASWDEP(iox)
end do
do iox = 1, size(AEROSOL,1)
write (logdev, '(a16, 20e15.8)') ' ==d== aqchem d ', AEROSOL(iox,:), AERWDEP(iox,:)
end do
I also consulted with my colleagues who are chemists or aerosol experts to determine which value(s) was/were out of whack.
I hope this gives you some insight for finding the origin of your problem.
I don’t know whether this is the cause of your problem, but I notice your meteorological data from MCIP have a 3-hour timestep. We recommend (and always use) a 1-hour timestep, or sometimes finer.
If your wrfout data have hourly frequency, then you can rerun MCIP and set MCIP to output data at that frequency. If your wrfouts are on a 3-hour timestep, then you might need to rerun WRF.
In my experience, convergence failures in AQCHEM and in the chemical mechanism solvers are always due to bad input data rather than problems in the routines themselves.
One good way to track for when a problem is occurring in your simulation is to look at the checksums that are output after each science process. You can search for ‘After’ in your log file.
After INITSCEN : Gas 2.414E-01 | Aer 2.979E+09 | Non 1.125E-04
After VDIFF : Gas 2.414E-01 | Aer 2.979E+09 | Non 1.738E+05
This shows that the total quantity of nonreactive species increased by 9 orders of magnitude during the VDIFF process, while the total quantity of gas-phase species did not increase at all. This seems strange. What NR species are being emitted? Are your NH3 emissions blowing up? You are not using online calculation of biogenic emissions, but maybe something is bad in one of your input files. You only have one emissions input file, so it should not be too difficult to check.
Based on this sleuthing by @cgnolte , it’s quite likely that the extremely high NH3 emissions you reported in another thread are the root cause of this CMAQ crash, assuming that you used those emissions in this run.