!------------------------------------------------------------------------------! ! EMISSION CONTROL INPUT FILE ! ! FOR THE ! ! COMMUNITY MULTISCALE AIR QUALITY (CMAQ) MODEL ! ! DEVELOPED AND MAINTAINED BY THE ! ! NATIONAL EXPOSURE RESEARCH LABORATORY, OFFICE OF RESEARCH AND DEVELOPMENT ! ! UNITED STATES ENVIRONMENTAL PROTECTION AGENCY ! ! ! ! THIS VERSION CONSISTENT WITH THE RELEASE OF CMAQv5.3 (AUGUST 2019) ! !------------------------------------------------------------------------------! !------------------------------------------------------------------------------! ! Emissions Scaling Specification Section ! ! Each rule is presented as a row of inputs. The syntax of the ! ! emissions scaling rules is the following: ! ! EM_INSTR(I) = 'Region Label', 'Stream Label', 'Emission Surrogate', ! ! 'CMAQ-Species', 'Phase/Mode', 'Scale Factor', 'Operation'! ! Definition of Fields: ! ! 'Region Label' - Apply scaling for specific regions of the domain. ! ! Set this field to "EVERYWHERE" to apply the rule to ! ! the entire domain. ! ! 'Stream Label' - Short Name from Run Script (ie. the value of ! ! GR_EMIS_01_LAB or STK_EMIS_01_LAB). There are a few ! ! reserved names that apply to inline emissions ! ! streams. These are: ! ! BIOG - Biogenic VOC emissions ! ! MGEM - Marine Gas Emissions ! ! LTNG - Lightning NO Emissions ! ! WBDUST - Wind-Blown Dust Emissions ! ! SeaSpray - Sea Spray Aerosol Emissions ! ! Set this field to 'ALL' to apply the rule to all ! ! emission streams. ! ! 'Emission - The character string identifying the surrogate on the ! ! Surrogate' emission file or in the inline calculation that the ! ! CMAQ species should be mapped to. Usually this name is ! ! the same as the CMAQ species for convenience. For ! ! aerosols, it's usually slightly different (e.g ANO3 vs.! ! PNO3). Set this field to 'ALL' to apply the rule to ! ! all emission surrogates. ! ! 'CMAQ-Species' - Internal Species Name. Set this field to 'ALL' to ! ! apply the rule to all CMAQ internal species. ! ! 'Phase/Mode'- If the CMAQ-Species is a Gas, this field should equal ! ! 'Gas'. If the CMAQ-Species is an aerosol, this field ! ! should indicate one of the possible emission aerosol ! ! modes. Every stream by default is given a 'COARSE' and ! ! 'FINE' mode. The user may refer to these, or define ! ! others above and refer to them as well. This level of ! ! specificity is needed so that aerosol number and ! ! surface area are calculated correctly, and so that any ! ! unit conversions between gases and aerosols can be ! ! handled correctly. ! ! 'Scale Factor' - Adjustment factor to be applied to the mapping ! ! 'Basis' - Specifies whether to conserve moles or mass when ! ! performing scaling operations. CMAQ has a lookup table of ! ! molecular weights for known emission surrogate species ! ! located in the EMIS_VARS module and can use these, along ! ! with the CMAQ species molecular weights in the GC, AE, and ! ! NR namelists to translate molar and mass emission rates ! ! from the input file to the CMAQ species. CMAQ determines ! ! the units of the emission surrogate species by reading the ! ! file header (i.e. it is important the units are accurate). ! ! Options for input are: ! ! 'MOLE' - Conserve Moles. Ex:If a particle species in! ! g/s is scaled to a gas in mol/s, the par- ! ! ticle molecular weight will be used to ! ! convert mol/s from the gas to g/s and then ! ! applied directly. ! ! 'MASS' - Conserve Mass. Ex: If a particle species in! ! g/s is scaled to a gas in mol/s, the gas ! ! molecular weight will be used to convert ! ! mol/s to g/s and then applied to the ! ! particle species. Alternatively, if a gas ! ! species is scaled to a gas surrogate and ! ! mass is chosen as the basis, CMAQ will ! ! multiply the emissions by the surrogate ! ! molecular weight and divide by the ! ! species molecular weight, maintaining ! ! mol/s. ! ! 'UNIT' - Ignore molecular weight conversions and ! ! apply emission rate directly regardless ! ! of units. ! ! 'Operation' - Specifies what kind of rule is to be carried ! ! out. Options are: ! ! 'a' - add the rule to existing instructions. This ! ! operation should be used for new entries, too.! ! 'm' - find existing scaling instructions matching ! ! this rule's features (ie. species, streams, ! ! etc) and multiply them by the factor in this ! ! particular rule. ! ! 'o' - find existing scaling instructions matching ! ! this rule and overwrite them. ! ! ! ! You may confirm the effect of the (default and custom) rules below by ! ! inspecting the processor-dependent log files ("CTM_LOG_XXX...") in the ! ! section titled "EMISSIONS SCALING DIAGNOSTIC" or by outputting the ! ! gridded emission diagnostic files for each or all the streams. The ! ! latter is accomplished by setting the environment variables EMISDIAG ! ! (sum of all streams) or GR_EMIS_DIAG_XXX, STK_EMIS_DIAG_XXX, ! ! BIOG_EMIS_DIAG, etc (stream-specific). Please see runscript for ! ! output options. ! !------------------------------------------------------------------------------! &EmissionScalingRules EM_NML= ! Region | Stream Label |Emission | CMAQ- |Phase/|Scale |Basis |Op ! Label | |Surrogate| Species |Mode |Factor| | !> DEFAULT MAPPING Nonvolatile POA 'EVERYWHERE', 'ALL' ,'POC' ,'APOC' ,'FINE',0. ,'MASS','a', 'EVERYWHERE', 'ALL' ,'PNCOM' ,'APNCOM' ,'FINE',0. ,'MASS','a', ! --> Semivolatile POA 'EVERYWHERE', 'ALL' ,'POC' ,'VLVPO1' ,'GAS' ,0. ,'MASS','a', 'EVERYWHERE', 'ALL' ,'PNCOM' ,'VLVPO1' ,'GAS' ,0. ,'MASS','a', 'EVERYWHERE', 'ALL' ,'POC' ,'VSVPO1' ,'GAS' ,0.045,'MASS','a', 'EVERYWHERE', 'ALL' ,'PNCOM' ,'VSVPO1' ,'GAS' ,0.045,'MASS','a', 'EVERYWHERE', 'ALL' ,'POC' ,'VSVPO2' ,'GAS' ,0.14 ,'MASS','a', 'EVERYWHERE', 'ALL' ,'PNCOM' ,'VSVPO2' ,'GAS' ,0.14 ,'MASS','a', 'EVERYWHERE', 'ALL' ,'POC' ,'VSVPO3' ,'GAS' ,0.18 ,'MASS','a', 'EVERYWHERE', 'ALL' ,'PNCOM' ,'VSVPO3' ,'GAS' ,0.18 ,'MASS','a', 'EVERYWHERE', 'ALL' ,'POC' ,'VIVPO1' ,'GAS' ,0.50 ,'MASS','a', 'EVERYWHERE', 'ALL' ,'PNCOM' ,'VIVPO1' ,'GAS' ,0.50 ,'MASS','a', 'EVERYWHERE', 'ALL' ,'POC' ,'ALVPO1' ,'FINE',0.09 ,'MASS','a', 'EVERYWHERE', 'ALL' ,'PNCOM' ,'ALVPO1' ,'FINE',0.09 ,'MASS','a', 'EVERYWHERE', 'ALL' ,'POC' ,'ASVPO1' ,'FINE',0.045,'MASS','a', 'EVERYWHERE', 'ALL' ,'PNCOM' ,'ASVPO1' ,'FINE',0.045,'MASS','a', 'EVERYWHERE', 'ALL' ,'POC' ,'ASVPO2' ,'FINE',0. ,'MASS','a', 'EVERYWHERE', 'ALL' ,'PNCOM' ,'ASVPO2' ,'FINE',0. ,'MASS','a', 'EVERYWHERE', 'ALL' ,'POC' ,'ASVPO3' ,'FINE',0. ,'MASS','a', 'EVERYWHERE', 'ALL' ,'PNCOM' ,'ASVPO3' ,'FINE',0. ,'MASS','a', 'EVERYWHERE', 'ALL' ,'POC' ,'AIVPO1' ,'FINE',0. ,'MASS','a', 'EVERYWHERE', 'ALL' ,'PNCOM' ,'AIVPO1' ,'FINE',0. ,'MASS','a', ! pcSOA is a CMAQ species introduced to account for missing pathways for SOA ! formation from combustion sources. It includes IVOC oxidation as well as other ! phenomena (Murphy et al., ACP, 2017). It was parameterized primarily in LA, ! where vehicle exhaust continues to dominate. 'EVERYWHERE', 'ALL' ,'POC' ,'PCVOC' ,'GAS' ,6.579,'MASS','a', 'EVERYWHERE', 'ALL' ,'PNCOM' ,'PCVOC' ,'GAS' ,6.579,'MASS','a', ! However, the added pcSOA is probably inappropriate for Fire sources, especially ! in its current configuration. This pathway should be zeroed out for all fire ! and wood-burning related sources. 'EVERYWHERE', 'PT_FIRES' ,'ALL' ,'PCVOC' ,'GAS' ,0.0 ,'MASS','o', 'EVERYWHERE', 'PT_RXFIRES' ,'ALL' ,'PCVOC' ,'GAS' ,0.0 ,'MASS','o', 'EVERYWHERE', 'PT_AGFIRES' ,'ALL' ,'PCVOC' ,'GAS' ,0.0 ,'MASS','o', 'EVERYWHERE', 'PT_OTHFIRES' ,'ALL' ,'PCVOC' ,'GAS' ,0.0 ,'MASS','o', 'EVERYWHERE', 'PT_FIRES_MXCA','ALL' ,'PCVOC' ,'GAS' ,0.0 ,'MASS','o', 'EVERYWHERE', 'GR_RES_FIRES' ,'ALL' ,'PCVOC' ,'GAS' ,0.0 ,'MASS','o', ! Wind-Blown Dust and Sea Spray Scaling ! Fine Components 'EVERYWHERE', 'ALL' ,'PMFINE_SO4' ,'ASO4' ,'FINE',1. ,'UNIT','a', 'EVERYWHERE', 'ALL' ,'PMFINE_NO3' ,'ANO3' ,'FINE',1. ,'UNIT','a', 'EVERYWHERE', 'ALL' ,'PMFINE_CL' ,'ACL' ,'FINE',1. ,'UNIT','a', 'EVERYWHERE', 'ALL' ,'PMFINE_NH4' ,'ANH4' ,'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_FE' ,'AFE' ,'FINE',1. ,'UNIT','a', 'EVERYWHERE', 'ALL' ,'PMFINE_AL' ,'AAL' ,'FINE',1. ,'UNIT','a', 'EVERYWHERE', 'ALL' ,'PMFINE_SI' ,'ASI' ,'FINE',1. ,'UNIT','a', 'EVERYWHERE', 'ALL' ,'PMFINE_TI' ,'ATI' ,'FINE',1. ,'UNIT','a', 'EVERYWHERE', 'ALL' ,'PMFINE_MN' ,'AMN' ,'FINE',1. ,'UNIT','a', 'EVERYWHERE', 'ALL' ,'PMFINE_H2O' ,'AH2O' ,'FINE',1. ,'UNIT','a', 'EVERYWHERE', 'ALL' ,'PMFINE_OTHR' ,'AOTHR' ,'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_NO3','ANO3' ,'COARSE',1. ,'UNIT','a', 'EVERYWHERE', 'ALL' ,'PMCOARSE_CL' ,'ACL' ,'COARSE',1. ,'UNIT','a', 'EVERYWHERE', 'ALL' ,'PMCOARSE_H2O','AH2O' ,'COARSE',1. ,'UNIT','a', 'EVERYWHERE', 'ALL' ,'PMCOARSE_SOIL','ASOIL' ,'COARSE',1. ,'UNIT','a', 'EVERYWHERE', 'ALL' ,'PMCOARSE_SEACAT','ASEACAT' ,'COARSE',1. ,'UNIT','a', !> CUSTOM MAPPING EXAMPLES 'ALL' ,'FINE' ,'FINE_REF', ! 'ALL' ,'COARSE' ,'COARSE_REF', 'WBDUST' ,'FINE' ,'FINE_WBDUST', 'WBDUST' ,'COARSE' ,'COARSE_WBDUST', 'SEASPRAY' ,'FINE' ,'FINE_SEASPRAY', 'SEASPRAY' ,'COARSE' ,'COARSE_SEASPRAY', ! 'AIRCRAFT' ,'FINE' ,'AIR_FINE', !To use these examples, you ! 'AIRCRAFT' ,'COARSE' ,'AIR_COARSE', ! must add entries for AIR_FINE ! and AIR_COARSE to the data structure ! em_aero_ref in AERO_DATA. / !------------------------------------------------------------------------------! ! Region-Based Scaling Specification Section ! ! It is possible in CMAQ to scale emissions for a subset of the model domain ! ! using gridded masks to indicate where the scaling should occur. These masks! ! should be of type real and provided as variables on a file with format ! ! consistent with IO-API. Any number of files and variables may be used to ! ! specify 1 or more "regions" to be used in CMAQ. This section of the name- ! ! list provides users with an interface to name these regions and identify ! ! the stream data for each. ! ! ! Definition of Fields: ! ! 'Region - Label for the region that is being specified. By default, the! ! Label' first region, which will never be specified here, is the ! ! whole domain, or "EVERYWHERE". It is included in this file ! ! for transparency but should always be commented out. ! ! 'File - With this label, the user identifies the file that the data for! ! Label' this region is stored on. The CMAQ runscript should provide the! ! path to this file using the environment variable construct. For! ! example, to refer to file "CMAQ_REGIONS" with path ! ! "/home/user/data/cmaq/cmaq_region_file.nc" the specification in! ! the CMAQ runscript would look like: ! ! SETENV CMAQ_REGIONS /home/user/data/cmaq/cmaq_region_file.nc! ! Note that an unlimited number of files can be used here, but ! ! each must contain a path for reference in the runscript. ! ! 'Variable - This label identifies the variable on the region file that ! ! on File' should be used to populate this particular region. Each ! ! variable should be of type real and have dimensions equal ! ! to the size of the CMAQ domain. In this way, the fraction ! ! of every region should be available for every model grid ! ! cell. !------------------------------------------------------------------------------! &RegionsRegistry RGN_NML = ! | Region Label | File_Label | Variable on File ! 'EVERYWHERE' ,'N/A' ,'N/A', ! 'WATER' ,'CMAQ_MASKS' ,'OPEN', ! 'ALL' ,'CMAQ_MASKS' ,'ALL', / !------------------------------------------------------------------------------! ! Emissions Scaling Family Definitions ! ! This section includes definitions for families of CMAQ chemical species, ! ! emission streams and region combinations. Please see the Emissions ! ! Scaling Specification Section for a definitions of CMAQ species, Regions, ! ! and Streams. For each type of family, please indicate the number of ! ! families you are prescribing (e.g. NChemFamilies=1). Then for each Family ! ! indicate the Name, the number of components, and the name of each ! ! component. All entries are case-insensitive. See the Emissions tutorial ! ! in the CMAQ Repository for detailed directions for how to work with ! ! Families. ! ! ! ! The examples below may be uncommented and modified for your use. ! !------------------------------------------------------------------------------! !&ChemicalFamilies ! NChemFamilies = 1 ! ChemFamilyName(1) = 'NOX' ! ChemFamilyNum(1) = 2 ! ChemFamilyMembers(1,:)= 'NO','NO2' !/ !&StreamFamilies ! NStreamFamilies = 1 ! StreamFamilyName(1) = 'PT_SOURCES' ! StreamFamilyNum(1) = 3 ! StreamFamilyMembers(1,:)= 'PT_NONEGU','PT_EGU','PT_OTHER' !/ !&RegionFamilies ! NRegionFamilies = 1 ! RegionFamilyName(1) = 'Water' ! RegionFamilyNum(1) = 2 ! RegionFamilyMembers(1,:)= 'SURF','OPEN' !/ !&StreamFamilies ! NStreamFamilies = 1 ! StreamFamilyName(1) = 'ALLSOURCES' ! StreamFamilyNum(1) = 11 ! StreamFamilyMembers(1,:)= 'PT_NONEGU','PT_EGU','PT_OILGAS', 'CMV_ClC2', 'RWC', 'RAL', 'AFD', 'AG', 'NRD', 'NPT', 'ATL' !/ &ChemicalFamilies NChemFamilies = 3 ChemFamilyName(1) = 'NOX_ORD' ChemFamilyNum(1) = 2 ChemFamilyMembers(1,:)= 'NO','NO2' ChemFamilyName(2) = 'VOC_AN1' ChemFamilyNum(2) = 25 ChemFamilyMembers(2,:)= 'ACET','ETH','ETHA','ETOH','IOLE','KET','MEOH','NAPH','OLE','PAR','TOL','XYLMN', 'ALD2', 'ALDX', 'PRPA', 'ETHY', 'BENZ', 'TERP', 'SOAALK', 'ACROLEIN', 'BUTADIENE13', 'FORM', 'ISOP', 'FORM_PRIMARY', 'ALD2_PRIMARY' ChemFamilyName(3) = 'VOC_AN2' ChemFamilyNum(3) = 2 ChemFamilyMembers(3,:)= 'POC', 'PNCOM' /