Combine run issue

Hi all,
I’m trying to run the combine post-processor and come across the following error:

WARNING File does not exist:INFILE5
Value for GENSPEC: N returning FALSE
Value for IOAPI_CHECK_HEADERS not defined;returning default: FALSE
Variable name VNAME3D( 40 ) = “BENZENE” duplicates VNAME3D( 10 ) = “BENZENE” in file “OUTFILE”
(some more variables set)
Error creating netCDF variable BENZENE
netCDF error number -42 processing file “OUTFILE”
NetCDF: String match to name in use OUTFILE:/central/groups/seinfeldgroup/CMAQ_EAP_base5.2.1/data/LA4km/cctm_output/
>>—>> WARNING in subroutine OPEN3
File not available.
ERROR while openning OUTFILE

I don’t know why it’s trying to open INFILE5 when there should be only 4 input files. And it also should be able to create the OUTFILE, but I’m not sure why it’s replicating the BENZENE variable. Any advice?

The warning about INFILE5 is not a problem, the program will simply try to open INFILE1, INFILE2, …INFILEn until it finds one that isn’t defined. In your case, it seems only INFILE1 through INFILE4 are defined in the run script so the program attempts to open INFILE5, determines that it isn’t defined, and then proceeds with INFILE1 - INFILE4.

The error message about BENZENE suggests that it is defined twice in your species definition file. If you post the file, we can have a look at it.

1 Like

Thank you! BENZENE was defined twice in SpecDef_saprc07tb_ae6_aq.txt, and combine ran successfully when I commented out the second instance.

1 Like

Thanks for alerting us to the duplication of the BENZENE definition in SpecDef_saprc07tb_ae6_aq.txt. Commenting out or deleting one of the duplicate definitions is the correct fix.

It seems this duplication was present in CMAQ5.2 and CMAQ5.2.1 for the SpecDef files for the saprc07tb_ae6_aq, saprc07tc_ae6_aq, and saprc07tc_ae6nvPOA_aq mechanisms. It is also present in the CMAQ5.3 beta release CMAQ5.3.b2 for the SpecDef file for the saprc07tc_ae6_aq mechanism.

We will fix this issue in the final release of CMAQ5.3. We will not update prior releases. The fix described above should be used when encountering this issue with prior releases.


Thank you for helping us identify this problem and documenting the solution. This is now documented on the v5.2 and v5.2.1 Known Issues pages on GitHub.

1 Like


I’m trying to run combine on my CCTM output file. I’m getting an error while creating the deposition file. combine ACONC file ran ok. Here’s the error that I’m getting: Error Invalid field encountered:Nitric Acid
Can you please let me know what did I do wrong? Please see the attached log file and my combine run script.

Raselcombine.aconc.log.txt (167.8 KB)
run_combine_test.csh.txt (6.9 KB)

This is likely caused by a syntax error in your species definition file used to create the COMBINE_DEP file, in the line below the expression for WDEP_O3 which is still being processed successfully. If you post your SpecDef_Dep file, we can have a closer look.

Here’s the attached SpecDef_Dep file
SpecDef_Dep_cb6r3_ae6nvPOA_aq.txt (8.6 KB)

Thanks. Changing line 39 from

WDEP_PNA ,kg/ha ,PNA[2] ! Peroxy-Nitric Acid


WDEP_PNA ,kg/ha ,PNA[2]

should fix this problem.

Users working with CMAQv5.2.1 cb6r3_ae6nvPOA_aq should also make this update to their SpecDef_Dep_cb6r3_ae6nvPOA_aq.txt file.

It didn’t work for me. Still giving me the same error (Error Invalid field encountered:Nitric Acid ) after correcting WDEP_PNA ,kg/ha ,PNA[2] ! Peroxy-Nitric Acid to WDEP_PNA ,kg/ha ,PNA[2]
Here’s the log file
combine.aconc.log.txt (168.3 KB)

Thanks for trying and reporting back.

Are you certain you are referencing the corrected SpecDef_Dep file in your combine run script? If you edited the SpecDef_Dep file but your run script uses relative paths, maybe there are multiple copies of that file on your system and the run script is still referencing the unedited file.

Can you search for the string “Nitric Acid” in the SpecDef_Dep file referenced in your run script? It should no longer be there, but the error message indicates that the code is still encountering it and does not know what do with it.

My mistake. Now I’ve changed the file in the CMAQ_REPO directory (REPO_HOME/POST/combine/scripts/spec_def_files/SpecDef_Dep_{MECH}.txt) and it resolved the issue. However, I guess I’m facing another similar problem. Now the error is saying:
ERROR Invalid syntax for field: CLNO2[2]

ERROR Cannot read CLNO2 from INFILE2

