'ANI' is not a valid CMAQ transported species or family

The CCTM/src/aero/aero6/AERO_DATA.F (same for both aero6 and aero7) file has listed these 17 SEASALT aerosol species:

Thus, I set this in the &EmissionScalingRules part of EmisCtrl file (DESID):

   ! Wind-Blown Dust and Sea Spray Scaling
   ! Fine Components
   'EVERYWHERE', 'ALL'    ,'PMFINE_SO4'  ,'ASO4'       ,'FINE',1.   ,'UNIT','a',
   'EVERYWHERE', 'ALL'    ,'PMFINE_CL'   ,'ACL'        ,'FINE',1.   ,'UNIT','a',
   'EVERYWHERE', 'ALL'    ,'PMFINE_NA'   ,'ANA'        ,'FINE',1.   ,'UNIT','a',
   'EVERYWHERE', 'ALL'    ,'PMFINE_CA'   ,'ACA'        ,'FINE',1.   ,'UNIT','a',
   'EVERYWHERE', 'ALL'    ,'PMFINE_MG'   ,'AMG'        ,'FINE',1.   ,'UNIT','a',
   'EVERYWHERE', 'ALL'    ,'PMFINE_K'    ,'AK'         ,'FINE',1.   ,'UNIT','a',
   'EVERYWHERE', 'ALL'    ,'PMFINE_CR_VI','ACR'        ,'FINE',1.   ,'UNIT','a',
   'EVERYWHERE', 'ALL'    ,'PMFINE_NI'   ,'ANI'        ,'FINE',1.   ,'UNIT','a',!commented out due to invalid species error
   'EVERYWHERE', 'ALL'    ,'PMFINE_AS'   ,'AAS'        ,'FINE',1.   ,'UNIT','a',
   'EVERYWHERE', 'ALL'    ,'PMFINE_BE'   ,'ABE'        ,'FINE',1.   ,'UNIT','a',
   'EVERYWHERE', 'ALL'    ,'PMFINE_PHG'  ,'APHG'        ,'FINE',1.   ,'UNIT','a',
   'EVERYWHERE', 'ALL'    ,'PMFINE_PB'   ,'APB'        ,'FINE',1.   ,'UNIT','a',
   'EVERYWHERE', 'ALL'    ,'PMFINE_CD'   ,'ACD'        ,'FINE',1.   ,'UNIT','a',
   'EVERYWHERE', 'ALL' ,'PMFINE_MN_HAPS' ,'AMN'        ,'FINE',1.   ,'UNIT','a', !I dont know if MNHAPS and MN are same
   'EVERYWHERE', 'ALL'    ,'PMFINE_BR'   ,'ABR'        ,'FINE',1.   ,'UNIT','a',

   ! :Scaling of Fine-Mode POA from Wind-Blown Dust or Sea Spray. Either the
   ! :Nonvolatile POA should be propagated to the transport model, or the Low
   ! :Volatility POA should be propagated, not both.
   ! :  --> Nonvolatile POA
      !'EVERYWHERE', 'ALL'    ,'PMFINE_POC' ,'APOC'         ,'FINE',1.   ,'UNIT','a',
      !'EVERYWHERE', 'ALL'   ,'PMFINE_PNCOM','APNCOM'       ,'FINE',1.   ,'UNIT','a',
   ! :  --> Semivolatile POA
      !'EVERYWHERE', 'ALL'    ,'PMFINE_LVPO1','ALVPO1'      ,'FINE',1.   ,'UNIT','a',
      !'EVERYWHERE', 'ALL'    ,'PMFINE_LVOO1','ALVOO1'      ,'FINE',1.   ,'UNIT','a',

   ! Wind-Blown Dust and Sea Spray Scaling
   ! Coarse Components
   'EVERYWHERE', 'ALL'   ,'PMCOARSE_SO4'   ,'ASO4'    ,'COARSE',1.   ,'UNIT','a',
   'EVERYWHERE', 'ALL'    ,'PMCOARSE_CL'   ,'ACL'     ,'COARSE',1.   ,'UNIT','a',
   'EVERYWHERE', 'ALL'    ,'PMCOARSE_CR_VI','ACR'     ,'COARSE',1.   ,'UNIT','a',
   'EVERYWHERE', 'ALL'    ,'PMCOARSE_NI'   ,'ANI'     ,'COARSE',1.   ,'UNIT','a',!commented out due to invalid species error
   'EVERYWHERE', 'ALL'    ,'PMCOARSE_AS'   ,'AAS'     ,'COARSE',1.   ,'UNIT','a',
   'EVERYWHERE', 'ALL'    ,'PMCOARSE_BE'   ,'ABE'     ,'COARSE',1.   ,'UNIT','a',
   'EVERYWHERE', 'ALL'    ,'PMCOARSE_PHG'  ,'APHG'    ,'COARSE',1.   ,'UNIT','a',
   'EVERYWHERE', 'ALL'    ,'PMCOARSE_PB'   ,'APB'     ,'COARSE',1.   ,'UNIT','a',
   'EVERYWHERE', 'ALL'    ,'PMCOARSE_CD'   ,'ACD'     ,'COARSE',1.   ,'UNIT','a',
   'EVERYWHERE', 'ALL' ,'PMCOARSE_MN_HAPS' ,'AMN'     ,'COARSE',1.   ,'UNIT','a', !I dont know if MNHAPS and MN are same
   'EVERYWHERE', 'ALL'    ,'PMCOARSE_BR'   ,'ABR'     ,'COARSE',1.   ,'UNIT','a',
 SD_NML    =
 !         | Stream Label   | Surr. Mode   | Ref. Mode
 !<Default>  'ALL'          ,'FINE'        ,'FINE_REF',
 !<Default>  'ALL'          ,'COARSE'      ,'COARSE_REF',
 !            'WBDUST'       ,'FINE'        ,'FINE_WBDUST',
 !            'WBDUST'       ,'COARSE'      ,'COARSE_WBDUST',
             'SEASPRAY'     ,'FINE'        ,'FINE_SEASPRAY',
             'SEASPRAY'     ,'COARSE'      ,'COARSE_SEASPRAY',
 !<Example>  'AIRCRAFT'     ,'FINE'        ,'AIR_FINE',   !To use these examples, you
 !<Example>  'AIRCRAFT'     ,'COARSE'      ,'AIR_COARSE', ! must add entries for AIR_FINE
                                                          ! and AIR_COARSE to the data structure
                                                          ! em_aero_ref in AERO_DATA.


