Cmaq-5.3.2 compilation error

Dear @cgnolte @FengLiu @wong.david-c @cjcoats @lizadams

I’m trying to compile CMAQ-5.3.2 but the source files (SRC) of CCTM, ICON, BCON, and MCIP couldn’t be found after executing the bldit_project.csh and even ./config_cmaq.csh scripts. Also, in the BLD directory of each of them, only ICON_v532.cfg.bld (ICON for example) was created. Definitely, the compilation wasn’t successful at all. The bldit_bldmake.csh script didn’t compile too as there were no EXEC files just like in ICON, BCON, CCTM and others.

I’ll appreciate your prompt responses and solutions.

Thanks

From your CMAQ_HOMEdirectory, what does the command

 find . -name 'BLD*'

say? If it gives a bunch of directories with your C-compiler name as one of the components of the name, then those are your source directories. If so, it should work to do the command make in each…

The contents under $CMAQ_HOME should look like this.
total 276
drwxr-xr-x 3 lizadams rc_cep-emc_psx 25 Oct 8 15:29 CCTM
drwxr-xr-x 5 lizadams rc_cep-emc_psx 66 Oct 8 15:29 PREP
drwxr-xr-x 11 lizadams rc_cep-emc_psx 250 Oct 8 15:30 POST
drwxr-xr-x 3 lizadams rc_cep-emc_psx 24 Oct 8 15:50 lib
drwxr-xr-x 4 lizadams rc_cep-emc_psx 48 Oct 8 15:50 UTIL
-rwxr-xr-x 1 lizadams rc_cep-emc_psx 11441 Oct 9 13:25 config_cmaq.csh
drwxr-xr-x 8 lizadams rc_cep-emc_psx 386 Nov 10 08:50 data

You will not see the src code or directories until you run the bldit_*.csh script that is under the PREP/icon/scripts or PREP/bcon/scripts subdirectory.

under the directory “YOUR_CMAQ_HOME”/PREP/bcon/scripts

You need to run the bldit_bcon.csh script to obtain the src code from the CMAQ_REPO.

If you are using the intel compiler use the following command.

./bldit_bcon.csh intel |& tee ./bldit_bcon.intel.log

If you are using the gcc compiler

./bldit_bcon.csh gcc |& tee ./bldit_bcon.gcc.log

The instructions to build the CCTM model is available in the following tutorial.

Dear @cjcoats,

Below is the response I got after issuing the command:

./PREP/icon/scripts/BLD_ICON_v532_gcc
./PREP/bcon/scripts/BLD_BCON_v532_gcc
./CCTM/scripts/BLD_CCTM_v532_ISAM_gcc7.3.0

but the ICON BLD directory only has ICON_v532.cfg.bld, BCON has BCON_v532.cfg.bld while CCTM has CCTM_v532_ISAM.cfg.bld, CONST.EXT, EMISPRM, FILES_CTM.EXT and PE_COMM.EXT in it.

This is what’s contained in the ICON_v532.cfg.bld and similar to BCON and CCTM too:
model ICON_v532.exe;
repo /home/catalyst/Desktop/Build_WRF/CMAQ-master/PREP/icon/src;
lib_base /home/catalyst/Desktop/Build_WRF/CMAQ-master/lib/x86_64/gcc7.3.0;
lib_1 ioapi/modules;
lib_2 ioapi/include_files;
lib_4 ioapi/lib;
cpp_flags “”;
f_compiler mpifort;
fstd “-O3 -funroll-loops -finit-character=32 -Wtabs -Wsurprising”;
dbg “-Wall -O0 -g -fcheck=all -ffpe-trap=invalid,zero,overflow -fbacktrace”;
f_flags “-ffixed-form -ffixed-line-length-132 -funroll-loops -finit-character=32”;
f90_flags “-ffree-form -ffree-line-length-none -funroll-loops -finit-character=32”;
link_flags “-fopenmp”;
ioapi “-lioapi”;
netcdf "-lnetcdff -lnetcdf ";

I am confused and don’t know what to do.

Thanks

I did the same way. I am using CMAQ5.2 already and know the steps but the CMAQ-5.3.2 seems quite different entirely in compilation.

Kindly read my above response to @cjcoats to help.

Thanks

Please share the log file from this step.

	./bldit_icon.csh gcc | & tee ./bldit_icon.gcc.log