Here’s the attached log filecombine.aconc.log.txt (170.3 KB)

Thanks for confirming that this fixed the initial model crash due to the comment field that should not have been there.

The new error you encounter is caused by the fact that the definition for WDEP_TCL appears to reference a species (CLNO2) that is not part of the CCTM_WETDEP file. Unless you are really interested in WDEP_TCL and TDEP_CL, you could change these two lines:

WDEP_TCL ,kg/ha ,0.972*HCL[2]+0.435*CLNO2[2] + ACLJ[2] + ACLK[2]


!WDEP_TCL ,kg/ha ,0.972*HCL[2]+0.435*CLNO2[2] + ACLJ[2] + ACLK[2]
!TDEP_CL ,kg/ha ,DDEP_ACLJK[0] + WDEP_TCL[0]

or remove them altogether.

Alternatively, you could change

WDEP_TCL ,kg/ha ,0.972*HCL[2]+0.435*CLNO2[2] + ACLJ[2] + ACLK[2]


WDEP_TCL ,kg/ha ,0.972*HCL[2]+ ACLJ[2] + ACLK[2]

and then keep in mind that your definition of WDEP_TCL would not include any contribution from CLNO2 which isn’t available in your CCTM_WETDEP files

If you really wanted to include that species in your CCTM_WETDEP files and analysis, you would have to edit GC_cb6r3_ae6nvPOA_aq.nml as follows and then rerun CMAQ:






I’ve another question. I’ve also CMAQ DDM sensitivity files. Now if I want to calculate PM2.5 using my ASENS file, it will not work since variable names won’t match with SpecDef file names (see the attached picture). Is there any way I can resolve this issue? I want to calculate PM using sensitivity files. Also would like to see deposition using sensitivity files.

You’ll have to create new SpecDef files that use the variable names as they exist in your DDM files.

For example, if you’re interested in total I/J mode sulfate from the “ENX” tag and would like to call it “ASO4IJ_ENX”, you’d use a line like this (assuming your ASENS file is referenced as INFILE1):

ASO4IJ_ENX ,ug/m3 ,ASO4I_ENX[1]+ASO4J_ENX[1]

As a starting point, you can use the SpecDef and SpecDef_Dep files used to process regular concentration and deposition fields and then append the tag names and remove any aggregate species you may not be interested in and/or may not have available in your DDM output files.

1 Like

got it. Thank you for the help

Hi there,
Could anyone help with combine error I have? The problem seems known, but I don’t know how to resolve it. So any tip is appreciated. I use CMAQv5.2.
My CMAQ output has only 1-verical layer, but WRF model has 37-layers. Now, combine could not process the run, reporting the following error:
File name “/aqpmodels/CMAQ/output/YVPM25emiuptd_Oct2019_CCTM_v52_gcc_EMAQ1p3km/”
File type GRDDED3
Execution ID “CCTM_v52.exe”
Grid name “EMAQ1p3km”
Dimensions: 100 rows, 88 cols, 1 lays, 233 vbles
NetCDF ID: 65536 opened as READONLY
Starting date and time 2019300:080000 (8:00:00 Oct. 27, 2019)
Timestep 010000 (1:00:00 hh:mm:ss)
Maximum current record number 24

 "INFILE2" opened as OLD:READ-ONLY
 File name "/home/tes/Documents/WRF/5.2/data/EMAQ1p3km/mcip/"
 File type GRDDED3
 Execution ID "mcip"
 Grid name "METCRO_EMAQ1p3_C"
 Dimensions: 100 rows, 88 cols, 37 lays, 17 vbles
 NetCDF ID:    131072  opened as READONLY
 Starting date and time  2019300:080000 (8:00:00   Oct. 27, 2019)
 Timestep                          010000 (1:00:00 hh:mm:ss)
 Maximum current record number        25

Error Inconsistence file domain for INFILE2
ERROR Cannot open all input files

I’m guessing from the name of your directory path (“EMAQ1p3km”) that your grid resolution is 1.3333 km and that there may be very slight differences in the XCELL and/or YCELL attributes between the CCTM_ACONC file opened as INFILE1 and the METCRO3D files opened as INFILE2. You could verify this by doing an ncdump -h on both files and comparing the grid attributes.

There is a known shortcoming of the portion of combine that ensures consistency of grids across files before combining variables from the different files. This shortcoming affects domains with “odd” grid spacing and/or grid origin values. There are multiple examples of this issue in this thread, along with suggested code changes to solve this issue by relaxing the tolerance criteria or making these criteria relative rather than absolute (the more robust solution).

Thank you, @hogrefe.christian:
You diagnosed the problem correctly. And following your linked thread above, I was able to change the two lines from absolute to relative conditions, cleaned the make and re-built it. Combine is now running normally!
Thank you,