However, I get this error within a minute of starting CMAQ 5.3.2 (cb6r3_ae7_aq mechanism) with WBDUST off and SEASALT on:

If I comment out the ‘ANI’ species in the above EmisCtrl file, I get the same error for ‘AS’ species. CMAQ runs when I comment out species ANI, AAS, APB, ACD, APHG, ACR, ABE and ABR in both the PMCOARSE and PMFINE modes. I did indeed comment out these species, but then the log file for each processor says this:

What am I missing here? Should I add these species in the AE namelist myself and recompile CMAQ?


Sorry for the delay – just returning from holiday.

The short answer is that these aerosol species (ANI, AAS, etc.) are available in the multipollutant chemical mechanism – cb6mp_ae6_aq. Just build CMAQ with this mechanism invoked in your build script and these errors should resolve. However, if you do not have anthropogenic emissions of these species on your input emissions files, then their emissions will only be coming from Sea Spray and wind-blown dust (if you have activated it).

I can also give a longer answer as to the rationale behind these warnings and errors. The design team has made the decision that if a User has specified a rule in the Emission Control Interface (ECI) file that maps emissions to a variable on the CMAQ side that does not exist in the selected chemical mechanism, then CMAQ should print an error and crash. The thinking here is that in most cases a user would prefer to be alerted that a species they think they are treating with emissions is actually not present. In other words, an error should result if an active user decision is not feasible.

On the other hand, it is routine to neglect some species that may be available from various emission streams if they are not pertinent to the target application. So, in the case of PMFINE_CR_VI, PMFINE_NI, etc., these emissions are being ignored and CMAQ prints a warning so you have a record of it, and then the program allows you to move on.

Hope this clears things up. Let me know if you have more questions.