Make sure that the config_cmaq.csh has the correct settings for

setenv CMAQ_HOME
and
setenv CMAQ_REPO

@lizadams

Attached is the log file. Also attached are the bldit_project.csh and config_cmaq.csh scripts for your attention. I noticed that there’s no bldmake file in the UTIL directory, the directory only has jproc as a file.

Thanks so much.

bldit_icon.gcc.log.txt (4.5 KB)bldit_icon.csh (10.0 KB) config_cmaq.csh (13.0 KB) bldit_project.csh (12.2 KB)

It looks like this is your problem.

/home/catalyst/Desktop/Build_WRF/CMAQ-5.3.2/UTIL/bldmake/bldmake_gcc.exe: Command not found.

Earlier in the script, it looks like the bldit_bldmake.csh was successfully building an executable for bldmake that contained the version number.
Finish building bldmake_gcc7.3.0.exe

I think the problem is in your config_cmaq.csh

You modified line 47 to use

setenv compilerVrsn 7.3.0

when it should be

setenv compilerVrsn Empty

Please change it, and run the bldit_icon.csh script again to see if that solves the problem.

Liz

Dear @lizadams @cjcoats ,

Your suggestion has truly worked for me and got it compiled successfully. Thanks a lot.

The next task now is that I want to run ICON, BCON, and CCTM for the coarse domain (using profile). My mechanism is saprc07tic_ae6i_aq but couldn’t find such in the BLD directory of ICON and BCON as it used to be for CMAQ5.2 (where I do use $BLD/ic_profile_SAPRC07T.dat for the IC profile and $BLD/bc_profile_SAPRC07T.dat for the BC profile) which I have been using before now. There are some .CSV files in the BLD directory but none of it corresponds to my mechanism. How do I go about this? Am I to use avprofile_saprc07tc_ae6_aq_derived_from_cb6r3m_ae7_kmtbr_hemi2016_v53beta2_m3dry_col051_row068.csv for the profile noting that my mechanism is saprc07tic_ae6i_aq?

NOTE: I compiled ISAM with CMAQ.

Thanks in anticipation and kind regards,

Catalyst

Dear @lizadams @cjcoats @FengLiu @wong.david-c

I want to use ISAM along with CMAQ. The isam_control.txt file contains:

!!! The “TAG CLASSES” line defines the tag classes to track for the simulation. Species in NITRATE and VOC classes depend on the
!!! the chemical mechanism used. The below definitions apply for the cb6r3_ae7_aq mechanism. These species will be tracked for
!!! each user-defiend source.
!!! Choose any/all from the list of nine: SULFATE, NITRATE, AMMONIUM, EC, OC, VOC, PM25_IONS, OZONE, CHLORINE
!!! SULFATE - ASO4J, ASO4I, SO2, SULF, SULRXN
!!! NITRATE - ANO3J, ANO3I, HNO3, NO, NO2, NO3, HONO, N2O5, PNA, PAN, PANX, NTR1, NTR2, INTR, CLNO2, CLNO3
!!! AMMONIUM - ANH4J, ANH4I, NH3
!!! EC - AECJ, AECI
!!! OC - APOCI, APOCJ, APNCOMI, APNCOMJ
!!! VOC - Various species depending on mechanism. Now includes CO. (see CCTM/src/isam/SA_DEFN.F for complete list)
!!! PM25_IONS - ANAI, ANAJ, AMGJ, AKJ, ACAJ, AFEJ, AALJ, ASIJ, ATIJ, AMNJ, AOTHRI, AOTHRJ
!!! OZONE - O3, all NITRATE species, and all VOC species
!!! CHLORINE - ACLI, ACLJ, HCL

TAG CLASSES |SULFATE, OZONE

!!! The following are source definition text blocks in the format. Provide a 3-line block for each source you want to track.
!!! Do not assign the same source of mass in more than 1 source definition block.
!!! TAG NAME |Three character text string (unique to each source definition)
!!! REGION(S) |Keyword EVERYWHERE or variable names from the region file (multiple regions need to be comma delimited)
!!! FILENAME(S) |Emissions labels (multiple labels need to be comma delimited)

TAG NAME |GAE
REGION(S) |GA
EMIS STREAM(S) |PT_EGU

