Hi everyone, When I was running CCTM(with CMAQv5.2), I came across such a mistake, The error shows that the unit of aerosol is incorrect. I attach my EMIS file along with run_cctm.csh. could anyone help me?I would appreciate it if you could check my input file for me.
—>> WARNING in subroutine AERO_EMIS_INIT on PE 000
Cannot define index for SO4 emissions: aerospc%emis=’ ’ in AERO_DATA.F. Check if AE namelist is
M3WARN: DTBUF 0:00:00 Jan. 30, 2020 (2020030:000000)
>>--->> WARNING in subroutine AERO_EMIS_INIT on PE 000
FATAL: Units incorrect on EMIS_1 for aerosol species.
M3WARN: DTBUF 0:00:00 Jan. 30, 2020 (2020030:000000)
I am not completely sure if this is the root cause of this specific error message, but your emissions file does not comply with I/O API standards. Specifically, out of the 67 species expected based on the VAR dimension, only the first 60 have the required units, long_name, and var_desc attributes, but the last 7 do not:
In addition, the VAR-LIST global attribute lists only the first 60 species, despite the VAR dimension being 67, which also violates I/O API standards. I am not familiar with the “gaoc” tool seemingly used to prepare this file (based on the attribute “made in gaoc”), but you’ll likely need to fix that tool such that the files generated by it are I/O API compliant.
Hello, sir. Thanks for your reply!
I have encountered such a problem. According to what you said, I ran it again after adding the units, long_name, and var_desc attributes for the last seven compounds, but I still got the same error.
Since the version I used was 5.2, I need to combine the anthropogenic source and natural source emission files. I used “gaoc” tool to process the Chinese anthropogenic sources of MEIC, and put it into CMAQ and the model works properly (therefore, there is no problem with “gaoc” tool).
I then proceeded to use python to merge the anthropogenic source and the natural source and input the merged file into CMAQ (60 of the 67 compounds in the merged nc file are common, and 7 compounds are only natural sources), and the above error (unit error) occurred.
After I tried to remove these 7 compounds from the merged file and re-run it, CMAQ was able to run again. Is it because the biological source inventory unit may not match the CMAQ version? I don’t get it.
Attached is the detailed information of my MENGAN OUTPUT (ncdump-h) ncdump -h MEGAN output.csh (16.1 KB)
The Models-3 I/O API is a programming interface, not a data format !! I/O API files are not synonymous with “netCDF files” !!
Do you treat Microsoft “.docx” as a data format and edit it with your hex editor???
So far, out of many attempts, every effort to treat the I/O API as a data format has failed to get at least some of the internal data structures right. Do it the right – and documented! – way, from Fortran or C!
As @cjcoats noted, using this approach rather than working with a tool written in Fortran and compiled with the I/O API library to merge together your (working) anthropogenic emissions file and your (seemingly fine, based on the header information in your last post) MEGAN file is what caused your problems.
For example, you could use SMOKE tool mrggrid to accomplish the merge of the two files, again assuming that both of them are correct. There probably are some tools as part of the m3tools package that can do this, too.