TAG NAME |GAF
REGION(S) |GA
EMIS STREAM(S) |PT_FIRES

TAG NAME |NCE
REGION(S) |NC
EMIS STREAM(S) |PT_EGU

TAG NAME |NCF
REGION(S) |NC
EMIS STREAM(S) |PT_FIRES

ENDLIST eof

but my mechanism is saprc07tic_ae6i_aq and I am using my own gridded emission files. If I want to track PM2.5 for example, how do I define the *isam_control.txt file for my case?

Thanks in anticipation.

Dear @cjcoats @lizadams @sergey @FengLiu

CTM_LOG_000.v532_ISAM_gcc_saprc07tic_ae6i_aq_20180701.txt (75.7 KB) logfile.txt (122.7 KB)

I tried to run CMAQ-ISAM in CMAQ-5.3.2 but got error. Below is the summary of the error I got:

Error termination. Backtrace:
At line 2412 of file EMIS_DEFN.F
At line 2412 of file EMIS_DEFN.F
Fortran runtime error: End of file

Attached are the logfiles.

Thanks in anticipation for your help.

UPDATE:

In my EMIS_DEFN.F file, I think this is where the problem is:

! This subroutine checks for invalid values of the operation parameter
! in the rules from the emission control list

     IMPLICIT NONE

     REAL, INTENT( OUT )              :: CONV
     CHARACTER( 4 ) , INTENT( OUT )   :: BASIS
     CHARACTER( 16 ), INTENT( INOUT ) :: UNITS
     INTEGER, INTENT( IN )            :: ISRM
     INTEGER, INTENT( IN )            :: ISUR
     CHARACTER( 16 ), INTENT( IN )    :: SPEC
     CHARACTER( 200 )      :: XMSG
     INTEGER               :: X, SLASH_IND

     CONV = 1.0

     CALL UPCASE( UNITS )

     ! Find Break between numerator and denominator. If it's not a
     ! slash, then it should be the first space
     SLASH_IND = INDEX( UNITS, '/' )
     IF ( SLASH_IND .EQ. 0 ) SLASH_IND = INDEX( UNITS, ' ' )
     X = SLASH_IND - 1

     ! Check for Molar or Mass Units
     IF ( UNITS(1:X) .EQ. 'MOLE' .OR. UNITS(1:X) .EQ. 'MOLES' .OR.
 &        UNITS(1:X) .EQ. 'MOL' ) THEN
        ! No Conversion Needed for Moles to Moles
        CONV = 1.0 
        BASIS = 'MOLE'
     ELSE IF ( UNITS(1:X) .EQ. 'KMOLE' .OR. UNITS(1:X) .EQ. 'KMOLES' .OR.
 &             UNITS(1:X) .EQ. 'KMOL' ) THEN
        ! Convert kmol to mol
        CONV = 1000.0
        BASIS = 'MOLE'
     ELSE IF ( UNITS(1:X) .EQ. 'MMOLE' .OR. UNITS(1:X) .EQ. 'MMOLES' .OR.
 &             UNITS(1:X) .EQ. 'MMOL' ) THEN
        ! Convert mmol to mol
        CONV = 1.0e-3
        BASIS = 'MOLE'
     ELSE IF ( UNITS(1:X) .EQ. 'UMOLE' .OR. UNITS(1:X) .EQ. 'UMOLES' .OR.
 &             UNITS(1:X) .EQ. 'UMOL' ) THEN
        ! Convert umol to mol
        CONV = 1.0e-6
        BASIS = 'MOLE'
     ELSE IF ( UNITS(1:X) .EQ. 'GRAM' .OR. UNITS(1:X) .EQ. 'GRAMS' .OR.
 &             UNITS(1:X) .EQ. 'G'    .OR. UNITS(1:X) .EQ. 'GM'    .OR.
 &             UNITS(1:X) .EQ. 'GMS'  .OR. UNITS(1:X) .EQ. 'GS'  ) THEN
        ! No Conversion Needed for Grams to Grams
        CONV = 1.0
        BASIS = 'MASS'
     ELSE IF ( UNITS(1:X) .EQ. 'KGRAM' .OR. UNITS(1:X) .EQ. 'KGRAMS' .OR.
 &             UNITS(1:X) .EQ. 'KG'    .OR. UNITS(1:X) .EQ. 'KGM'    .OR.
 &             UNITS(1:X) .EQ. 'KGMS'  .OR. UNITS(1:X) .EQ. 'KGS' ) THEN
        ! Convert kg -> g
        CONV = 1000.0
        BASIS = 'MASS'
     ELSE IF ( UNITS(1:X) .EQ. 'MGRAM' .OR. UNITS(1:X) .EQ. 'MGRAMS' .OR.
 &             UNITS(1:X) .EQ. 'MG'    .OR. UNITS(1:X) .EQ. 'MGM'    .OR.
 &             UNITS(1:X) .EQ. 'MGMS'  .OR. UNITS(1:X) .EQ. 'MGS' ) THEN
        ! Convert mg -> g
        CONV = 1.0e-3
        BASIS = 'MASS'
     ELSE IF ( UNITS(1:X) .EQ. 'UGRAM' .OR. UNITS(1:X) .EQ. 'UGRAMS' .OR.
 &             UNITS(1:X) .EQ. 'UG'    .OR. UNITS(1:X) .EQ. 'UGM'    .OR.
 &             UNITS(1:X) .EQ. 'UGMS'  .OR. UNITS(1:X) .EQ. 'UGS' ) THEN
        ! Convert ug -> g
        CONV = 1.0e-6
        BASIS = 'MASS'
     ELSE IF ( UNITS(1:X) .EQ. 'NGRAM' .OR. UNITS(1:X) .EQ. 'NGRAMS' .OR.
 &             UNITS(1:X) .EQ. 'NG'    .OR. UNITS(1:X) .EQ. 'NGM'    .OR.
 &             UNITS(1:X) .EQ. 'NGMS'  .OR. UNITS(1:X) .EQ. 'NGS' ) THEN
        ! Convert ng -> g
        CONV = 1.0e-9
        BASIS = 'MASS'
     ELSE
        WRITE( XMSG,'(A,A16,A,/,I3,A11,A16,A,/,A)' ),
 &              'ERROR: Surrogate Species ',TRIM(SPEC),' on emission stream ',
 &              ISRM, ' has units ',TRIM(UNITS),' which are unkown to CMAQ. ',
 &              'Please correct them to proceed.'
        CALL M3EXIT( 'CHECK_EMIS_UNITS', 0, 0, XMSG, 2 )
     END IF

How do solve this, please? @cjcoats @lizadams @FengLiu @skunwar @ykaore @dazhong.yin @sergey

Hello,

I’m not sure why the backtrace has picked up on this particular line, but in any case, the fact that it has made it to this branch of the error decision tree indicates that there are contents in your ‘units’ field that CMAQ is not expecting. Can you share the units of the variables on your emissions file? Are they in mass or moles per time? I can try to guide you to modifying this error check to accommodate your custom files.

-Ben

Dear @Ben_Murphy,

Thanks for your response. For the particles, the unit is g/s while the gases are in mol/s. I use the same emission files for CMAQ-5.2 and there is no issue or an error like this. I’ll sincerely appreciate your help in solving this error.

Thanks in anticipation.

Catalyst

Interesting. Then there should be no issue here. Just to completely confirm this, would you mind posting the text output from an ncdump of the header of one of your emissions input files?

Dear @Ben_Murphy,
Attached is the output of the ncdump.

int TFLAG(TSTEP, VAR, DATE-TIME) ;
TFLAG:units = “<YYYYDDD,HHMMSS>” ;
TFLAG:long_name = "TFLAG " ;
TFLAG:var_desc = "Timestep-valid flags: (1) YYYYDDD or (2) HHMMSS " ;
float CO(TSTEP, LAY, ROW, COL) ;
CO:long_name = "CO " ;
CO:units = "moles/s " ;
CO:var_desc = " " ;
float NO(TSTEP, LAY, ROW, COL) ;
NO:long_name = "NO " ;
NO:units = "moles/s " ;
NO:var_desc = " " ;
float NO2(TSTEP, LAY, ROW, COL) ;
NO2:long_name = "NO2 " ;
NO2:units = "moles/s " ;
NO2:var_desc = " " ;
float SO2(TSTEP, LAY, ROW, COL) ;
SO2:long_name = "SO2 " ;
SO2:units = "moles/s " ;
SO2:var_desc = " " ;
float NH3(TSTEP, LAY, ROW, COL) ;
NH3:long_name = "NH3 " ;
NH3:units = "moles/s " ;
NH3:var_desc = " " ;
float ACET(TSTEP, LAY, ROW, COL) ;
ACET:long_name = "ACET " ;
ACET:units = "moles/s " ;
ACET:var_desc = " " ;
float ALK1(TSTEP, LAY, ROW, COL) ;
ALK1:long_name = "ALK1 " ;
ALK1:units = "moles/s " ;
ALK1:var_desc = " " ;
float ALK2(TSTEP, LAY, ROW, COL) ;
ALK2:long_name = "ALK2 " ;
ALK2:units = "moles/s " ;
ALK2:var_desc = " " ;
float ALK3(TSTEP, LAY, ROW, COL) ;
ALK3:long_name = "ALK3 " ;
ALK3:units = "moles/s " ;
ALK3:var_desc = " " ;
float ALK4(TSTEP, LAY, ROW, COL) ;
ALK4:long_name = "ALK4 " ;
ALK4:units = "moles/s " ;
ALK4:var_desc = " " ;
float ALK5(TSTEP, LAY, ROW, COL) ;
ALK5:long_name = "ALK5 " ;
ALK5:units = "moles/s " ;
ALK5:var_desc = " " ;
float ARO1(TSTEP, LAY, ROW, COL) ;
ARO1:long_name = "ARO1 " ;
ARO1:units = "moles/s " ;
ARO1:var_desc = " " ;
float ARO2MN(TSTEP, LAY, ROW, COL) ;
ARO2MN:long_name = "ARO2MN " ;
ARO2MN:units = "moles/s " ;
ARO2MN:var_desc = " " ;
float BACL(TSTEP, LAY, ROW, COL) ;
BACL:long_name = "BACL " ;
BACL:units = "moles/s " ;
BACL:var_desc = " " ;
float BALD(TSTEP, LAY, ROW, COL) ;
BALD:long_name = "BALD " ;
BALD:units = "moles/s " ;
BALD:var_desc = " " ;
float CCHO(TSTEP, LAY, ROW, COL) ;
CCHO:long_name = "CCHO " ;
CCHO:units = "moles/s " ;
CCHO:var_desc = " " ;
float AACD(TSTEP, LAY, ROW, COL) ;
AACD:long_name = "AACD " ;
AACD:units = "moles/s " ;
AACD:var_desc = " " ;
float CRES(TSTEP, LAY, ROW, COL) ;
CRES:long_name = "CRES " ;
CRES:units = "moles/s " ;
CRES:var_desc = " " ;
float ETHE(TSTEP, LAY, ROW, COL) ;
ETHE:long_name = "ETHE " ;
ETHE:units = "moles/s " ;
ETHE:var_desc = " " ;
float GLY(TSTEP, LAY, ROW, COL) ;
GLY:long_name = "GLY " ;
GLY:units = "moles/s " ;
GLY:var_desc = " " ;
float HCHO(TSTEP, LAY, ROW, COL) ;
HCHO:long_name = "HCHO " ;
HCHO:units = "moles/s " ;
HCHO:var_desc = " " ;
float FACD(TSTEP, LAY, ROW, COL) ;
FACD:long_name = "FACD " ;
FACD:units = "moles/s " ;
FACD:var_desc = " " ;
float IPRD(TSTEP, LAY, ROW, COL) ;
IPRD:long_name = "IPRD " ;
IPRD:units = "moles/s " ;
IPRD:var_desc = " " ;
float ISOP(TSTEP, LAY, ROW, COL) ;
ISOP:long_name = "ISOP " ;
ISOP:units = "moles/s " ;
ISOP:var_desc = " " ;
float MACR(TSTEP, LAY, ROW, COL) ;
MACR:long_name = "MACR " ;
MACR:units = "moles/s " ;
MACR:var_desc = " " ;
float MEK(TSTEP, LAY, ROW, COL) ;
MEK:long_name = "MEK " ;
MEK:units = "moles/s " ;
MEK:var_desc = " " ;
float MEOH(TSTEP, LAY, ROW, COL) ;
MEOH:long_name = "MEOH " ;
MEOH:units = "moles/s " ;
MEOH:var_desc = " " ;
float MGLY(TSTEP, LAY, ROW, COL) ;
MGLY:long_name = "MGLY " ;
MGLY:units = "moles/s " ;
MGLY:var_desc = " " ;
float MVK(TSTEP, LAY, ROW, COL) ;
MVK:long_name = "MVK " ;
MVK:units = "moles/s " ;
MVK:var_desc = " " ;
float NR(TSTEP, LAY, ROW, COL) ;
NR:long_name = "NR " ;
NR:units = "moles/s " ;
NR:var_desc = " " ;
float OLE1(TSTEP, LAY, ROW, COL) ;
OLE1:long_name = "OLE1 " ;
OLE1:units = "moles/s " ;
OLE1:var_desc = " " ;
float OLE2(TSTEP, LAY, ROW, COL) ;
OLE2:long_name = "OLE2 " ;
OLE2:units = "moles/s " ;
OLE2:var_desc = " " ;
float PHEN(TSTEP, LAY, ROW, COL) ;
PHEN:long_name = "PHEN " ;
PHEN:units = "moles/s " ;
PHEN:var_desc = “” ;
float PRD2(TSTEP, LAY, ROW, COL) ;
PRD2:long_name = "PRD2 " ;
PRD2:units = "moles/s " ;
PRD2:var_desc = “” ;
float RCHO(TSTEP, LAY, ROW, COL) ;
RCHO:long_name = "RCHO " ;
RCHO:units = "moles/s " ;
RCHO:var_desc = “” ;
float PACD(TSTEP, LAY, ROW, COL) ;
PACD:long_name = "PACD " ;
PACD:units = "moles/s " ;
PACD:var_desc = “” ;
float TERP(TSTEP, LAY, ROW, COL) ;
TERP:long_name = "TERP " ;
TERP:units = "moles/s " ;
TERP:var_desc = “” ;
float POC(TSTEP, LAY, ROW, COL) ;
POC:long_name = "POC " ;
POC:units = "g/s " ;
POC:var_desc = “” ;
float PEC(TSTEP, LAY, ROW, COL) ;
PEC:long_name = "PEC " ;
PEC:units = "g/s " ;
PEC:var_desc = “” ;
float PNH4(TSTEP, LAY, ROW, COL) ;
PNH4:long_name = "PNH4 " ;
PNH4:units = "g/s " ;
PNH4:var_desc = “” ;
float PNO3(TSTEP, LAY, ROW, COL) ;
PNO3:long_name = "PNO3 " ;
PNO3:units = "g/s " ;
PNO3:var_desc = “” ;
float PSO4(TSTEP, LAY, ROW, COL) ;
PSO4:long_name = "PSO4 " ;
PSO4:units = "g/s " ;
PSO4:var_desc = “” ;
float PNCOM(TSTEP, LAY, ROW, COL) ;
PNCOM:long_name = "PNCOM " ;
PNCOM:units = "g/s " ;
PNCOM:var_desc = “” ;
float PNA(TSTEP, LAY, ROW, COL) ;
PNA:long_name = "PNA " ;
PNA:units = "g/s " ;
PNA:var_desc = “” ;
float PMG(TSTEP, LAY, ROW, COL) ;
PMG:long_name = "PMG " ;
PMG:units = "g/s " ;
PMG:var_desc = “” ;
float PAL(TSTEP, LAY, ROW, COL) ;
PAL:long_name = "PAL " ;
PAL:units = "g/s " ;
PAL:var_desc = “” ;
float PSI(TSTEP, LAY, ROW, COL) ;
PSI:long_name = "PSI " ;
PSI:units = "g/s " ;
PSI:var_desc = “” ;
float PCL(TSTEP, LAY, ROW, COL) ;
PCL:long_name = "PCL " ;
PCL:units = "g/s " ;
PCL:var_desc = “” ;
float PK(TSTEP, LAY, ROW, COL) ;
PK:long_name = "PK " ;
PK:units = "g/s " ;
PK:var_desc = “” ;
float PCA(TSTEP, LAY, ROW, COL) ;
PCA:long_name = "PCA " ;
PCA:units = "g/s " ;
PCA:var_desc = “” ;
float PTI(TSTEP, LAY, ROW, COL) ;
PTI:long_name = "PTI " ;
PTI:units = "g/s " ;
PTI:var_desc = “” ;
float PMN(TSTEP, LAY, ROW, COL) ;
PMN:long_name = "PMN " ;
PMN:units = "g/s " ;
PMN:var_desc = “” ;
float PFE(TSTEP, LAY, ROW, COL) ;
PFE:long_name = "PFE " ;
PFE:units = "g/s " ;
PFE:var_desc = “” ;
float PMOTHR(TSTEP, LAY, ROW, COL) ;
PMOTHR:long_name = "PMOTHR " ;
PMOTHR:units = "g/s " ;
PMOTHR:var_desc = “” ;
float PMC(TSTEP, LAY, ROW, COL) ;
PMC:long_name = "PMC " ;
PMC:units = "g/s " ;
PMC:var_desc = “” ;
float SESQ(TSTEP, LAY, ROW, COL) ;
SESQ:long_name = "SESQ " ;
SESQ:units = "moles/s " ;
SESQ:var_desc = “” ;
float ACYE(TSTEP, LAY, ROW, COL) ;
ACYE:long_name = "ACYE " ;
ACYE:units = "moles/s " ;
ACYE:var_desc = "column concentration Mg/grid " ;
float BENZ(TSTEP, LAY, ROW, COL) ;
BENZ:long_name = "BENZ " ;
BENZ:units = "moles/s " ;
BENZ:var_desc = "column concentration Mg/grid " ;
float NVOL(TSTEP, LAY, ROW, COL) ;
NVOL:long_name = "NVOL " ;
NVOL:units = "moles/s " ;
NVOL:var_desc = "column concentration Mg/grid " ;
float RNO3(TSTEP, LAY, ROW, COL) ;
RNO3:long_name = "RNO3 " ;
RNO3:units = "moles/s " ;
RNO3:var_desc = "column concentration Mg/grid " ;
float PMFINE(TSTEP, LAY, ROW, COL) ;
PMFINE:long_name = "PMFINE " ;
PMFINE:units = "g/s " ;
PMFINE:var_desc = "column concentration Mg/grid " ;
float SULF(TSTEP, LAY, ROW, COL) ;
SULF:long_name = "SULF " ;
SULF:units = "moles/s " ;
SULF:var_desc = “” ;
float PH2O(TSTEP, LAY, ROW, COL) ;
PH2O:long_name = "PH2O " ;
PH2O:units = "g/s " ;
PH2O:var_desc = "Model species PH2O " ;
float CH4(TSTEP, LAY, ROW, COL) ;
CH4:long_name = "CH4 " ;
CH4:units = "moles/s " ;
CH4:var_desc = "Model species CH4 " ;
float ARO2(TSTEP, LAY, ROW, COL) ;
ARO2:long_name = "ARO2 " ;
ARO2:units = "moles/s " ;
ARO2:var_desc = “” ;
float PRPE(TSTEP, LAY, ROW, COL) ;
PRPE:long_name = "PRPE " ;
PRPE:units = "moles/s " ;
PRPE:var_desc = “” ;
float APIN(TSTEP, LAY, ROW, COL) ;
APIN:long_name = "APIN " ;
APIN:units = "moles/s " ;
APIN:var_desc = “” ;
float TOLU(TSTEP, LAY, ROW, COL) ;
TOLU:long_name = "TOLU " ;
TOLU:units = "moles/s " ;
TOLU:var_desc = “” ;
float ETOH(TSTEP, LAY, ROW, COL) ;
ETOH:long_name = "ETOH " ;
ETOH:units = "moles/s " ;
ETOH:var_desc = “” ;
int GDAY(TSTEP, LAY, ROW, COL) ;
GDAY:long_name = "GDAY " ;
GDAY:units = "day " ;
GDAY:var_desc = “” ;

output.txt (12.4 KB)

Can you share the emissions control namelist file that was used for this run.
It should be in your BLD directory, perhaps with the name:
EmissCtrl_saprc07tic_ae6i_aq.nml

! This subroutine checks for invalid values of the operation parameter 
! in the rules from the emission control list

Thanks for posting the header. What’s the meaning of the “GDAY” variable? I’m not sure it is causing the issue, but I know that CMAQ is not expecting it, or the “day” units.

Dear @lizadams,

Kindly find the emissions control namelist file as attached.

EmissCtrl_saprc07tic_ae6i_aq.nml.txt (32.9 KB)

As you’ve admitted, those aren’t the issues.