Copy disabled (too large)
Download .txt
Showing preview only (45,041K chars total). Download the full file to get everything.
Repository: USEPA/CMAQ
Branch: main
Commit: 9bd373417647
Files: 1556
Total size: 42.7 MB
Directory structure:
gitextract_tpkhsrgz/
├── .github/
│ ├── ISSUE_TEMPLATE/
│ │ └── new-issue-.md
│ └── PULL_REQUEST_TEMPLATE.md
├── .gitignore
├── CCTM/
│ ├── README.md
│ ├── scripts/
│ │ ├── bldit_cctm.csh
│ │ ├── bldit_mech.csh
│ │ ├── isam_control.2018_12NE3.txt
│ │ ├── lonlat.csv
│ │ ├── run_cctm_2018_12US1_v55_Base_STAGE_EM_CRACMM.csh
│ │ ├── run_cctm_Bench_2018_12NE3.WRFCMAQ.csh
│ │ ├── run_cctm_Bench_2018_12NE3_CB6R5.csh
│ │ ├── run_cctm_Bench_2018_12NE3_CRACMM2.csh
│ │ └── run_cctm_Bench_2018_12NE3_cb6r5_m3dry_ddm.csh
│ └── src/
│ ├── ICL/
│ │ └── fixed/
│ │ ├── const/
│ │ │ └── CONST.EXT
│ │ ├── emctrl/
│ │ │ └── EMISPRM.EXT
│ │ ├── filenames/
│ │ │ └── FILES_CTM.EXT
│ │ └── mpi/
│ │ └── PE_COMM.EXT
│ ├── MECHS/
│ │ ├── README.md
│ │ ├── cb6r3_ae7_aq/
│ │ │ ├── AE_cb6r3_ae7_aq.nml
│ │ │ ├── CMAQ_Control_DESID_cb6r3_ae7_aq.nml
│ │ │ ├── CSQY_DATA_cb6r3_ae7_aq
│ │ │ ├── GC_cb6r3_ae7_aq.nml
│ │ │ ├── NR_cb6r3_ae7_aq.nml
│ │ │ ├── RXNS_DATA_MODULE.F90
│ │ │ ├── RXNS_FUNC_MODULE.F90
│ │ │ ├── SpecDef_Conc_cb6r3_ae7_aq.txt
│ │ │ ├── SpecDef_Dep_cb6r3_ae7_aq.txt
│ │ │ ├── SpecDef_cb6r3_ae7_aq.txt
│ │ │ ├── mech_cb6r3_ae7_aq.def
│ │ │ └── pa_cb6r3_ae7_aq.ctl
│ │ ├── cb6r5_ae7_aq/
│ │ │ ├── AE_cb6r5_ae7_aq.nml
│ │ │ ├── CMAQ_Control_DESID_cb6r5_ae7_aq.nml
│ │ │ ├── CSQY_DATA_cb6r5_ae7_aq
│ │ │ ├── GC_cb6r5_ae7_aq.nml
│ │ │ ├── NR_cb6r5_ae7_aq.nml
│ │ │ ├── RXNS_DATA_MODULE.F90
│ │ │ ├── RXNS_FUNC_MODULE.F90
│ │ │ ├── SpecDef_Conc_cb6r5_ae7_aq.txt
│ │ │ ├── SpecDef_Dep_cb6r5_ae7_aq.txt
│ │ │ ├── SpecDef_cb6r5_ae7_aq.txt
│ │ │ ├── mech_cb6r5_ae7_aq.def
│ │ │ └── pa_cb6r5_ae7_aq.ctl
│ │ ├── cb6r5_ae7_aqkmt2/
│ │ │ ├── AE_cb6r5_ae7_aq.nml
│ │ │ └── GC_cb6r5_ae7_aq.nml
│ │ ├── cb6r5hap_ae7_aq/
│ │ │ ├── AE_cb6r5hap_ae7_aq.nml
│ │ │ ├── CMAQ_Control_DESID_cb6r5hap_ae7_aq.nml
│ │ │ ├── NR_cb6r5hap_ae7_aq.nml
│ │ │ ├── SpecDef_Conc_cb6r5hap_ae7_aq.txt
│ │ │ ├── SpecDef_Dep_cb6r5hap_ae7_aq.txt
│ │ │ └── SpecDef_cb6r5hap_ae7_aq.txt
│ │ ├── cb6r5m_ae7_aq/
│ │ │ ├── AE_cb6r5m_ae7_aq.nml
│ │ │ ├── CMAQ_Control_DESID_cb6r5m_ae7_aq.nml
│ │ │ ├── CSQY_DATA_cb6r5m_ae7_aq
│ │ │ ├── GC_cb6r5m_ae7_aq.nml
│ │ │ ├── NR_cb6r5m_ae7_aq.nml
│ │ │ ├── RXNS_DATA_MODULE.F90
│ │ │ ├── RXNS_FUNC_MODULE.F90
│ │ │ ├── SpecDef_Conc_cb6r5m_ae7_aq.txt
│ │ │ ├── SpecDef_Dep_cb6r5m_ae7_aq.txt
│ │ │ ├── SpecDef_cb6r5m_ae7_aq.txt
│ │ │ ├── mech_cb6r5m_ae7_aq.def
│ │ │ └── pa_cb6r5m_ae7_aq.ctl
│ │ ├── cracmm1_aq/
│ │ │ ├── AE_cracmm1_aq.nml
│ │ │ ├── CMAQ_Control_DESID_cracmm1_aq.nml
│ │ │ ├── CSQY_DATA_cracmm1_aq
│ │ │ ├── GC_cracmm1_aq.nml
│ │ │ ├── NR_cracmm1_aq.nml
│ │ │ ├── RXNS_DATA_MODULE.F90
│ │ │ ├── RXNS_FUNC_MODULE.F90
│ │ │ ├── SpecDef_Conc_cracmm1_aq.txt
│ │ │ ├── SpecDef_Dep_cracmm1_aq.txt
│ │ │ ├── SpecDef_cracmm1_aq.txt
│ │ │ ├── cracmm1_aq_speciesdescription.csv
│ │ │ ├── mech_cracmm1_aq.def
│ │ │ └── pa_cracmm1_aq.ctl
│ │ ├── cracmm1amore_aq/
│ │ │ ├── CSQY_DATA_cracmm1amore_aq
│ │ │ ├── GC_cracmm1amore_aq.nml
│ │ │ ├── RXNS_DATA_MODULE.F90
│ │ │ ├── RXNS_FUNC_MODULE.F90
│ │ │ ├── SpecDef_Conc_cracmm1amore_aq.txt
│ │ │ ├── SpecDef_Dep_cracmm1amore_aq.txt
│ │ │ ├── SpecDef_cracmm1amore_aq.txt
│ │ │ └── mech_cracmm1amore_aq.def
│ │ ├── cracmm2/
│ │ │ ├── AE_cracmm2.nml
│ │ │ ├── CMAQ_Control_DESID_cracmm2.nml
│ │ │ ├── CSQY_DATA_cracmm2
│ │ │ ├── GC_cracmm2.nml
│ │ │ ├── NR_cracmm2.nml
│ │ │ ├── RXNS_DATA_MODULE.F90
│ │ │ ├── RXNS_FUNC_MODULE.F90
│ │ │ ├── SpecDef_Conc_cracmm2.txt
│ │ │ ├── SpecDef_Dep_cracmm2.txt
│ │ │ ├── SpecDef_cracmm2.txt
│ │ │ ├── cracmm2_speciesdescription.csv
│ │ │ ├── mech_cracmm2.def
│ │ │ └── pa_cracmm2.ctl
│ │ ├── mechanism_information/
│ │ │ ├── cb6r3_ae7_aq/
│ │ │ │ ├── AE7_species_table.md
│ │ │ │ ├── NR7_species_table.md
│ │ │ │ ├── cb6r3_ae7_aq_species_table.md
│ │ │ │ └── mech_cb6r3_ae7_aq.md
│ │ │ ├── cb6r5_ae7_aq/
│ │ │ │ ├── AE7_species_table.md
│ │ │ │ ├── NR7_species_table.md
│ │ │ │ ├── cb6r5_ae7_aq_species_table.md
│ │ │ │ └── mech_cb6r5_ae7_aq.md
│ │ │ ├── cb6r5hap_ae7_aq/
│ │ │ │ ├── cb6r5hap_ae7_aq_species_table.md
│ │ │ │ └── mech_cb6r5hap_ae7_aq.md
│ │ │ ├── cb6r5m_ae7_aq/
│ │ │ │ ├── AE7_species_table.md
│ │ │ │ ├── NR7_species_table.md
│ │ │ │ ├── cb6r5m_ae7_aq_species_table.md
│ │ │ │ └── mech_cb6r5m_ae7_aq.md
│ │ │ ├── cracmm1_aq/
│ │ │ │ ├── cracmm1_aq_species_table.md
│ │ │ │ └── mech_cracmm1_aq.md
│ │ │ ├── cracmm1amore_aq/
│ │ │ │ ├── cracmm1amore_aq_species_table.md
│ │ │ │ └── mech_cracmm1amore_aq.md
│ │ │ ├── cracmm2/
│ │ │ │ ├── cracmm2_species_table.md
│ │ │ │ └── mech_cracmm2.md
│ │ │ ├── racm2_ae6_aq/
│ │ │ │ ├── AE6_species_table.md
│ │ │ │ ├── NR_species_table.md
│ │ │ │ ├── mech_racm2_ae6_aq.md
│ │ │ │ ├── racm2_ae6_aq_species_table.md
│ │ │ │ └── racm2_ae6_aq_species_table_aerosol.md
│ │ │ ├── saprc07tc_ae6_aq/
│ │ │ │ ├── AE6_species_table.md
│ │ │ │ ├── NR_species_table.md
│ │ │ │ ├── mech_saprc07tc_ae6_aq.md
│ │ │ │ ├── saprc07tc_ae6_aq_species_table.md
│ │ │ │ └── saprc07tc_ae6_aq_species_table_aerosol.md
│ │ │ └── saprc07tic_ae7i_aq/
│ │ │ ├── AE7I_species_table.md
│ │ │ ├── NR7_species_table.md
│ │ │ ├── mech_saprc07tic_ae7i_aq.md
│ │ │ ├── saprc07tic_ae6i_aq_species_table_aerosol.md
│ │ │ └── saprc07tic_ae7i_aq_species_table.md
│ │ ├── racm2_ae6_aq/
│ │ │ ├── AE_racm2_ae6_aq.nml
│ │ │ ├── CMAQ_Control_DESID_racm2_ae6_aq.nml
│ │ │ ├── CSQY_DATA_racm2_ae6_aq
│ │ │ ├── GC_racm2_ae6_aq.nml
│ │ │ ├── NR_racm2_ae6_aq.nml
│ │ │ ├── RXNS_DATA_MODULE.F90
│ │ │ ├── RXNS_FUNC_MODULE.F90
│ │ │ ├── SpecDef_Dep_racm2_ae6_aq.txt
│ │ │ ├── SpecDef_racm2_ae6_aq.txt
│ │ │ ├── mech_racm2_ae6_aq.def
│ │ │ └── pa_racm2_ae6_aq.ctl
│ │ ├── saprc07tc_ae6_aq/
│ │ │ ├── AE_saprc07tc_ae6_aq.nml
│ │ │ ├── CMAQ_Control_DESID_saprc07tc_ae6_aq.nml
│ │ │ ├── CSQY_DATA_saprc07tc_ae6_aq
│ │ │ ├── GC_saprc07tc_ae6_aq.nml
│ │ │ ├── NR_saprc07tc_ae6_aq.nml
│ │ │ ├── RXNS_DATA_MODULE.F90
│ │ │ ├── RXNS_FUNC_MODULE.F90
│ │ │ ├── SpecDef_Dep_saprc07tc_ae6_aq.txt
│ │ │ ├── SpecDef_saprc07tc_ae6_aq.txt
│ │ │ ├── mech_saprc07tc_ae6_aq.def
│ │ │ └── pa_saprc07tc_ae6_aq.ctl
│ │ ├── saprc07tic_ae7i_aq/
│ │ │ ├── AE_saprc07tic_ae7i_aq.nml
│ │ │ ├── CMAQ_Control_DESID_saprc07tic_ae7i_aq.nml
│ │ │ ├── CSQY_DATA_saprc07tic_ae7i_aq
│ │ │ ├── GC_saprc07tic_ae7i_aq.nml
│ │ │ ├── NR_saprc07tic_ae7i_aq.nml
│ │ │ ├── RXNS_DATA_MODULE.F90
│ │ │ ├── RXNS_FUNC_MODULE.F90
│ │ │ ├── SpecDef_Dep_saprc07tic_ae7i_aq.txt
│ │ │ ├── SpecDef_saprc07tic_ae7i_aq.txt
│ │ │ ├── mech_saprc07tic_ae7i_aq.def
│ │ │ └── pa_saprc07tic_ae7i_aq.ctl
│ │ ├── saprc07tic_ae7i_aqkmt2/
│ │ │ ├── AE_saprc07tic_ae7i_aq.nml
│ │ │ └── GC_saprc07tic_ae7i_aq.nml
│ │ ├── trac0/
│ │ │ └── Species_Table_TR_0.nml
│ │ └── trac1/
│ │ └── Species_Table_TR_1.nml
│ ├── PARIO/
│ │ ├── PIOGRID.EXT
│ │ ├── PIOVARS.EXT
│ │ ├── alloc_data_mod.f
│ │ ├── get_write_map.f
│ │ ├── parutilio.f
│ │ ├── pio_init.f
│ │ ├── piomaps_mod.f
│ │ ├── pm3err.f
│ │ ├── pm3exit.f
│ │ ├── pm3warn.f
│ │ ├── pshut3.F
│ │ ├── ptrwrite3.f
│ │ ├── pwrgrdd.f
│ │ ├── pwrite3.f
│ │ ├── subdmap.f
│ │ └── wrsubdmap.f
│ ├── STENEX/
│ │ ├── noop/
│ │ │ ├── noop_comm_module.f
│ │ │ ├── noop_data_copy_module.f
│ │ │ ├── noop_gather_module.f
│ │ │ ├── noop_global_max_module.f
│ │ │ ├── noop_global_min_module.f
│ │ │ ├── noop_global_sum_module.f
│ │ │ ├── noop_init_module.f
│ │ │ ├── noop_modules.f
│ │ │ ├── noop_slice_module.f
│ │ │ ├── noop_term_module.f
│ │ │ └── noop_util_module.f
│ │ └── se/
│ │ ├── se_bndy_copy_info_ext.f
│ │ ├── se_bndy_copy_module.f
│ │ ├── se_comm_info_ext.f
│ │ ├── se_comm_module.f
│ │ ├── se_data_copy_module.f
│ │ ├── se_data_recv_module.f
│ │ ├── se_data_send_module.f
│ │ ├── se_disp_info_ext.f
│ │ ├── se_domain_info_ext.f
│ │ ├── se_gather_module.f
│ │ ├── se_global_bcast_module.f
│ │ ├── se_global_gather_module.f
│ │ ├── se_global_max_module.f
│ │ ├── se_global_min_module.f
│ │ ├── se_global_sum_module.f
│ │ ├── se_init_module.F
│ │ ├── se_internal_util_module.f
│ │ ├── se_modules.f
│ │ ├── se_pe_info_ext.f
│ │ ├── se_reconfig_grid_info_ext.f
│ │ ├── se_reconfig_grid_module.f
│ │ ├── se_slice_module.f
│ │ ├── se_subgrid_info_ext.f
│ │ ├── se_term_module.f
│ │ ├── se_twoway_comm_module.f
│ │ └── se_util_module.f
│ ├── aero/
│ │ └── aero6/
│ │ ├── AEROMET_DATA.F
│ │ ├── AEROSOL_CHEMISTRY.F
│ │ ├── AERO_BUDGET.F
│ │ ├── AERO_DATA.F
│ │ ├── AERO_EMIS.F
│ │ ├── PRECURSOR_DATA.F
│ │ ├── README.md
│ │ ├── SOA_DEFN.F
│ │ ├── aero_driver.F
│ │ ├── aero_nml_modes.F
│ │ ├── aero_subs.F
│ │ ├── coags.f
│ │ ├── getpar.f
│ │ ├── isocom.f
│ │ ├── isofwd.f
│ │ ├── isorev.f
│ │ └── isrpia.inc
│ ├── biog/
│ │ ├── beis4/
│ │ │ ├── beis.F
│ │ │ ├── checkmem.F
│ │ │ ├── chkgrid.F
│ │ │ ├── czangle.F
│ │ │ ├── getparb.f
│ │ │ ├── gspro_biogenics.txt
│ │ │ ├── hrno.F
│ │ │ ├── parsline.f
│ │ │ ├── tmpbeis.F
│ │ │ └── wrdaymsg.f
│ │ └── megan3/
│ │ ├── BDSNP_MOD.F
│ │ ├── MAP_CV2CB05.EXT
│ │ ├── MAP_CV2CB6.EXT
│ │ ├── MAP_CV2CB6_AE7.EXT
│ │ ├── MAP_CV2CRACMM1.EXT
│ │ ├── MAP_CV2CRACMM2.EXT
│ │ ├── MAP_CV2RACM2.EXT
│ │ ├── MAP_CV2SAPRC07.EXT
│ │ ├── MAP_CV2SAPRC07T.EXT
│ │ ├── MEGAN_DEFN.F
│ │ ├── SPC_CB05.EXT
│ │ ├── SPC_CB6.EXT
│ │ ├── SPC_CB6_AE7.EXT
│ │ ├── SPC_CRACMM1.EXT
│ │ ├── SPC_CRACMM2.EXT
│ │ ├── SPC_NOCONVER.EXT
│ │ ├── SPC_RACM2.EXT
│ │ ├── SPC_SAPRC07.EXT
│ │ ├── SPC_SAPRC07T.EXT
│ │ ├── megan_fx_mod.f90
│ │ ├── megan_gspro.F
│ │ └── megan_hrno_mod.F
│ ├── cio/
│ │ ├── centralized_io_module.F
│ │ └── centralized_io_util_module.F
│ ├── cloud/
│ │ ├── acm_ae6/
│ │ │ ├── AQ_DATA.F
│ │ │ ├── acmcld.f
│ │ │ ├── aq_map.F
│ │ │ ├── aqchem.F
│ │ │ ├── cldproc_acm.F
│ │ │ ├── convcld_acm.F
│ │ │ ├── getalpha.F
│ │ │ ├── hlconst.F
│ │ │ ├── indexn.f
│ │ │ ├── opwdep.F
│ │ │ ├── rescld.F
│ │ │ └── scavwdep.F
│ │ ├── acm_ae6_mp/
│ │ │ ├── AQ_DATA.F
│ │ │ ├── aq_map.F
│ │ │ ├── aqchem.F
│ │ │ ├── cldproc_acm.F
│ │ │ ├── convcld_acm.F
│ │ │ ├── hg_aqchem_data.F
│ │ │ └── rescld.F
│ │ └── acm_ae7_kmt2/
│ │ ├── AQ_DATA.F
│ │ ├── aqchem_Function.F90
│ │ ├── aqchem_Global.F90
│ │ ├── aqchem_Initialize.F90
│ │ ├── aqchem_Integrator.F90
│ │ ├── aqchem_Jacobian.F90
│ │ ├── aqchem_JacobianSP.F90
│ │ ├── aqchem_LinearAlgebra.F90
│ │ ├── aqchem_Model.F90
│ │ ├── aqchem_Parameters.F90
│ │ ├── aqchem_Precision.F90
│ │ ├── aqchem_Rates.F90
│ │ └── aqchem_kmt.F90
│ ├── couple/
│ │ ├── gencoor_local_cons/
│ │ │ └── couple.F
│ │ └── gencoor_wrf_cons/
│ │ └── couplewrf.F
│ ├── ddm3d/
│ │ ├── AERO_DDM3D.F
│ │ ├── AQCHEM_DDM3D.EXT
│ │ ├── DDM3D_CHEM.F
│ │ ├── DDM3D_DEFN.F
│ │ ├── MECHANISM_FUNCTIONS.F
│ │ ├── S_PCGRID_DEFN.F
│ │ ├── aero_sens_calc1.F
│ │ ├── aero_sens_calc2.F
│ │ ├── aero_sens_data.inc
│ │ ├── aero_sens_driver.F
│ │ ├── dact.inc
│ │ ├── load_sengrid.F
│ │ ├── opasens.F
│ │ ├── s_lu.F
│ │ ├── s_zfdbc.f
│ │ ├── sinput.F
│ │ ├── wr_asens.F
│ │ └── wr_sengrid.F
│ ├── depv/
│ │ ├── m3dry/
│ │ │ ├── ABFLUX_MOD.F
│ │ │ ├── BIDI_MOD.F
│ │ │ ├── DEPVVARS.F
│ │ │ ├── DEPV_DEFN.F
│ │ │ ├── HGSIM.F
│ │ │ ├── LSM_MOD.F
│ │ │ ├── cgrid_depv.F
│ │ │ ├── depv_data_module.F
│ │ │ ├── gas_depv_map.F
│ │ │ ├── m3dry.F
│ │ │ └── opdepv_diag.F
│ │ └── stage/
│ │ ├── BIDI_MOD.F
│ │ ├── CMAQ_Control_STAGE.nml
│ │ ├── DEPV_DEFN.F
│ │ ├── HGSIM.F
│ │ ├── LSM_MOD.F
│ │ ├── MOSAIC_MOD.F
│ │ ├── NH3_BIDI_MOD.F
│ │ ├── STAGE_DATA.F
│ │ ├── STAGE_FUNCTIONS.F
│ │ ├── STAGE_MOD.F
│ │ ├── STAGE_OUTPUT.F
│ │ └── depv_data_module.F
│ ├── diag/
│ │ └── vertext_module.F
│ ├── driver/
│ │ ├── AVG_CONC.F
│ │ ├── ELMO_DATA.F
│ │ ├── ELMO_PROC.F
│ │ ├── STD_CONC.F
│ │ ├── WVEL_DEFN.F
│ │ ├── advstep.F
│ │ ├── cmaq_main.F
│ │ ├── driver.F
│ │ ├── hveloc.F
│ │ ├── sciproc.F
│ │ ├── wr_aconc.F
│ │ ├── wr_cgrid.F
│ │ ├── wr_conc.F
│ │ └── wr_init.F
│ ├── emis/
│ │ └── emis/
│ │ ├── BEIS_DEFN.F
│ │ ├── BIOG_EMIS.F
│ │ ├── CMAQ_Control_DESID.nml
│ │ ├── DUST_EMIS.F
│ │ ├── LTNG_DEFN.F
│ │ ├── LUS_DEFN.F
│ │ ├── MGEMIS.F
│ │ ├── PT3D_DEFN.F
│ │ ├── PTBILIN.F
│ │ ├── PTMET.F
│ │ ├── SSEMIS.F
│ │ ├── STK_EMIS.F
│ │ ├── STK_PRMS.F
│ │ ├── UDTYPES.F
│ │ ├── biog_emis_param_module.F
│ │ ├── desid_module.F
│ │ ├── desid_param_module.F
│ │ ├── desid_util.F
│ │ ├── desid_vars.F
│ │ ├── lus_data_module.F
│ │ └── stack_group_data_module.F
│ ├── gas/
│ │ ├── ebi_cb6r3_ae7_aq/
│ │ │ ├── hrdata_mod.F
│ │ │ ├── hrdriver.F
│ │ │ ├── hrg1.F
│ │ │ ├── hrg2.F
│ │ │ ├── hrg3.F
│ │ │ ├── hrg4.F
│ │ │ ├── hrinit.F
│ │ │ ├── hrprodloss.F
│ │ │ ├── hrrates.F
│ │ │ └── hrsolver.F
│ │ ├── ebi_cb6r5_ae7_aq/
│ │ │ ├── hrdata_mod.F
│ │ │ ├── hrdriver.F
│ │ │ ├── hrg1.F
│ │ │ ├── hrg2.F
│ │ │ ├── hrg3.F
│ │ │ ├── hrg4.F
│ │ │ ├── hrinit.F
│ │ │ ├── hrprodloss.F
│ │ │ ├── hrrates.F
│ │ │ └── hrsolver.F
│ │ ├── ebi_cb6r5m_ae7_aq/
│ │ │ ├── hrdata_mod.F
│ │ │ ├── hrdriver.F
│ │ │ ├── hrg1.F
│ │ │ ├── hrg2.F
│ │ │ ├── hrg3.F
│ │ │ ├── hrg4.F
│ │ │ ├── hrinit.F
│ │ │ ├── hrprodloss.F
│ │ │ ├── hrrates.F
│ │ │ └── hrsolver.F
│ │ ├── ebi_cracmm1_aq/
│ │ │ ├── hrdata_mod.F
│ │ │ ├── hrdriver.F
│ │ │ ├── hrg1.F
│ │ │ ├── hrg2.F
│ │ │ ├── hrg3.F
│ │ │ ├── hrg4.F
│ │ │ ├── hrinit.F
│ │ │ ├── hrprodloss.F
│ │ │ ├── hrrates.F
│ │ │ └── hrsolver.F
│ │ ├── ebi_cracmm1amore_aq/
│ │ │ ├── hrdata_mod.F
│ │ │ ├── hrdriver.F
│ │ │ ├── hrg1.F
│ │ │ ├── hrg2.F
│ │ │ ├── hrg3.F
│ │ │ ├── hrg4.F
│ │ │ ├── hrinit.F
│ │ │ ├── hrprodloss.F
│ │ │ ├── hrrates.F
│ │ │ └── hrsolver.F
│ │ ├── ebi_cracmm2/
│ │ │ ├── hrdata_mod.F
│ │ │ ├── hrdriver.F
│ │ │ ├── hrg1.F
│ │ │ ├── hrg2.F
│ │ │ ├── hrg3.F
│ │ │ ├── hrg4.F
│ │ │ ├── hrinit.F
│ │ │ ├── hrprodloss.F
│ │ │ ├── hrrates.F
│ │ │ └── hrsolver.F
│ │ ├── ebi_racm2_ae6_aq/
│ │ │ ├── hrdata_mod.F
│ │ │ ├── hrdriver.F
│ │ │ ├── hrg1.F
│ │ │ ├── hrg2.F
│ │ │ ├── hrg3.F
│ │ │ ├── hrg4.F
│ │ │ ├── hrinit.F
│ │ │ ├── hrprodloss.F
│ │ │ ├── hrrates.F
│ │ │ └── hrsolver.F
│ │ ├── ebi_saprc07tc_ae6_aq/
│ │ │ ├── hrdata_mod.F
│ │ │ ├── hrdriver.F
│ │ │ ├── hrg1.F
│ │ │ ├── hrg2.F
│ │ │ ├── hrg3.F
│ │ │ ├── hrg4.F
│ │ │ ├── hrinit.F
│ │ │ ├── hrprodloss.F
│ │ │ ├── hrrates.F
│ │ │ └── hrsolver.F
│ │ ├── ebi_saprc07tic_ae7i_aq/
│ │ │ ├── hrdata_mod.F
│ │ │ ├── hrdriver.F
│ │ │ ├── hrg1.F
│ │ │ ├── hrg2.F
│ │ │ ├── hrg3.F
│ │ │ ├── hrg4.F
│ │ │ ├── hrinit.F
│ │ │ ├── hrprodloss.F
│ │ │ ├── hrrates.F
│ │ │ └── hrsolver.F
│ │ ├── ros3/
│ │ │ ├── rbdata_mod.F
│ │ │ ├── rbdecomp.F
│ │ │ ├── rbdriver.F
│ │ │ ├── rbfeval.F
│ │ │ ├── rbinit.F
│ │ │ ├── rbjacob.F
│ │ │ ├── rbsolve.F
│ │ │ ├── rbsolver.F
│ │ │ └── rbsparse.F
│ │ └── smvgear/
│ │ ├── GRVARS.F
│ │ ├── grbacksub.F
│ │ ├── grdecomp.F
│ │ ├── grdriver.F
│ │ ├── grinit.F
│ │ ├── grpderiv.F
│ │ ├── grsmvgear.F
│ │ ├── grsprse.F
│ │ └── grsubfun.F
│ ├── grid/
│ │ └── cartesian/
│ │ ├── GRID_CONF.F
│ │ ├── HGRD_DEFN.F
│ │ ├── PAGRD_DEFN.F
│ │ ├── PCGRID_DEFN.F
│ │ └── VGRD_DEFN.F
│ ├── hadv/
│ │ └── ppm/
│ │ ├── advbc_map.F
│ │ ├── hadvppm.F
│ │ ├── hcontvel.F
│ │ ├── hppm.F
│ │ ├── rdbcon.F
│ │ ├── x_ppm.F
│ │ ├── xy_budget.F
│ │ ├── y_ppm.F
│ │ └── zfdbc.f
│ ├── hdiff/
│ │ └── multiscale/
│ │ ├── deform.F
│ │ ├── hcdiff3d.F
│ │ ├── hdiff.F
│ │ └── rho_j.F
│ ├── init/
│ │ ├── diffmsg.F
│ │ ├── flcheck.F
│ │ ├── grdcheck.F
│ │ ├── initscen.F
│ │ ├── load_cgrid.F
│ │ ├── opaconc.F
│ │ └── opconc.F
│ ├── isam/
│ │ ├── PISAM_DEFN.F
│ │ ├── SA_DEFN.F
│ │ ├── SA_IRR_DEFN.F
│ │ ├── SA_WRAP_AE.F
│ │ ├── op_sa.F
│ │ ├── sa_array_init.F
│ │ ├── sa_dim.F
│ │ ├── sa_matrix1.f
│ │ ├── sa_opwddep.F
│ │ ├── sa_tri.f
│ │ ├── wr_avg_sa.F
│ │ ├── wr_sa.F
│ │ └── wr_sa_cgrid.F
│ ├── par/
│ │ ├── mpi/
│ │ │ ├── distr_env.c
│ │ │ └── mpcomm_init.F
│ │ └── par_noop/
│ │ ├── par_init_noop.F
│ │ └── par_term_noop.F
│ ├── phot/
│ │ ├── inline/
│ │ │ ├── AERO_PHOTDATA.F
│ │ │ ├── CLOUD_OPTICS.F
│ │ │ ├── CSQY_DATA.F
│ │ │ ├── PHOTOLYSIS_ALBEDO.F
│ │ │ ├── PHOT_MET_DATA.F
│ │ │ ├── PHOT_MOD.F
│ │ │ ├── SEAS_STRAT_O3_MIN.F
│ │ │ ├── complex_number_module.F90
│ │ │ ├── concld_prop_acm.F
│ │ │ ├── o3totcol.f
│ │ │ ├── opphot.F
│ │ │ ├── phot.F
│ │ │ └── wrf_fast_mie.F
│ │ └── table/
│ │ ├── PHOT_MOD.F
│ │ ├── opphot.F
│ │ └── phot.F
│ ├── plrise/
│ │ └── smoke/
│ │ ├── delta_zs.f
│ │ ├── fire_plmris.F
│ │ ├── openlayout.F
│ │ ├── oppt3d_diag.F
│ │ ├── plmris.F
│ │ ├── plsprd.f
│ │ ├── preplm.f
│ │ └── write3_distr.F
│ ├── procan/
│ │ └── pa/
│ │ ├── PA_DEFN.F
│ │ ├── PA_GLOBAL.F
│ │ ├── PA_IPRVARS.F
│ │ ├── PA_IRR_CTL.F
│ │ ├── PA_IRR_module.F
│ │ ├── PA_PARSE.F
│ │ ├── PA_VARS.F
│ │ ├── budget_defn.F
│ │ ├── pa_compmech.F
│ │ ├── pa_datagen.F
│ │ ├── pa_errcheck.F
│ │ ├── pa_getcoef.F
│ │ ├── pa_getcycle.F
│ │ ├── pa_getdesc.F
│ │ ├── pa_getfamily.F
│ │ ├── pa_getiprout.F
│ │ ├── pa_getirrout.F
│ │ ├── pa_getrxns.F
│ │ ├── pa_getrxnsum.F
│ │ ├── pa_init.F
│ │ ├── pa_mkhdr.F
│ │ ├── pa_molcloss.F
│ │ ├── pa_molcprod.F
│ │ ├── pa_output.F
│ │ ├── pa_read.F
│ │ ├── pa_report.F
│ │ ├── pa_setup_ipr.F
│ │ ├── pa_setup_irr.F
│ │ ├── pa_update.F
│ │ └── pa_wrtpadefn.F
│ ├── pv_o3/
│ │ └── pvo3.F
│ ├── reactive_tracers/
│ │ ├── DEGRADE_PARAMETERS.F
│ │ ├── DEGRADE_ROUTINES.F
│ │ └── DEGRADE_SETUP_TOX.F
│ ├── spcs/
│ │ ├── cgrid_spcs_icl/
│ │ │ └── CGRID_SPCS.F
│ │ └── cgrid_spcs_nml/
│ │ ├── CGRID_SPCS.F
│ │ └── CGRID_SPCS_TYPES.F
│ ├── stm/
│ │ ├── STM_MODULE.F
│ │ └── STM_VARS.F
│ ├── twoway/
│ │ ├── twoway_aqprep.F90
│ │ ├── twoway_aqprep_util.F90
│ │ ├── twoway_cgrid_aerosol_spc_map_module.F90
│ │ ├── twoway_data_module.F90
│ │ ├── twoway_feedback.F90
│ │ ├── twoway_header_data_module.F90
│ │ ├── twoway_init_env_vars.F90
│ │ ├── twoway_met_param_module.F90
│ │ ├── twoway_rrtmg_aero_optics.F90
│ │ ├── twoway_sd_time_series.F90
│ │ └── twoway_util_module.F90
│ ├── util/
│ │ └── util/
│ │ ├── CMAQ_Control_Misc.nml
│ │ ├── RUNTIME_VARS.F
│ │ ├── UTILIO_DEFN.F
│ │ ├── cksummer.F
│ │ ├── findex.f
│ │ ├── get_env_mod.F90
│ │ ├── log_header.F
│ │ ├── lstepf.F
│ │ ├── setup_logdev.F
│ │ ├── subhdomain.F
│ │ ├── subhfile.F
│ │ └── util_family_module.F
│ ├── vadv/
│ │ ├── local_cons/
│ │ │ ├── vppm.F
│ │ │ └── zadvyppm.F
│ │ └── wrf_cons/
│ │ └── zadvppmwrf.F
│ └── vdiff/
│ ├── acm2_m3dry/
│ │ ├── ASX_DATA_MOD.F
│ │ ├── SEDIMENTATION.F
│ │ ├── VDIFF_DATA.F
│ │ ├── VDIFF_DIAG.F
│ │ ├── VDIFF_MAP.F
│ │ ├── aero_depv.F
│ │ ├── aero_sedv.F
│ │ ├── conv_cgrid.F
│ │ ├── eddyx.F
│ │ ├── matrix1.F
│ │ ├── opddep.F
│ │ ├── tri.F
│ │ ├── vdiffacmx.F
│ │ └── vdiffproc.F
│ └── acm2_stage/
│ ├── ASX_DATA_MOD.F
│ ├── VDIFF_MAP.F
│ ├── opddep.F
│ ├── opddep_mos.F
│ ├── vdiffacmx.F
│ └── vdiffproc.F
├── DOCS/
│ ├── CMAQ-Bugfix-Branch.md
│ ├── CMAQ_Data.md
│ ├── Community_Support.md
│ ├── Developers_Guide/
│ │ ├── CMAQ_Dev_Guide.md
│ │ ├── Code_Management.md
│ │ └── readme.pandoc
│ ├── Getting_Started.md
│ ├── Logos/
│ │ └── README.md
│ ├── README.md
│ ├── Release_FAQ/
│ │ ├── CMAQv5.4-Series-FAQ.md
│ │ ├── CMAQv5.5-Series-FAQ.md
│ │ └── README.md
│ ├── Release_Notes/
│ │ ├── CMAQ-Release-Notes:-Chemistry.md
│ │ ├── CMAQ-Release-Notes:-Chemistry:-Aerosol-Dynamics.md
│ │ ├── CMAQ-Release-Notes:-Chemistry:-Aqueous-Chemistry-Scavenging-and-Wet-Deposition.md
│ │ ├── CMAQ-Release-Notes:-Chemistry:-Carbon-Bond-6-Mechanism-(CB6)-with-Detailed-Marine-Halogen-Chemistry.md
│ │ ├── CMAQ-Release-Notes:-Chemistry:-Carbon-Bond-6-Mechanism-(CB6)-with-Hazardous-Air-Pollutants.md
│ │ ├── CMAQ-Release-Notes:-Chemistry:-Carbon-Bond-6-Mechanism-(CB6).md
│ │ ├── CMAQ-Release-Notes:-Chemistry:-Community-Regional-Atmospheric-Chemistry-Multiphase-Mechanism-(CRACMM).md
│ │ ├── CMAQ-Release-Notes:-Chemistry:-Gas-Phase-Chem-Solvers.md
│ │ ├── CMAQ-Release-Notes:-Chemistry:-Photolysis.md
│ │ ├── CMAQ-Release-Notes:-Chemistry:-Regional-Atmospheric-Chemistry-Mechanism-(RACM).md
│ │ ├── CMAQ-Release-Notes:-Chemistry:-State-Air-Pollution-Research-Center-(SAPRC).md
│ │ ├── CMAQ-Release-Notes:-Diagnostic-Options.md
│ │ ├── CMAQ-Release-Notes:-Dry-Deposition-Air-Surface-Exchange.md
│ │ ├── CMAQ-Release-Notes:-Dry-Deposition-Air-Surface-Exchange:-Generalized-Changes.md
│ │ ├── CMAQ-Release-Notes:-Dry-Deposition-Air-Surface-Exchange:-M3DRY.md
│ │ ├── CMAQ-Release-Notes:-Dry-Deposition-Air-Surface-Exchange:-Surface-Tiled-Aerosol-and-Gaseous-Exchange-(STAGE).md
│ │ ├── CMAQ-Release-Notes:-Emissions-Updates.md
│ │ ├── CMAQ-Release-Notes:-Emissions-Updates:-BEIS-Biogenic-Emissions.md
│ │ ├── CMAQ-Release-Notes:-Emissions-Updates:-Detailed-Emissions-Scaling-Isolation-and-Diagnostics-Module-(DESID).md
│ │ ├── CMAQ-Release-Notes:-Emissions-Updates:-Environmental-Policy-Integrated-Climate-(EPIC)-Model.md
│ │ ├── CMAQ-Release-Notes:-Emissions-Updates:-Gridded-Emissions.md
│ │ ├── CMAQ-Release-Notes:-Emissions-Updates:-Lightning-Emissions.md
│ │ ├── CMAQ-Release-Notes:-Emissions-Updates:-Marine-Gas-Emissions.md
│ │ ├── CMAQ-Release-Notes:-Emissions-Updates:-Model-of-Emissions-of-Gases-and-Aerosols-from-Nature-(MEGAN)-Biogenic-Emissions.md
│ │ ├── CMAQ-Release-Notes:-Emissions-Updates:-Point-Source-Emissions.md
│ │ ├── CMAQ-Release-Notes:-Emissions-Updates:-Sea-Spray-Aerosol-Emissions.md
│ │ ├── CMAQ-Release-Notes:-Emissions-Updates:-Wind-Blown-Dust-Emissions.md
│ │ ├── CMAQ-Release-Notes:-Instrumented-Models.md
│ │ ├── CMAQ-Release-Notes:-Instrumented-Models:-CMAQ-DDM3D.md
│ │ ├── CMAQ-Release-Notes:-Instrumented-Models:-CMAQ-ISAM.md
│ │ ├── CMAQ-Release-Notes:-MPAS-CMAQ-Coupled-Model.md
│ │ ├── CMAQ-Release-Notes:-PYTOOLS.md
│ │ ├── CMAQ-Release-Notes:-Postprocessors.md
│ │ ├── CMAQ-Release-Notes:-Preprocessors.md
│ │ ├── CMAQ-Release-Notes:-Process-Analysis-&-Sulfur-Tracking-Model-(STM).md
│ │ ├── CMAQ-Release-Notes:-Stratospheric‐Tropospheric-Exchange-(STE).md
│ │ ├── CMAQ-Release-Notes:-Structural-Improvements.md
│ │ ├── CMAQ-Release-Notes:-Transport-Processes.md
│ │ ├── CMAQ-Release-Notes:-Utilities.md
│ │ ├── CMAQ-Release-Notes:-WRF-CMAQ-Coupled-Model.md
│ │ └── README.md
│ └── Users_Guide/
│ ├── Appendix/
│ │ ├── CMAQ_UG_appendixA_model_options.md
│ │ ├── CMAQ_UG_appendixB_emissions_control.md
│ │ ├── CMAQ_UG_appendixC_spatial_data.md
│ │ ├── CMAQ_UG_appendixD_parallel_implementation.md
│ │ ├── CMAQ_UG_appendixE_configuring_WRF.md
│ │ ├── CMAQ_UG_appendixF_elmo_output.md
│ │ └── README.md
│ ├── CMAQ_UG_ch01_overview.md
│ ├── CMAQ_UG_ch02_program_structure.md
│ ├── CMAQ_UG_ch03_preparing_compute_environment.md
│ ├── CMAQ_UG_ch04_model_inputs.md
│ ├── CMAQ_UG_ch05_running_a_simulation.md
│ ├── CMAQ_UG_ch06_model_configuration_options.md
│ ├── CMAQ_UG_ch07_model_outputs.md
│ ├── CMAQ_UG_ch08_analysis_tools.md
│ ├── CMAQ_UG_ch09_process_analysis.md
│ ├── CMAQ_UG_ch10_HDDM-3D.md
│ ├── CMAQ_UG_ch11_ISAM.md
│ ├── CMAQ_UG_ch12_sulfur_tracking.md
│ ├── CMAQ_UG_ch13_WRF-CMAQ.md
│ ├── CMAQ_UG_ch14_MPAS-CMAQ.md
│ ├── CMAQ_UG_tables_figures.md
│ ├── README.md
│ ├── Tutorials/
│ │ ├── CMAQ_UG_tutorial_CRACMM.md
│ │ ├── CMAQ_UG_tutorial_DDM3D.md
│ │ ├── CMAQ_UG_tutorial_HCMAQ_IC_BC.md
│ │ ├── CMAQ_UG_tutorial_ISAM.md
│ │ ├── CMAQ_UG_tutorial_MPAS-CMAQ_Benchmark_gcc.md
│ │ ├── CMAQ_UG_tutorial_MPAS-CMAQ_Benchmark_intel.md
│ │ ├── CMAQ_UG_tutorial_WRF-CMAQ_Benchmark.md
│ │ ├── CMAQ_UG_tutorial_benchmark.md
│ │ ├── CMAQ_UG_tutorial_benchmark_cracmm2_stage.md
│ │ ├── CMAQ_UG_tutorial_build_library_gcc.md
│ │ ├── CMAQ_UG_tutorial_build_library_gcc_support_nc4.md
│ │ ├── CMAQ_UG_tutorial_build_library_intel.md
│ │ ├── CMAQ_UG_tutorial_build_library_intel_support_nc4.md
│ │ ├── CMAQ_UG_tutorial_chemicalmechanism.md
│ │ ├── CMAQ_UG_tutorial_configure_linux_environment.md
│ │ ├── CMAQ_UG_tutorial_debug.md
│ │ ├── CMAQ_UG_tutorial_emissions.md
│ │ ├── CMAQ_UG_tutorial_oceanfile.md
│ │ ├── CMAQ_UG_tutorial_run_time.md
│ │ ├── CMAQ_UG_tutorial_running_benchmarks.md
│ │ ├── CMAQ_UG_tutorial_tracers.md
│ │ ├── README.md
│ │ └── scripts/
│ │ ├── cmaq_libraries/
│ │ │ ├── gcc9.1_install_cmaq55_cb6r5_m3dry_for_nc4_compression.csh
│ │ │ ├── gcc9.1_install_ioapi_for_nc4_compression.csh
│ │ │ ├── gcc9.1_install_netcdf_for_nc4_compression.csh
│ │ │ ├── gcc_11.4_install_cmaq55_cb6r5_m3dry_classic.csh
│ │ │ ├── gcc_11.4_install_cmaq55_cb6r5_m3dry_for_nc4_compression.csh
│ │ │ ├── gcc_11.4_install_ioapi_classic.csh
│ │ │ ├── gcc_11.4_install_ioapi_for_nc4_compression.csh
│ │ │ ├── gcc_11.4_install_netcdf_classic.csh
│ │ │ ├── gcc_11.4_install_netcdf_for_nc4_compression.csh
│ │ │ ├── intel_18.2_install_cmaq55_cb6r5_m3dry_classic.csh
│ │ │ ├── intel_18.2_install_cmaq55_cb6r5_m3dry_for_nc4_compression.csh
│ │ │ ├── intel_18.2_install_ioapi_classic.csh
│ │ │ ├── intel_18.2_install_ioapi_for_nc4_compression.csh
│ │ │ ├── intel_18.2_install_netcdf_classic.csh
│ │ │ ├── intel_18.2_install_netcdf_for_nc4_compression.csh
│ │ │ ├── intel_20.2_install_cmaq55_cb6r5_m3dry_for_nc4_compression.csh
│ │ │ ├── intel_20.2_install_ioapi_for_nc4_compression.csh
│ │ │ ├── intel_20.2_install_netcdf_for_nc4_compression.csh
│ │ │ ├── intel_2024_install_cmaq55_cb6r5_m3dry_for_nc4_compression.csh
│ │ │ ├── intel_2024_install_ioapi_for_nc4_compression.csh
│ │ │ └── intel_2024_install_netcdf_for_nc4_compression.csh
│ │ └── mpas-cmaq_libraries/
│ │ ├── iolib_installation_gcc11.4.1.sh
│ │ ├── iolib_installation_gcc9.1.sh
│ │ ├── iolib_installation_intel_18.2.sh
│ │ ├── iolib_installation_intel_20.2.sh
│ │ └── iolib_installation_intel_2024.2.1.sh
│ ├── filter/
│ │ └── comments.py
│ ├── readme.pandoc
│ └── templates/
│ ├── mytemplate.tex
│ ├── mytemplate.tex.sv
│ └── template.markdown
├── POST/
│ ├── README.md
│ ├── calc_tmetric/
│ │ ├── README.md
│ │ ├── scripts/
│ │ │ ├── bldit_calc_tmetric.csh
│ │ │ └── run_calc_tmetric.csh
│ │ └── src/
│ │ ├── calc_tmetric.F
│ │ ├── ck_ctms.F
│ │ ├── module_file.F
│ │ ├── module_grid.F
│ │ ├── module_spec.F
│ │ ├── module_tstep.F
│ │ └── parser.F
│ ├── combine/
│ │ ├── README.md
│ │ ├── scripts/
│ │ │ ├── bldit_combine.csh
│ │ │ ├── run_combine.csh
│ │ │ └── spec_def_files/
│ │ │ └── linkem
│ │ └── src/
│ │ ├── combine.F
│ │ ├── module_evaluator.F
│ │ ├── module_file.F
│ │ ├── module_specdef.F
│ │ └── utils.F
│ ├── hr2day/
│ │ ├── README.md
│ │ ├── inputs/
│ │ │ ├── tz.csv
│ │ │ └── tz_legacy.csv
│ │ ├── scripts/
│ │ │ ├── bldit_hr2day.csh
│ │ │ └── run_hr2day.csh
│ │ └── src/
│ │ ├── ck_ctms.F
│ │ ├── getTZ.F
│ │ ├── hr2day.F
│ │ ├── module_envvar.F
│ │ ├── module_evaluator.F
│ │ ├── module_file.F
│ │ ├── module_grid.F
│ │ ├── module_spec.F
│ │ ├── module_tstep.F
│ │ └── parser.F
│ ├── sitecmp/
│ │ ├── README.md
│ │ ├── scripts/
│ │ │ ├── README.md
│ │ │ ├── bldit_sitecmp.csh
│ │ │ ├── run_sitecmp_AQS_Daily.csh
│ │ │ ├── run_sitecmp_AQS_Hourly.csh
│ │ │ ├── run_sitecmp_CSN.csh
│ │ │ ├── run_sitecmp_IMPROVE.csh
│ │ │ ├── run_sitecmp_NADP.csh
│ │ │ └── run_sitecmp_SEARCH_Hourly.csh
│ │ └── src/
│ │ ├── ck_ctms.F
│ │ ├── get_gridval.F
│ │ ├── get_units.F
│ │ ├── module_envvar.F
│ │ ├── module_file.F
│ │ ├── module_grid.F
│ │ ├── module_sites.F
│ │ ├── module_spec.F
│ │ ├── module_tstep.F
│ │ ├── parser.F
│ │ ├── process.F
│ │ └── sitecmp.F
│ ├── sitecmp_dailyo3/
│ │ ├── README.md
│ │ ├── scripts/
│ │ │ ├── bldit_sitecmp_dailyo3.csh
│ │ │ ├── run_sitecmp_dailyo3_AQS.csh
│ │ │ └── run_sitecmp_dailyo3_CASTNET.csh
│ │ └── src/
│ │ ├── ck_ctms.F
│ │ ├── get_units.F
│ │ ├── module_envvar.F
│ │ ├── module_file.F
│ │ ├── module_grid.F
│ │ ├── module_sites.F
│ │ ├── module_spec.F
│ │ ├── module_tstep.F
│ │ ├── parser.F
│ │ ├── process.F
│ │ ├── sitecmp_dailyo3.F
│ │ └── utilities.F
│ └── writesite/
│ ├── README.md
│ ├── inputs/
│ │ ├── sites.txt
│ │ └── tz.csv
│ ├── outputs/
│ │ └── O3.csv
│ ├── scripts/
│ │ ├── bldit_writesite.csh
│ │ └── run_writesite.csh
│ └── src/
│ ├── getTZ.F
│ ├── module_site.F
│ ├── module_spec.F
│ ├── parser.F
│ └── writesite.F
├── PREP/
│ ├── README.md
│ ├── bcon/
│ │ ├── README.md
│ │ ├── map2mech/
│ │ │ ├── SpecDef_cracmm1_aq_derived_from_cb6r5m_ae7_aq.txt
│ │ │ ├── SpecDef_cracmm2_derived_from_cb6r5m_ae7_aq.txt
│ │ │ ├── SpecDef_racm2_ae6_aq_derived_from_cb6r3m_ae7_kmtbr.txt
│ │ │ ├── SpecDef_racm_ae6_aq_derived_from_cb6r3m_ae7_kmtbr.txt
│ │ │ ├── SpecDef_saprc07tc_ae6_aq_derived_from_cb6r3m_ae7_kmtbr.txt
│ │ │ ├── SpecDef_saprc07tic_ae7i_aq_derived_from_cb6r3m_ae7_kmtbr.txt
│ │ │ └── run_combine_mechanism_mapping.csh
│ │ ├── scripts/
│ │ │ ├── bldit_bcon.csh
│ │ │ └── run_bcon.csh
│ │ └── src/
│ │ ├── common/
│ │ │ ├── BC_PARMS.F
│ │ │ ├── HGRD_DEFN.F
│ │ │ ├── VGRD_DEFN.F
│ │ │ ├── bcon.F
│ │ │ ├── findex.F
│ │ │ ├── lat_lon.F
│ │ │ ├── lr_interp.F
│ │ │ └── opn_bc_file.F
│ │ ├── m3conc/
│ │ │ ├── m3_bcout.F
│ │ │ ├── m3_ck_bdy.F
│ │ │ ├── m3_ck_ctms.F
│ │ │ ├── m3_ck_met.F
│ │ │ ├── m3_driver.F
│ │ │ └── m3_vinterp.F
│ │ ├── profile/
│ │ │ ├── avprofile_cb6r3m_ae7_kmtbr_hemi2016_v53beta2_m3dry_col051_row068.csv
│ │ │ ├── avprofile_racm_ae6_aq_derived_from_cb6r3m_ae7_kmtbr_hemi2016_v53beta2_m3dry_col051_row068.csv
│ │ │ ├── avprofile_saprc07tc_ae6_aq_derived_from_cb6r3m_ae7_kmtbr_hemi2016_v53beta2_m3dry_col051_row068.csv
│ │ │ ├── avprofile_saprc07tic_ae7i_aq_derived_from_cb6r3m_ae7_kmtbr_hemi2016_v53beta2_m3dry_col051_row068.csv
│ │ │ ├── legacy_PM_toxics_profile.csv
│ │ │ ├── prof_bcout.F
│ │ │ ├── prof_driver.F
│ │ │ └── prof_vinterp.F
│ │ └── tracer/
│ │ ├── trac_bc.F
│ │ └── trac_driver.F
│ ├── create_omi/
│ │ ├── README.md
│ │ ├── scripts/
│ │ │ ├── bldit_create_omi.csh
│ │ │ ├── get_toms_data.q
│ │ │ └── run_create_omi.csh
│ │ └── src/
│ │ ├── create_CMAQ_OMI.f
│ │ ├── create_ioapi_OMI.f
│ │ ├── create_omi.makefile
│ │ ├── driver.f
│ │ ├── get_env_vars.F
│ │ ├── module_envvar.F
│ │ └── module_utilities.f
│ ├── icon/
│ │ ├── README.md
│ │ ├── scripts/
│ │ │ ├── bldit_icon.csh
│ │ │ └── run_icon.csh
│ │ └── src/
│ │ ├── common/
│ │ │ ├── HGRD_DEFN.F
│ │ │ ├── IC_PARMS.F
│ │ │ ├── VGRD_DEFN.F
│ │ │ ├── findex.F
│ │ │ ├── icon.F
│ │ │ ├── lat_lon.F
│ │ │ ├── lr_interp.F
│ │ │ └── opn_ic_file.F
│ │ ├── m3conc/
│ │ │ ├── m3_ck_ctmmet.F
│ │ │ ├── m3_ck_ctms.F
│ │ │ ├── m3_ck_icmet.F
│ │ │ ├── m3_driver.F
│ │ │ ├── m3_icout.F
│ │ │ └── m3_vinterp.F
│ │ ├── profile/
│ │ │ ├── prof_driver.F
│ │ │ ├── prof_icout.F
│ │ │ └── prof_vinterp.F
│ │ └── tracer/
│ │ ├── trac_driver.F
│ │ └── trac_ic.F
│ └── mcip/
│ ├── README.md
│ ├── docs/
│ │ ├── CHANGES
│ │ ├── FAQ
│ │ └── ReleaseNotes
│ ├── scripts/
│ │ └── run_mcip.csh
│ └── src/
│ ├── Makefile
│ ├── alloc_ctm.f90
│ ├── alloc_met.f90
│ ├── alloc_x.f90
│ ├── bcldprc_ak.f90
│ ├── blddesc.f90
│ ├── chkwpshdr.f90
│ ├── chkwrfhdr.f90
│ ├── close_files.f90
│ ├── comheader.f90
│ ├── comheader_lufrac.f90
│ ├── comheader_mos.f90
│ ├── comheader_soi.f90
│ ├── const_mod.f90
│ ├── const_pbl_mod.f90
│ ├── coord_mod.f90
│ ├── ctmout.f90
│ ├── ctmproc.f90
│ ├── ctmvars_mod.f90
│ ├── date_pack_mod.f90
│ ├── date_time_mod.f90
│ ├── dealloc_ctm.f90
│ ├── dealloc_met.f90
│ ├── dealloc_x.f90
│ ├── detangle_soil_px.f90
│ ├── dynflds.f90
│ ├── e_aerk.f90
│ ├── files_mod.f90
│ ├── getluse.f90
│ ├── getmet.f90
│ ├── getpblht.f90
│ ├── getpsih.f90
│ ├── getsdt.f90
│ ├── graceful_stop.f90
│ ├── gridout.f90
│ ├── gridproc.f90
│ ├── init_ctm.f90
│ ├── init_io.f90
│ ├── init_met.f90
│ ├── init_x.f90
│ ├── julian.f90
│ ├── layht.f90
│ ├── ll2xy_lam.f90
│ ├── ll2xy_lam_sec.f90
│ ├── ll2xy_lam_tan.f90
│ ├── ll2xy_merc.f90
│ ├── ll2xy_ps.f90
│ ├── locate.f90
│ ├── lucats_mod.f90
│ ├── mapfac_lam.f90
│ ├── mapfac_merc.f90
│ ├── mapfac_ps.f90
│ ├── mcip.f90
│ ├── mcipparm_mod.f90
│ ├── metgrid2ctm.f90
│ ├── metinfo_mod.f90
│ ├── metvars2ctm.f90
│ ├── metvars_mod.f90
│ ├── netcdf_io_mod.f90
│ ├── outclog.f90
│ ├── outcm3io.f90
│ ├── outglog.f90
│ ├── outgm3io.f90
│ ├── outncf.f90
│ ├── outncfbdy.f90
│ ├── outncfglobal.f90
│ ├── pblsup.f90
│ ├── ptemp.f90
│ ├── pvs.f90
│ ├── qsat.f90
│ ├── rdwrfem.f90
│ ├── readnml.f90
│ ├── resistcalc.f90
│ ├── setgriddefs.f90
│ ├── setup.f90
│ ├── setup_wrfem.f90
│ ├── sfclayer.f90
│ ├── statflds.f90
│ ├── vertarys.f90
│ ├── vertnhy_wrf.f90
│ ├── vgrd_mod.f90
│ ├── vstamp.f90
│ ├── vtemp.f90
│ ├── wind.f90
│ ├── wrfemopts.f90
│ ├── wrgdesc.f90
│ ├── xvars_mod.f90
│ ├── xy2ll_lam.f90
│ └── xy2ll_merc.f90
├── PYTOOLS/
│ ├── README.md
│ ├── dmschlo/
│ │ ├── .gitignore
│ │ ├── CMAQ_DMS_ChlorA.ipynb
│ │ ├── CMAQ_DMS_ChlorA_Plot.ipynb
│ │ ├── README.md
│ │ └── requirements.txt
│ ├── install/
│ │ ├── README.md
│ │ ├── environment.yml
│ │ ├── requirements.txt
│ │ └── show_versions.py
│ └── shp2cmaq/
│ ├── README.md
│ ├── requirements.txt
│ ├── shapefile2cmaq.ipynb
│ └── shp2cmaq.py
├── README.md
├── UTIL/
│ ├── README.md
│ ├── bldmake/
│ │ ├── README.md
│ │ ├── scripts/
│ │ │ └── bldit_bldmake.csh
│ │ └── src/
│ │ ├── Makefile
│ │ ├── bldmake.f
│ │ ├── cfg_module.f
│ │ ├── parser.f
│ │ └── utils.f
│ ├── chemmech/
│ │ ├── README.md
│ │ ├── docs/
│ │ │ └── readme.txt
│ │ ├── scripts/
│ │ │ ├── bldit_chemmech.csh
│ │ │ └── run_chemmech.csh
│ │ └── src/
│ │ ├── BASIC_WRITE_ROUTINES.f
│ │ ├── GET_MECHDEF_DATA.f
│ │ ├── MECHANISM_DATA.f
│ │ ├── MECHANISM_DOCS.f
│ │ ├── MECHANISM_PARMS.f
│ │ ├── Makefile
│ │ ├── SPECIES_ATOMS_DATA.f
│ │ ├── TEXT_UTILITIES.f
│ │ ├── cctm_species.f
│ │ ├── chemmech.f
│ │ ├── index1.f
│ │ ├── junit.f
│ │ ├── map_chemistry_spc.F90
│ │ ├── module_envvar.f
│ │ ├── module_functions_evaluator.f
│ │ ├── wrexts.f
│ │ ├── wrexts_fortran90.f
│ │ ├── wrextsb.f
│ │ ├── wrspecial_ext.f
│ │ ├── wrspecial_ext_fortran90.f
│ │ ├── wrss_ext.f
│ │ ├── wrss_ext_fortran90.f
│ │ ├── wrt_kpp_inputs.f
│ │ ├── wrt_rates.f
│ │ ├── wrt_reactions_module.f
│ │ └── wrt_reactions_module_CRI_fix.f
│ ├── create_ebi/
│ │ ├── README.md
│ │ ├── docs/
│ │ │ └── README.txt
│ │ ├── scripts/
│ │ │ └── bldrun_create_ebi.csh
│ │ ├── src/
│ │ │ ├── ATDSC3.EXT
│ │ │ ├── CONST3.EXT
│ │ │ ├── FDESC3.EXT
│ │ │ ├── IODECL3.EXT
│ │ │ ├── Makefile
│ │ │ ├── NETCDF.EXT
│ │ │ ├── NOTICE.EXT
│ │ │ ├── PARMS3.EXT
│ │ │ ├── STATE3.EXT
│ │ │ ├── driver.F
│ │ │ ├── err_check.F
│ │ │ ├── fake_ioapi.f
│ │ │ ├── junit.F
│ │ │ ├── module_env_functions.F
│ │ │ ├── module_envvar.F
│ │ │ ├── module_envvar_new.F
│ │ │ ├── module_envvar_test.F
│ │ │ ├── module_glbldata.F
│ │ │ ├── set_glbldata.F
│ │ │ ├── util_subs.F
│ │ │ ├── wr_calcks.F
│ │ │ ├── wr_copyrt.F
│ │ │ ├── wr_cvshdr.F
│ │ │ ├── wr_data.F
│ │ │ ├── wr_driver.F
│ │ │ ├── wr_driver.F.original
│ │ │ ├── wr_gp1.F
│ │ │ ├── wr_gp2.F
│ │ │ ├── wr_gp2.F_02-27-06
│ │ │ ├── wr_gp3.F
│ │ │ ├── wr_gp3.F_1st_mod
│ │ │ ├── wr_gp4.F
│ │ │ ├── wr_gp4.F_1st_mod
│ │ │ ├── wr_grp1.F_03-06-06
│ │ │ ├── wr_init.F
│ │ │ ├── wr_prodloss.F
│ │ │ ├── wr_rates.F
│ │ │ ├── wr_rates.F_orig
│ │ │ ├── wr_solver.F
│ │ │ ├── wr_special.F
│ │ │ └── wr_ssa.F
│ │ └── template_RXNSU_OPT/
│ │ ├── copyright.txt
│ │ ├── cvs_header.txt
│ │ ├── hrdata_mod.F
│ │ ├── hrdriver.F
│ │ ├── hrg1.F
│ │ ├── hrg2.F
│ │ ├── hrg3.F
│ │ ├── hrg4.F
│ │ ├── hrinit.F
│ │ ├── hrprodloss.F
│ │ ├── hrrates.F
│ │ └── hrsolver.F
│ ├── inline_phot_preproc/
│ │ ├── README.md
│ │ ├── docs/
│ │ │ └── README.txt
│ │ ├── ice_clouds/
│ │ │ ├── fu96.asy
│ │ │ ├── fu96.del
│ │ │ ├── fu96.ext
│ │ │ └── fu96.ssa
│ │ ├── photolysis_CSQY_data/
│ │ │ ├── ACET-06
│ │ │ ├── ACETONE_RADM88
│ │ │ ├── ACETONE_SAPRC99
│ │ │ ├── ACET_06
│ │ │ ├── ACET_CO_CRI
│ │ │ ├── ACET_IUPAC10
│ │ │ ├── ACET_R2_CRI
│ │ │ ├── ACRO-09
│ │ │ ├── ACROLEIN
│ │ │ ├── ACROLEIN_SAPRC99
│ │ │ ├── ACRO_09
│ │ │ ├── ACRO_10
│ │ │ ├── AFG1
│ │ │ ├── ALD2_R_IUPAC10
│ │ │ ├── ALD2_R_IUPAC13
│ │ │ ├── ALDX_R_IUPAC10
│ │ │ ├── ALDX_R_IUPAC13
│ │ │ ├── ALD_CBIV88
│ │ │ ├── ALD_JPL19
│ │ │ ├── ALD_RACM2
│ │ │ ├── ALD_RADM88
│ │ │ ├── BACL-07
│ │ │ ├── BACL_07
│ │ │ ├── BACL_ADJ_SAPRC99
│ │ │ ├── BALD-06
│ │ │ ├── BALD_06
│ │ │ ├── BALD_RACM2
│ │ │ ├── BIACET_MCMv32
│ │ │ ├── BR2
│ │ │ ├── BR2_IUPAC10
│ │ │ ├── BR2_IUPAC2014
│ │ │ ├── BRCL
│ │ │ ├── BRCL_IUPAC10
│ │ │ ├── BRCL_IUPAC2014
│ │ │ ├── BRNO2
│ │ │ ├── BRNO2_IUPAC10
│ │ │ ├── BRNO2_IUPAC2014
│ │ │ ├── BRO
│ │ │ ├── BRONO2_M
│ │ │ ├── BRONO2_M_IUPAC10
│ │ │ ├── BRONO2_M_IUPAC2014
│ │ │ ├── BRONO2_R
│ │ │ ├── BRONO2_R_IUPAC10
│ │ │ ├── BRONO2_R_IUPAC2014
│ │ │ ├── BRO_IUPAC10
│ │ │ ├── BRO_IUPAC14
│ │ │ ├── BRO_IUPAC2014
│ │ │ ├── BZCHO_SAPRC99
│ │ │ ├── C2CHO
│ │ │ ├── C2CHO_R_MCMv32
│ │ │ ├── C2CHO_SAPRC99
│ │ │ ├── CCHO_R
│ │ │ ├── CCHO_R1_MCMv32
│ │ │ ├── CCHO_R2_MCMv32
│ │ │ ├── CCHO_R_SAPRC99
│ │ │ ├── CH3CHO_RACM2
│ │ │ ├── CH3COCH3A_JPL19
│ │ │ ├── CH3COCH3B_JPL19
│ │ │ ├── CH3COCH3_RACM2
│ │ │ ├── CH3I_IUPAC10
│ │ │ ├── CH3ONO2_MCMv32
│ │ │ ├── CH3OOH_MCMv32
│ │ │ ├── CHBR2CL_BILDE1998
│ │ │ ├── CHBR3_IUPAC2014
│ │ │ ├── CHBRCL2_BILDE1998
│ │ │ ├── CL2
│ │ │ ├── CL2_IUPAC04
│ │ │ ├── CL2_IUPAC04_mod
│ │ │ ├── CLACET
│ │ │ ├── CLCCHO
│ │ │ ├── CLNO-06
│ │ │ ├── CLNO2
│ │ │ ├── CLNO2_IUPAC13
│ │ │ ├── CLNO_06
│ │ │ ├── CLONO
│ │ │ ├── CLONO2-1
│ │ │ ├── CLONO2-2
│ │ │ ├── CLONO2_1
│ │ │ ├── CLONO2_2
│ │ │ ├── COHBR_JPL2010
│ │ │ ├── COOH
│ │ │ ├── COOH_SAPRC99
│ │ │ ├── ETHLN_RACM2
│ │ │ ├── ETHYNO3_MCMv32
│ │ │ ├── FMCL_IUPAC04
│ │ │ ├── FORM_M_IUPAC10
│ │ │ ├── FORM_M_IUPAC13
│ │ │ ├── FORM_R_IUPAC10
│ │ │ ├── FORM_R_IUPAC13
│ │ │ ├── GLY-07M
│ │ │ ├── GLY-07R
│ │ │ ├── GLYD_IUPAC10
│ │ │ ├── GLYF_RACM2
│ │ │ ├── GLYH2_RACM2
│ │ │ ├── GLYHX_RACM2
│ │ │ ├── GLYOX_M_CRI
│ │ │ ├── GLYOX_R_CRI
│ │ │ ├── GLY_07M
│ │ │ ├── GLY_07R
│ │ │ ├── GLY_1H_MCMv32
│ │ │ ├── GLY_2H_MCMv32
│ │ │ ├── GLY_2R_MCMv32
│ │ │ ├── GLY_ABS_SAPRC99
│ │ │ ├── GLY_FO_MCMv32
│ │ │ ├── GLY_H2_MCMv32
│ │ │ ├── GLY_R_IUPAC10
│ │ │ ├── GLY_R_IUPAC13
│ │ │ ├── GLY_R_SAPRC99
│ │ │ ├── GLYform_RADM88
│ │ │ ├── GLYmol_RADM88
│ │ │ ├── H2O2
│ │ │ ├── H2O2_IUPAC10
│ │ │ ├── H2O2_NASA94
│ │ │ ├── H2O2_RACM2
│ │ │ ├── H2O2_RADM88
│ │ │ ├── H2O2_SAPRC99
│ │ │ ├── HCHOM-06
│ │ │ ├── HCHOM_06
│ │ │ ├── HCHOR-06
│ │ │ ├── HCHOR_06
│ │ │ ├── HCHO_MOL_JPL19
│ │ │ ├── HCHO_MOL_RACM2
│ │ │ ├── HCHO_M_MCMv32
│ │ │ ├── HCHO_M_SAPRC99
│ │ │ ├── HCHO_RAD_JPL19
│ │ │ ├── HCHO_RAD_RACM2
│ │ │ ├── HCHO_R_MCMv32
│ │ │ ├── HCHO_R_SAPRC99
│ │ │ ├── HCHOmol_CBIV88
│ │ │ ├── HCHOmol_NASA94
│ │ │ ├── HCHOmol_RADM88
│ │ │ ├── HCHOrad_CBIV88
│ │ │ ├── HCHOrad_NASA94
│ │ │ ├── HCHOrad_RADM88
│ │ │ ├── HKET_RACM2
│ │ │ ├── HNO3
│ │ │ ├── HNO3_IUPAC04
│ │ │ ├── HNO3_IUPAC10
│ │ │ ├── HNO3_NASA94
│ │ │ ├── HNO3_RACM2
│ │ │ ├── HNO3_RADM88
│ │ │ ├── HNO3_SAPRC99
│ │ │ ├── HNO4-06
│ │ │ ├── HNO4_06
│ │ │ ├── HNO4_NASA94
│ │ │ ├── HNO4_RACM2
│ │ │ ├── HNO4_RADM88
│ │ │ ├── HO2NO2_IUPAC04
│ │ │ ├── HO2NO2_SAPRC99
│ │ │ ├── HOBR
│ │ │ ├── HOBR_IUPAC10
│ │ │ ├── HOBR_IUPAC2014
│ │ │ ├── HOCCHO
│ │ │ ├── HOCCHO_IUPAC
│ │ │ ├── HOCCHO_JPL2011
│ │ │ ├── HOCCHO_RACM2
│ │ │ ├── HOCL-06
│ │ │ ├── HOCL_06
│ │ │ ├── HOCL_IUPAC04
│ │ │ ├── HOI_IUPAC10
│ │ │ ├── HONO-06
│ │ │ ├── HONO_06
│ │ │ ├── HONO_IUPAC04
│ │ │ ├── HONO_IUPAC10
│ │ │ ├── HONO_NASA94
│ │ │ ├── HONO_NO2_SAPRC99
│ │ │ ├── HONO_NO_SAPRC99
│ │ │ ├── HONO_RACM2
│ │ │ ├── HONO_RADM88
│ │ │ ├── HOP_RADM88
│ │ │ ├── HPALD
│ │ │ ├── HPALD_MCMv32
│ │ │ ├── HPALD_RACM2
│ │ │ ├── HYDRO_ACET_CRI
│ │ │ ├── HYDRPMETH_BUT_10
│ │ │ ├── I2_IUPAC10
│ │ │ ├── IBR_IUPAC10
│ │ │ ├── IC3ONO2
│ │ │ ├── IC3ONO2_SAPRC99
│ │ │ ├── ICL_IUPAC10
│ │ │ ├── IMONIT_RACM2
│ │ │ ├── INO2_06
│ │ │ ├── INO_06
│ │ │ ├── IONO2_06
│ │ │ ├── IO_IUPAC10
│ │ │ ├── IPROCHO_MCMv32
│ │ │ ├── IPRONO3_MCMv32
│ │ │ ├── ISOPNB_RACM2
│ │ │ ├── ISOPND_RACM2
│ │ │ ├── ISPD
│ │ │ ├── KETONE_RADM88
│ │ │ ├── KETONE_SAPRC99
│ │ │ ├── KET_IUPAC10
│ │ │ ├── KET_JGR19
│ │ │ ├── KET_RACM2
│ │ │ ├── MACR-06
│ │ │ ├── MACRN_RACM2
│ │ │ ├── MACR_06
│ │ │ ├── MACR_A_MCMv32
│ │ │ ├── MACR_B_MCMv32
│ │ │ ├── MACR_MCMv32
│ │ │ ├── MACR_RACM2
│ │ │ ├── MB2C
│ │ │ ├── MB2C_BLIDE98
│ │ │ ├── MB3
│ │ │ ├── MB3_IUPAC10
│ │ │ ├── MBC2
│ │ │ ├── MBC2_BLIDE98
│ │ │ ├── MEK-06
│ │ │ ├── MEK_06
│ │ │ ├── MEK_JGR19
│ │ │ ├── MEK_MCMv32
│ │ │ ├── MEK_RACM2
│ │ │ ├── MEPX_IUPAC10
│ │ │ ├── MGLY-06
│ │ │ ├── MGLY_06
│ │ │ ├── MGLY_ABS_SAPRC99
│ │ │ ├── MGLY_ADJ_SAPRC99
│ │ │ ├── MGLY_IUPAC04
│ │ │ ├── MGLY_IUPAC10
│ │ │ ├── MGLY_RACM2
│ │ │ ├── MGLY_RADM88
│ │ │ ├── MHP_NASA94
│ │ │ ├── MHP_RADM88
│ │ │ ├── MI2_IUPAC10
│ │ │ ├── MIB_IUPAC10
│ │ │ ├── MIC_IUPAC10
│ │ │ ├── MVK-06
│ │ │ ├── MVKN_RACM2
│ │ │ ├── MVK_06
│ │ │ ├── MVK_MCMv32
│ │ │ ├── MVK_RACM2
│ │ │ ├── N2O5_IUPAC04
│ │ │ ├── N2O5_IUPAC10
│ │ │ ├── N2O5_NO2_JPL11
│ │ │ ├── N2O5_O3P_JPL11
│ │ │ ├── NC3CHO_M_MCMv32
│ │ │ ├── NC3CHO_R_MCMv32
│ │ │ ├── NITROXY_ACET_2014
│ │ │ ├── NITROXY_ACET_93
│ │ │ ├── NITROXY_BUTA_2014
│ │ │ ├── NO2-06
│ │ │ ├── NO2EX
│ │ │ ├── NO2_06
│ │ │ ├── NO2_CBIV88
│ │ │ ├── NO2_IUPAC10
│ │ │ ├── NO2_NASA94
│ │ │ ├── NO2_RACM2
│ │ │ ├── NO2_RADM88
│ │ │ ├── NO2_SAPRC99
│ │ │ ├── NO3NO-06
│ │ │ ├── NO3NO2-6
│ │ │ ├── NO3NO2_06
│ │ │ ├── NO3NO2_6
│ │ │ ├── NO3NO2_NASA94
│ │ │ ├── NO3NO2_RACM2
│ │ │ ├── NO3NO2_RADM88
│ │ │ ├── NO3NO2_SAPRC99
│ │ │ ├── NO3NO_06
│ │ │ ├── NO3NO_NASA94
│ │ │ ├── NO3NO_RACM2
│ │ │ ├── NO3NO_RADM88
│ │ │ ├── NO3NO_SAPRC99
│ │ │ ├── NOA
│ │ │ ├── NOA_0_MCMv32
│ │ │ ├── NOA_B_MCMv32
│ │ │ ├── NOA_MCMv32
│ │ │ ├── NOA_T_MCMv32
│ │ │ ├── NPRONO3_MCMv32
│ │ │ ├── NTR_IUPAC04
│ │ │ ├── NTR_IUPAC10
│ │ │ ├── O2_JPL06-2
│ │ │ ├── O2_NASA94
│ │ │ ├── O2_RADM88
│ │ │ ├── O3O1D-06
│ │ │ ├── O3O1D_06
│ │ │ ├── O3O1D_CBIV88
│ │ │ ├── O3O1D_JPL06-2
│ │ │ ├── O3O1D_NASA06
│ │ │ ├── O3O1D_NASA94
│ │ │ ├── O3O1D_RADM88
│ │ │ ├── O3O1D_SAPRC99
│ │ │ ├── O3O3P-06
│ │ │ ├── O3O3P_06
│ │ │ ├── O3O3P_JPL06-2
│ │ │ ├── O3O3P_NASA06
│ │ │ ├── O3O3P_NASA94
│ │ │ ├── O3O3P_RADM88
│ │ │ ├── O3O3P_SAPRC99
│ │ │ ├── O3_O1D_IUPAC04
│ │ │ ├── O3_O1D_IUPAC10
│ │ │ ├── O3_O3P_IUPAC04
│ │ │ ├── O3_O3P_IUPAC10
│ │ │ ├── OIO_06
│ │ │ ├── ONIT_RACM2
│ │ │ ├── OP1_RACM2
│ │ │ ├── ORGNIT_RADM88
│ │ │ ├── PAA
│ │ │ ├── PAA_RACM2
│ │ │ ├── PAA_RADM88
│ │ │ ├── PACD_CB05
│ │ │ ├── PAN
│ │ │ ├── PAN1_RACM2
│ │ │ ├── PAN2_RACM2
│ │ │ ├── PAN_IUPAC04
│ │ │ ├── PAN_IUPAC10
│ │ │ ├── PNA_IUPAC10
│ │ │ ├── PROPANAL_IUPAC
│ │ │ ├── PROPANAL_IUPAC_1st_try
│ │ │ ├── PROPNN_RACM2
│ │ │ ├── PYRUACID_JPL2011
│ │ │ ├── PYRUACID_RACM2
│ │ │ ├── TBUTNO3_MCMv32
│ │ │ ├── UALD_RACM2
│ │ │ └── UDC_RADM88
│ │ ├── refractive_indices/
│ │ │ ├── IE_refractive_indices/
│ │ │ │ ├── Lambe_2013-naphthalene_SOA_refractive_indices.txt
│ │ │ │ ├── Lui_2013_APIN_SOA_refractive_indices.txt
│ │ │ │ ├── Lui_2013_Limonene_SOA_refractive_indices.txt
│ │ │ │ ├── Lui_2013_catechol_SOA_refractive_indices.txt
│ │ │ │ ├── Lui_2013_refractive_indices.txt
│ │ │ │ ├── Lui_2015_refractive_indices.txt
│ │ │ │ ├── Lui_2015_refractive_indices_mxylene_SOA_high_NOX.txt
│ │ │ │ ├── Lui_2015_refractive_indices_mxylene_SOA_low_NOX.txt
│ │ │ │ ├── Lui_2015_refractive_indices_toluene_SOA_high_NOX.txt
│ │ │ │ ├── Lui_2015_refractive_indices_toluene_SOA_low_NOX.txt
│ │ │ │ ├── nakayama_2018_isoprene_NOX_SOA_refractive_indices.txt
│ │ │ │ └── nakayama_2018_isoprene_SOX_SOA_refractive_indices.txt
│ │ │ ├── OPAC_water_clouds/
│ │ │ │ ├── inso00
│ │ │ │ ├── soot00
│ │ │ │ ├── soot00-two_way-Oct_21_2012
│ │ │ │ ├── ssam00
│ │ │ │ ├── sscm00
│ │ │ │ ├── waso00
│ │ │ │ ├── wc.asy
│ │ │ │ ├── wc.ext
│ │ │ │ └── wc.ssa
│ │ │ └── adient_aerosol_refrac_indx/
│ │ │ ├── refract_ammoniumsulphate_lf.txt
│ │ │ ├── refract_bc_high.txt
│ │ │ ├── refract_bc_med.txt
│ │ │ ├── refract_biomass_new.txt
│ │ │ ├── refract_dust_kwcp_fou.txt
│ │ │ ├── refract_nitrate.txt
│ │ │ ├── refract_organicc_new.txt
│ │ │ ├── refract_soa_dinar.txt
│ │ │ ├── refract_soa_hadgem2.txt
│ │ │ ├── refract_ssam_opac.txt
│ │ │ └── refract_sulphuric.txt
│ │ ├── scripts/
│ │ │ └── bldrun.inline_phot_preproc.csh
│ │ └── src/
│ │ ├── ALBEDO_REFER_DATA.F
│ │ ├── BIN_DATA.f
│ │ ├── CHECK_CSQY_DATA.F
│ │ ├── CSQY_DATA-p05cm-UCI.f
│ │ ├── CSQY_DATA-solflx-lowtran.f
│ │ ├── CSQY_PARAMETERS.F
│ │ ├── CSQY_REFER_DATA.F
│ │ ├── INLINE_CSQY.F
│ │ ├── Make_processor
│ │ ├── Makefile
│ │ ├── aero_refract_index.F
│ │ ├── convert_case.f
│ │ ├── create_module.F
│ │ ├── driver.f
│ │ ├── effective_ave.F
│ │ ├── init_lu.f90
│ │ ├── inline_phot_preproc.makefile
│ │ ├── intavg.f
│ │ ├── intavg_b.f
│ │ ├── intavg_c.f
│ │ ├── intavg_d.f
│ │ ├── module_envvar.F
│ │ ├── old-dumb.makefile
│ │ ├── old.Makefile
│ │ ├── optics_ice_cloud.f
│ │ ├── optics_water_cloud.f
│ │ ├── process_csqys.F
│ │ ├── read_jproc_csqy.F
│ │ ├── spectral_reflect.f
│ │ ├── vegeland_s.f
│ │ ├── vegeland_striecher-wth.f
│ │ ├── vegeland_striecher.f
│ │ ├── wrbf12d.f
│ │ ├── wrbf12d_w_headerb.f
│ │ ├── wrt_csqy_data.F
│ │ ├── wrt_csqy_data_only.F
│ │ ├── wrt_optics_data.F
│ │ ├── wvbin_average-b.f
│ │ ├── wvbin_average.f
│ │ ├── xc_qy_td_effect-old.F
│ │ ├── xc_qy_td_effect.F
│ │ ├── xc_qy_td_effect_v2.F
│ │ └── xc_qy_td_effect_v3.F
│ ├── jproc/
│ │ ├── README.md
│ │ ├── scripts/
│ │ │ ├── bldit_jproc.csh
│ │ │ └── run_jproc.csh
│ │ └── src/
│ │ └── common/
│ │ ├── JVALPARMS.EXT
│ │ ├── calczen.F
│ │ ├── chj.f
│ │ ├── index2.f
│ │ ├── intavg.f
│ │ ├── interp.f
│ │ ├── jproc.F
│ │ ├── junit.f
│ │ ├── module_envvar.F
│ │ ├── o3scal.f
│ │ ├── optics.f
│ │ ├── pntavg.f
│ │ ├── readcsqy.F
│ │ ├── readet.f
│ │ ├── reado2.f
│ │ ├── reado3.f
│ │ ├── readprof.f
│ │ ├── readtoms.f
│ │ ├── setaer.f
│ │ ├── setair.f
│ │ ├── setalb.f
│ │ ├── setcld.f
│ │ ├── srband.f
│ │ ├── subgrid.F
│ │ ├── tridiag.f
│ │ └── twostr.f
│ └── nml/
│ ├── README.md
│ └── scripts/
│ ├── csv2nml.csh
│ └── nml2csv.csh
├── config_cmaq.csh
└── license.md
================================================
FILE CONTENTS
================================================
================================================
FILE: .github/ISSUE_TEMPLATE/new-issue-.md
================================================
---
name: 'New Issue '
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''
---
**Please Read**
If you have questions or problems with your CMAQ simulation please visit the CMAS User Forum for support from EPA and CMAS scientists: **https://forum.cmascenter.org/t/please-read-before-posting/1321**
If you have identified an error in CMAQ source code or documentation please fill out and submit the form below, or, alternatively, contact us directly at CMAQ_Team@epa.gov. Thank you for your contributions to the CMAQ Community!
**Description**
A clear and concise description of the issue.
**Scope and Impact**
A description of how other users might be impacted by this issue.
**Solution**
Is there a known solution for the issue? If so, how/when will it be shared with other users.
**Additional context**
Add any other context about the problem here.
================================================
FILE: .github/PULL_REQUEST_TEMPLATE.md
================================================
**Contact:**
Developers name and affiliation
**Type of code change:**
For example, bug fix, enhancement, new feature, documentation.
**Description of changes:**
Clear and concise description of the problem, solution, and required changes.
**Issue:**
If this resolves a known issue, include the link to the GitHub Issue number.
**Summary of Impact:**
Please state whether this update changes the results of the core model predictions in terms of concentration, deposition, etc.
Please state the approximate impact this update has on model runtime, if any.
**Tests conducted:**
Describe tests that were conducted including domain and time period (e.g. BLDCHECK; June 1-2 2016 SEBENCH; Jan 2017 12US1) and results of the tests. Include plots of relevant results.
================================================
FILE: .gitignore
================================================
# general files to ignore
### Fortran ###
# Prerequisites
*.d
# Compiled Object files
*.slo
*.lo
*.o
*.obj
# Precompiled Headers
*.gch
*.pch
# Compiled Dynamic libraries
*.so
*.dylib
*.dll
# Fortran module files
*.mod
*.smod
# Compiled Static libraries
*.lai
*.la
*.a
*.lib
# Executables
*.exe
*.out
*.app
#archives
*.tar
*.gz
#temporary files
*.swp
*~
#library symbolic links
lib/
#file unique to repository
CTM_LOG*
BLD*
*.log
*_bak
BLDMAKE*
CHEMMECH*
JPROC_*
ICON_*
BCON_*
UTIL/chemmech/input
UTIL/chemmech/output
UTIL/create_ebi/output
UTIL/create_ebi/input
UTIL/inline_phot_preproc/output
UTIL/inline_phot_preproc/input
UTIL/inline_phot_preproc/bldrun.log
#user specific scripts
/scripts/
#unique to user; below section unlikely to add and commit to repository
bldit_project.csh
================================================
FILE: CCTM/README.md
================================================
CMAQ Chemistry Transport Model (CCTM)
========
## Overview
CCTM is the Eulerian chemistry and transport component of CMAQ. It uses input data produced by the other CMAQ programs and from meteorological and emissions models. CCTM produces multiple output files for each simulation. The basic CCTM outputs include instantaneous and average hourly concentration files, wet and dry deposition files, and visibility estimates. Other CCTM outputs can include diagnostic aerosol and cloud files and processes analysis files.
CCTM contains several science configurations for simulating transport, chemistry, and deposition. All of the science configuration options in CCTM, such as the chemical mechanism to be used, are set when compiling the executable. The model grid and vertical layer structure for CCTM are set at execution. The important distinction between selecting the science configuration and the model grid/layer configuration is that CCTM does not need to be recompiled when changing model grids/layers but does need to be recompiled when new science options are invoked.
Optional output files are created when their associated processes are invoked in CCTM. For example, when CCTM is compiled with process analysis turned on, additional output files are created.
CCTM includes options for the in-line processing of emissions and photolysis rates. In-line refers to the handling of processes that had previously been accomplished outside of CCTM, such as emissions processing with SMOKE, with algorithms internal to CCTM. The benefits of in-line emissions processing include the integration of higher time-resolution meteorology in the computation of biogenic emissions and plume rise from point sources and the avoidance of the large data storage burden required for emissions data. The benefit of in-line photolysis rate calculations is the inclusion of predicted gas and aerosol concentrations in the rate calculations.
Both in-line emissions and photolysis are invoked through compile-time configuration options for CCTM. When CCTM is instrumented for in-line emissions calculations, a series of additional input files and environment variables are required at execution. The details of these additional inputs are provided below. In-line photolysis does not require any additional inputs as CCTM includes all of the photolysis rate data internal to the in-line instrumented version of the model.
## Directories
* **scripts**: build and run scripts
* **src**: model source code
## Documentation
* CMAQ Science Options are discussed in [Chapter 6 of the User's Guide](../DOCS/Users_Guide/CMAQ_UG_ch06_model_configuration_options.md).
* Description of CCTM environment variables are provided in comments in the CCTM build and run scripts and as well as [Appendix A of the User's Guide](../DOCS/Users_Guide/Appendix/CMAQ_UG_appendixA_model_options.md).
================================================
FILE: CCTM/scripts/bldit_cctm.csh
================================================
#!/bin/csh -f
# ======================= CCTMv5.5.X Build Script =========================
# Usage: bldit_cctm.csh <compiler> >&! bldit.cctm.log
# Requirements: I/O API & netCDF libraries, a Fortran compiler,
# and MPI for multiprocessor computing
#
# To report problems or request help with this script/program:
# http://www.cmascenter.org
# =========================================================================
#> Set Compiler Identity by User Input: Options -> intel | pgi | gcc
if ( $#argv == 1 ) then
setenv compiler $argv[1]
setenv compilerVrsn Empty
else if ( $#argv == 2 ) then
#> Compiler Name and Version have been provided
setenv compiler $1
setenv compilerVrsn $2
else
echo "usage: $0 <compiler>"
echo " where <compiler> is intel, pgi or gcc"
exit(2)
endif
#> Source the config.cmaq file to set the build environment
cd ../..
source ./config_cmaq.csh
set echo
# =======================================================================
#> Begin User Input Section
# =======================================================================
#> Source Code Locations
setenv CCTM_SRC ${CMAQ_REPO}/CCTM/src #> location of the CCTM source code
set GlobInc = $CCTM_SRC/ICL #> location of the global include files
set Mechs = $CCTM_SRC/MECHS #> location of the chemistry mechanism include files
setenv REPOROOT $CCTM_SRC
#> Controls for managing the source code and MPI compilation
set CompileBLDMAKE #> Recompile the BLDMAKE utility from source
#> comment out to use an existing BLDMAKE executable
set CopySrc #> copy the source files into the build directory
#set CopySrcTree #> copy the source files and directory tree into the build directory
#set MakeFileOnly #> uncomment to build a Makefile, but do not compile;
#> comment out to compile the model (default if not set)
#set build_mech #> uncomment to build mechanism source code files using the
#> chemmech utility.
#> Below are chemmech options for revising the mechanism definitions file. The option needs information on the
#> composition of each chemistry. See UTIL/chemmech/README.md for more information.
#> Uncomment to use.
#> Rewrite reactions by appending them with changes in tracked atoms or elements from reactants to products
#setenv COMPUTE_DELTA_ATOMS F
#> The species namelist contains the composition information as comments at the end of lines defining species.
#> Note that if a defining line does not have an ending comment, the species is taken to have none of the tacked atoms.
#> If NAMELISTS_LIST_ATOMS equals F, an additional ASCII file contains the information.
#setenv NAMELISTS_LIST_ATOMS T
#set clobber_mech #> when commented, the bldit_mech.csh script will halt if
#> newly created mechanism files are attempting replace
#> existing ones. When uncommented, the existing files
#> will be overwritten.
set ParOpt #> uncomment to build a multiple processor (MPI) executable;
#> comment out for a single processor (serial) executable
#set DistrEnv #> uncomment to distribute environmental variables to multiple machines
#> comment out for a single processor (serial) executable (MPI only)
#set build_parallel_io #> uncomment to build with parallel I/O (pnetcdf);
#> comment out to use standard netCDF I/O
#set Debug_CCTM #> uncomment to compile CCTM with debug option equal to TRUE
#> comment out to use standard, optimized compile process
set make_options = "-j" #> additional options for make command if MakeFileOnly is not set
#> comment out if no additional options are wanted.
#> Integrated Source Apportionment Method (ISAM)
#set ISAM_CCTM #> uncomment to compile CCTM with ISAM activated
#> comment out to use standard process
#set DDM3D_CCTM #> uncomment to compile CCTM with DDM-3D activated
#> comment out to use standard process
#> Two-way WRF-CMAQ
#set build_twoway #> uncomment to build WRF-CMAQ twoway;
#> comment out for off-line chemistry
#> Working directory and Version IDs
if ( $?ISAM_CCTM ) then
set VRSN = v55_ISAM #> model configuration ID for CMAQ_ISAM
else if ( $?DDM3D_CCTM ) then
set VRSN = v55_DDM3D #> model configuration ID for CMAQ_DDM
else
set VRSN = v55 #> model configuration ID for CMAQ
endif
set EXEC = CCTM_${VRSN}.exe #> executable name
set CFG = CCTM_${VRSN}.cfg #> configuration file name
if ( $?build_twoway ) then # WRF Version used for WRF-CMAQ Model (must be v4.4+)
set WRF_VRSN = v4.4
endif
#========================================================================
#> CCTM Science Modules
#========================================================================
#> NOTE: For the modules with multiple options, a note is
#> provided on where to look in the CCTM source code
#> archive for a list of the possible settings. Users
#> may also refer to the CMAQ documentation.
set ModGrid = grid/cartesian #> grid configuration module
set DepMod = m3dry #> m3dry or stage
#set DepMod = stage
set ModAdv = wrf_cons #> 3-D Advection Scheme [Options: wrf_cons (default), local_cons]
set ModHdiff = hdiff/multiscale #> horizontal diffusion module
set ModVdiff = vdiff/acm2_${DepMod} #> vertical diffusion module (see $CMAQ_MODEL/CCTM/src/vdiff)
set ModDepv = depv/${DepMod} #> deposition velocity calculation module
#> (see $CMAQ_MODEL/CCTM/src/depv)
set ModEmis = emis/emis #> in-line emissions module
set ModBiog = biog/beis4 #> BEIS4 in-line emissions module
set ModMegBiog = biog/megan3 #> MEGAN3 in-line emissions module
set ModPlmrs = plrise/smoke #> in-line emissions plume rise
set ModCgrds = spcs/cgrid_spcs_nml #> chemistry species configuration module
#> (see $CMAQ_MODEL/CCTM/src/spcs)
set ModPhot = phot/inline #> photolysis calculation module
#> (see $CMAQ_MODEL/CCTM/src/phot)
setenv Mechanism cb6r5_ae7_aq #> chemical mechanism (see $CMAQ_MODEL/CCTM/src/MECHS)
set ModMech = MECHS/${Mechanism}
if ( ${Mechanism} =~ *ae7* ) then #> ae7 family of aero and cloud chem
set ModAero = aero/aero7 # > aerosol chemistry module (see $CMAQ_MODEL/CCTM/src/aero)
set ModCloud = cloud/acm_ae7 # > cloud chemistry module (see $CMAQ_MODEL/CCTM/src/cloud)
else if ( ${Mechanism} =~ *ae6* ) then #> ae6 family of aero and cloud chem
set ModAero = aero/aero6 # > aerosol chemistry module (see $CMAQ_MODEL/CCTM/src/aero)
set ModCloud = cloud/acm_ae6 # > cloud chemistry module (see $CMAQ_MODEL/CCTM/src/cloud)
else if ( ${Mechanism} =~ *cracmm* ) then #> CRACMM family of aero and cloud chem
set ModAero = aero/cracmm # > aerosol chemistry module (see $CMAQ_MODEL/CCTM/src/aero)
set ModCloud = cloud/acm_cracmm # > cloud chemistry module (see $CMAQ_MODEL/CCTM/src/cloud)
endif
# Special cloud modules for kmt versions
if( ${Mechanism} == cb6r5_ae7_aqkmt2 ) then
set ModCloud = cloud/acm_ae7_kmt2
else if( ${Mechanism} == saprc07tic_ae7i_aqkmt2 ) then
set ModCloud = cloud/acm_ae7_kmt2
endif
# Gas chem solver
if ( ${Mechanism} == cb6r5m_ae7_aq ) then #> Gas-phase chemistry solver options ($CMAQ_MODEL/CCTM/src/gas)
setenv ChemSolver ros3 #> ros3 (or smvgear) are system independent
else
setenv ChemSolver ebi #> [ default for most mechanisms: ebi ]
endif
if ( $ChemSolver == ebi ) then
set ModGas = gas/${ChemSolver}_${Mechanism}
else
set ModGas = gas/${ChemSolver}
endif
set ModUtil = util/util #> CCTM utility modules
set ModDiag = diag #> CCTM diagnostic modules
set Tracer = trac0 #> tracer configuration directory under
#> $CMAQ_MODEL/CCTM/src/MECHS [ default: no tracer species ]
set ModPa = procan/pa #> CCTM process analysis
set ModPvO3 = pv_o3 #> potential vorticity from the free troposphere
set ModISAM = isam #> CCTM Integrated Source Apportionment Method
set ModDDM3D = ddm3d #> Decoupled Direct Method in 3D
set ModDegrade = reactive_tracers #> Linear Chemical Loss for a fixed set of species treated as reactive tracers
#============================================================================================
#> Computing System Configuration:
#> Most of these settings are done in config.cmaq
#============================================================================================
setenv FC ${myFC} #> path of Fortan compiler; set in config.cmaq
set FP = $FC #> path of Fortan preprocessor; set in config.cmaq
set CC = ${myCC} #> path of C compiler; set in config.cmaq
setenv BLDER ${CMAQ_HOME}/UTIL/bldmake/bldmake_${compilerString}.exe #> name of model builder executable
#> Libraries/include files
#set LIOAPI = "${IOAPI_DIR}/lib ${ioapi_lib}" #> I/O API library directory
#set IOAPIMOD = "${IOAPI_DIR}/include" #> I/O API module directory
set NETCDF = "${NETCDF_DIR}/lib ${netcdf_lib}" #> netCDF C library directory
set NETCDFF = "${NETCDFF_DIR}/lib ${netcdff_lib}" #> netCDF Fortran library directory
set PNETCDF = "${PNETCDF_DIR}/lib ${pnetcdf_lib}" #> Parallel netCDF library directory
#set PIO_INC = "${IOAPI_DIR}/src"
#> Compiler flags set in config.cmaq
set FSTD = "${myFSTD}"
set DBG = "${myDBG}"
setenv F_FLAGS "${myFFLAGS}" #> F77 flags
set F90_FLAGS = "${myFRFLAGS}" #> F90 flags
set CPP_FLAGS = "" #> Fortran preprocessor flags
set C_FLAGS = "${myCFLAGS} -DFLDMN -I" #> C flags
set LINK_FLAGS = "${myLINK_FLAG}" # Link flags
#============================================================================================
#> Implement User Input
#============================================================================================
#> Check for CMAQ_REPO and CMAQ_LIB settings:
if ( ! -e $CMAQ_REPO || ! -e $CMAQ_LIB ) then
echo " $CMAQ_REPO or $CMAQ_LIB directory not found"
exit 1
endif
echo " Model repository base path: $CMAQ_REPO"
echo " library path: $CMAQ_LIB"
#> If $CMAQ_MODEL is not set, default to $CMAQ_REPO
if ( $?CMAQ_MODEL ) then
echo " Model repository path: $CMAQ_MODEL"
else
setenv CMAQ_MODEL $CMAQ_REPO
echo " default Model repository path: $CMAQ_MODEL"
endif
#> This script was written for Linux hosts only. If
#> the host system is not Linux, produce an error and stop
set BLD_OS = `uname -s`
if ($BLD_OS != 'Linux') then
echo " $BLD_OS -> wrong bldit script for host!"
exit 1
endif
#> If the two-way, coupled WRF-CMAQ model is being built,
#> then just generate the Makefile. Don't compile.
if ( $?build_twoway ) then
set MakeFileOnly
set ModTwoway = twoway
endif
#> If parallel-io is selected, then make sure the multiprocessor
#> option is also set.
if ( $?build_parallel_io ) then
if ( ! $?ParOpt ) then
echo "*** ParOpt is not set: required for the build_parallel_io option"
exit 1
endif
set PIO = ( -Dparallel_io )
else
set PIO = ""
endif
if ($DepMod == m3dry) then
set cpp_depmod = '-Dm3dry_opt'
else if ($DepMod == stage) then
set cpp_depmod = '-Dstage_opt'
if ( $?DDM3D_CCTM ) then
echo "*** DDM3D is not compatible with the STAGE deposition model"
exit 1
endif
endif
#> Set variables needed for multiprocessor and serial builds
if ( $?ParOpt ) then
#Multiprocessor system configuration
echo " Parallel; set MPI flags"
set ModStenex = STENEX/se
set ModPario = PARIO
set ModPar = par/mpi
set PARIO = ${CMAQ_MODEL}/PARIO
set STENEX = ${CMAQ_MODEL}/STENEX
# MPI_INC is set in config.cmaq
# set PIO_INC = "${IOAPI_DIR}/src/fixed_src"
set PAR = ( -Dparallel )
set Popt = SE
set seL = se_snl
set LIB2 = "${ioapi_lib}"
set LIB3 = "${mpi_lib} ${extra_lib}"
set Str1 = (// Parallel / Include message passing definitions)
set Str2 = (include SUBST_MPI mpif.h;)
# Distribute Environment to different machines if not done automatically
if ( $?DistrEnv ) then
set PAR = ($PAR -Dcluster)
endif
else
#Serial system configuration
echo " Not Parallel; set Serial (no-op) flags"
set ModStenex = STENEX/noop
set ModPar = par/par_noop
set PARIO = "."
set STENEX = ${CMAQ_MODEL}/STENEX/noop
set MPI_INC = "."
# set PIO_INC = "."
set PAR = ""
set Popt = NOOP
set seL = sef90_noop
set LIB2 = "${ioapi_lib} ${extra_lib}"
set Str1 =
set Str2 =
endif
#> if DDM-3D is set, add the pre-processor flag for it.
if ( $?DDM3D_CCTM ) then
set SENS = ( -Dsens )
else
set SENS = ""
endif
#> Build Mechanism Files and instruct build-make to look
#> in the CHEMMECH output folder for the files
if ( $?build_mech ) then
# Note: modifying existing or creating new chemical mechanisms
# can lead to unstable or highly inaccurate representations of
# atmospheric chemical predictions when applying the EBI solvers.
# EBI solvers are highly characterized and tested before
# application. The CMAQ development team recommends using the
# generalized solvers, Rosenbrock or Gear, with user-defined
# mechanisms.
# Because the bldit_cctm script is executing the bldit_mech
# processor, we will assume that the source location for the new
# mechanism files is in the CMAQ repo. There will also be an
# error check for overwriting an existing mechanism that can be
# disabled using the mech_clobber variable above.
setenv MECH_SRC ${CMAQ_REPO}/CCTM/src/${ModMech}
setenv TRAC_NML ${CMAQ_REPO}/CCTM/src/MECHS/trac0/Species_Table_TR_0.nml
setenv MECH_OUT ${CMAQ_REPO}/CCTM/src/${ModMech}
setenv EBI_SOLVER_OUT ${CMAQ_REPO}/CCTM/src/${ModGas}
if ( $?clobber_mech ) then
setenv CLOBBER_MECH TRUE
else
setenv CLOBBER_MECH FALSE
endif
cd ${CMAQ_HOME}/CCTM/scripts
./bldit_mech.csh ${compiler} ${compilerVrsn}
if ( $? != 0 ) then
echo ""
echo "bldit_mech did not finish correctly --> Build Process Halted"
exit 1
endif
endif
#> Tracer configuration files
set ModTrac = MECHS/$Tracer
#> Set and create the "BLD" directory for checking out and compiling
#> source code. Move current directory to that build directory.
if ( $?Debug_CCTM ) then
set Bld = $CMAQ_HOME/CCTM/scripts/BLD_CCTM_${VRSN}_${compilerString}_${Mechanism}_${DepMod}_debug
else
set Bld = $CMAQ_HOME/CCTM/scripts/BLD_CCTM_${VRSN}_${compilerString}_${Mechanism}_${DepMod}
endif
if ( ! -e "$Bld" ) then
mkdir $Bld
else
if ( ! -d "$Bld" ) then
echo " *** target exists, but not a directory ***"
exit 1
endif
endif
cd $Bld
#> Set locations for the include files of various modules
set ICL_PAR = $GlobInc/fixed/mpi
set ICL_CONST = $GlobInc/fixed/const
set ICL_FILES = $GlobInc/fixed/filenames
set ICL_EMCTL = $GlobInc/fixed/emctrl
#set ICL_PA = $GlobInc/procan/$PAOpt
#Test with xlib commented out
if ( $?ParOpt ) then
set ICL_MPI = . #$xLib_Base/$xLib_3
endif
#> If the source code is being copied to the build directory,
#> then move the include files as well and direct the Makefile
#> to the current directory.
if ( $?CopySrc ) then
/bin/cp -fp ${ICL_PAR}/* ${Bld}
/bin/cp -fp ${ICL_CONST}/* ${Bld}
/bin/cp -fp ${ICL_FILES}/* ${Bld}
/bin/cp -fp ${ICL_EMCTL}/* ${Bld}
#/bin/cp -fp ${ICL_PA}/* ${Bld}
if ( $?ParOpt ) then
/bin/cp -fp ${ICL_MPI}/mpif.h ${Bld}
endif
set ICL_PAR = .
set ICL_CONST = .
set ICL_FILES = .
set ICL_EMCTL = .
#set ICL_PA = .
if ( $?ParOpt ) then
set ICL_MPI = .
endif
endif
set STX1 = ( -DSUBST_BARRIER=${Popt}_BARRIER\
-DSUBST_GLOBAL_MAX=${Popt}_GLOBAL_MAX\
-DSUBST_GLOBAL_MIN=${Popt}_GLOBAL_MIN\
-DSUBST_GLOBAL_MIN_DATA=${Popt}_GLOBAL_MIN_DATA\
-DSUBST_GLOBAL_TO_LOCAL_COORD=${Popt}_GLOBAL_TO_LOCAL_COORD\
-DSUBST_GLOBAL_SUM=${Popt}_GLOBAL_SUM\
-DSUBST_GLOBAL_LOGICAL=${Popt}_GLOBAL_LOGICAL\
-DSUBST_GLOBAL_GATHER=${Popt}_GLOBAL_GATHER\
-DSUBST_GLOBAL_BCAST=${Popt}_GLOBAL_BCAST\
-DSUBST_LOOP_INDEX=${Popt}_LOOP_INDEX\
-DSUBST_SUBGRID_INDEX=${Popt}_SUBGRID_INDEX )
set STX2 = ( -DSUBST_HI_LO_BND_PE=${Popt}_HI_LO_BND_PE\
-DSUBST_SUM_CHK=${Popt}_SUM_CHK\
-DSUBST_SE_INIT=${Popt}_INIT\
-DSUBST_INIT_ARRAY=${Popt}_INIT_ARRAY\
-DSUBST_COMM=${Popt}_COMM\
-DSUBST_MY_REGION=${Popt}_MY_REGION\
-DSUBST_SLICE=${Popt}_SLICE\
-DSUBST_GATHER=${Popt}_GATHER\
-DSUBST_DATA_COPY=${Popt}_DATA_COPY\
-DSUBST_IN_SYN=${Popt}_IN_SYN )
#> 3-D Advection Options
if ( $ModAdv == wrf_cons ) then
set ModCpl = couple/gencoor_wrf_cons #> unit conversion and concentration coupling module
#> (see $CMAQ_MODEL/CCTM/src/couple)
set ModHadv = hadv/ppm #> horizontal advection module
set ModVadv = vadv/wrf_cons #> Vertical advection module
else if ($ModAdv == local_cons) then
set ModCpl = couple/gencoor_local_cons #> unit conversion and concentration coupling module
#> (see $CMAQ_MODEL/CCTM/src/couple)
set ModHadv = hadv/ppm #> horizontal advection module
set ModVadv = vadv/local_cons #> Vertical advection module
endif
# Retrieve git repository sha ID for this source code version
set shaID = `git --git-dir=${CMAQ_REPO}/.git rev-parse --short=10 HEAD`
if ( $? != 0 ) then
set shaID = "not_a_repo"
endif
# ============================================================================
#> Create Config File
# ============================================================================
set Cfile = ${Bld}/${CFG}.bld # Config Filename
set quote = '"'
echo > $Cfile
if ( $?make_options ) then
echo "make_options $quote$make_options$quote;" >> $Cfile
echo >> $Cfile
endif
echo "model $EXEC;" >> $Cfile
echo >> $Cfile
echo "repo $CCTM_SRC;" >> $Cfile
echo >> $Cfile
echo "sha_ID $shaID;" >> $Cfile
echo >> $Cfile
echo "mechanism $Mechanism;" >> $Cfile
echo >> $Cfile
echo "lib_base $CMAQ_LIB;" >> $Cfile
echo >> $Cfile
echo "lib_1 ioapi/lib;" >> $Cfile
echo >> $Cfile
echo "lib_2 ioapi/include_files;" >> $Cfile
echo >> $Cfile
if ( $?ParOpt ) then
echo "lib_3 ${quote}mpi -I.$quote;" >> $Cfile
echo >> $Cfile
endif
echo >> $Cfile
echo "lib_4 ioapi/lib;" >> $Cfile
echo >> $Cfile
set text = "$quote$CPP_FLAGS $PAR $SENS $PIO $cpp_depmod $STX1 $STX2$quote;"
echo "cpp_flags $text" >> $Cfile
echo >> $Cfile
echo "f_compiler $FC;" >> $Cfile
echo >> $Cfile
echo "fstd $quote$FSTD$quote;" >> $Cfile
echo >> $Cfile
echo "dbg $quote$DBG$quote;" >> $Cfile
echo >> $Cfile
echo "f_flags $quote$F_FLAGS$quote;" >> $Cfile
echo >> $Cfile
echo "f90_flags $quote$F90_FLAGS$quote;" >> $Cfile
echo >> $Cfile
echo "c_compiler $CC;" >> $Cfile
echo >> $Cfile
echo "c_flags $quote$C_FLAGS$quote;" >> $Cfile
echo >> $Cfile
echo "link_flags $quote$LINK_FLAGS$quote;" >> $Cfile
echo >> $Cfile
echo "ioapi $quote$LIB2$quote; " >> $Cfile
echo >> $Cfile
echo "netcdf $quote$netcdf_lib$quote;" >> $Cfile
echo >> $Cfile
echo "netcdff $quote$netcdff_lib$quote;" >> $Cfile
echo >> $Cfile
if ( $?ParOpt ) then
echo "mpich $quote$LIB3$quote;" >> $Cfile
echo >> $Cfile
endif
echo "include SUBST_PE_COMM $ICL_PAR/PE_COMM.EXT;" >> $Cfile
echo "include SUBST_CONST $ICL_CONST/CONST.EXT;" >> $Cfile
echo "include SUBST_FILES_ID $ICL_FILES/FILES_CTM.EXT;" >> $Cfile
echo "include SUBST_EMISPRM $ICL_EMCTL/EMISPRM.EXT;" >> $Cfile
echo >> $Cfile
if ( $?ParOpt ) then
echo "$Str1" >> $Cfile
echo "include SUBST_MPI ./mpif.h;" >> $Cfile
endif
echo >> $Cfile
set text = "stenex or se_noop"
echo "// options are" $text >> $Cfile
echo "Module ${ModStenex};" >> $Cfile
if ( $?ParOpt ) then
set text = "// parallel executable; stenex and pario included"
echo $text >> $Cfile
echo "Module ${ModPario};" >> $Cfile
else
set text = "serial executable; noop stenex"
echo $text >> $Cfile
endif
echo >> $Cfile
set text = "par, par_nodistr and par_noop"
echo "// options are" $text >> $Cfile
if ( $?ParOpt ) then
echo "Module ${ModPar};" >> $Cfile
endif
echo >> $Cfile
if ( $?build_twoway ) then
echo "// option set for WRF-CMAQ twoway" >> $Cfile
echo "Module ${ModTwoway};" >> $Cfile
echo >> $Cfile
endif
set text = "driver"
echo "// options are" $text >> $Cfile
echo "Module driver;" >> $Cfile
echo >> $Cfile
set text = "cartesian"
echo "// options are" $text >> $Cfile
echo "Module ${ModGrid};" >> $Cfile
echo >> $Cfile
set text = "Init"
echo "// options are" $text >> $Cfile
echo "Module init;" >> $Cfile
echo >> $Cfile
set text = "gencoor_wrf_cons and gencoor_local_cons"
echo "// options are" $text >> $Cfile
echo "Module ${ModCpl};" >> $Cfile
echo >> $Cfile
set text = "ppm"
echo "// options are" $text >> $Cfile
echo "Module ${ModHadv};" >> $Cfile
echo >> $Cfile
set text = "wrf_cons and local_cons"
echo "// options are" $text >> $Cfile
echo "Module ${ModVadv};" >> $Cfile
echo >> $Cfile
set text = "multiscale"
echo "// options are" $text >> $Cfile
echo "Module ${ModHdiff};" >> $Cfile
echo >> $Cfile
set text = "acm2_m3dry or acm2_stage"
echo "// options are" $text >> $Cfile
echo "Module ${ModVdiff};" >> $Cfile
echo >> $Cfile
set text = "m3dry or stage"
echo "// options are" $text >> $Cfile
echo "Module ${ModDepv};" >> $Cfile
echo >> $Cfile
set text = "emis"
echo "// options are" $text >> $Cfile
echo "Module ${ModEmis};" >> $Cfile
echo >> $Cfile
set text = "beis4"
echo "// options are" $text >> $Cfile
echo "Module ${ModBiog};" >> $Cfile
echo >> $Cfile
set text = "megan3"
echo "// options are" $text >> $Cfile
echo "Module ${ModMegBiog};" >> $Cfile
echo
set text = "smoke"
echo "// options are" $text >> $Cfile
echo "Module ${ModPlmrs};" >> $Cfile
echo >> $Cfile
set text = "cgrid_spcs_nml and cgrid_spcs_icl"
echo "// options are" $text >> $Cfile
echo "Module ${ModCgrds};" >> $Cfile
echo >> $Cfile
set text = "inline and table"
echo "// options are" $text >> $Cfile
echo "Module ${ModPhot};" >> $Cfile
echo >> $Cfile
set text = "degrade"
echo "// reactive_tracer options are" $text >> $Cfile
echo "Module ${ModDegrade};" >> $Cfile
echo >> $Cfile
set text = "gas chemistry solvers"
echo "// " $text >> $Cfile
set text = "smvgear, ros3, and ebi; see 'gas chemistry mechanisms' for <mech>"
echo "// options are" $text >> $Cfile
echo "Module ${ModGas};" >> $Cfile
echo >> $Cfile
set MechList = "cb6r5hap_ae7_aq, cb6r3_ae7_aq, cb6r5_ae7_aq, cb6r5_ae7_aqkmt2, cb6r5m_ae7_aq, racm2_ae6_aq, saprc07tc_ae6_aq, saprc07tic_ae7i_aq, saprc07tic_ae7i_aqkmt2"
set text = "gas chemistry mechanisms"
echo "// " $text >> $Cfile
set text = "$MechList"
echo "// options are" $text >> $Cfile
echo "Module ${ModMech};" >> $Cfile
echo >> $Cfile
set text = "tracer modules"
echo "// " $text >> $Cfile
echo "// options are trac0, trac1" >> $Cfile
echo "Module ${ModTrac};" >> $Cfile
echo
set text = "use potential vorticity free-troposphere O3 scaling"
echo "// options are" $text >> $Cfile
echo "Module ${ModPvO3};" >> $Cfile
echo >> $Cfile
set text = "aero6"
echo "// options are" $text >> $Cfile
echo "Module ${ModAero};" >> $Cfile
echo >> $Cfile
set text = "acm_ae6, acm_ae6_kmt, acm_ae7_kmt2, acm_ae6_mp, acm_ae7"
echo "// options are" $text >> $Cfile
echo "Module ${ModCloud};" >> $Cfile
echo >> $Cfile
set text = "// compile for inline process analysis"
echo $text >> $Cfile
echo "Module ${ModPa};" >> $Cfile
echo >> $Cfile
set text = "// compile for integrated source apportionment method"
echo $text >> $Cfile
echo "Module ${ModISAM};" >> $Cfile
echo >> $Cfile
if ( $?DDM3D_CCTM ) then
set text = "// compile for decoupled direct method in 3d"
echo $text >> $Cfile
echo "Module ${ModDDM3D};" >> $Cfile
echo >> $Cfile
endif
set text = "util"
echo "// options are" $text >> $Cfile
echo "Module ${ModUtil};" >> $Cfile
echo >> $Cfile
set text = "diag"
echo "// options are" $text >> $Cfile
echo "Module ${ModDiag};" >> $Cfile
echo >> $Cfile
set text = "stm"
echo "// options are" $text >> $Cfile
echo "Module stm;" >> $Cfile
echo >> $Cfile
set text = "cio"
echo "// options are" $text >> $Cfile
echo "Module cio;" >> $Cfile
echo >> $Cfile
if ( $?ModMisc ) then
echo "Module ${ModMisc};" >> $Cfile
echo >> $Cfile
endif
# ============================================================================
#> Create Makefile and Model Executable
# ============================================================================
unalias mv rm
#> Recompile BLDMAKE from source if requested or if it does not exist
if ( $?CompileBLDMAKE || ! -f $BLDER ) then
cd ${CMAQ_REPO}/UTIL/bldmake/scripts
./bldit_bldmake.csh
endif
#> Relocate to the BLD_* directory
cd $Bld
#> Set multiprocessor/serial options for BLDMAKE execution
if ( $?ParOpt ) then
set Blder = "$BLDER -verbose"
else
set Blder = "$BLDER -serial -verbose"
endif
#> Run BLDMAKE Utility
set bld_flags = ""
if ( $?MakeFileOnly ) then # Do not compile the Model
set bld_flags = "${bld_flags} -makefo"
endif
if ( $?CopySrc ) then
set bld_flags = "${bld_flags}"
else if ( $?CopySrcTree ) then
set bld_flags = "${bld_flags} -co"
else
set bld_flags = "{bld_flags} -git_local" # Run BLDMAKE with source code in
# version-controlled git repo
# $Cfile = ${CFG}.bld
endif
if ( $?Debug_CCTM ) then
set bld_flags = "${bld_flags} -debug_cctm"
endif
if ( $?ISAM_CCTM ) then
set bld_flags = "${bld_flags} -isam_cctm"
endif
if ( $?build_twoway ) then
set bld_flags = "${bld_flags} -twoway"
endif
#> Run BLDMAKE with source code in build directory
$Blder $bld_flags $Cfile
#> Rename Makefile to specify compiler option and link back to Makefile
if ( ! $?build_twoway ) then
mv Makefile Makefile.$compilerString
if ( -e Makefile.$compilerString && -e Makefile ) rm Makefile
ln -s Makefile.$compilerString Makefile
endif
#> Alert user of error in BLDMAKE if it ocurred
if ( $status != 0 ) then
echo " *** failure in $Blder ***"
exit 1
endif
#> Preserve old Config file, if it exists, before moving new one to
#> build directory.
if ( -e "$Bld/${CFG}" ) then
echo " >>> previous ${CFG} exists, re-naming to ${CFG}.old <<<"
mv $Bld/${CFG} $Bld/${CFG}.old
endif
mv ${CFG}.bld $Bld/${CFG}
#> If a CRACMM mechanism is used and the compiler is gcc, remove trailing
#> comments in species namelist files (or else model will not run)
if ( ${Mechanism} =~ *cracmm* && ${compiler} == gcc ) then
echo " >>> removing trailing comments from species namelists <<<"
sed -i 's/,\!.*/,/' $Bld/GC_${Mechanism}.nml
sed -i 's/,\!.*/,/' $Bld/AE_${Mechanism}.nml
sed -i 's/,\!.*/,/' $Bld/NR_${Mechanism}.nml
endif
#> If Building WRF-CMAQ, download WRF, download auxillary files and build
#> model
if ( $?build_twoway ) then
#> Check if the user has git installed on their system
git --version >& /dev/null
if ($? == 0) then
set git_check
endif
if ($?git_check) then
cd $CMAQ_HOME/CCTM/scripts
# Downlad WRF repository from GitHub and put CMAQv5.5 into it
set WRF_BLD = BLD_WRF${WRF_VRSN}_CCTM_${VRSN}_${compilerString}
setenv wrf_path ${CMAQ_HOME}/CCTM/scripts/${WRF_BLD}
setenv WRF_CMAQ 1
if ( ! -d $WRF_BLD ) then
git clone --branch ${WRF_VRSN} https://github.com/wrf-model/WRF.git ./$WRF_BLD >& /dev/null
cd $wrf_path
mv $Bld ./cmaq
# Configure WRF
./configure <<EOF
${WRF_ARCH}
1
EOF
else
# Clean-up
rm -r $Bld
cd $wrf_path
endif
# Compile WRF-CMAQ
./compile em_real |& tee -a wrf-cmaq_buildlog.log
cd ${CMAQ_HOME}/CCTM/scripts
endif
endif
exit
================================================
FILE: CCTM/scripts/bldit_mech.csh
================================================
#!/bin/csh -f
# ================ CCTMv5.5 Mechanism Build Script ====================
# Usage: bldit_mech.csh >&! bldit_mech.log
# Requirements: I/O API & netCDF libraries, a Fortran compiler,
# and MPI for multiprocessor computing
#
# To report problems or request help with this script/program:
# http://www.cmascenter.org
# =======================================================================
#> Set Compiler Identity by User Input: Options -> intel | pgi | gcc
if ( $#argv == 1 ) then
setenv compiler $argv[1]
setenv compilerVrsn Empty
else if ( $#argv == 2 ) then
#> Compiler Name and Version have been provided
setenv compiler $1
setenv compilerVrsn $2
else
echo "usage: $0 <compiler>"
echo " where <compiler> is intel, pgi or gcc"
exit(2)
endif
#> Source the config.cmaq file to set the build environment
cd ../..
source ./config_cmaq.csh
# =======================================================================
#> Begin User Input Section
# =======================================================================
#> Source Code Locations
if ( ! $?Mechanism ) then
# Manually set name of mechanism if not inherited
setenv Mechanism cb6r5_ae7_aq
endif
setenv MECH $Mechanism
if ( ! $?ChemSolver ) then
# Manually set solver approach
setenv ChemSolver ebi #> options: ros3, smvgear, ebi
# Warning: If you are building a new mechanism or modifying an existing
# one, the ebi solver approach could very possibly encounter convergence
# or other issues that will lead to inaccuracies. The CMAQ development
# team recommends using one of the generalized solvers (ros3 or smvgear).
# If you would like to use ebi anyway, please benchmark your results for
# important constituents like O3, NO, NO2, OH etc with the generalized
# solvers and compare your results using ebi to these benchmarks.
endif
if ( ! $?MECH_SRC ) then
# Manually set location of input mechanism files
setenv MECH_SRC ${CMAQ_HOME}/CCTM/scripts/${Mechanism}
endif
if ( ! $?TRAC_NML ) then
# Manually set location of input tracer files
setenv TRAC_NML ${CMAQ_HOME}/CCTM/scripts/${Mechanism}/Species_Table_TR_0.nml
endif
if ( ! $?MECH_OUT ) then
# Manually set location of output mechanism files
setenv MECH_OUT ${CMAQ_HOME}/CCTM/scripts/${Mechanism}
endif
if ( ! $?EBI_SOLVER_OUT ) then
# Manually set location of EBI solver output files. If
# you are using Ros3 (rosenbrock) or Smvgear, then you
# can ignore this option
setenv EBI_SOLVER_OUT ${CMAQ_HOME}/CCTM/scripts/ebi_${Mechanism}
endif
if ( ! $?CLOBBER_MECH ) then
# Manually set user preference for overwriting existing mechanism
# files. If CLOBBER_MECH is FALSE, then if files exist, the
# program will halt.
set CLOBBER_MECH = FALSE
endif
###################### CHEMMECH Processor #############################
#> Build Mechanism Files and instruct build-make to look
#> in the CHEMMECH output folder for the files
if ( ! -e ${MECH_SRC} ) then
echo "bldit_mech.csh: $Mechanism input folder cannot be found. "
echo " Please select a valid mechanism input location."
exit 1
endif
if ( ! -e ${TRAC_NML} ) then
echo "bldit_mech.csh: ${TRAC_NML} file cannot be found. "
echo " Please select a valid file."
exit 1
endif
mkdir -p ${MECH_OUT} # Create Output Folder if it Does not Already Exist
cd ${CMAQ_HOME}/UTIL/chemmech/scripts
./bldit_chemmech.csh $compiler
if ( $? != 0 ) then
echo "CHEMMECH did not build correctly --> Build Process Halted"
exit 1
endif
# Copy files from MECH_SRC to the CHEMMECH input folder
setenv CHEMMECH_INPUT ${CMAQ_HOME}/UTIL/chemmech/input/${MECH}
mkdir -p $CHEMMECH_INPUT
cp -f ${MECH_SRC}/* ${CHEMMECH_INPUT}/
cp -f ${TRAC_NML} ${CHEMMECH_INPUT}/
# Run CHEMMECH
cd ${CMAQ_HOME}/UTIL/chemmech/scripts
./run_chemmech.csh
if ( $? != 0 ) then
echo "CHEMMECH did not run correctly --> Build Process Halted"
exit 1
endif
# Error out if the RXNS modules weren't created
set CHEMMECH_OUTPUT = ${CMAQ_HOME}/UTIL/chemmech/output/${MECH}
if ( ! -e ${CHEMMECH_OUTPUT}/RXNS_DATA_MODULE.F90 \
|| ! -e ${CHEMMECH_OUTPUT}/RXNS_FUNC_MODULE.F90 ) then
echo "Mechanism module not created for ${Mechanism}"
exit 1
endif
if ( ${CLOBBER_MECH} == 'FALSE' ) then
# Error out if RXNS modules already exist in destination directory
if ( -e ${MECH_OUT}/RXNS_DATA_MODULE.F90 \
|| -e ${MECH_OUT}/RXNS_FUNC_MODULE.F90 ) then
echo ""
echo "Mechanism files already exist in the destination directory."
echo "If you would like to overwrite them, uncomment clobber_mech"
echo "if you are using the bldit_cctm script or set CLOBBER_MECH "
echo "to TRUE if you are using bldit_mech stand-alone."
echo ""
exit 1
endif
endif
#> Copy Files Back to Mechanism location
cp -f ${CHEMMECH_OUTPUT}/RXNS*MODULE.F90 ${MECH_OUT}/.
cp -f ${CHEMMECH_OUTPUT}/[A,E,G,N]*.nml ${MECH_OUT}/.
if ( $?COMPUTE_DELTA_ATOMS ) then
if( ${COMPUTE_DELTA_ATOMS} == "T" )then
cp -f ${CHEMMECH_OUTPUT}/mech*.def ${MECH_OUT}/.
endif
endif
#################### CSQY Photolysis Processor ##########################
#> Copy Inputs to Inline Phot Preprocessor
set CSQY_INPUT = ${CMAQ_HOME}/UTIL/inline_phot_preproc/input/${MECH}
mkdir -p ${CSQY_INPUT}
cp -f ${MECH_OUT}/RXNS_DATA_MODULE.F90 ${CSQY_INPUT}/.
#> Build CSQY Data Table for Inline Photolysis
cd ${CMAQ_HOME}/UTIL/inline_phot_preproc/scripts
./bldrun.inline_phot_preproc.csh $compiler
if ( $? != 0 ) then
echo "Preparation of CSQY Table did not build or run correctly --> Build Process Halted"
exit 1
endif
# Error out if the CSQY Data files weren't created
set CSQY_OUTPUT = ${CMAQ_HOME}/UTIL/inline_phot_preproc/output/${MECH}
if ( ! -e ${CSQY_OUTPUT}/CSQY_DATA_${MECH} ) then
echo "CSQY_${MECH} not created"
exit 1
endif
if ( ${CLOBBER_MECH} == 'FALSE' ) then
# Error out if RXNS modules already exist in destination directory
if ( -e ${MECH_OUT}/CSQY_DATA_${MECH} ) then
echo ""
echo "CSQY Data file already exists in the destination directory."
echo "If you would like to overwrite it, uncomment clobber_mech"
echo "if you are using the bldit_cctm script or set CLOBBER_MECH "
echo "to TRUE if you are using bldit_mech stand-alone."
echo ""
exit 1
endif
endif
#> Copy Files Back to Mechanism Location
cp -f ${CSQY_OUTPUT}/CSQY_DATA_${MECH} ${MECH_OUT}/.
#################### EBI Solver Processor ##########################
#> if EBI (Euler Backward-Iterative) Chemical Solver is set, build
#> mechanism-dependent EBI files and instruct build-make to look in
#> the create-ebi output folder for the files.
if ( ${ChemSolver} == ebi ) then
#> Copy Inputs to EBI Input Folder
set EBI_INPUT = ${CMAQ_HOME}/UTIL/create_ebi/input/${MECH}
mkdir -p ${EBI_INPUT}
cp -f ${MECH_OUT}/RXNS_DATA_MODULE.F90 ${EBI_INPUT}/.
# Build and Run Create_EBI
cd ${CMAQ_HOME}/UTIL/create_ebi/scripts
./bldrun_create_ebi.csh $compiler
if ( $? != 0 ) then
echo "CREATE_EBI did not build or run correctly --> Build Process Halted"
exit 1
endif
# Error Out if the EBI output files weren't created
set EBI_OUTPUT = ${CMAQ_HOME}/UTIL/create_ebi/output/ebi_${MECH}
if ( ! -e ${EBI_OUTPUT}/hrrates.F ) then
echo "EBI solver not created for ${Mechanism}"
exit 1
endif
mkdir -p ${EBI_SOLVER_OUT} # Create EBI Solver output folder
if ( ${CLOBBER_MECH} == 'FALSE' ) then
# Error out if RXNS modules already exist in destination directory
if ( -e ${EBI_SOLVER_OUT}/hrrates.F ) then
echo ""
echo "EBI solver files already exist in the destination directory."
echo "If you would like to overwrite it, uncomment clobber_mech"
echo "if you are using the bldit_cctm script or set CLOBBER_MECH "
echo "to TRUE if you are using bldit_mech stand-alone."
echo ""
exit 1
endif
endif
# Copy EBI files to EBI_SOLVER_OUT directory
cp -f ${EBI_OUTPUT}/hr*.F ${EBI_SOLVER_OUT}/.
endif
exit
================================================
FILE: CCTM/scripts/isam_control.2018_12NE3.txt
================================================
!!! CMAQ-ISAM tag definition control file
!!! (lines begining with !!! - three exclamation marks - are ignored by the text parser)!!!
!!!
!!! Example file provided with CMAQ v5.5 release
!!! 14 September 2022: Sergey L. Napelenok
!!!
!!! 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-defined source.
!!! Choose any/all from the list:
!!! SULFATE - ASO4, SO2, SULF, SULRXN
!!! NITRATE - ANO3, HNO3, NO, NO2, NO3, HONO, N2O5, PNA, PAN, PANX, NTR1, NTR2, INTR, CLNO2, CLNO3
!!! AMMONIUM - ANH4, NH3
!!! EC - AEC
!!! OA_TOT - Total Primary and Seocndary Organic Aerosol Species
!!! NVPOA - Primary Organic Aerosol Species APOC, APNCOM
!!! VOC - Various species depending on mechanism. Now includes CO. (see CCTM/src/isam/SA_DEFN.F for complete list)
!!! PM_TOT - All PM Species. ACL,ANA,AMG,AK,ACA,AFE,AAL,ASI,ATI,AMN,AOTHR
!!! and TAGCLASSES SULFATE, NITRATE, AMMONIUM, EC, OC, and VOC
!!! PM_IONS - ANA, AMG, AK, ACA, AFE, AAL, ASI, ATI, AMN, AOTHR
!!! OZONE - O3, all NITRATE species, and all VOC species
!!! CHLORINE - ACL, HCL
!!! HAP_GAS - Gas-phase Hazardous Air Pollutant Species
!!! HAP_AERO - Aerosol-Phase Hazardous Air Pollutant Species
!!! HAP_TOT - Total Gas and Aerosol HAPs
!!! PAH_TEQ - Nonreactive TEQ PAH species
!!! BENAPYRENE- BENAPY and ABENAPY
!!! MERCURY - HG, HGIIGAS, HGIIAER, APHG
!!! ALL - All available modeled species
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 |EGU
REGION(S) |EVERYWHERE
EMIS STREAM(S) |PT_EGU
TAG NAME |BIO
REGION(S) |NY
EMIS STREAM(S) |BIOG
ENDLIST eof
================================================
FILE: CCTM/scripts/lonlat.csv
================================================
4 # number of lon/lat pairs that follow
-84.5684 32.8372
-83.1034 33.7499
-81.603 34.6438
-80.0667 35.5179
================================================
FILE: CCTM/scripts/run_cctm_2018_12US1_v55_Base_STAGE_EM_CRACMM.csh
================================================
#!/bin/csh -f
# ============== CCTMv5.5.X STAGE EM CRACMM 12US1 Run Script ================
# Usage: run_cctm_2018_12US1_v54_Base_STAGE_EM_CRACMM.csh >&! cctm_2018_12US1_CRACMM.log &
#
# To report problems or request help with this script/program:
# http://www.epa.gov/cmaq (EPA CMAQ Website)
# http://www.cmascenter.org (CMAS Website)
# ===========================================================================
# ===================================================================
#> Runtime Environment Options
# ===================================================================
echo 'Start Model Run At ' `date`
#> Toggle Diagnostic Mode which will print verbose information to
#> standard output
setenv CTM_DIAG_LVL 0
#> Choose compiler and set up CMAQ environment with correct
#> libraries using config.cmaq. Options: intel | gcc | pgi
if ( ! $?compiler ) then
setenv compiler intel
endif
if ( ! $?compilerVrsn ) then
setenv compilerVrsn Empty
endif
#> Source the config.cmaq file to set the build environment
cd ../..
source ./config_cmaq.csh $compiler $compilerVrsn
cd CCTM/scripts
#> Set General Parameters for Configuring the Simulation
set VRSN = v55 #> Code Version
set PROC = mpi #> serial or mpi
set MECH = cracmm2 #> Mechanism ID
set EMIS = WR705_2018gc2 #> Emission Inventory Details
set APPL = STAGE_EM_2018_12US1 #> Application Name (e.g. Gridname)
#> Define RUNID as any combination of parameters above or others. By default,
#> this information will be collected into this one string, $RUNID, for easy
#> referencing in output binaries and log files as well as in other scripts.
setenv RUNID ${VRSN}_${compilerString}_${APPL}
#> Set the build directory (this is where the CMAQ executable
#> is located by default).
set BLD = ${CMAQ_HOME}/CCTM/scripts/BLD_CCTM_${VRSN}_${compilerString}
set EXEC = CCTM_${VRSN}.exe
#> Output Each line of Runscript to Log File
if ( $CTM_DIAG_LVL != 0 ) set echo
#> Set Working, Input, and Output Directories
setenv WORKDIR ${CMAQ_HOME}/CCTM/scripts #> Working Directory. Where the runscript is.
setenv OUTDIR ${CMAQ_DATA}/output_CCTM_${RUNID} #> Output Directory
setenv INPDIR ${CMAQ_DATA}/2018_12US1 #Input Directory
setenv LOGDIR ${OUTDIR}/LOGS #> Log Directory Location
setenv NMLpath ${BLD} #> Location of Namelists. Common places are:
#> ${WORKDIR} | ${CCTM_SRC}/MECHS/${MECH} | ${BLD}
echo ""
echo "Working Directory is $WORKDIR"
echo "Build Directory is $BLD"
echo "Output Directory is $OUTDIR"
echo "Log Directory is $LOGDIR"
echo "Executable Name is $EXEC"
# =====================================================================
#> CCTM Configuration Options
# =====================================================================
#> Set Start and End Days for looping
setenv NEW_START TRUE #> Set to FALSE for model restart
set START_DATE = "2018-07-01" #> beginning date (July 1, 2018)
set END_DATE = "2018-07-02" #> ending date (July 2, 2018)
#> Set Timestepping Parameters
set STTIME = 000000 #> beginning GMT time (HHMMSS)
set NSTEPS = 240000 #> time duration (HHMMSS) for this run
set TSTEP = 010000 #> output time step interval (HHMMSS)
#> Horizontal domain decomposition
if ( $PROC == serial ) then
setenv NPCOL_NPROW "1 1"; set NPROCS = 1 # single processor setting
else
@ NPCOL = 16; @ NPROW = 8
@ NPROCS = $NPCOL * $NPROW
setenv NPCOL_NPROW "$NPCOL $NPROW";
endif
#> Define Execution ID: e.g. [CMAQ-Version-Info]_[User]_[Date]_[Time]
if ( ! -e ${BLD}/CCTM_${VRSN}.cfg ) then
set SHAID = ""
else
set SHAID = `grep "sha_ID" ${BLD}/CCTM_${VRSN}.cfg | cut -c 13-22`
if ( $SHAID == not_a_repo ) then
set SHAID = ""
else
set SHAID = "_sha="$SHAID
endif
endif
setenv EXECUTION_ID "CMAQ_CCTM${VRSN}_`id -u -n`_`date -u +%Y%m%d_%H%M%S_%N`" #> Inform IO/API of the Execution ID
echo ""
echo "---CMAQ EXECUTION ID: $EXECUTION_ID ---"
#> Keep or Delete Existing Output Files
set CLOBBER_DATA = FALSE
#> Logfile Options
#> Master Log File Name; uncomment to write standard output to a log, otherwise write to screen
#setenv LOGFILE $CMAQ_HOME/$RUNID.log
if (! -e $LOGDIR ) then
mkdir -p $LOGDIR
endif
setenv PRINT_PROC_TIME Y #> Print timing for all science subprocesses to Logfile
#> [ default: TRUE or Y ]
setenv STDOUT T #> Override I/O-API trying to write information to both the processor
#> logs and STDOUT [ options: T | F ]
setenv GRID_NAME 12US1 #> check GRIDDESC file for GRID_NAME options
setenv GRIDDESC ${INPDIR}/GRIDDESC #> grid description file
#> Retrieve the number of columns, rows, and layers in this simulation
set NZ = 35
set NX = `grep -A 1 ${GRID_NAME} ${GRIDDESC} | tail -1 | sed 's/ */ /g' | cut -d' ' -f6`
set NY = `grep -A 1 ${GRID_NAME} ${GRIDDESC} | tail -1 | sed 's/ */ /g' | cut -d' ' -f7`
set NCELLS = `echo "${NX} * ${NY} * ${NZ}" | bc -l`
#> Output Species and Layer Options
#> CONC file species; comment or set to "ALL" to write all species to CONC
setenv CONC_SPCS "CO SO2 O3 NO ANO3I ANO3J NO2 NO3 HNO3 ISO GLY NH3 ANH4I ANH4J ASO4I ASO4J"
setenv CONC_BLEV_ELEV " 1 1" #> CONC file layer range; comment to write all layers to CONC
#> ACONC file species; comment or set to "ALL" to write all species to ACONC
#setenv AVG_CONC_SPCS "O3 NO CO NO2 ASO4I ASO4J NH3"
setenv AVG_CONC_SPCS "ALL"
setenv ACONC_BLEV_ELEV " 1 1" #> ACONC file layer range; comment to write all layers to ACONC
setenv AVG_FILE_ENDTIME N #> override default beginning ACONC timestamp [ default: N ]
#> Synchronization Time Step and Tolerance Options
setenv CTM_MAXSYNC 300 #> max sync time step (sec) [ default: 720 ]
setenv CTM_MINSYNC 60 #> min sync time step (sec) [ default: 60 ]
setenv SIGMA_SYNC_TOP 0.7 #> top sigma level thru which sync step determined [ default: 0.7 ]
#setenv ADV_HDIV_LIM 0.95 #> maximum horiz. div. limit for adv step adjust [ default: 0.9 ]
setenv CTM_ADV_CFL 0.95 #> max CFL [ default: 0.75]
#setenv RB_ATOL 1.0E-09 #> global ROS3 solver absolute tolerance [ default: 1.0E-07 ]
#> Science Options
setenv CTM_OCEAN_CHEM Y #> Flag for ocean halogen chemistry and sea spray aerosol emissions [ default: Y ]
setenv CTM_WB_DUST N #> use inline windblown dust emissions [ default: Y ]
setenv CTM_LTNG_NO Y #> turn on lightning NOx [ default: N ]
setenv KZMIN Y #> use Min Kz option in edyintb [ default: Y ],
#> otherwise revert to Kz0UT
setenv PX_VERSION Y #> WRF PX LSM
setenv CLM_VERSION N #> WRF CLM LSM
setenv NOAH_VERSION N #> WRF NOAH LSM
setenv CTM_ABFLUX Y #> ammonia bi-directional flux for in-line deposition
#> velocities [ default: N ]
setenv CTM_BIDI_FERT_NH3 T #> subtract fertilizer NH3 from emissions because it will be handled
#> by the BiDi calculation [ default: Y ]
setenv CTM_HGBIDI N #> mercury bi-directional flux for in-line deposition
#> velocities [ default: N ]
setenv CTM_SFC_HONO Y #> surface HONO interaction [ default: Y ]
#> please see user guide (6.10.4 Nitrous Acid (HONO))
#> for dependency on percent urban fraction dataset
setenv CTM_GRAV_SETL Y #> vdiff aerosol gravitational sedimentation [ default: Y ]
setenv CTM_PVO3 N #> consider potential vorticity module for O3 transport from the stratosphere
#> [default: N]
setenv CTM_BIOGEMIS_BE Y #> calculate in-line biogenic emissions with BEIS [ default: N ]
setenv CTM_BIOGEMIS_MG N #> turns on MEGAN biogenic emission [ default: N ]
setenv BDSNP_MEGAN N #> turns on BDSNP soil NO emissions [ default: N ]
setenv AEROSOL_OPTICS 3 #> sets method for determining aerosol optics affecting photolysis
#> frequencies ( 3 is the default value )
#> VALUES 1 thru 3 determined Uniformly Volume Mixed spherical
#> (1-Tabular Mie; 2-Mie Calculation; 3-Case Approx to Mie Theory)
#> VALUES 4 thru 6 attempts to use core-shell mixing model when the
#> aerosol mode has signficant black carbon core otherwise use Volume Mixed
#> model where optics determined by
#> (4-Tabular Mie; 5-Mie Calculation; 6-Case Approx to Mie Theory)
setenv IC_AERO_M2WET F #> Specify whether or not initial condition aerosol size distribution
#> is wet or dry [ default: F = dry ]
setenv BC_AERO_M2WET F #> Specify whether or not boundary condition aerosol size distribution
#> is wet or dry [ default: F = dry ]
setenv IC_AERO_M2USE T #> Specify whether or not to use aerosol surface area from initial
#> conditions [ default: T = use aerosol surface area ]
setenv BC_AERO_M2USE T #> Specify whether or not to use aerosol surface area from boundary
#> conditions [ default: T = use aerosol surface area ]
#> Surface Tiled Aerosol and Gaseous Exchange Options
#> Only active if DepMod=stage at compile time
setenv CTM_MOSAIC N #> Output landuse specific deposition velocities [ default: N ]
setenv CTM_STAGE_P22 N #> Pleim et al. 2022 Aerosol deposition model [default: N]
setenv CTM_STAGE_E20 Y #> Emerson et al. 2020 Aerosol deposition model [default: Y]
setenv CTM_STAGE_S22 N #> Shu et al. 2022 (CMAQ v5.3) Aerosol deposition model [default: N]
#> Vertical Extraction Options
setenv VERTEXT N
setenv VERTEXT_COORD_PATH ${WORKDIR}/lonlat.csv
#> I/O Controls
setenv IOAPI_LOG_WRITE F #> turn on excess WRITE3 logging [ options: T | F ]
setenv FL_ERR_STOP N #> stop on inconsistent input files
setenv PROMPTFLAG F #> turn on I/O-API PROMPT*FILE interactive mode [ options: T | F ]
setenv IOAPI_OFFSET_64 YES #> support large timestep records (>2GB/timestep record) [ options: YES | NO ]
setenv IOAPI_CHECK_HEADERS N #> check file headers [ options: Y | N ]
setenv CTM_EMISCHK N #> Abort CMAQ if missing surrogates from emissions Input files
#> Diagnostic Output Flags
setenv CTM_CKSUM Y #> checksum report [ default: Y ]
setenv CLD_DIAG N #> cloud diagnostic file [ default: N ]
setenv CTM_PHOTDIAG Y #> photolysis diagnostic file [ default: N ]
setenv NLAYS_PHOTDIAG "1" #> Number of layers for PHOTDIAG2 and PHOTDIAG3 from
#> Layer 1 to NLAYS_PHOTDIAG [ default: all layers ]
#setenv NWAVE_PHOTDIAG "294 303 310 316 333 381 607" #> Wavelengths written for variables
#> in PHOTDIAG2 and PHOTDIAG3
#> [ default: all wavelengths ]
setenv CTM_SSEMDIAG N #> sea-spray emissions diagnostic file [ default: N ]
setenv CTM_DUSTEM_DIAG N #> windblown dust emissions diagnostic file [ default: N ];
#> Ignore if CTM_WB_DUST = N
setenv CTM_DEPV_FILE N #> deposition velocities diagnostic file [ default: N ]
setenv VDIFF_DIAG_FILE N #> vdiff & possibly aero grav. sedimentation diagnostic file [ default: N ]
setenv LTNGDIAG N #> lightning diagnostic file [ default: N ]
setenv B3GTS_DIAG N #> BEIS mass emissions diagnostic file [ default: N ]
setenv CTM_WVEL Y #> save derived vertical velocity component to conc
#> file [ default: Y ]
# =====================================================================
#> Input Directories and Filenames
# =====================================================================
set ICpath = $INPDIR/icbc #> initial conditions input directory
set BCpath = $INPDIR/icbc #> boundary conditions input directory
set EMISpath = $INPDIR/emis/WR705_2018gc2_cracmmv1/cmaq_ready/merged_nobeis_norwc #> surface emissions input directory
set EMISpath2 = $INPDIR/emis/WR705_2018gc2_cracmmv1/premerged/rwc #> surface residential wood combustion emissions directory
set IN_PTpath = $INPDIR/emis/WR705_2018gc2_cracmmv1/cmaq_ready #> elevated emissions input directory (in-line point only)
set IN_LTpath = $INPDIR/met/lightning #> lightning NOx input directory
set METpath = $INPDIR/met/WRFv4.3.3_LTNG_MCIP5.3.3_compressed #> meteorology input directory
#set JVALpath = $INPDIR/jproc #> offline photolysis rate table directory
set OMIpath = $BLD #> ozone column data for the photolysis model
set EPICpath = $INPDIR/surface #> EPIC putput for bidirectional NH3
set LUpath = $INPDIR/surface #> BELD landuse data for windblown dust model
set SZpath = $INPDIR/surface #> surf zone file for in-line seaspray emissions
# =====================================================================
#> Begin Loop Through Simulation Days
# =====================================================================
set rtarray = ""
set TODAYG = ${START_DATE}
set TODAYJ = `date -ud "${START_DATE}" +%Y%j` #> Convert YYYY-MM-DD to YYYYJJJ
set START_DAY = ${TODAYJ}
set STOP_DAY = `date -ud "${END_DATE}" +%Y%j` #> Convert YYYY-MM-DD to YYYYJJJ
set NDAYS = 0
while ($TODAYJ <= $STOP_DAY ) #>Compare dates in terms of YYYYJJJ
set NDAYS = `echo "${NDAYS} + 1" | bc -l`
#> Retrieve Calendar day Information
set YYYYMMDD = `date -ud "${TODAYG}" +%Y%m%d` #> Convert YYYY-MM-DD to YYYYMMDD
set YYYYMM = `date -ud "${TODAYG}" +%Y%m` #> Convert YYYY-MM-DD to YYYYMM
set YYYY = `date -ud "${TODAYG}" +%Y` #> Convert YYYY-MM-DD to YYYY
set YYMMDD = `date -ud "${TODAYG}" +%y%m%d` #> Convert YYYY-MM-DD to YYMMDD
set MM = `date -ud "${TODAYG}" +%m`
set YYYYJJJ = $TODAYJ
set MMDD = `date -ud "${TODAYG}" +%m%d`
#> Calculate Yesterday's Date
set YESTERDAY = `date -ud "${TODAYG}-1days" +%Y%m%d` #> Convert YYYY-MM-DD to YYYYJJJ
# =====================================================================
#> Set Output String and Propagate Model Configuration Documentation
# =====================================================================
echo ""
echo "Set up input and output files for Day ${TODAYG}."
#> set output file name extensions
setenv CTM_APPL ${RUNID}_${YYYYMMDD}
#> Copy Model Configuration To Output Folder
if ( ! -d "$OUTDIR" ) mkdir -p $OUTDIR
cp $BLD/CCTM_${VRSN}.cfg $OUTDIR/CCTM_${CTM_APPL}.cfg
# =====================================================================
#> Input Files (Some are Day-Dependent)
# =====================================================================
#> Initial conditions
if ($NEW_START == true || $NEW_START == TRUE ) then
setenv ICFILE CCTM_CGRID_${RUNID}_${YESTERDAY}.nc
setenv INIT_MEDC_1 notused
else
set ICpath = $OUTDIR
setenv ICFILE CCTM_CGRID_${RUNID}_${YESTERDAY}.nc
setenv INIT_MEDC_1 $ICpath/CCTM_MEDIA_CONC_${RUNID}_${YESTERDAY}.nc
endif
#> Boundary conditions, use STAGE files if CCTM uses the stage option for depv
set BCFILE = BCON_CONC_12US1_CMAQv54_2018_108NHEMI_CRACCM1_FROM_CB6R5M_STAGE_EMERSON_regrid_${YYYYMM}.nc
#> Off-line photolysis rates
#set JVALfile = JTABLE_${YYYYJJJ}
#> Ozone column data
set OMIfile = OMI_1979_to_2019.dat
#> Optics file
set OPTfile = PHOT_OPTICS.dat
#> MCIP meteorology files
setenv GRID_BDY_2D $METpath/GRIDBDY2D_$YYYYMMDD.nc4
setenv GRID_CRO_2D $METpath/GRIDCRO2D_$YYYYMMDD.nc4
setenv GRID_CRO_3D $METpath/GRIDCRO3D_$YYYYMMDD.nc4
setenv GRID_DOT_2D $METpath/GRIDDOT2D_$YYYYMMDD.nc4
setenv MET_CRO_2D $METpath/METCRO2D_$YYYYMMDD.nc4
setenv MET_CRO_3D $METpath/METCRO3D_$YYYYMMDD.nc4
setenv MET_DOT_3D $METpath/METDOT3D_$YYYYMMDD.nc4
setenv MET_BDY_3D $METpath/METBDY3D_$YYYYMMDD.nc4
setenv LUFRAC_CRO $METpath/LUFRAC_CRO_$YYYYMMDD.nc4
#> Control Files
#>
#> IMPORTANT NOTE
#>
#> The DESID control files defined below are an integral part of controlling the behavior of the model simulation.
#> Among other things, they control the mapping of species in the emission files to chemical species in the model and
#> several aspects related to the simulation of organic aerosols.
#> Please carefully review the DESID control files to ensure that they are configured to be consistent with the assumptions
#> made when creating the emission files defined below and the desired representation of organic aerosols.
#> For further information, please see:
#> + AERO7 Release Notes section on 'Required emission updates':
#> https://github.com/USEPA/CMAQ/blob/master/DOCS/Release_Notes/aero7_overview.md
#> + CMAQ User's Guide section 6.9.3 on 'Emission Compatability':
#> https://github.com/USEPA/CMAQ/blob/master/DOCS/Users_Guide/CMAQ_UG_ch06_model_configuration_options.md#6.9.3_Emission_Compatability
#> + Emission Control (DESID) Documentation in the CMAQ User's Guide:
#> https://github.com/USEPA/CMAQ/blob/master/DOCS/Users_Guide/Appendix/CMAQ_UG_appendixB_emissions_control.md
#>
setenv DESID_CTRL_NML ${BLD}/CMAQ_Control_DESID.nml
setenv DESID_CHEM_CTRL_NML ${BLD}/CMAQ_Control_DESID_${MECH}.nml
#> The following namelist configures aggregated output (via the Explicit and Lumped
#> Air Quality Model Output (ELMO) Module), domain-wide budget output, and chemical
#> family output.
setenv MISC_CTRL_NML ${BLD}/CMAQ_Control_Misc.nml
#> The following namelist controls the mapping of meteorological land use types and the NH3 and Hg emission
#> potentials
setenv STAGECTRL_NML ${BLD}/CMAQ_Control_STAGE.nml
#> Spatial Masks For Emissions Scaling
setenv CMAQ_MASKS $SZpath/OCEAN_${MM}_L3m_MC_CHL_chlor_a_12US1.nc
#> Determine Representative Emission Days
set EMDATES = $INPDIR/emis/emis_dates/smk_merge_dates_${YYYYMM}.txt
set intable = `grep "^${YYYYMMDD}" $EMDATES`
set Date = `echo $intable[1] | cut -d, -f1`
set aveday_N = `echo $intable[2] | cut -d, -f1`
set aveday_Y = `echo $intable[3] | cut -d, -f1`
set mwdss_N = `echo $intable[4] | cut -d, -f1`
set mwdss_Y = `echo $intable[5] | cut -d, -f1`
set week_N = `echo $intable[6] | cut -d, -f1`
set week_Y = `echo $intable[7] | cut -d, -f1`
set all = `echo $intable[8] | cut -d, -f1`
#> Gridded Emissions files
setenv N_EMIS_GR 2
set EMISfile = emis_mole_all_${YYYYMMDD}_12US1_nobeis_norwc_WR705_2018gc2.ncf
setenv GR_EMIS_001 ${EMISpath}/${EMISfile}
setenv GR_EMIS_LAB_001 GRIDDED_EMIS
setenv GR_EM_SYM_DATE_001 T # To change default behaviour please see Users Guide for EMIS_SYM_DATE
set EMISfile = emis_mole_rwc_${YYYYMMDD}_12US1_cmaq_cracmmv1_WR705_2018gc2.ncf
setenv GR_EMIS_002 ${EMISpath2}/${EMISfile}
setenv GR_EMIS_LAB_002 GR_RES_FIRES
setenv GR_EM_SYM_DATE_002 T # To change default behaviour please see Users Guide for EMIS_SYM_DATE
#> In-Line Point Emissions Files
setenv N_EMIS_PT 10 #> Number of elevated source groups
set STKCASEE = 12US1_cmaq_cracmmv1_WR705_2018gc2 # In-line Emission Rate File Suffix
set STKCASEG = 12US1_WR705_2018gc2 # Stack parameter File Suffix
setenv STK_GRPS_001 $IN_PTpath/ptnonipm/stack_groups_ptnonipm_${STKCASEG}.ncf
setenv STK_GRPS_002 $IN_PTpath/ptegu/stack_groups_ptegu_${STKCASEG}.ncf
setenv STK_GRPS_003 $IN_PTpath/othpt/stack_groups_othpt_${STKCASEG}.ncf
setenv STK_GRPS_004 $IN_PTpath/ptagfire/stack_groups_ptagfire_2018${MMDD}_${STKCASEG}.ncf
setenv STK_GRPS_005 $IN_PTpath/ptfire/stack_groups_ptfire_2018${MMDD}_${STKCASEG}.ncf
setenv STK_GRPS_006 $IN_PTpath/ptfire_grass/stack_groups_ptfire_grass_2018${MMDD}_${STKCASEG}.ncf
setenv STK_GRPS_007 $IN_PTpath/ptfire_othna/stack_groups_ptfire_othna_2018${MMDD}_${STKCASEG}.ncf
setenv STK_GRPS_008 $IN_PTpath/pt_oilgas/stack_groups_pt_oilgas_${STKCASEG}.ncf
setenv STK_GRPS_009 $IN_PTpath/cmv_c1c2_12/stack_groups_cmv_c1c2_12_${STKCASEG}.ncf
setenv STK_GRPS_010 $IN_PTpath/cmv_c3_12/stack_groups_cmv_c3_12_${STKCASEG}.ncf
setenv STK_EMIS_001 $IN_PTpath/ptnonipm/inln_mole_ptnonipm_${mwdss_Y}_${STKCASEE}.ncf
setenv STK_EMIS_002 $IN_PTpath/ptegu/inln_mole_ptegu_2018${MMDD}_${STKCASEE}.ncf
setenv STK_EMIS_003 $IN_PTpath/othpt/inln_mole_othpt_${mwdss_N}_${STKCASEE}.ncf
setenv STK_EMIS_004 $IN_PTpath/ptagfire/inln_mole_ptagfire_2018${MMDD}_${STKCASEE}.ncf
setenv STK_EMIS_005 $IN_PTpath/ptfire/inln_mole_ptfire_2018${MMDD}_${STKCASEE}.ncf
setenv STK_EMIS_006 $IN_PTpath/ptfire_grass/inln_mole_ptfire_grass_2018${MMDD}_${STKCASEE}.ncf
setenv STK_EMIS_007 $IN_PTpath/ptfire_othna/inln_mole_ptfire_othna_2018${MMDD}_${STKCASEE}.ncf
setenv STK_EMIS_008 $IN_PTpath/pt_oilgas/inln_mole_pt_oilgas_${mwdss_Y}_${STKCASEE}.ncf
setenv STK_EMIS_009 $IN_PTpath/cmv_c1c2_12/inln_mole_cmv_c1c2_12_2018${MMDD}_${STKCASEE}.ncf
setenv STK_EMIS_010 $IN_PTpath/cmv_c3_12/inln_mole_cmv_c3_12_2018${MMDD}_${STKCASEE}.ncf
# Label Each Emissions Stream
setenv STK_EMIS_LAB_001 PT_NONEGU
setenv STK_EMIS_LAB_002 PT_EGU
setenv STK_EMIS_LAB_003 PT_OTHER
setenv STK_EMIS_LAB_004 PT_AGFIRES
setenv STK_EMIS_LAB_005 PT_FIRES
setenv STK_EMIS_LAB_006 PT_RXFIRES
setenv STK_EMIS_LAB_007 PT_OTHFIRES
setenv STK_EMIS_LAB_008 PT_OILGAS
setenv STK_EMIS_LAB_009 PT_CMV_C1C2
setenv STK_EMIS_LAB_010 PT_CMV_C3
# Allow CMAQ to Use Point Source files with dates that do not
# match the internal model date
# To change default behaviour please see Users Guide for EMIS_SYM_DATE
setenv STK_EM_SYM_DATE_001 T
setenv STK_EM_SYM_DATE_002 T
setenv STK_EM_SYM_DATE_003 T
setenv STK_EM_SYM_DATE_004 T
setenv STK_EM_SYM_DATE_005 T
setenv STK_EM_SYM_DATE_006 T
setenv STK_EM_SYM_DATE_007 T
setenv STK_EM_SYM_DATE_008 T
setenv STK_EM_SYM_DATE_009 T
setenv STK_EM_SYM_DATE_010 T
#> Lightning NOx configuration
if ( $CTM_LTNG_NO == 'Y' ) then
setenv LTNGNO "InLine" #> set LTNGNO to "Inline" to activate in-line calculation
#> In-line lightning NOx options
setenv USE_NLDN Y #> use hourly NLDN strike file [ default: Y ]
if ( $USE_NLDN == Y ) then
setenv NLDN_STRIKES ${IN_LTpath}/NLDN_12km_60min_${YYYYMMDD}.ioapi
endif
setenv LTNGPARMS_FILE ${IN_LTpath}/LTNG_AllParms_12US1.ncf #> lightning parameter file; ignore if LTNGPARAM = N
endif
#> In-line biogenic emissions configuration
if ( $CTM_BIOGEMIS_MG == 'Y' ) then
setenv MEGAN_SOILINP $OUTDIR/CCTM_MSOILOUT_${RUNID}_${YESTERDAY}.nc
#> Biogenic NO soil input file; ignore if INITIAL_RUN = Y
#> ; ignore if IGNORE_SOILINP = Y
setenv MEGAN_CTS /work/MOD3DATA/2016_12US1/surface/megan3.2/CT3_CONUS.ncf
setenv MEGAN_EFS /work/MOD3DATA/2016_12US1/surface/megan3.2/EFMAPS_CONUS.ncf
setenv MEGAN_LDF /work/MOD3DATA/2016_12US1/surface/megan3.2/LDF_CONUS.ncf
if ($BDSNP_MEGAN == 'Y') then
setenv BDSNPINP $OUTDIR/CCTM_BDSNPOUT_${RUNID}_${YESTERDAY}.nc
setenv BDSNP_FFILE /work/MOD3DATA/2016_12US1/surface/megan3.2/FERT_CONUS.ncf
setenv BDSNP_NFILE /work/MOD3DATA/2016_12US1/surface/megan3.2/NDEP_CONUS.ncf
setenv BDSNP_LFILE /work/MOD3DATA/2016_12US1/surface/megan3.2/LANDTYPE_CONUS.ncf
setenv BDSNP_AFILE /work/MOD3DATA/2016_12US1/surface/megan3.2/ARID_CONUS.ncf
setenv BDSNP_NAFILE /work/MOD3DATA/2016_12US1/surface/megan3.2/NONARID_CONUS.ncf
endif
endif
if ( $CTM_BIOGEMIS_BE == 'Y' ) then
set IN_BEISpath = ${INPDIR}/surface
setenv GSPRO ${BLD}/gspro_biogenics.txt
setenv BEIS_NORM_EMIS $IN_BEISpath/beis4_beld6_norm_emis.12US1.ncf
setenv BEIS_SOILINP $OUTDIR/CCTM_BSOILOUT_${RUNID}_${YESTERDAY}.nc
#> Biogenic NO soil input file; ignore if INITIAL_RUN = Y
endif
#> In-line sea spray emissions configuration
setenv OCEAN_1 $SZpath/OCEAN_${MM}_L3m_MC_CHL_chlor_a_12US1.nc
#> Bidirectional ammonia configuration
if ( $CTM_ABFLUX == 'Y' ) then
# need to modify for FEST-C v1.4.
setenv E2C_SOIL ${EPICpath}/${YYYY}r1_EPIC0509_12US1_soil.nc4
setenv E2C_CHEM ${EPICpath}/${YYYY}r1_EPIC0509_12US1_time${YYYYMMDD}.nc4
setenv E2C_LU ${EPICpath}/beld4_12US1_2011.nc4
endif
#> Inline Process Analysis
setenv CTM_PROCAN N #> use process analysis [ default: N]
if ( $?CTM_PROCAN ) then # $CTM_PROCAN is defined
if ( $CTM_PROCAN == 'Y' || $CTM_PROCAN == 'T' ) then
#> process analysis global column, row and layer ranges
# setenv PA_BCOL_ECOL "10 90" # default: all columns
# setenv PA_BROW_EROW "10 80" # default: all rows
# setenv PA_BLEV_ELEV "1 4" # default: all levels
setenv PACM_INFILE ${NMLpath}/pa_${MECH}.ctl
setenv PACM_REPORT $OUTDIR/"PA_REPORT".${YYYYMMDD}
endif
endif
#> Integrated Source Apportionment Method (ISAM) Options
setenv CTM_ISAM N
if ( $?CTM_ISAM ) then
if ( $CTM_ISAM == 'Y' || $CTM_ISAM == 'T' ) then
setenv SA_IOLIST ${WORKDIR}/isam_control.txt
setenv ISAM_BLEV_ELEV " 1 1"
setenv AISAM_BLEV_ELEV " 1 1"
#> Set Up ISAM Initial Condition Flags
if ($NEW_START == true || $NEW_START == TRUE ) then
setenv ISAM_NEW_START Y
setenv ISAM_PREVDAY
else
setenv ISAM_NEW_START N
setenv ISAM_PREVDAY "$OUTDIR/CCTM_SA_CGRID_${RUNID}_${YESTERDAY}.nc"
endif
#> Set Up ISAM Output Filenames
setenv SA_ACONC_1 "$OUTDIR/CCTM_SA_ACONC_${CTM_APPL}.nc -v"
setenv SA_CONC_1 "$OUTDIR/CCTM_SA_CONC_${CTM_APPL}.nc -v"
setenv SA_DD_1 "$OUTDIR/CCTM_SA_DRYDEP_${CTM_APPL}.nc -v"
setenv SA_WD_1 "$OUTDIR/CCTM_SA_WETDEP_${CTM_APPL}.nc -v"
setenv SA_CGRID_1 "$OUTDIR/CCTM_SA_CGRID_${CTM_APPL}.nc -v"
#> Set optional ISAM regions files
# setenv ISAM_REGIONS /work/MOD3EVAL/nsu/isam_v53/CCTM/scripts/input/RGN_ISAM.nc
endif
endif
#> Sulfur Tracking Model (STM)
setenv STM_SO4TRACK N #> sulfur tracking [ default: N ]
if ( $?STM_SO4TRACK ) then
if ( $STM_SO4TRACK == 'Y' || $STM_SO4TRACK == 'T' ) then
#> option to normalize sulfate tracers [ default: Y ]
setenv STM_ADJSO4 Y
endif
endif
#> CMAQ-DDM-3D
setenv CTM_DDM3D N
set NPMAX = 1
setenv SEN_INPUT ${WORKDIR}/sensinput.dat
setenv DDM3D_HIGH N # allow higher-order sensitivity parameters [ T | Y | F | N ] (default is N/F)
if ($NEW_START == true || $NEW_START == TRUE ) then
setenv DDM3D_RST N # begins from sensitivities from a restart file [ T | Y | F | N ] (default is Y/T)
set S_ICpath =
set S_ICfile =
else
setenv DDM3D_RST Y
set S_ICpath = $OUTDIR
set S_ICfile = CCTM_SENGRID_${RUNID}_${YESTERDAY}.nc
endif
setenv DDM3D_BCS F # use sensitivity bc file for nested runs [ T | Y | F | N ] (default is N/F)
set S_BCpath = /asm/MOD3DATA/CMAQv53_TS/2018_12US1/icbc/CMAQv53_TS_108NHEMI_SHAKEOUT
set S_BCfile = BCON_CONC_12US1_CMAQv53_TS_regrid_${YYYYMM}.nc
setenv CTM_NPMAX $NPMAX
setenv CTM_SENS_1 "$OUTDIR/CCTM_SENGRID_${CTM_APPL}.nc -v"
setenv A_SENS_1 "$OUTDIR/CCTM_ASENS_${CTM_APPL}.nc -v"
setenv CTM_SWETDEP_1 "$OUTDIR/CCTM_SENWDEP_${CTM_APPL}.nc -v"
setenv CTM_SDRYDEP_1 "$OUTDIR/CCTM_SENDDEP_${CTM_APPL}.nc -v"
setenv CTM_NPMAX $NPMAX
setenv INIT_SENS_1 $S_ICpath/$S_ICfile
setenv BNDY_SENS_1 $S_BCpath/$S_BCfile
# =====================================================================
#> Output Files
# =====================================================================
#> set output file names
setenv S_CGRID "$OUTDIR/CCTM_CGRID_${CTM_APPL}.nc" #> 3D Inst. Concentrations
setenv CTM_CONC_1 "$OUTDIR/CCTM_CONC_${CTM_APPL}.nc -v" #> On-Hour Concentrations
setenv A_CONC_1 "$OUTDIR/CCTM_ACONC_${CTM_APPL}.nc -v" #> Hourly Avg. Concentrations
setenv MEDIA_CONC "$OUTDIR/CCTM_MEDIA_CONC_${CTM_APPL}.nc -v" #> NH3 Conc. in Media
setenv CTM_DRY_DEP_1 "$OUTDIR/CCTM_DRYDEP_${CTM_APPL}.nc -v" #> Hourly Dry Deposition
setenv CTM_DEPV_DIAG "$OUTDIR/CCTM_DEPV_${CTM_APPL}.nc -v" #> Dry Deposition Velocities
setenv B3GTS_S "$OUTDIR/CCTM_B3GTS_S_${CTM_APPL}.nc -v" #> Biogenic Emissions
setenv BDSNPOUT "$OUTDIR/CCTM_BDSNPOUT_${CTM_APPL}.nc" #> Soil Emissions
setenv BEIS_SOILOUT "$OUTDIR/CCTM_BSOILOUT_${CTM_APPL}.nc" #> Soil Emissions
setenv MEGAN_SOILOUT "$OUTDIR/CCTM_MSOILOUT_${CTM_APPL}.nc" #> Soil Emissions
setenv CTM_WET_DEP_1 "$OUTDIR/CCTM_WETDEP1_${CTM_APPL}.nc -v" #> Wet Dep From All Clouds
setenv CTM_WET_DEP_2 "$OUTDIR/CCTM_WETDEP2_${CTM_APPL}.nc -v" #> Wet Dep From SubGrid Clouds
setenv CTM_ELMO_1 "$OUTDIR/CCTM_ELMO_${CTM_APPL}.nc -v" #> On-Hour Particle Diagnostics
setenv CTM_AELMO_1 "$OUTDIR/CCTM_AELMO_${CTM_APPL}.nc -v" #> Hourly Avg. Particle Diagnostics
setenv CTM_RJ_1 "$OUTDIR/CCTM_PHOTDIAG1_${CTM_APPL}.nc -v" #> 2D Surface Summary from Inline Photolysis
setenv CTM_RJ_2 "$OUTDIR/CCTM_PHOTDIAG2_${CTM_APPL}.nc -v" #> 3D Photolysis Rates
setenv CTM_RJ_3 "$OUTDIR/CCTM_PHOTDIAG3_${CTM_APPL}.nc -v" #> 3D Optical and Radiative Results from Photolysis
setenv CTM_SSEMIS_1 "$OUTDIR/CCTM_SSEMIS_${CTM_APPL}.nc -v" #> Sea Spray Emissions
setenv CTM_DUST_EMIS_1 "$OUTDIR/CCTM_DUSTEMIS_${CTM_APPL}.nc -v" #> Dust Emissions
setenv CTM_BUDGET "$OUTDIR/CCTM_BUDGET_${CTM_APPL}.txt -v" #> Budget
setenv CTM_IPR_1 "$OUTDIR/CCTM_PA_1_${CTM_APPL}.nc -v" #> Process Analysis
setenv CTM_IPR_2 "$OUTDIR/CCTM_PA_2_${CTM_APPL}.nc -v" #> Process Analysis
setenv CTM_IPR_3 "$OUTDIR/CCTM_PA_3_${CTM_APPL}.nc -v" #> Process Analysis
setenv CTM_IRR_1 "$OUTDIR/CCTM_IRR_1_${CTM_APPL}.nc -v" #> Chem Process Analysis
setenv CTM_IRR_2 "$OUTDIR/CCTM_IRR_2_${CTM_APPL}.nc -v" #> Chem Process Analysis
setenv CTM_IRR_3 "$OUTDIR/CCTM_IRR_3_${CTM_APPL}.nc -v" #> Chem Process Analysis
setenv CTM_DRY_DEP_MOS "$OUTDIR/CCTM_DDMOS_${CTM_APPL}.nc -v" #> Dry Dep
setenv CTM_DEPV_MOS "$OUTDIR/CCTM_DEPVMOS_${CTM_APPL}.nc -v" #> Dry Dep Velocity
setenv CTM_VDIFF_DIAG "$OUTDIR/CCTM_VDIFF_DIAG_${CTM_APPL}.nc -v" #> Vertical Dispersion Diagnostic
setenv CTM_VSED_DIAG "$OUTDIR/CCTM_VSED_DIAG_${CTM_APPL}.nc -v" #> Particle Grav. Settling Velocity
setenv CTM_LTNGDIAG_1 "$OUTDIR/CCTM_LTNGHRLY_${CTM_APPL}.nc -v" #> Hourly Avg Lightning NO
setenv CTM_LTNGDIAG_2 "$OUTDIR/CCTM_LTNGCOL_${CTM_APPL}.nc -v" #> Column Total Lightning NO
setenv CTM_VEXT_1 "$OUTDIR/CCTM_VEXT_${CTM_APPL}.nc -v" #> On-Hour 3D Concs at select sites
#> set floor file (neg concs)
setenv FLOOR_FILE ${OUTDIR}/FLOOR_${CTM_APPL}.txt
#> look for existing log files and output files
( ls CTM_LOG_???.${CTM_APPL} > buff.txt ) >& /dev/null
( ls ${LOGDIR}/CTM_LOG_???.${CTM_APPL} >> buff.txt ) >& /dev/null
set log_test = `cat buff.txt`; rm -f buff.txt
set OUT_FILES = (${FLOOR_FILE} ${S_CGRID} ${CTM_CONC_1} ${A_CONC_1} ${MEDIA_CONC} \
${CTM_DRY_DEP_1} $CTM_DEPV_DIAG $B3GTS_S $MEGAN_SOILOUT $BEIS_SOILOUT $BDSNPOUT \
$CTM_WET_DEP_1 $CTM_WET_DEP_2 $CTM_ELMO_1 $CTM_AELMO_1 \
$CTM_RJ_1 $CTM_RJ_2 $CTM_RJ_3 $CTM_SSEMIS_1 $CTM_DUST_EMIS_1 $CTM_IPR_1 $CTM_IPR_2 \
$CTM_IPR_3 $CTM_BUDGET $CTM_IRR_1 $CTM_IRR_2 $CTM_IRR_3 $CTM_DRY_DEP_MOS \
$CTM_DEPV_MOS $CTM_VDIFF_DIAG $CTM_VSED_DIAG $CTM_LTNGDIAG_1 $CTM_LTNGDIAG_2 $CTM_VEXT_1 )
if ( $?CTM_ISAM ) then
if ( $CTM_ISAM == 'Y' || $CTM_ISAM == 'T' ) then
set OUT_FILES = (${OUT_FILES} ${SA_ACONC_1} ${SA_CONC_1} ${SA_DD_1} ${SA_WD_1} \
${SA_CGRID_1} )
endif
endif
if ( $?CTM_DDM3D ) then
if ( $CTM_DDM3D == 'Y' || $CTM_DDM3D == 'T' ) then
set OUT_FILES = (${OUT_FILES} ${CTM_SENS_1} ${A_SENS_1} ${CTM_SWETDEP_1} ${CTM_SDRYDEP_1} )
endif
endif
set OUT_FILES = `echo $OUT_FILES | sed "s; -v;;g" `
( ls $OUT_FILES > buff.txt ) >& /dev/null
set out_test = `cat buff.txt`; rm -f buff.txt
#> delete previous output if requested
if ( $CLOBBER_DATA == true || $CLOBBER_DATA == TRUE ) then
echo
echo "Existing Logs and Output Files for Day ${TODAYG} Will Be Deleted"
#> remove previous log files
foreach file ( ${log_test} )
#echo "Deleting log file: $file"
/bin/rm -f $file
end
#> remove previous output files
foreach file ( ${out_test} )
#echo "Deleting output file: $file"
/bin/rm -f $file
end
/bin/rm -f ${OUTDIR}/CCTM_DESID*${CTM_APPL}.nc
else
#> error if previous log files exist
if ( "$log_test" != "" ) then
echo "*** Logs exist - run ABORTED ***"
echo "*** To overide, set CLOBBER_DATA = TRUE in run_cctm.csh ***"
echo "*** and these files will be automatically deleted. ***"
exit 1
endif
#> error if previous output files exist
if ( "$out_test" != "" ) then
echo "*** Output Files Exist - run will be ABORTED ***"
foreach file ( $out_test )
echo " cannot delete $file"
end
echo "*** To overide, set CLOBBER_DATA = TRUE in run_cctm.csh ***"
echo "*** and these files will be automatically deleted. ***"
exit 1
endif
endif
#> for the run control ...
setenv CTM_STDATE $YYYYJJJ
setenv CTM_STTIME $STTIME
setenv CTM_RUNLEN $NSTEPS
setenv CTM_TSTEP $TSTEP
setenv INIT_CONC_1 $ICpath/$ICFILE
setenv BNDY_CONC_1 $BCpath/$BCFILE
setenv OMI $OMIpath/$OMIfile
setenv OPTICS_DATA $OMIpath/$OPTfile
#setenv XJ_DATA $JVALpath/$JVALfile
#> species defn & photolysis
setenv gc_matrix_nml ${NMLpath}/GC_$MECH.nml
setenv ae_matrix_nml ${NMLpath}/AE_$MECH.nml
setenv nr_matrix_nml ${NMLpath}/NR_$MECH.nml
setenv tr_matrix_nml ${NMLpath}/Species_Table_TR_0.nml
#> check for photolysis input data
setenv CSQY_DATA ${NMLpath}/CSQY_DATA_$MECH
if (! (-e $CSQY_DATA ) ) then
echo " $CSQY_DATA not found "
exit 1
endif
if (! (-e $OPTICS_DATA ) ) then
echo " $OPTICS_DATA not found "
exit 1
endif
# ===================================================================
#> Execution Portion
# ===================================================================
#> Print attributes of the executable
if ( $CTM_DIAG_LVL != 0 ) then
ls -l $BLD/$EXEC
size $BLD/$EXEC
unlimit
limit
endif
#> Print Startup Dialogue Information to Standard Out
echo
echo "CMAQ Processing of Day $YYYYMMDD Began at `date`"
echo
#> Executable call for single PE, uncomment to invoke
#( /usr/bin/time -p $BLD/$EXEC ) |& tee buff_${EXECUTION_ID}.txt
#> Executable call for multi PE, configure for your system
# set MPI = /usr/local/intel/impi/3.2.2.006/bin64
# set MPIRUN = $MPI/mpirun
( /usr/bin/time -p mpirun -np $NPROCS $BLD/$EXEC ) |& tee buff_${EXECUTION_ID}.txt
#> Harvest Timing Output so that it may be reported below
set rtarray = "${rtarray} `tail -3 buff_${EXECUTION_ID}.txt | grep -Eo '[+-]?[0-9]+([.][0-9]+)?' | head -1` "
rm -rf buff_${EXECUTION_ID}.txt
#> Abort script if abnormal termination
if ( ! -e $S_CGRID ) then
echo ""
echo "**************************************************************"
echo "** Runscript Detected an Error: CGRID file was not written. **"
echo "** This indicates that CMAQ was interrupted or an issue **"
echo "** exists with writing output. The runscript will now **"
echo "** abort rather than proceeding to subsequent days. **"
echo "**************************************************************"
break
endif
#> Print Concluding Text
echo
echo "CMAQ Processing of Day $YYYYMMDD Finished at `date`"
echo
echo "\\\\\=====\\\\\=====\\\\\=====\\\\\=====/////=====/////=====/////=====/////"
echo
# ===================================================================
#> Finalize Run for This Day and Loop to Next Day
# ===================================================================
#> Save Log Files and Move on to Next Simulation Day
mv CTM_LOG_???.${CTM_APPL} $LOGDIR
if ( $CTM_DIAG_LVL != 0 ) then
mv CTM_DIAG_???.${CTM_APPL} $LOGDIR
endif
#> The next simulation day will, by definition, be a restart
setenv NEW_START false
#> Increment both Gregorian and Julian Days
set TODAYG = `date -ud "${TODAYG}+1days" +%Y-%m-%d` #> Add a day for tomorrow
set TODAYJ = `date -ud "${TODAYG}" +%Y%j` #> Convert YYYY-MM-DD to YYYYJJJ
end #Loop to the next Simulation Day
# ===================================================================
#> Generate Timing Report
# ===================================================================
set RTMTOT = 0
foreach it ( `seq ${NDAYS}` )
set rt = `echo ${rtarray} | cut -d' ' -f${it}`
set RTMTOT = `echo "${RTMTOT} + ${rt}" | bc -l`
end
set RTMAVG = `echo "scale=2; ${RTMTOT} / ${NDAYS}" | bc -l`
set RTMTOT = `echo "scale=2; ${RTMTOT} / 1" | bc -l`
echo
echo "=================================="
echo " ***** CMAQ TIMING REPORT *****"
echo "=================================="
echo "Start Day: ${START_DATE}"
echo "End Day: ${END_DATE}"
echo "Number of Simulation Days: ${NDAYS}"
echo "Domain Name: ${GRID_NAME}"
echo "Number of Grid Cells: ${NCELLS} (ROW x COL x LAY)"
echo "Number of Layers: ${NZ}"
echo "Number of Processes: ${NPROCS}"
echo " All times are in seconds."
echo
echo "Num Day Wall Time"
set d = 0
set day = ${START_DATE}
foreach it ( `seq ${NDAYS}` )
# Set the right day and format it
set d = `echo "${d} + 1" | bc -l`
set n = `printf "%02d" ${d}`
# Choose the correct time variables
set rt = `echo ${rtarray} | cut -d' ' -f${it}`
# Write out row of timing data
echo "${n} ${day} ${rt}"
# Increment day for next loop
set day = `date -ud "${day}+1days" +%Y-%m-%d`
end
echo " Total Time = ${RTMTOT}"
echo " Avg. Time = ${RTMAVG}"
exit
================================================
FILE: CCTM/scripts/run_cctm_Bench_2018_12NE3.WRFCMAQ.csh
================================================
#!/bin/csh -f
# ===================== WRF-CMAQ Run Script =========================
# Usage: run_cctm_Bench_2018_12NE3.WRFCMAQ.csh >& run_cctm_Bench_2018_12NE3.WRFCMAQ.log &
# Slurm Usage: sbatch run_cctm_Bench_2018_12NE3.WRFCMAQ.csh
#
# To report problems or request help with this script/program:
# http://www.epa.gov/cmaq (EPA CMAQ Website)
# http://www.cmascenter.org (CMAS Website)
# ===================================================================
set NPROCS = 32
set wrfv = 4.5.1
set version = sw_feedback
set option = 3
# ===================================================================
#> Runtime Environment Options
# ===================================================================
echo 'Start Model Run At ' `date`
#> Choose compiler and set up CMAQ environment with correct
#> libraries using config.cmaq. Options: intel | gcc | pgi
if ( ! $?compiler ) then
setenv compiler gcc
endif
if ( ! $?compilerVrsn ) then
setenv compilerVrsn Empty
endif
#> Source the config.cmaq file to set the build environment
cd ../..
source ./config_cmaq.csh $compiler $compilerVrsn
cd CCTM/scripts
#> Toggle Diagnostic Mode which will print verbose information to
#> standard output
setenv CTM_DIAG_LVL 0
#> Set General Parameters and Labels for Configuring the Simulation
set VRSN = ${wrfv}55 #> Code Version
set PROC = mpi #> serial or mpi
set MECH = cb6r5_ae7_aq #> Mechanism ID
set APPL = Bench_2018_12NE3 #> Application Name (e.g. Domain)
#> Define RUNID as any combination of parameters above or others. By default,
#> this information will be collected into this one string, $RUNID, for easy
#> referencing in output binaries and log files as well as in other scripts.
setenv RUNID ${VRSN}_${APPL}
set EXEC = wrf.exe
#> Output Each line of Runscript to Log File
if ( $CTM_DIAG_LVL != 0 ) set echo
# Set Working, Input, and Output Directories
set WORKDIR = ${PWD} # Pathname of current Working Directory
set WRF_DIR = $WORKDIR/BLD_WRFv${wrfv}_CCTM_v55_gcc # Location of WRF-CMAQ Install
set INPDIR = ${CMAQ_DATA}/2018_12NE3 # Input directory for WRF & CMAQ
set OUTPUT_ROOT = $WORKDIR # output root directory
set output_direct_name = WRFCMAQ-output-${version} # Output Directory Name
setenv OUTDIR ${CMAQ_DATA}/$output_direct_name # output files and directories
set NMLpath = $WRF_DIR/cmaq # path with *.nml file mechanism dependent
echo ""
echo "Working Directory is $WORKDIR"
echo "Output Root Directory is $OUTPUT_ROOT"
echo "Executable Name is $EXEC"
# =====================================================================
# WRF-CMAQ coupled Configuration Options
# =====================================================================
#> Set Start and End Days for looping
setenv NEW_START TRUE # Set to FALSE for model restart
set START_DATE = "2018-07-01" # beginning date (July 1, 2016)
set END_DATE = "2018-07-02" # ending date (July 14, 2016)
#> Set Timestepping Parameters
set STTIME = 000000 # beginning GMT time (HHMMSS)
set NSTEPS = 240000 # time duration (HHMMSS) for this run
set TSTEP = 010000 # output time step interval (HHMMSS)
set resolution = 12000 # domain resolution in meter
set wrf_cmaq_option = ${option} # 0 = run WRF only
# 1 = run WRF only and produce GRID and MET files as well
# 2 = run WRF-CMAQ coupled model w/o producing GRID and MET files
# 3 = run WRF-CMAQ coupled model w producing GRID and MET files
set direct_sw_feedback = .true. # direct Shortwave aerosol feedback effect [.false]
set wrf_cmaq_freq = 5 # WRF-CMAQ couple model frequency [1]
set cont_from_spinup_run = T # indicates whether a wrf spinup run prior to the twoway model run
set wrf_tstep = 60 # WRF model time-step
set NUM_LAND_USE_TYPE = 40 # MODIS IS 20, USGS is 24, NCLD50 is 50, NCLD40 is 40
set radt = 20 # radiation module time step
set met_file_tstep = 10000
set ltg_assim = .false. # Option for lightning assimilation in Kain-Fritsch when cu_physics=1 [ .false. ]
set suppress_opt = 0 # Suppression option if ltg assim used.
# 0 = nosuppress
# 1 = fullsuppress
# 2 = shallonly
setenv CTM_LTNG_OPTION 0 # 0 - use nothing
# 1 - use WRF convective cloud calculation currently
# this only work with two-way coupled model
# 2 - use lightning flashes data
# 3 - use lightning parameter
# 4 - use NOx emission data file
if ($$direct_sw_feedback == .true.) then
set feedback = sf
else
set feedback = nf
endif
#> Keep or Delete Existing Output Files
set CLOBBER_DATA = TRUE
setenv PRINT_PROC_TIME Y # Print timing for all science subprocesses to Logfile
# [ TRUE or Y ]
setenv STDOUT T # Override I/O-API trying to write information to both the processor
# logs and STDOUT [ options: T | F ]
setenv GRID_NAME 2018_12NE3 # check GRIDDESC file for GRID_NAME options
setenv GRIDDESC $OUTDIR/GRIDDESC # grid description file
#> WRF-CMAQ number of columns, rows and layers
setenv WRF_COL_DIM 113 # wrf west_east_stag
setenv WRF_ROW_DIM 118 # wrf south_north_stag
setenv WRF_LAY_DIM 36 # wrf bottom_top_stag
setenv CMAQ_COL_DIM 100 # CMAQ Domain Columns
setenv CMAQ_ROW_DIM 105 # CMAQ Domain Rows
setenv TWOWAY_DELTA_X 6 # distance between the wrf and cmaq lower left corner in the x-direction
setenv TWOWAY_DELTA_Y 6 # distance between the wrf and cmaq lower left corner in the y-direction
setenv WRF_LC_REF_LAT 40.0 # WRF Lambert conformal reference latitude
if (! -e $OUTDIR ) then
mkdir -p $OUTDIR
endif
# convert STTIME to WRF format HH:MM::SS
@ second = $STTIME % 100
@ minute = ($STTIME / 100) % 100
@ hour = $STTIME / 10000
set wrf_sttime = `date -ud "$hour":"$minute":"$second" +%H:%M:%S`
set wrf_hr = $NSTEPS
#> setup wrf start hour, minute, and second
@ wrf_sec = $NSTEPS % 100
@ wrf_min = ($NSTEPS / 100) % 100
@ wrf_hr = $NSTEPS / 10000
@ wrf_restart_interval = $wrf_min + ($wrf_hr * 60)
# Output Species and Layer Options
# CONC file species; comment or set to "ALL" to write all species to CONC
#setenv CONC_SPCS "O3 NO ANO3I ANO3J NO2 FORM ISOP NH3 ANH4I ANH4J ASO4I ASO4J"
#setenv CONC_BLEV_ELEV " 1 1" # CONC file layer range; comment to write all layers to CONC
# ACONC file species; comment or set to "ALL" to write all species to ACONC
# setenv AVG_CONC_SPCS "O3 NO CO NO2 ASO4I ASO4J NH3"
setenv AVG_CONC_SPCS "ALL"
setenv ACONC_BLEV_ELEV " 1 1" # ACONC file layer range; comment to write all layers to ACONC
setenv AVG_FILE_ENDTIME N # override default beginning ACONC timestamp [ default: N ]
# Synchronization Time Step and Tolerance Options
setenv CTM_MAXSYNC 300 #> max sync time step (sec) [ default: 720 ]
setenv CTM_MINSYNC 60 #> min sync time step (sec) [ default: 60 ]
setenv SIGMA_SYNC_TOP 0.7 #> top sigma level thru which sync step determined [ default: 0.7 ]
#setenv ADV_HDIV_LIM 0.95 #> maximum horiz. div. limit for adv step adjust [ default: 0.9 ]
setenv CTM_ADV_CFL 0.95 #> max CFL [ default: 0.75]
#setenv RB_ATOL 1.0E-09 #> global ROS3 solver absolute tolerance [ default: 1.0E-07 ]
# Science Options
setenv CTM_OCEAN_CHEM Y #> Flag for ocean halogen chemistry, sea spray aerosol emissions,
#> and enhanced ozone deposition over ocean waters [ default: Y ]
setenv CTM_WB_DUST N #> use inline windblown dust emissions [ Y ]
setenv CTM_LTNG_NO N #> turn on lightning NOx [ N ]
setenv KZMIN Y #> use Min Kz option in edyintb [ Y ],
#> otherwise revert to Kz0UT
setenv PX_VERSION Y #> WRF PX LSM
setenv CLM_VERSION N #> WRF CLM LSM
setenv NOAH_VERSION N #> WRF NOAH LSM
setenv CTM_ABFLUX Y #> ammonia bi-directional flux for in-line deposition velocities [ N ]
setenv CTM_BIDI_FERT_NH3 T #> subtract fertilizer NH3 from emissions because it will be handled
#> by the BiDi calculation [ Y ]
setenv CTM_HGBIDI N #> mercury bi-directional flux for in-line deposition velocities [ N ]
setenv CTM_SFC_HONO Y #> surface HONO interaction [ Y ]
setenv CTM_GRAV_SETL Y #> vdiff aerosol gravitational sedimentation [ Y ]
setenv CTM_PVO3 N #> consider potential vorticity module for O3 transport from the stratosphere
#> In WRF-CMAQ model, option also can activate calculating potential vorticity
#> [default: N]
setenv CTM_BIOGEMIS_BE Y #> calculate in-line biogenic emissions with BEIS [ default: N ]
setenv CTM_BIOGEMIS_MG N #> turns on MEGAN biogenic emission [ default: N ]
setenv BDSNP_MEGAN N #> turns on BDSNP soil NO emissions [ default: N ]
setenv AEROSOL_OPTICS 3 #> sets method for determining aerosol optics affecting photolysis
#> frequencies ( 3 is the default value )
#> VALUES 1 thru 3 determined Uniformly Volume Mixed spherical
#> (1-Tabular Mie; 2-Mie Calculation; 3-Case Approx to Mie Theory)
#> VALUES 4 thru 6 attempts to use core-shell mixing model when the
#> aerosol mode has signficant black carbon core otherwise use Volume Mixed
#> model where optics determined by
#> (4-Tabular Mie; 5-Mie Calculation; 6-Case Approx to Mie Theory)
setenv CTM_TURN_ON_PV N # WRF-CMAQ ONLY turn on/off PV [ N -- make sure compiled with pv on ]
#> Surface Tiled Aerosol and Gaseous Exchange Options
#> Only active if DepMod=stage at compile time
setenv CTM_MOSAIC N #> Output landuse specific deposition velocities [ default: N ]
setenv CTM_STAGE_P22 N #> Pleim et al. 2022 Aerosol deposition model [default: N]
setenv CTM_STAGE_E20 Y #> Emerson et al. 2020 Aerosol deposition model [default: Y]
setenv CTM_STAGE_S22 N #> Shu et al. 2022 (CMAQ v5.3) Aerosol deposition model [default: N]
setenv IC_AERO_M2WET F #> Specify whether or not initial condition aerosol size distribution
#> is wet or dry [ default: F = dry ]
setenv BC_AERO_M2WET F #> Specify whether or not boundary condition aerosol size distribution
#> is wet or dry [ default: F = dry ]
setenv IC_AERO_M2USE F #> Specify whether or not to use aerosol surface area from initial
#> conditions [ default: T = use aerosol surface area ]
setenv BC_AERO_M2USE F #> Specify whether or not to use aerosol surface area from boundary
#> conditions [ default: T = use aerosol surface area ]
#> Vertical Extraction Options
setenv VERTEXT N
# setenv VERTEXT_COORD_PATH ${WORKDIR}/lonlat.csv
#> I/O Controls
setenv IOAPI_LOG_WRITE F #> turn on excess WRITE3 logging [ options: T | F ]
setenv FL_ERR_STOP N #> stop on inconsistent input files
setenv PROMPTFLAG F #> turn on I/O-API PROMPT*FILE interactive mode [ options: T | F ]
setenv IOAPI_OFFSET_64 YES #> support large timestep records (>2GB/timestep record) [ options: YES | NO ]
setenv IOAPI_CHECK_HEADERS N #> check file headers [ options: Y | N ]
setenv CTM_EMISCHK N #> Abort CMAQ if missing surrogates from emissions Input files
#> Diagnostic Output Flags
setenv CTM_CKSUM Y #> checksum report [ Y ]
setenv CLD_DIAG N #> cloud diagnostic file [ N ]
setenv CTM_PHOTDIAG N #> photolysis diagnostic file [ N ]
setenv NLAYS_PHOTDIAG "1" #> Number of layers for PHOTDIAG2 and PHOTDIAG3 from
#> Layer 1 to NLAYS_PHOTDIAG [ default: all layers ]
#setenv NWAVE_PHOTDIAG "294 303 310 316 333 381 607" # Wavelengths written for variables
# in PHOTDIAG2 and PHOTDIAG3
# [ default: all wavelengths ]
setenv CTM_SSEMDIAG N #> sea-spray emissions diagnostic file [ N ]
setenv CTM_DUSTEM_DIAG N #> windblown dust emissions diagnostic file [ N ];
#> Ignore if CTM_WB_DUST = N
setenv CTM_DEPV_FILE N #> deposition velocities diagnostic file [ N ]
setenv VDIFF_DIAG_FILE N #> vdiff & possibly aero grav. sedimentation diagnostic file [ N ]
setenv LTNGDIAG N #> lightning diagnostic file [ N ]
setenv B3GTS_DIAG N #> BEIS mass emissions diagnostic file [ N ]
setenv CTM_WVEL Y #> save derived vertical velocity component to conc file [ Y ]
setenv SD_TIME_SERIES F # WRF-CMAQ sub domain time series output option [F]
#setenv SD_SCOL 241 # WRF-CMAQ sub domain time series starting column
#setenv SD_ECOL 248 # WRF-CMAQ sub domain time series ending column
#setenv SD_SROW 160 # WRF-CMAQ sub domain time series starting row
#setenv SD_EROW 169 # WRF-CMAQ sub domain time series ending row
#setenv SD_CONC_SPCS "NO2 NO O3 NO3 CO ASO4J ASO4I ANH4J ANH4I ANO3J ANO3I AORGAJ AORGAI AORGPAJ AORGPAI AORGBJ AORGBI AECJ AECI A25J A25I ACORS ASEAS ASOIL" #> sub domain time series species subset list
setenv FILE_TIME_STEP $met_file_tstep
# =====================================================================
#> Input Directories and Filenames
# =====================================================================
set ICpath = $INPDIR/icbc #> initial conditions input directory
set BCpath = $INPDIR/icbc #> boundary conditions input directory
set EMISpath = $INPDIR/emis #> gridded emissions input directory
set IN_PTpath = $INPDIR/emis #> point source emissions input directory
set IN_LTpath = $INPDIR/lightning #> lightning NOx input directory
set METpath = $INPDIR/met/wrfv4.4_inputs #> meteorology input directory
#set JVALpath = $INPDIR/jproc #> offline photolysis rate table directory
set OMIpath = $WRF_DIR/cmaq #> ozone column data for the photolysis model
set EPICpath = $INPDIR/epic #> EPIC putput for bidirectional NH3
set SZpath = $INPDIR/surface #> surf zone file for in-line seaspray emissions
# =====================================================================
#> Begin Loop Through Simulation Days
# =====================================================================
set rtarray = ""
set TODAYG = ${START_DATE}
set TODAYJ = `date -ud "${START_DATE}" +%Y%j` #> Convert YYYY-MM-DD to YYYYJJJ
set START_DAY = ${TODAYJ}
set STOP_DAY = `date -ud "${END_DATE}" +%Y%j` #> Convert YYYY-MM-DD to YYYYJJJ
set NDAYS = 0
while ($TODAYJ <= $STOP_DAY ) #>Compare dates in terms of YYYYJJJ
set NDAYS = `echo "${NDAYS} + 1" | bc -l`
#> Retrieve Calendar day Information
set YYYYMMDD = `date -ud "${TODAYG}" +%Y%m%d` #> Convert YYYY-MM-DD to YYYYMMDD
set YYYYMM = `date -ud "${TODAYG}" +%Y%m` #> Convert YYYY-MM-DD to YYYYMM
set YYMMDD = `date -ud "${TODAYG}" +%y%m%d` #> Convert YYYY-MM-DD to YYMMDD
set YYYYJJJ = $TODAYJ
#> Calculate Yesterday's Date
set YESTERDAY = `date -ud "${TODAYG}-1days" +%Y%m%d`
# =====================================================================
#> Set Output String and Propagate Model Configuration Documentation
# =====================================================================
echo ""
echo "Set up input and output files for Day ${TODAYG}."
#> set output file name extensions
setenv CTM_APPL ${RUNID}_${YYYYMMDD}
setenv CTM_APPL_yesterday ${RUNID}_${YESTERDAY}
#> Copy Model Configuration To Output Folder
if ( ! -d "$OUTDIR" ) mkdir -p $OUTDIR
# cp $BLD/cmaq/CCTM_${VRSN}.cfg $OUTDIR/CCTM_${CTM_APPL}.cfg
# =====================================================================
#> Input Files (Some are Day-Dependent)
# =====================================================================
#> Initial conditions
if ($NEW_START == true || $NEW_START == TRUE ) then
setenv ICFILE CCTM_ICON_v54_${MECH}_12NE3_20180701.nc
setenv INIT_MEDC_1 notused
#> WRF-CMAQ Configuration
set feedback_restart = .false. # indicates no CMAQ aerosol information in the initial step
if ($cont_from_spinup_run == T) then
setenv WRF_RSTFLAG .TRUE. # indicates WRF restart file exist
set pxlsm_smois_init = 0 # Init PX Soil Moisture from prevoius run
else
setenv WRF_RSTFLAG .false. # indicates WRF restart file does not exist
set pxlsm_smois_init = 1 # Init PX Soil Moisture from TBL method
endif
else
set ICpath = $OUTDIR
setenv ICFILE CCTM_CGRID_${RUNID}_${YESTERDAY}.nc
setenv INIT_MEDC_1 $ICpath/CCTM_MEDIA_CONC_${RUNID}_${YESTERDAY}.nc
#> WRF-CMAQ Configuration
setenv WRF_RSTFLAG .true. # indicates WRF restart file exist
set feedback_restart = .true. # indicates CMAQ aerosol information is available
set pxlsm_smois_init = 0 # Init PX Soil Moisture from prevoius run
endif
#> Boundary conditions
set BCFILE = CCTM_BCON_v54_${MECH}_12NE3_${YYYYMMDD}.nc
#> Off-line photolysis rates
#set JVALfile = JTABLE_${YYYYJJJ}
#> Ozone column data
set OMIfile = OMI_1979_to_2019.dat
#> Optics file
set OPTfile = PHOT_OPTICS.dat
#> MCIP meteorology files
setenv GRID_BDY_2D BUFFERED # GRID files are static, not day-specific
setenv GRID_CRO_2D BUFFERED
setenv GRID_CRO_3D BUFFERED
setenv GRID_DOT_2D BUFFERED
setenv MET_CRO_2D BUFFERED
setenv MET_CRO_3D BUFFERED
setenv MET_DOT_3D BUFFERED
setenv MET_BDY_3D BUFFERED
#setenv LUFRAC_CRO BUFFERED
#> Control Files
#>
#> IMPORTANT NOTE
#>
#> The DESID control files defined below are an integral part of controlling the behavior of the model simulation.
#> Among other things, they control the mapping of species in the emission files to chemical species in the model and
#> several aspects related to the simulation of organic aerosols.
#> Please carefully review the DESID control files to ensure that they are configured to be consistent with the assumptions
#> made when creating the emission files defined below and the desired representation of organic aerosols.
#> For further information, please see:
#> + AERO7 Release Notes section on 'Required emission updates':
#> https://github.com/USEPA/CMAQ/blob/master/DOCS/Release_Notes/aero7_overview.md
#> + CMAQ User's Guide section 6.9.3 on 'Emission Compatability':
#> https://github.com/USEPA/CMAQ/blob/master/DOCS/Users_Guide/CMAQ_UG_ch06_model_configuration_options.md#6.9.3_Emission_Compatability
#> + Emission Control (DESID) Documentation in the CMAQ User's Guide:
#> https://github.com/USEPA/CMAQ/blob/master/DOCS/Users_Guide/Appendix/CMAQ_UG_appendixB_emissions_control.md
#>
setenv DESID_CTRL_NML ${WRF_DIR}/cmaq/CMAQ_Control_DESID.nml
setenv DESID_CHEM_CTRL_NML ${WRF_DIR}/cmaq/CMAQ_Control_DESID_${MECH}.nml
#> The following namelist configures aggregated output (via the Explicit and Lumped
#> Air Quality Model Output (ELMO) Module), domain-wide budget output, and chemical
#> family output.
setenv MISC_CTRL_NML ${WRF_DIR}/cmaq/CMAQ_Control_Misc.nml
#> The following namelist controls the mapping of meteorological land use types and the NH3 and Hg emission
#> potentials
setenv STAGECTRL_NML ${WRF_DIR}/cmaq/CMAQ_Control_STAGE.nml
#> Spatial Masks For Emissions Scaling
setenv CMAQ_MASKS $SZpath/OCEAN_07_L3m_MC_CHL_chlor_a_12NE3.nc #> horizontal grid-dependent ocean file
#> Gridded Emissions Files
setenv N_EMIS_GR 2
set EMISfile = emis_mole_all_${YYYYMMDD}_12NE3_nobeis_norwc_2018gc_cb6_18j.ncf
setenv GR_EMIS_001 ${EMISpath}/merged_nobeis_norwc/${EMISfile}
setenv GR_EMIS_LAB_001 GRIDDED_EMIS
setenv GR_EM_SYM_DATE_001 F # To change default behaviour please see Users Guide for EMIS_SYM_DATE
set EMISfile = emis_mole_rwc_${YYYYMMDD}_12NE3_cmaq_cb6ae7_2018gc_cb6_18j.ncf
setenv GR_EMIS_002 ${EMISpath}/rwc/${EMISfile}
setenv GR_EMIS_LAB_002 GR_RES_FIRES
setenv GR_EM_SYM_DATE_002 F # To change default behaviour please see Users Guide for EMIS_SYM_DATE
#> In-line point emissions configuration
setenv N_EMIS_PT 10 #> Number of elevated source groups
set STKCASEG = 12US1_2018gc_cb6_18j # Stack Group Version Label
set STKCASEE = 12US1_cmaq_cb6ae7_2018gc_cb6_18j # Stack Emission Version Label
# Time-Independent Stack Parameters for Inline Point Sources
setenv STK_GRPS_001 $IN_PTpath/ptnonipm/stack_groups_ptnonipm_${STKCASEG}.ncf
setenv STK_GRPS_002 $IN_PTpath/ptegu/stack_groups_ptegu_${STKCASEG}.ncf
setenv STK_GRPS_003 $IN_PTpath/othpt/stack_groups_othpt_${STKCASEG}.ncf
setenv STK_GRPS_004 $IN_PTpath/ptagfire/stack_groups_ptagfire_${YYYYMMDD}_${STKCASEG}.ncf
setenv STK_GRPS_005 $IN_PTpath/ptfire-rx/stack_groups_ptfire-rx_${YYYYMMDD}_${STKCASEG}.ncf
setenv STK_GRPS_006 $IN_PTpath/ptfire-wild/stack_groups_ptfire-wild_${YYYYMMDD}_${STKCASEG}.ncf
setenv STK_GRPS_007 $IN_PTpath/ptfire_othna/stack_groups_ptfire_othna_${YYYYMMDD}_${STKCASEG}.ncf
setenv STK_GRPS_008 $IN_PTpath/pt_oilgas/stack_groups_pt_oilgas_${STKCASEG}.ncf
setenv STK_GRPS_009 $IN_PTpath/cmv_c3_12/stack_groups_cmv_c3_12_${STKCASEG}.ncf
setenv STK_GRPS_010 $IN_PTpath/cmv_c1c2_12/stack_groups_cmv_c1c2_12_${STKCASEG}.ncf
# Emission Rates for Inline Point Sources
setenv STK_EMIS_001 $IN_PTpath/ptnonipm/inln_mole_ptnonipm_${YYYYMMDD}_${STKCASEE}.ncf
setenv STK_EMIS_002 $IN_PTpath/ptegu/inln_mole_ptegu_${YYYYMMDD}_${STKCASEE}.ncf
setenv STK_EMIS_003 $IN_PTpath/othpt/inln_mole_othpt_${YYYYMMDD}_${STKCASEE}.ncf
setenv STK_EMIS_004 $IN_PTpath/ptagfire/inln_mole_ptagfire_${YYYYMMDD}_${STKCASEE}.ncf
setenv STK_EMIS_005 $IN_PTpath/ptfire-rx/inln_mole_ptfire-rx_${YYYYMMDD}_${STKCASEE}.ncf
setenv STK_EMIS_006 $IN_PTpath/ptfire-wild/inln_mole_ptfire-wild_${YYYYMMDD}_${STKCASEE}.ncf
setenv STK_EMIS_007 $IN_PTpath/ptfire_othna/inln_mole_ptfire_othna_${YYYYMMDD}_${STKCASEE}.ncf
setenv STK_EMIS_008 $IN_PTpath/pt_oilgas/inln_mole_pt_oilgas_${YYYYMMDD}_${STKCASEE}.ncf
setenv STK_EMIS_009 $IN_PTpath/cmv_c3_12/inln_mole_cmv_c3_12_${YYYYMMDD}_${STKCASEE}.ncf
setenv STK_EMIS_010 $IN_PTpath/cmv_c1c2_12/inln_mole_cmv_c1c2_12_${YYYYMMDD}_${STKCASEE}.ncf
# Label Each Emissions Stream
setenv STK_EMIS_LAB_001 PT_NONEGU
setenv STK_EMIS_LAB_002 PT_EGU
setenv STK_EMIS_LAB_003 PT_OTHER
setenv STK_EMIS_LAB_004 PT_AGFIRES
setenv STK_EMIS_LAB_005 PT_RXFIRES
setenv STK_EMIS_LAB_006 PT_WILDFIRES
setenv STK_EMIS_LAB_007 PT_OTHFIRES
setenv STK_EMIS_LAB_008 PT_OILGAS
setenv STK_EMIS_LAB_009 PT_CMV_C3
setenv STK_EMIS_LAB_010 PT_CMV_C1C2
# Allow CMAQ to Use Point Source files with dates that do not
# match the internal model date
# To change default behaviour please see Users Guide for EMIS_SYM_DATE
setenv STK_EM_SYM_DATE_001 F
setenv STK_EM_SYM_DATE_002 F
setenv STK_EM_SYM_DATE_003 F
setenv STK_EM_SYM_DATE_004 F
setenv STK_EM_SYM_DATE_005 F
setenv STK_EM_SYM_DATE_006 F
setenv STK_EM_SYM_DATE_007 F
setenv STK_EM_SYM_DATE_008 F
#> Lightning NOx configuration
if ( $CTM_LTNG_NO == 'Y' ) then
setenv LTNGNO "InLine" #> set LTNGNO to "Inline" to activate in-line calculation
#> In-line lightning NOx options
setenv USE_NLDN Y #> use hourly NLDN strike file [ default: Y ]
if ( $USE_NLDN == Y ) then
setenv NLDN_STRIKES ${IN_LTpath}/NLDN.12US1.${YYYYMMDD}.ioapi
endif
setenv LTNGPARMS_FILE ${IN_LTpath}/LTNG_AllParms_12NE3.nc #> lightning parameter file
endif
#> In-line biogenic emissions configuration
if ( $CTM_BIOGEMIS_BE == 'Y' ) then
set IN_BEISpath = ${INPDIR}/surface
setenv GSPRO ${WRF_DIR}/cmaq/gspro_biogenics.txt
setenv BEIS_NORM_EMIS $IN_BEISpath/beis4_beld6_norm_emis.12NE3.nc
setenv BEIS_SOILINP $OUTDIR/CCTM_BSOILOUT_${RUNID}_${YESTERDAY}.nc
#> Biogenic NO soil input file; ignore if NEW_START = TRUE
endif
if ( $CTM_BIOGEMIS_MG == 'Y' ) then
setenv MEGAN_SOILINP $OUTDIR/CCTM_MSOILOUT_${RUNID}_${YESTERDAY}.nc
#> Biogenic NO soil input file; ignore if INITIAL_RUN = Y
#> ; ignore if IGNORE_SOILINP = Y
setenv MEGAN_CTS $SZpath/megan3.2/CT3_CONUS.ncf
setenv MEGAN_EFS $SZpath/megan3.2/EFMAPS_CONUS.ncf
setenv MEGAN_LDF $SZpath/megan3.2/LDF_CONUS.ncf
if ($BDSNP_MEGAN == 'Y') then
setenv BDSNPINP $OUTDIR/CCTM_BDSNPOUT_${RUNID}_${YESTERDAY}.nc
setenv BDSNP_FFILE $SZpath/megan3.2/FERT_tceq_12km.ncf
setenv BDSNP_NFILE $SZpath/megan3.2/NDEP_tceq_12km.ncf
setenv BDSNP_LFILE $SZpath/megan3.2/LANDTYPE_tceq_12km.ncf
setenv BDSNP_AFILE $SZpath/megan3.2/ARID_tceq_12km.ncf
setenv BDSNP_NAFILE $SZpath/megan3.2/NONARID_tceq_12km.ncf
endif
endif
#> In-line sea spray emissions configuration
setenv OCEAN_1 $SZpath/OCEAN_07_L3m_MC_CHL_chlor_a_12NE3.nc #> horizontal grid-dependent ocean file
#> Bidirectional ammonia configuration
if ( $CTM_ABFLUX == 'Y' ) then
setenv E2C_SOIL ${EPICpath}/2018r1_EPIC0509_12NE3_soil.nc
setenv E2C_CHEM ${EPICpath}/2018r1_EPIC0509_12NE3_time${YYYYMMDD}.nc
setenv E2C_CHEM_YEST ${EPICpath}/2018r1_EPIC0509_12NE3_time${YESTERDAY}.nc
setenv E2C_LU ${EPICpath}/beld4_12NE3_2011.nc
endif
#> Inline Process Analysis
setenv CTM_PROCAN N #> use process analysis [ default: N]
if ( $?CTM_PROCAN ) then # $CTM_PROCAN is defined
if ( $CTM_PROCAN == 'Y' || $CTM_PROCAN == 'T' ) then
#> process analysis global column, row and layer ranges
# setenv PA_BCOL_ECOL "10 90" # default: all columns
# setenv PA_BROW_EROW "10 80" # default: all rows
# setenv PA_BLEV_ELEV "1 4" # default: all levels
setenv PACM_INFILE ${NMLpath}/pa_${MECH}.ctl
setenv PACM_REPORT $OUTDIR/"PA_REPORT".${YYYYMMDD}
endif
endif
#> Integrated Source Apportionment Method (ISAM) Options
setenv CTM_ISAM N
if ( $?CTM_ISAM ) then
if ( $CTM_ISAM == 'Y' || $CTM_ISAM == 'T' ) then
setenv SA_IOLIST ${WORKDIR}/isam_control.txt
setenv ISAM_BLEV_ELEV " 1 1"
setenv AISAM_BLEV_ELEV " 1 1"
#> Set Up ISAM Initial Condition Flags
if ($NEW_START == true || $NEW_START == TRUE ) then
setenv ISAM_NEW_START Y
setenv ISAM_PREVDAY
else
setenv ISAM_NEW_START N
setenv ISAM_PREVDAY "$OUTDIR/CCTM_SA_CGRID_${RUNID}_${YESTERDAY}.nc"
endif
#> Set Up ISAM Output Filenames
setenv SA_ACONC_1 "$OUTDIR/CCTM_SA_ACONC_${CTM_APPL}.nc -v"
setenv SA_CONC_1 "$OUTDIR/CCTM_SA_CONC_${CTM_APPL}.nc -v"
setenv SA_DD_1 "$OUTDIR/CCTM_SA_DRYDEP_${CTM_APPL}.nc -v"
setenv SA_WD_1 "$OUTDIR/CCTM_SA_WETDEP_${CTM_APPL}.nc -v"
setenv SA_CGRID_1 "$OUTDIR/CCTM_SA_CGRID_${CTM_APPL}.nc -v"
#> Set optional ISAM regions files
#setenv ISAM_REGIONS $INPDIR/GRIDMASK_STATES_12SE1.nc
#> Options used to favor tracked species in reaction for Ozone-NOx chemistry
setenv ISAM_O3_WEIGHTS 5 # weights for tracked species Default is 5
# OPTIONS
# 1 does not weight any species
# 2 weights NOx and subset of NOz species
# 3 uses with from option 2 plus weight OVOC species, organic radicals and operators
# 4 weight OVOC species, organic radicals and operators
# 5 toggles between two weighting set based on VOC and NOx limited ozone production
# Below options only used if ISAM_O3_WEIGHTS set to 5
setenv ISAM_NOX_CASE 2 # weights for tracked species when ozone production is NOx limited. Default is 2
setenv ISAM_VOC_CASE 4 # weights for tracked species when ozone production is VOC limited. Default is 4
setenv VOC_NOX_TRANS 0.35 # value of Prod H2O2 over Prod HNO3 less than where
# ISAM_VOC_CASE weights are used. Otherwise, ISAM_NOX_CASE
# weights are used. Default is 0.35
endif
endif
#> Sulfur Tracking Model (STM)
setenv STM_SO4TRACK N #> sulfur tracking [ default: N ]
if ( $?STM_SO4TRACK ) then
if ( $STM_SO4TRACK == 'Y' || $STM_SO4TRACK == 'T' ) then
#> option to normalize sulfate tracers [ default: Y ]
setenv STM_ADJSO4 Y
endif
endif
#> Decoupled Direct Method in 3D (DDM-3D) Options
setenv CTM_DDM3D N # Sets up requisite script settings for DDM-3D (default is N/F)
# Additionally requires for CCTM to be compiled for DDM-3D simulations
set NPMAX = 1 # Number of sensitivity parameters defined in SEN_INPUT
setenv SEN_INPUT ${WORKDIR}/sensinput.dat
setenv DDM3D_HIGH N # allow higher-order sensitivity parameters in SEN_INPUT [ T | Y | F | N ] (default is N/F)
if ($NEW_START == true || $NEW_START == TRUE ) then
setenv DDM3D_RST N # begins from sensitivities from a restart file [ T | Y | F | N ] (default is Y/T)
set S_ICpath = # sensitivity fields are initialized to 0.0 on the first hour of the first day
set S_ICfile =
else
setenv DDM3D_RST Y # begins from sensitivities from a restart file [ T | Y | F | N ] (default is Y/T)
set S_ICpath = $OUTDIR
set S_ICfile = CCTM_SENGRID_${RUNID}_${YESTERDAY}.nc
endif
setenv CTM_NPMAX $NPMAX
setenv CTM_SENS_1 "$OUTDIR/CCTM_SENGRID_${CTM_APPL}.nc -v"
setenv A_SENS_1 "$OUTDIR/CCTM_ASENS_${CTM_APPL}.nc -v"
setenv CTM_SWETDEP_1 "$OUTDIR/CCTM_SENWDEP_${CTM_APPL}.nc -v"
setenv CTM_SDRYDEP_1 "$OUTDIR/CCTM_SENDDEP_${CTM_APPL}.nc -v"
setenv INIT_SENS_1 $S_ICpath/$S_ICfile
# =====================================================================
#> Output Files
# =====================================================================
#> set output file names
setenv S_CGRID "$OUTDIR/CCTM_CGRID_${CTM_APPL}.nc" #> 3D Inst. Concentrations
setenv CTM_CONC_1 "$OUTDIR/CCTM_CONC_${CTM_APPL}.nc -v" #> On-Hour Concentrations
setenv A_CONC_1 "$OUTDIR/CCTM_ACONC_${CTM_APPL}.nc -v" #> Hourly Avg. Concentrations
setenv MEDIA_CONC "$OUTDIR/CCTM_MEDIA_CONC_${CTM_APPL}.nc -v" #> NH3 Conc. in Media
setenv CTM_DRY_DEP_1 "$OUTDIR/CCTM_DRYDEP_${CTM_APPL}.nc -v" #> Hourly Dry Deposition
setenv CTM_DEPV_DIAG "$OUTDIR/CCTM_DEPV_${CTM_APPL}.nc -v" #> Dry Deposition Velocities
setenv B3GTS_S "$OUTDIR/CCTM_B3GTS_S_${CTM_APPL}.nc -v" #> Biogenic Emissions
setenv BEIS_SOILOUT "$OUTDIR/CCTM_BSOILOUT_${CTM_APPL}.nc" #> Soil Emissions
setenv MEGAN_SOILOUT "$OUTDIR/CCTM_MSOILOUT_${CTM_APPL}.nc" #> Soil Emissions
setenv BDSNPOUT "$OUTDIR/CCTM_BDSNPOUT_${CTM_APPL}.nc" #> Soil Emissions
setenv CTM_WET_DEP_1 "$OUTDIR/CCTM_WETDEP1_${CTM_APPL}.nc -v" #> Wet Dep From All Clouds
setenv CTM_WET_DEP_2 "$OUTDIR/CCTM_WETDEP2_${CTM_APPL}.nc -v" #> Wet Dep From SubGrid Clouds
setenv CTM_ELMO_1 "$OUTDIR/CCTM_ELMO_${CTM_APPL}.nc -v" #> On-Hour Particle Diagnostics
setenv CTM_AELMO_1 "$OUTDIR/CCTM_AELMO_${CTM_APPL}.nc -v" #> Hourly Avg. Particle Diagnostics
setenv CTM_RJ_1 "$OUTDIR/CCTM_PHOTDIAG1_${CTM_APPL}.nc -v" #> 2D Surface Summary from Inline Photolysis
setenv CTM_RJ_2 "$OUTDIR/CCTM_PHOTDIAG2_${CTM_APPL}.nc -v" #> 3D Photolysis Rates
setenv CTM_RJ_3 "$OUTDIR/CCTM_PHOTDIAG3_${CTM_APPL}.nc -v" #> 3D Optical and Radiative Results from Photolysis
setenv CTM_SSEMIS_1 "$OUTDIR/CCTM_SSEMIS_${CTM_APPL}.nc -v" #> Sea Spray Emissions
setenv CTM_DUST_EMIS_1 "$OUTDIR/CCTM_DUSTEMIS_${CTM_APPL}.nc -v" #> Dust Emissions
setenv CTM_BUDGET "$OUTDIR/CCTM_BUDGET_${CTM_APPL}.txt -v" #> Budget [Default Off]
setenv CTM_IPR_1 "$OUTDIR/CCTM_PA_1_${CTM_APPL}.nc -v" #> Process Analysis
setenv CTM_IPR_2 "$OUTDIR/CCTM_PA_2_${CTM_APPL}.nc -v" #> Process Analysis
setenv CTM_IPR_3 "$OUTDIR/CCTM_PA_3_${CTM_APPL}.nc -v" #> Process Analysis
setenv CTM_IRR_1 "$OUTDIR/CCTM_IRR_1_${CTM_APPL}.nc -v" #> Chem Process Analysis
setenv CTM_IRR_2 "$OUTDIR/CCTM_IRR_2_${CTM_APPL}.nc -v" #> Chem Process Analysis
setenv CTM_IRR_3 "$OUTDIR/CCTM_IRR_3_${CTM_APPL}.nc -v" #> Chem Process Analysis
setenv CTM_DRY_DEP_MOS "$OUTDIR/CCTM_DDMOS_${CTM_APPL}.nc -v" #> Dry Dep
setenv CTM_DEPV_MOS "$OUTDIR/CCTM_DEPVMOS_${CTM_APPL}.nc -v" #> Dry Dep Velocity
setenv CTM_VDIFF_DIAG "$OUTDIR/CCTM_VDIFF_DIAG_${CTM_APPL}.nc -v" #> Vertical Dispersion Diagnostic
setenv CTM_VSED_DIAG "$OUTDIR/CCTM_VSED_DIAG_${CTM_APPL}.nc -v" #> Particle Grav. Settling Velocity
setenv CTM_LTNGDIAG_1 "$OUTDIR/CCTM_LTNGHRLY_${CTM_APPL}.nc -v" #> Hourly Avg Lightning NO
setenv CTM_LTNGDIAG_2 "$OUTDIR/CCTM_LTNGCOL_${CTM_APPL}.nc -v" #> Column Total Lightning NO
setenv CTM_VEXT_1 "$OUTDIR/CCTM_VEXT_${CTM_APPL}.nc -v" #> On-Hour 3D Concs at select sites
# this is for creating physical files
setenv PGRID_DOT_2D "$OUTDIR/GRID_DOT_2D_${CTM_APPL}.nc -v"
setenv PGRID_CRO_2D "$OUTDIR/GRID_CRO_2D_${CTM_APPL}.nc -v"
setenv PMET_CRO_2D "$OUTDIR/MET_CRO_2D_${CTM_APPL}.nc -v"
setenv PMET_DOT_3D "$OUTDIR/MET_DOT_2D_${CTM_APPL}.nc -v"
setenv PMET_CRO_3D "$OUTDIR/MET_CRO_3D_${CTM_APPL}.nc -v"
# WRF-CMAQ Files
if ($SD_TIME_SERIES == T) then
setenv CTM_SD_TS "$OUTDIR/SD_TSfile_${CTM_APPL}.nc -v"
endif
setenv LAYER_FILE MET_CRO_3D
@ n = 0
while ($n < $NPROCS)
set name = `printf "_%3.3d\n" $n`
setenv feed_back$name BUFFERED # for feedback file
@ n++
end
#> set floor file (neg concs)
setenv FLOOR_FILE ${OUTDIR}/FLOOR_${CTM_APPL}.txt
#> look for existing log files and output files
( ls CTM_LOG_???.${CTM_APPL} > buff.txt ) >& /dev/null
( ls ${OUTDIR}/CTM_LOG_???.${CTM_APPL} >> buff.txt ) >& /dev/null
set log_test = `cat buff.txt`; rm -f buff.txt
set OUT_FILES = (${FLOOR_FILE} ${S_CGRID} ${CTM_CONC_1} ${A_CONC_1} ${MEDIA_CONC} \
${CTM_DRY_DEP_1} $CTM_DEPV_DIAG $B3GTS_S $MEGAN_SOILOUT $BEIS_SOILOUT $BDSNPOUT \
$CTM_WET_DEP_1 $CTM_WET_DEP_2 $CTM_ELMO_1 $CTM_AELMO_1 \
$CTM_RJ_1 $CTM_RJ_2 $CTM_RJ_3 $CTM_SSEMIS_1 $CTM_DUST_EMIS_1 $CTM_IPR_1 $CTM_IPR_2 \
$CTM_IPR_3 $CTM_BUDGET $CTM_IRR_1 $CTM_IRR_2 $CTM_IRR_3 $CTM_DRY_DEP_MOS \
$CTM_DEPV_MOS $CTM_VDIFF_DIAG $CTM_VSED_DIAG $CTM_LTNGDIAG_1 $CTM_LTNGDIAG_2 $CTM_VEXT_1 )
if ( $?CTM_ISAM ) then
if ( $CTM_ISAM == 'Y' || $CTM_ISAM == 'T' ) then
set OUT_FILES = (${OUT_FILES} ${SA_ACONC_1} ${SA_CONC_1} ${SA_DD_1} ${SA_WD_1} \
${SA_CGRID_1} )
endif
endif
if ( $?CTM_DDM3D ) then
if ( $CTM_DDM3D == 'Y' || $CTM_DDM3D == 'T' ) then
set OUT_FILES = (${OUT_FILES} ${CTM_SENS_1} ${A_SENS_1} ${CTM_SWETDEP_1} ${CTM_SDRYDEP_1} )
endif
endif
set OUT_FILES = `echo $OUT_FILES | sed "s; -v;;g" | sed "s;MPI:;;g" `
( ls $OUT_FILES > buff.txt ) >& /dev/null
set out_test = `cat buff.txt`; rm -f buff.txt
#> delete previous output if requested
if ( $CLOBBER_DATA == true || $CLOBBER_DATA == TRUE ) then
echo
echo "Existing Logs and Output Files for Day ${TODAYG} Will Be Deleted"
#> remove previous log files
foreach file ( ${log_test} )
#echo "Deleting log file: $file"
/bin/rm -f $file
end
#> remove previous output files
foreach file ( ${out_test} )
#echo "Deleting output file: $file"
/bin/rm -f $file
end
/bin/rm -f ${OUTDIR}/CCTM_DESID*${CTM_APPL}.nc
else
#> error if previous log files exist
if ( "$log_test" != "" ) then
echo "*** Logs exist - run ABORTED ***"
echo "*** To overide, set CLOBBER_DATA = TRUE in run_cctm.csh ***"
echo "*** and these files will be automatically deleted. ***"
exit 1
endif
#> error if previous output files exist
if ( "$out_test" != "" ) then
echo "*** Output Files Exist - run will be ABORTED ***"
foreach file ( $out_test )
echo " cannot delete $file"
end
echo "*** To overide, set CLOBBER_DATA = TRUE in run_cctm.csh ***"
echo "*** and these files will be automatically deleted. ***"
exit 1
endif
endif
#> for the run control ...
setenv CTM_STDATE $YYYYJJJ
setenv CTM_STTIME $STTIME
setenv CTM_RUNLEN $NSTEPS
setenv CTM_TSTEP $TSTEP
setenv INIT_CONC_1 $ICpath/$ICFILE
setenv BNDY_CONC_1 $BCpath/$BCFILE
setenv OMI $OMIpath/$OMIfile
setenv MIE_TABLE $OUTDIR/mie_table_coeffs_${compilerString}.txt
setenv OPTICS_DATA $OMIpath/$OPTfile
#setenv XJ_DATA $JVALpath/$JVALfile
set TR_DVpath = $METpath
set TR_DVfile = $MET_CRO_2D
#> species defn & photolysis
setenv gc_matrix_nml ${NMLpath}/GC_$MECH.nml
setenv ae_matrix_nml ${NMLpath}/AE_$MECH.nml
setenv nr_matrix_nml ${NMLpath}/NR_$MECH.nml
setenv tr_matrix_nml ${NMLpath}/Species_Table_TR_0.nml
#> check for photolysis input data
setenv CSQY_DATA ${NMLpath}/CSQY_DATA_$MECH
cd $OUTDIR
# ===================================================================
#> Building WRF Namelist.
# ===================================================================
if ( -f namelist.input ) rm -f namelist.input
cat << End_Of_Namelist > namelist.input
&time_control
run_hours = $wrf_hr,
run_minutes = $wrf_min,
run_seconds = $wrf_sec,
start_year = `date -ud "${TODAYG}" +%Y`,
start_month = `date -ud "${TODAYG}" +%m`,
start_day = `date -ud "${TODAYG}" +%d`,
start_hour = `date -ud "$wrf_sttime" +%H`,
start_minute = `date -ud "$wrf_sttime" +%M`,
start_second = `date -ud "$wrf_sttime" +%S`,
interval_seconds = 10800,
input_from_file = .true.,
HISTORY_INTERVAL = 60,
FRAMES_PER_OUTFILE = 25,
restart = $WRF_RSTFLAG,
restart_interval = $wrf_restart_interval,
write_hist_at_0h_rst = .true.,
io_form_history = 2,
io_form_restart = 2,
io_form_input = 2,
io_form_boundary = 2,
io_form_auxinput2 = 2,
io_form_auxinput4 = 2,
debug_level = 0,
auxinput4_inname = "wrflowinp_d01",
auxinput4_interval = 360,
auxinput4_end_h = 1000000,
reset_simulation_start = .false.,
/
&wrf_cmaq
wrf_cmaq_option = $wrf_cmaq_option,
wrf_cmaq_freq = $wrf_cmaq_freq,
met_file_tstep = $met_file_tstep,
direct_sw_feedback = $direct_sw_feedback,
feedback_restart = $feedback_restart,
/
&domains
time_step = $wrf_tstep,
time_step_fract_num = 0,
time_step_fract_den = 1,
max_dom = 1,
s_we = 1,
e_we = $WRF_COL_DIM,
s_sn = 1,
e_sn = $WRF_ROW_DIM,
s_vert = 1,
e_vert = $WRF_LAY_DIM,
p_top_requested = 5000,
eta_levels = 1.000, 0.9975, 0.995, 0.990, 0.985,
0.980, 0.970, 0.960, 0.950,
0.940, 0.930, 0.920, 0.910,
0.900, 0.880, 0.860, 0.840,
0.820, 0.800, 0.770, 0.740,
0.700, 0.650, 0.600, 0.550,
0.500, 0.450, 0.400, 0.350,
0.300, 0.250, 0.200, 0.150,
0.100, 0.050, 0.000
num_metgrid_levels = 40,
dx = $resolution,
dy = $resolution,
grid_id = 1,
parent_id = 0,
i_parent_start = 0,
j_parent_start = 0,
parent_grid_ratio = 1,
parent_time_step_ratio = 1,
feedback = 1,
smooth_option = 0,
/
&physics
mp_physics = 10,
mp_zero_out = 2,
mp_zero_out_thresh = 1.0e-8,
ra_lw_physics = 4,
ra_sw_physics = 4,
radt = $radt,
co2tf = 1,
sf_sfclay_physics = 7,
num_soil_layers = 2,
pxlsm_smois_init = $pxlsm_smois_init,
pxlsm_modis_veg = 1,
sf_surface_physics = 7,
sf_urban_physics = 0,
bl_pbl_physics = 7,
bldt = 0,
cu_physics = 1,
kfeta_trigger = 2
cudt = 0,
ishallow = 0,
shcu_physics = 0,
prec_acc_dt = 60,
isfflx = 1,
ifsnow = 1,
icloud = 1,
cu_rad_feedback = .true.,
surface_input_source = 1,
num_land_cat = $NUM_LAND_USE_TYPE,
num_soil_cat = 16,
sst_update = 1,
seaice_threshold = 100,
slope_rad = 1,
topo_shading = 1,
shadlen = 25000.,
do_radar_ref = 1,
grav_settling = 0,
/
&fdda
grid_fdda = 1,
grid_sfdda = 1,
gfdda_inname = "wrffdda_d01",
sgfdda_inname = "wrfsfdda_d01",
pxlsm_soil_nudge = 1,
sgfdda_end_h = 1000000,
sgfdda_interval_m = 180,
GFDDA_END_H = 1000000,
gfdda_interval_m = 180,
fgdt = 0,
if_no_pbl_nudging_uv = 1,
if_no_pbl_nudging_t = 1,
if_no_pbl_nudging_q = 1,
if_zfac_uv = 0,
k_zfac_uv = 13,
if_zfac_t = 0,
k_zfac_t = 13,
if_zfac_q = 0,
k_zfac_q = 13,
guv = 0.0001,
gt = 0.0001,
gq = 0.00001,
guv_sfc = 0.0000,
gt_sfc = 0.0000,
gq_sfc = 0.0000,
if_ramping = 1,
dtramp_min = 60.0,
io_form_gfdda = 2,
rinblw = 250.0
/
&dynamics
hybrid_opt = 2,
w_damping = 1,
diff_opt = 1,
km_opt = 4,
diff_6th_opt = 2,
diff_6th_factor = 0.12,
damp_opt = 3,
base_temp = 290.
zdamp = 5000.,
dampcoef = 0.05,
khdif = 0,
kvdif = 0,
non_hydrostatic = .true.,
moist_adv_opt = 2,
tke_adv_opt = 2,
scalar_adv_opt = 2,
use_theta_m = 1,
/
&bdy_control
spec_bdy_width = 5,
spec_zone = 1,
relax_zone = 4,
specified = .true.,
spec_exp = 0.0,
nested = .false.,
/
&grib2
/
&namelist_quilt
nio_tasks_per_group = 0,
nio_groups = 1,
/
End_Of_Namelist
rm -f wrfbdy_d01 wrffdda_d01 wrfsfdda_d01 wrfinput_d01 wrflowinp_d01
ln -sf $METpath/wrfbdy_d01 wrfbdy_d01
ln -sf $METpath/wrffdda_d01 wrffdda_d01
ln -sf $METpath/wrfsfdda_d01 wrfsfdda_d01
if (${WRF_RSTFLAG} == .false.) then
ln -sf $METpath/wrfinput_d01 wrfinput_d01
else if (${WRF_RSTFLAG} == .TRUE.) then
ln -sf $METpath/wrfrst_d01_${TODAYG}_00:00:00
endif
ln -sf $METpath/wrflowinp_d01 wrflowinp_d01
#-----------------------------------------------------------------------
# Set up and run WRF-EM executable.
#-----------------------------------------------------------------------
if ( -f wrf.exe ) rm -f wrf.exe
if ( -f ETAMPNEW_DATA ) rm -f ETAMPNEW_DATA
if ( -f GENPARM.TBL ) rm -f GENPARM.TBL
if ( -f landFilenames ) rm -f landFilenames
if ( -f LANDUSE.TBL ) rm -f LANDUSE.TBL
if ( -f RRTM_DATA ) rm -f RRTM_DATA
if ( -f SOILPARM.TBL ) rm -f SOILPARM.TBL
if ( -f tr49t67 ) rm -f tr49t67
if ( -f tr49t85 ) rm -f tr49t85
if ( -f tr67t85 ) rm -f tr67t85
if ( -f VEGPARM.TBL ) rm -f VEGPARM.TBL
ln -s $WRF_DIR/main/wrf.exe wrf.exe
ln -s $WRF_DIR/test/em_real/ETAMPNEW_DATA ETAMPNEW_DATA
ln -s $WRF_DIR/test/em_real/GENPARM.TBL GENPARM.TBL
ln -s $WRF_DIR/test/em_real/landFilenames landFilenames
ln -s $WRF_DIR/test/em_real/LANDUSE.TBL LANDUSE.TBL
ln -s $WRF_DIR/test/em_real/RRTM_DATA RRTM_DATA
ln -s $WRF_DIR/test/em_real/RRTMG_SW_DATA RRTMG_SW_DATA
ln -s $WRF_DIR/test/em_real/RRTMG_LW_DATA RRTMG_LW_DATA
ln -s $WRF_DIR/test/em_real/SOILPARM.TBL SOILPARM.TBL
ln -s $WRF_DIR/test/em_real/tr49t67 tr49t67
ln -s $WRF_DIR/test/em_real/tr49t85 tr49t85
ln -s $WRF_DIR/test/em_real/tr67t85 tr67t85
ln -s $WRF_DIR/test/em_real/VEGPARM.TBL VEGPARM.TBL
ln -s $WRF_DIR/test/em_real/ozone_plev.formatted ozone_plev.formatted
ln -s $WRF_DIR/test/em_real/ozone_lat.formatted ozone_lat.formatted
ln -s $WRF_DIR/test/em_real/ozone.formatted ozone.formatted
ln -s $WRF_DIR/test/em_real/CAMtr_volume_mixing_ratio CAMtr_volume_mixing_ratio
# ===================================================================
#> Execution Portion
# ===================================================================
#> Print Startup Dialogue Information to Standard Out
echo
echo "CMAQ Processing of Day $YYYYMMDD Began at `date`"
echo
ls -al ${OUTDIR}/wrf.exe
date
time mpirun -np $NPROCS ${OUTDIR}/wrf.exe
date
#> Harvest Timing Output so that it may be reported below
# set rtarray = "${rtarray} `tail -3 buff_${EXECUTION_ID}.txt | grep -Eo '[+-]?[0-9]+([.][0-9]+)?' | head -1` "
# rm -rf buff_${EXECUTION_ID}.txt
#> Abort script if abnormal termination
if ($wrf_cmaq_option > 1) then
if ( ! -e $OUTDIR/CCTM_CGRID_${CTM_APPL}.nc ) then
echo ""
echo "**************************************************************"
echo "** Runscript Detected an Error: CGRID file was not written. **"
echo "** This indicates that CMAQ was interrupted or an issue **"
echo "** exists with writing output. The runscript will now **"
echo "** abort rather than proceeding to subsequent days. **"
echo "**************************************************************"
break
endif
#> Print Concluding Text
echo
echo "CMAQ Processing of Day $YYYYMMDD Finished at `date`"
echo
echo "\\\\\=====\\\\\=====\\\\\=====\\\\\=====/////=====/////=====/////=====/////"
echo
endif
# ===================================================================
#> Finalize Run for This Day and Loop to Next Day
# ===================================================================
#> Save Log Files and Move on to Next Simulation Day
#mv CTM_LOG_???.${CTM_APPL} $OUTDIR
#> WRF-CMAQ LOGS are combined into WRF_LOGS no CTM_LOGS_* will be generated
if ( ! -e $OUTDIR/${TODAYJ}) then
mkdir $OUTDIR/${TODAYJ}
endif
mv rsl.* $OUTDIR/${TODAYJ}
if (($wrf_cmaq_option == 1) || ($wrf_cmaq_option == 3)) then
mv MET* $OUTDIR/${TODAYJ}
mv GRI* $OUTDIR/${TODAYJ}
endif
if ( $CTM_DIAG_LVL != 0 ) then
mv CTM_DIAG_???.${CTM_APPL} $OUTDIR
endif
#> The next simulation day will, by definition, be a restart
setenv NEW_START false
#> Increment both Gregorian and Julian Days
set TODAYG = `date -ud "${TODAYG}+1days" +%Y-%m-%d` #> Add a day for tomorrow
set TODAYJ = `date -ud "${TODAYG}" +%Y%j` #> Convert YYYY-MM-DD to YYYYJJJ
end #Loop to the next Simulation Day
# ===================================================================
#> Generate Timing Report
# ===================================================================
set RTMTOT = 0
foreach it ( `seq ${NDAYS}` )
set rt = `echo ${rtarray} | cut -d' ' -f${it}`
set RTMTOT = `echo "${RTMTOT} + ${rt}" | bc -l`
end
set RTMAVG = `echo "scale=2; ${RTMTOT} / ${NDAYS}" | bc -l`
set RTMTOT = `echo "scale=2; ${RTMTOT} / 1" | bc -l`
echo
echo "=================================="
echo " ***** CMAQ TIMING REPORT *****"
echo "=================================="
echo "Start Day: ${START_DATE}"
echo "End Day: ${END_DATE}"
echo "Number of Simulation Days: ${NDAYS}"
echo "Domain Name: ${GRID_NAME}"
echo "Number of Processes: ${NPROCS}"
echo " All times are in seconds."
echo
echo "Num Day Wall Time"
set d = 0
set day = ${START_DATE}
foreach it ( `seq ${NDAYS}` )
# Set the right day and format it
set d = `echo "${d} + 1" | bc -l`
set n = `printf "%02d" ${d}`
# Choose the correct time variables
set rt = `echo ${rtarray} | cut -d' ' -f${it}`
# Write out row of timing data
echo "${n} ${day} ${rt}"
# Increment day for next loop
set day = `date -ud "${day}+1days" +%Y-%m-%d`
end
echo " Total Time = ${RTMTOT}"
echo " Avg. Time = ${RTMAVG}"
exit
================================================
FILE: CCTM/scripts/run_cctm_Bench_2018_12NE3_CB6R5.csh
================================================
#!/bin/csh -f
# ===================== CCTMv5.5.X Run Script =========================
# Usage: run_cctm_Bench_2018_12NE3.csh >&! cctm_Bench_2018_12NE3.log &
# Slurm Usage: sbatch run_cctm_Bench_2018_12NE3.csh
#
# To report problems or request help with this script/program:
# http://www.epa.gov/cmaq (EPA CMAQ Website)
# http://www.cmascenter.org (CMAS Website)
# ===================================================================
# ===================================================================
#> Runtime Environment Options
# ===================================================================
echo 'Start Model Run At ' `date`
#> Toggle Diagnostic Mode which will print verbose information to
#> standard output
setenv CTM_DIAG_LVL 0
#> Choose compiler and set up CMAQ environment with correct
#> libraries using config.cmaq. Options: intel | gcc | pgi
if ( ! $?compiler ) then
setenv compiler intel
endif
if ( ! $?compilerVrsn ) then
setenv compilerVrsn Empty
endif
#> Source the config.cmaq file to set the build environment
cd ../..
source ./config_cmaq.csh $compiler $compilerVrsn
cd CCTM/scripts
#> Set General Parameters for Configuring the Simulation
set VRSN = v55 #> Code Version
set PROC = mpi #> serial or mpi
set MECH = cb6r5_ae7_aq #> Mechanism ID, depends on the bldit_cctm.csh settings
set DEP = m3dry #> m3dry or stage, depending on bldit_cctm.csh settings
set APPL = Bench_2018_12NE3_${MECH}_${DEP} #> Application Name (e.g. Gridname)
#> Define RUNID as any combination of parameters above or others. By default,
#> this information will be collected into this one string, $RUNID, for easy
#> referencing in output binaries and log files as well as in other scripts.
setenv RUNID ${VRSN}_${compilerString}_${APPL}
#> Set the build directory (this is where the CMAQ executable
#> is located by default).
set BLD = ${CMAQ_HOME}/CCTM/scripts/BLD_CCTM_${VRSN}_${compilerString}_${MECH}_${DEP}
set EXEC = CCTM_${VRSN}.exe
#> Output Each line of Runscript to Log File
if ( $CTM_DIAG_LVL != 0 ) set echo
#> Set Working, Input, and Output Directories
setenv WORKDIR ${CMAQ_HOME}/CCTM/scripts #> Working Directory. Where the runscript is.
setenv OUTDIR ${CMAQ_DATA}/output_CCTM_${RUNID} #> Output Directory
setenv INPDIR ${CMAQ_DATA}/CMAQv5.4_2018_12NE3_Benchmark_2Day_Input/2018_12NE3 #> Input Directory
setenv LOGDIR ${OUTDIR}/LOGS #> Log Directory Location
setenv NMLpath ${BLD} #> Location of Namelists. Common places are:
#> ${WORKDIR} | ${CCTM_SRC}/MECHS/${MECH} | ${BLD}
echo ""
echo "Working Directory is $WORKDIR"
echo "Build Directory is $BLD"
echo "Output Directory is $OUTDIR"
echo "Log Directory is $LOGDIR"
echo "Executable Name is $EXEC"
# =====================================================================
#> CCTM Configuration Options
# =====================================================================
#> Set Start and End Days for looping
setenv NEW_START TRUE #> Set to FALSE for model restart
set START_DATE = "2018-07-01" #> beginning date (July 1, 2016)
set END_DATE = "2018-07-02" #> ending date (July 1, 2016)
#> Set Timestepping Parameters
set STTIME = 000000 #> beginning GMT time (HHMMSS)
set NSTEPS = 240000 #> time duration (HHMMSS) for this run
set TSTEP = 010000 #> output time step interval (HHMMSS)
#> Horizontal domain decomposition
if ( $PROC == serial ) then
setenv NPCOL_NPROW "1 1"; set NPROCS = 1 # single processor setting
else
@ NPCOL = 8; @ NPROW = 4
@ NPROCS = $NPCOL * $NPROW
setenv NPCOL_NPROW "$NPCOL $NPROW";
endif
#> Define Execution ID: e.g. [CMAQ-Version-Info]_[User]_[Date]_[Time]
if ( ! -e ${BLD}/CCTM_${VRSN}.cfg ) then
set SHAID = ""
else
set SHAID = `grep "sha_ID" ${BLD}/CCTM_${VRSN}.cfg | cut -c 13-22`
if ( $SHAID == not_a_repo ) then
set SHAID = ""
else
set SHAID = "_sha="$SHAID
endif
endif
setenv EXECUTION_ID "CMAQ_CCTM${VRSN}${SHAID}_`id -u -n`_`date -u +%Y%m%d_%H%M%S_%N`" #> Inform IO/API of the Execution ID
echo ""
echo "---CMAQ EXECUTION ID: $EXECUTION_ID ---"
#> Keep or Delete Existing Output Files
set CLOBBER_DATA = TRUE
#> Logfile Options
#> Master Log File Name; uncomment to write standard output to a log, otherwise write to screen
#setenv LOGFILE $CMAQ_HOME/$RUNID.log
if (! -e $LOGDIR ) then
mkdir -p $LOGDIR
endif
setenv PRINT_PROC_TIME Y #> Print timing for all science subprocesses to Logfile
#> [ default: TRUE or Y ]
setenv STDOUT T #> Override I/O-API trying to write information to both the processor
#> logs and STDOUT [ options: T | F ]
setenv GRID_NAME 2018_12NE3 #> check GRIDDESC file for GRID_NAME options
setenv GRIDDESC $INPDIR/GRIDDESC #> grid description file
#> Retrieve the number of columns, rows, and layers in this simulation
set NZ = 35
set NX = `grep -A 1 ${GRID_NAME} ${GRIDDESC} | tail -1 | sed 's/ */ /g' | cut -d' ' -f6`
set NY = `grep -A 1 ${GRID_NAME} ${GRIDDESC} | tail -1 | sed 's/ */ /g' | cut -d' ' -f7`
set NCELLS = `echo "${NX} * ${NY} * ${NZ}" | bc -l`
#> Output Species and Layer Options
#> CONC file species; comment or set to "ALL" to write all species to CONC
# setenv CONC_SPCS "O3 NO ANO3I ANO3J NO2 FORM ISOP NH3 ANH4I ANH4J ASO4I ASO4J"
# setenv CONC_BLEV_ELEV " 1 1" #> CONC file layer range; comment to write all layers to CONC
#> ACONC file species; comment or set to "ALL" to write all species to ACONC
#setenv AVG_CONC_SPCS "O3 NO CO NO2 ASO4I ASO4J NH3"
setenv AVG_CONC_SPCS "ALL"
setenv ACONC_BLEV_ELEV " 1 1" #> ACONC file layer range; comment to write all layers to ACONC
setenv AVG_FILE_ENDTIME N #> override default beginning ACONC timestamp [ default: N ]
#> Synchronization Time Step and Tolerance Options
setenv CTM_MAXSYNC 300 #> max sync time step (sec) [ default: 720 ]
setenv CTM_MINSYNC 60 #> min sync time step (sec) [ default: 60 ]
setenv SIGMA_SYNC_TOP 0.7 #> top sigma level thru which sync step determined [ default: 0.7 ]
#setenv ADV_HDIV_LIM 0.95 #> maximum horiz. div. limit for adv step adjust [ default: 0.9 ]
setenv CTM_ADV_CFL 0.95 #> max CFL [ default: 0.75]
#setenv RB_ATOL 1.0E-09 #> global ROS3 solver absolute tolerance [ default: 1.0E-07 ]
#> Science Options
setenv CTM_OCEAN_CHEM Y #> Flag for ocean halogen chemistry, sea spray aerosol emissions,
#> and enhanced ozone deposition over ocean waters [ default: Y ]
setenv CTM_WB_DUST N #> use inline windblown dust emissions (only for use with PX) [ default: N ]
setenv CTM_LTNG_NO N #> turn on lightning NOx [ default: N ]
setenv KZMIN Y #> use Min Kz option in edyintb [ default: Y ],
#> otherwise revert to Kz0UT
setenv PX_VERSION Y #> WRF PX LSM
setenv CLM_VERSION N #> WRF CLM LSM
setenv NOAH_VERSION N #> WRF NOAH LSM
setenv CTM_ABFLUX Y #> ammonia bi-directional flux for in-line deposition
#> velocities [ default: N ]
setenv CTM_BIDI_FERT_NH3 T #> subtract fertilizer NH3 from emissions because it will be handled
#> by the BiDi calculation [ default: Y ]
setenv CTM_HGBIDI N #> mercury bi-directional flux for in-line deposition
#> velocities [ default: N ]
setenv CTM_SFC_HONO Y #> surface HONO interaction [ default: Y ]
#> please see user guide (6.10.4 Nitrous Acid (HONO))
#> for dependency on percent urban fraction dataset
setenv CTM_GRAV_SETL Y #> vdiff aerosol gravitational sedimentation [ default: Y ]
setenv CTM_PVO3 N #> consider potential vorticity module for O3 transport from the stratosphere
#> [default: N]
setenv CTM_BIOGEMIS_BE Y #> calculate in-line biogenic emissions with BEIS [ default: N ]
setenv CTM_BIOGEMIS_MG N #> turns on MEGAN biogenic emission [ default: N ]
setenv BDSNP_MEGAN N #> turns on BDSNP soil NO emissions [ default: N ]
setenv AEROSOL_OPTICS 3 #> sets method for determining aerosol optics affecting photolysis
#> frequencies ( 3 is the default value )
#> VALUES 1 thru 3 determined Uniformly Volume Mixed spherical
#> (1-Tabular Mie; 2-Mie Calculation; 3-Case Approx to Mie Theory)
#> VALUES 4 thru 6 attempts to use core-shell mixing model when the
#> aerosol mode has signficant black carbon core otherwise use Volume Mixed
#> model where optics determined by
#> (4-Tabular Mie; 5-Mie Calculation; 6-Case Approx to Mie Theory)
#> Surface Tiled Aerosol and Gaseous Exchange Options
#> Only active if DepMod=stage at compile time
setenv CTM_MOSAIC N #> Output landuse specific deposition velocities [ default: N ]
setenv CTM_STAGE_P22 N #> Pleim et al. 2022 Aerosol deposition model [default: N]
setenv CTM_STAGE_E20 Y #> Emerson et al. 2020 Aerosol deposition model [default: Y]
setenv CTM_STAGE_S22 N #> Shu et al. 2022 (CMAQ v5.3) Aerosol deposition model [default: N]
setenv IC_AERO_M2WET F #> Specify whether or not initial condition aerosol size distribution
#> is wet or dry [ default: F = dry ]
setenv BC_AERO_M2WET F #> Specify whether or not boundary condition aerosol size distribution
#> is wet or dry [ default: F = dry ]
setenv IC_AERO_M2USE F #> Specify whether or not to use aerosol surface area from initial
#> conditions [ default: T = use aerosol surface area ]
setenv BC_AERO_M2USE F #> Specify whether or not to use aerosol surface area from boundary
#> conditions [ default: T = use aerosol surface area ]
#> Vertical Extraction Options
setenv VERTEXT N
setenv VERTEXT_COORD_PATH ${WORKDIR}/lonlat.csv
#> I/O Controls
setenv IOAPI_LOG_WRITE F #> turn on excess WRITE3 logging [ options: T | F ]
setenv FL_ERR_STOP N #> stop on inconsistent input files
setenv PROMPTFLAG F #> turn on I/O-API PROMPT*FILE interactive mode [ options: T | F ]
setenv IOAPI_OFFSET_64 YES #> support large timestep records (>2GB/timestep record) [ options: YES | NO ]
setenv IOAPI_CHECK_HEADERS N #> check file headers [ options: Y | N ]
setenv CTM_EMISCHK N #> Abort CMAQ if missing surrogates from emissions Input files
#> Diagnostic Output Flags
setenv CTM_CKSUM Y #> checksum report [ default: Y ]
setenv CLD_DIAG N #> cloud diagnostic file [ default: N ]
setenv CTM_PHOTDIAG N #> photolysis diagnostic file [ default: N ]
setenv NLAYS_PHOTDIAG "1" #> Number of layers for PHOTDIAG2 and PHOTDIAG3 from
#> Layer 1 to NLAYS_PHOTDIAG [ default: all layers ]
#setenv NWAVE_PHOTDIAG "294 303 310 316 333 381 607" #> Wavelengths written for variables
#> in PHOTDIAG2 and PHOTDIAG3
#> [ default: all wavelengths ]
setenv CTM_SSEMDIAG N #> sea-spray emissions diagnostic file [ default: N ]
setenv CTM_DUSTEM_DIAG N #> windblown dust emissions diagnostic file [ default: N ];
#> Ignore if CTM_WB_DUST = N
setenv CTM_DEPV_FILE N #> deposition velocities diagnostic file [ default: N ]
setenv VDIFF_DIAG_FILE N #> vdiff & possibly aero grav. sedimentation diagnostic file [ default: N ]
setenv LTNGDIAG N #> lightning diagnostic file [ default: N ]
setenv B3GTS_DIAG N #> BEIS mass emissions diagnostic file [ default: N ]
setenv CTM_WVEL Y #> save derived vertical velocity component to conc
#> file [ default: Y ]
# =====================================================================
#> Input Directories and Filenames
# =====================================================================
set ICpath = $INPDIR/icbc #> initial conditions input directory
set BCpath = $INPDIR/icbc #> boundary conditions input directory
set EMISpath = $INPDIR/emis #> gridded emissions input directory
set IN_PTpath = $INPDIR/emis #> point source emissions input directory
set IN_LTpath = $INPDIR/lightning #> lightning NOx input directory
set METpath = $INPDIR/met/mcipv5.4 #> meteorology input directory
#set JVALpath = $INPDIR/jproc #> offline photolysis rate table directory
set OMIpath = $BLD #> ozone column data for the photolysis model
set EPICpath = $INPDIR/epic #> EPIC putput for bidirectional NH3
set SZpath = $INPDIR/surface #> surf zone file for in-line seaspray emissions
# =====================================================================
#> Begin Loop Through Simulation Days
# =====================================================================
set rtarray = ""
set TODAYG = ${START_DATE}
set TODAYJ = `date -ud "${START_DATE}" +%Y%j` #> Convert YYYY-MM-DD to YYYYJJJ
set START_DAY = ${TODAYJ}
set STOP_DAY = `date -ud "${END_DATE}" +%Y%j` #> Convert YYYY-MM-DD to YYYYJJJ
set NDAYS = 0
while ($TODAYJ <= $STOP_DAY ) #>Compare dates in terms of YYYYJJJ
set NDAYS = `echo "${NDAYS} + 1" | bc -l`
#> Retrieve Calendar day Information
set YYYYMMDD = `date -ud "${TODAYG}" +%Y%m%d` #> Convert YYYY-MM-DD to YYYYMMDD
set YYYYMM = `date -ud "${TODAYG}" +%Y%m` #> Convert YYYY-MM-DD to YYYYMM
set YYMMDD = `date -ud "${TODAYG}" +%y%m%d` #> Convert YYYY-MM-DD to YYMMDD
set MM = `date -ud "${TODAYG}" +%m` #> Convert YYYY-MM-DD to MM
set YYYYJJJ = $TODAYJ
#> Calculate Yesterday's Date
set YESTERDAY = `date -ud "${TODAYG}-1days" +%Y%m%d` #> Convert YYYY-MM-DD to YYYYJJJ
# =====================================================================
#> Set Output String and Propagate Model Configuration Documentation
# =====================================================================
echo ""
echo "Set up input and output files for Day ${TODAYG}."
#> set output file name extensions
setenv CTM_APPL ${RUNID}_${YYYYMMDD}
#> Copy Model Configuration To Output Folder
if ( ! -d "$OUTDIR" ) mkdir -p $OUTDIR
cp $BLD/CCTM_${VRSN}.cfg $OUTDIR/CCTM_${CTM_APPL}.cfg
# =====================================================================
#> Input Files (Some are Day-Dependent)
# =====================================================================
#> Initial conditions
if ($NEW_START == true || $NEW_START == TRUE ) then
setenv ICFILE CCTM_ICON_v54_${MECH}_12NE3_20180701.nc
setenv INIT_MEDC_1 notused
else
set ICpath = $OUTDIR
setenv ICFILE CCTM_CGRID_${RUNID}_${YESTERDAY}.nc
setenv INIT_MEDC_1 $ICpath/CCTM_MEDIA_CONC_${RUNID}_${YESTERDAY}.nc
endif
#> Boundary conditions
set BCFILE = CCTM_BCON_v54_${MECH}_12NE3_${YYYYMMDD}.nc
#> Off-line photolysis rates
#set JVALfile = JTABLE_${YYYYJJJ}
#> Ozone column data
set OMIfile = OMI_1979_to_2019.dat
#> Optics file
set OPTfile = PHOT_OPTICS.dat
#> MCIP meteorology files
setenv GRID_BDY_2D $METpath/GRIDBDY2D_12NE3_${YYYYMMDD}.nc # GRID files are static, not day-specific
setenv GRID_CRO_2D $METpath/GRIDCRO2D_12NE3_${YYYYMMDD}.nc
setenv GRID_CRO_3D $METpath/GRIDCRO3D_12NE3_${YYYYMMDD}.nc
setenv GRID_DOT_2D $METpath/GRIDDOT2D_12NE3_${YYYYMMDD}.nc
setenv MET_CRO_2D $METpath/METCRO2D_12NE3_${YYYYMMDD}.nc
setenv MET_CRO_3D $METpath/METCRO3D_12NE3_${YYYYMMDD}.nc
setenv MET_DOT_3D $METpath/METDOT3D_12NE3_${YYYYMMDD}.nc
setenv MET_BDY_3D $METpath/METBDY3D_12NE3_${YYYYMMDD}.nc
setenv LUFRAC_CRO $METpath/LUFRAC_CRO_12NE3_${YYYYMMDD}.nc
#> Control Files
#>
#> IMPORTANT NOTE
#>
#> The DESID control files defined below are an integral part of controlling the behavior of the model simulation.
#> Among other things, they control the mapping of species in the emission files to chemical species in the model and
#> several aspects related to the simulation of organic aerosols.
#> Please carefully review the DESID control files to ensure that they are configured to be consistent with the assumptions
#> made when creating the emission files defined below and the desired representation of organic aerosols.
#> For further information, please see:
#> + AERO7 Release Notes section on 'Required emission updates':
#> https://github.com/USEPA/CMAQ/blob/master/DOCS/Release_Notes/aero7_overview.md
#> + CMAQ User's Guide section 6.9.3 on 'Emission Compatability':
#> https://github.com/USEPA/CMAQ/blob/master/DOCS/Users_Guide/CMAQ_UG_ch06_model_configuration_options.md#6.9.3_Emission_Compatability
#> + Emission Control (DESID) Documentation in the CMAQ User's Guide:
#> https://github.com/USEPA/CMAQ/blob/master/DOCS/Users_Guide/Appendix/CMAQ_UG_appendixB_emissions_control.md
#>
setenv DESID_CTRL_NML ${BLD}/CMAQ_Control_DESID.nml
setenv DESID_CHEM_CTRL_NML ${BLD}/CMAQ_Control_DESID_${MECH}.nml
#> The following namelist configures aggregated output (via the Explicit and Lumped
#> Air Quality Model Output (ELMO) Module), domain-wide budget output, and chemical
#> family output.
setenv MISC_CTRL_NML ${BLD}/CMAQ_Control_Misc.nml
#> The following namelist controls the mapping of meteorological land use types and the NH3 and Hg emission
#> potentials
setenv STAGECTRL_NML ${BLD}/CMAQ_Control_STAGE.nml
#> Spatial Masks For Emissions Scaling
#setenv CMAQ_MASKS $SZpath/OCEAN_${MM}_L3m_MC_CHL_chlor_a_12NE3.nc #> horizontal grid-dependent ocean file
setenv CMAQ_MASKS $INPDIR/GRIDMASK_STATES_12NE3.nc
#> Gridded Emissions Files
setenv N_EMIS_GR 2
set EMISfile = emis_mole_all_${YYYYMMDD}_12NE3_nobeis_norwc_2018gc_cb6_18j.ncf
setenv GR_EMIS_001 ${EMISpath}/merged_nobeis_norwc/${EMISfile}
setenv GR_EMIS_LAB_001 GRIDDED_EMIS
setenv GR_EM_SYM_DATE_001 F # To change default behaviour please see Users Guide for EMIS_SYM_DATE
set EMISfile = emis_mole_rwc_${YYYYMMDD}_12NE3_cmaq_cb6ae7_2018gc_cb6_18j.ncf
setenv GR_EMIS_002 ${EMISpath}/rwc/${EMISfile}
setenv GR_EMIS_LAB_002 GR_RES_FIRES
setenv GR_EM_SYM_DATE_002 F # To change default behaviour please see Users Guide for EMIS_SYM_DATE
#> In-line point emissions configuration
setenv N_EMIS_PT 10 #> Number of elevated source groups
set STKCASEG = 12US1_2018gc_cb6_18j # Stack Group Version Label
set STKCASEE = 12US1_cmaq_cb6ae7_2018gc_cb6_18j # Stack Emission Version Label
# Time-Independent Stack Parameters for Inline Point Sources
setenv STK_GRPS_001 $IN_PTpath/ptnonipm/stack_groups_ptnonipm_${STKCASEG}.ncf
setenv STK_GRPS_002 $IN_PTpath/ptegu/stack_groups_ptegu_${STKCASEG}.ncf
setenv STK_GRPS_003 $IN_PTpath/othpt/stack_groups_othpt_${STKCASEG}.ncf
setenv STK_GRPS_004 $IN_PTpath/ptagfire/stack_groups_ptagfire_${YYYYMMDD}_${STKCASEG}.ncf
setenv STK_GRPS_005 $IN_PTpath/ptfire-rx/stack_groups_ptfire-rx_${YYYYMMDD}_${STKCASEG}.ncf
setenv STK_GRPS_006 $IN_PTpath/ptfire-wild/stack_groups_ptfire-wild_${YYYYMMDD}_${STKCASEG}.ncf
setenv STK_GRPS_007 $IN_PTpath/ptfire_othna/stack_groups_ptfire_othna_${YYYYMMDD}_${STKCASEG}.ncf
setenv STK_GRPS_008 $IN_PTpath/pt_oilgas/stack_groups_pt_oilgas_${STKCASEG}.ncf
setenv STK_GRPS_009 $IN_PTpath/cmv_c3_12/stack_groups_cmv_c3_12_${STKCASEG}.ncf
setenv STK_GRPS_010 $IN_PTpath/cmv_c1c2_12/stack_groups_cmv_c1c2_12_${STKCASEG}.ncf
# Emission Rates for Inline Point Sources
setenv STK_EMIS_001 $IN_PTpath/ptnonipm/inln_mole_ptnonipm_${YYYYMMDD}_${STKCASEE}.ncf
setenv STK_EMIS_002 $IN_PTpath/ptegu/inln_mole_ptegu_${YYYYMMDD}_${STKCASEE}.ncf
setenv STK_EMIS_003 $IN_PTpath/othpt/inln_mole_othpt_${YYYYMMDD}_${STKCASEE}.ncf
setenv STK_EMIS_004 $IN_PTpath/ptagfire/inln_mole_ptagfire_${YYYYMMDD}_${STKCASEE}.ncf
setenv STK_EMIS_005 $IN_PTpath/ptfire-rx/inln_mole_ptfire-rx_${YYYYMMDD}_${STKCASEE}.ncf
setenv STK_EMIS_006 $IN_PTpath/ptfire-wild/inln_mole_ptfire-wild_${YYYYMMDD}_${STKCASEE}.ncf
setenv STK_EMIS_007 $IN_PTpath/ptfire_othna/inln_mole_ptfire_othna_${YYYYMMDD}_${STKCASEE}.ncf
setenv STK_EMIS_008 $IN_PTpath/pt_oilgas/inln_mole_pt_oilgas_${YYYYMMDD}_${STKCASEE}.ncf
setenv STK_EMIS_009 $IN_PTpath/cmv_c3_12/inln_mole_cmv_c3_12_${YYYYMMDD}_${STKCASEE}.ncf
setenv STK_EMIS_010 $IN_PTpath/cmv_c1c2_12/inln_mole_cmv_c1c2_12_${YYYYMMDD}_${STKCASEE}.ncf
# Label Each Emissions Stream
setenv STK_EMIS_LAB_001 PT_NONEGU
setenv STK_EMIS_LAB_002 PT_EGU
setenv STK_EMIS_LAB_003 PT_OTHER
setenv STK_EMIS_LAB_004 PT_AGFIRES
setenv STK_EMIS_LAB_005 PT_RXFIRES
setenv STK_EMIS_LAB_006 PT_WILDFIRES
setenv STK_EMIS_LAB_007 PT_OTHFIRES
setenv STK_EMIS_LAB_008 PT_OILGAS
setenv STK_EMIS_LAB_009 PT_CMV_C3
setenv STK_EMIS_LAB_010 PT_CMV_C1C2
# Allow CMAQ to Use Point Source files with dates that do not
# match the internal model date
# To change default behaviour please see Users Guide for EMIS_SYM_DATE
setenv STK_EM_SYM_DATE_001 F
setenv STK_EM_SYM_DATE_002 F
setenv STK_EM_SYM_DATE_003 F
setenv STK_EM_SYM_DATE_004 F
setenv STK_EM_SYM_DATE_005 F
setenv STK_EM_SYM_DATE_006 F
setenv STK_EM_SYM_DATE_007 F
setenv STK_EM_SYM_DATE_008 F
#> Lightning NOx configuration
if ( $CTM_LTNG_NO == 'Y' ) then
setenv LTNGNO "InLine" #> set LTNGNO to "Inline" to activate in-line calculation
#> In-line lightning NOx options
setenv USE_NLDN Y #> use hourly NLDN strike file [ default: Y ]
if ( $USE_NLDN == Y ) then
setenv NLDN_STRIKES ${IN_LTpath}/NLDN_12km_60min_${YYYYMMDD}.ioapi
endif
setenv LTNGPARMS_FILE ${IN_LTpath}/LTNG_AllParms_12NE3.nc #> lightning parameter file
endif
#> In-line biogenic emissions configuration
if ( $CTM_BIOGEMIS_BE == 'Y' ) then
set IN_BEISpath = ${INPDIR}/surface
setenv GSPRO $BLD/gspro_biogenics.txt
setenv BEIS_NORM_EMIS $IN_BEISpath/beis4_beld6_norm_emis.12NE3.nc
setenv BEIS_SOILINP $OUTDIR/CCTM_BSOILOUT_${RUNID}_${YESTERDAY}.nc
#> Biogenic NO soil input file; ignore if NEW_START = TRUE
endif
if ( $CTM_BIOGEMIS_MG == 'Y' ) then
setenv MEGAN_SOILINP $OUTDIR/CCTM_MSOILOUT_${RUNID}_${YESTERDAY}.nc
#> Biogenic NO soil input file; ignore if INITIAL_RUN = Y
#> ; ignore if IGNORE_SOILINP = Y
setenv MEGAN_CTS $SZpath/megan3.2/CT3_CONUS.ncf
setenv MEGAN_EFS $SZpath/megan3.2/EFMAPS_CONUS.ncf
setenv MEGAN_LDF $SZpath/megan3.2/LDF_CONUS.ncf
if ($BDSNP_MEGAN == 'Y') then
setenv BDSNPINP $OUTDIR/CCTM_BDSNPOUT_${RUNID}_${YESTERDAY}.nc
setenv BDSNP_FFILE $SZpath/megan3.2/FERT_tceq_12km.ncf
setenv BDSNP_NFILE $SZpath/megan3.2/NDEP_tceq_12km.ncf
setenv BDSNP_LFILE $SZpath/megan3.2/LANDTYPE_tceq_12km.ncf
setenv BDSNP_AFILE $SZpath/megan3.2/ARID_tceq_12km.ncf
setenv BDSNP_NAFILE $SZpath/megan3.2/NONARID_tceq_12km.ncf
endif
endif
#> In-line sea spray emissions configuration
setenv OCEAN_1 $SZpath/OCEAN_${MM}_L3m_MC_CHL_chlor_a_12NE3.nc #> horizontal grid-dependent ocean file
#> Bidirectional ammonia configuration
if ( $CTM_ABFLUX == 'Y' ) then
setenv E2C_SOIL ${EPICpath}/2018r1_EPIC0509_12NE3_soil.nc
setenv E2C_CHEM ${EPICpath}/2018r1_EPIC0509_12NE3_time${YYYYMMDD}.nc
setenv E2C_CHEM_YEST ${EPICpath}/2018r1_EPIC0509_12NE3_time${YESTERDAY}.nc
setenv E2C_LU ${EPICpath}/beld4_12NE3_2011.nc
endif
#> Inline Process Analysis
setenv CTM_PROCAN N #> use process analysis [ default: N]
if ( $?CTM_PROCAN ) then # $CTM_PROCAN is defined
if ( $CTM_PROCAN == 'Y' || $CTM_PROCAN == 'T' ) then
#> process analysis global column, row and layer ranges
# setenv PA_BCOL_ECOL "10 90" # default: all columns
# setenv PA_BROW_EROW "10 80" # default: all rows
# setenv PA_BLEV_ELEV "1 4" # default: all levels
setenv PACM_INFILE ${NMLpath}/pa_${MECH}.ctl
setenv PACM_REPORT $OUTDIR/"PA_REPORT".${YYYYMMDD}
endif
endif
#> Integrated Source Apportionment Method (ISAM) Options
setenv CTM_ISAM N
if ( $?CTM_ISAM ) then
if ( $CTM_ISAM == 'Y' || $CTM_ISAM == 'T' ) then
setenv SA_IOLIST ${WORKDIR}/isam_control.2018_12NE3.txt
setenv ISAM_BLEV_ELEV " 1 1"
setenv AISAM_BLEV_ELEV " 1 1"
#> Set Up ISAM Initial Condition Flags
if ($NEW_START == true || $NEW_START == TRUE ) then
setenv ISAM_NEW_START Y
setenv ISAM_PREVDAY
else
setenv ISAM_NEW_START N
setenv ISAM_PREVDAY "$OUTDIR/CCTM_SA_CGRID_${RUNID}_${YESTERDAY}.nc"
endif
#> Set Up ISAM Output Filenames
setenv SA_ACONC_1 "$OUTDIR/CCTM_SA_ACONC_${CTM_APPL}.nc -v"
setenv SA_CONC_1 "$OUTDIR/CCTM_SA_CONC_${CTM_APPL}.nc -v"
setenv SA_DD_1 "$OUTDIR/CCTM_SA_DRYDEP_${CTM_APPL}.nc -v"
setenv SA_WD_1 "$OUTDIR/CCTM_SA_WETDEP_${CTM_APPL}.nc -v"
setenv SA_CGRID_1 "$OUTDIR/CCTM_SA_CGRID_${CTM_APPL}.nc -v"
#> Set optional ISAM regions files
setenv ISAM_REGIONS $INPDIR/GRIDMASK_STATES_12NE3.nc
#> Options used to favor tracked species in reaction for Ozone-NOx chemistry
setenv ISAM_O3_WEIGHTS 5 # weights for tracked species Default is 5
# OPTIONS
# 1 does not weight any species
# 2 weights NOx and subset of NOz species
# 3 uses with from option 2 plus weight OVOC species, organic radicals and operators
# 4 weight OVOC species, organic radicals and operators
# 5 toggles between two weighting set based on VOC and NOx limited ozone production
# Below options only used if ISAM_O3_WEIGHTS set to 5
setenv ISAM_NOX_CASE 2 # weights for tracked species when ozone production is NOx limited. Default is 2
setenv ISAM_VOC_CASE 4 # weights for tracked species when ozone production is VOC limited. Default is 4
setenv VOC_NOX_TRANS 0.35 # value of Prod H2O2 over Prod HNO3 less than where
# ISAM_VOC_CASE weights are used. Otherwise, ISAM_NOX_CASE
# weights are used. Default is 0.35
endif
endif
#> Sulfur Tracking Model (STM)
setenv STM_SO4TRACK N #> sulfur tracking [ default: N ]
if ( $?STM_SO4TRACK ) then
if ( $STM_SO4TRACK == 'Y' || $STM_SO4TRACK == 'T' ) then
#> option to normalize sulfate tracers [ default: Y ]
setenv STM_ADJSO4 Y
endif
endif
#> Decoupled Direct Method in 3D (DDM-3D) Options
setenv CTM_DDM3D N # Sets up requisite script settings for DDM-3D (default is N/F)
# Additionally requires for CCTM to be compiled for DDM-3D simulations
set NPMAX = 1 # Number of sensitivity parameters defined in SEN_INPUT
setenv SEN_INPUT ${WORKDIR}/sensinput.2018_12NE3.dat
setenv DDM3D_HIGH N # allow higher-order sensitivity parameters in SEN_INPUT [ T | Y | F | N ] (default is N/F)
if ($NEW_START == true || $NEW_START == TRUE ) then
setenv DDM3D_RST N # begins from sensitivities from a restart file [ T | Y | F | N ] (default is Y/T)
set S_ICpath = # sensitivity fields are initialized to 0.0 on the first hour of the first day
set S_ICfile =
else
setenv DDM3D_RST Y # begins from sensitivities from a restart file [ T | Y | F | N ] (default is Y/T)
set S_ICpath = $OUTDIR
set S_ICfile = CCTM_SENGRID_${RUNID}_${YESTERDAY}.nc
endif
setenv CTM_NPMAX $NPMAX
setenv CTM_SENS_1 "$OUTDIR/CCTM_SENGRID_${CTM_APPL}.nc -v"
setenv A_SENS_1 "$OUTDIR/CCTM_ASENS_${CTM_APPL}.nc -v"
setenv CTM_SWETDEP_1 "$OUTDIR/CCTM_SENWDEP_${CTM_APPL}.nc -v"
setenv CTM_SDRYDEP_1 "$OUTDIR/CCTM_SENDDEP_${CTM_APPL}.nc -v"
setenv INIT_SENS_1 $S_ICpath/$S_ICfile
# =====================================================================
#> Output Files
# =====================================================================
#> set output file names
setenv S_CGRID "$OUTDIR/CCTM_CGRID_${CTM_APPL}.nc" #> 3D Inst. Concentrations
setenv CTM_CONC_1 "$OUTDIR/CCTM_CONC_${CTM_APPL}.nc -v" #> On-Hour Concentrations
setenv A_CONC_1 "$OUTDIR/CCTM_ACONC_${CTM_APPL}.nc -v" #> Hourly Avg. Concentrations
setenv MEDIA_CONC "$OUTDIR/CCTM_MEDIA_CONC_${CTM_APPL}.nc -v" #> NH3 Conc. in Media
setenv CTM_DRY_DEP_1 "$OUTDIR/CCTM_DRYDEP_${CTM_APPL}.nc -v" #> Hourly Dry Deposition
setenv CTM_DEPV_DIAG "$OUTDIR/CCTM_DEPV_${CTM_APPL}.nc -v" #> Dry Deposition Velocities
setenv B3GTS_S "$OUTDIR/CCTM_B3GTS_S_${CTM_APPL}.nc -v" #> Biogenic Emissions
setenv BEIS_SOILOUT "$OUTDIR/CCTM_BSOILOUT_${CTM_APPL}.nc" #> Soil Emissions
setenv MEGAN_SOILOUT "$OUTDIR/CCTM_MSOILOUT_${CTM_APPL}.nc" #> Soil Emissions
setenv BDSNPOUT "$OUTDIR/CCTM_BDSNPOUT_${CTM_APPL}.nc" #> Soil Emissions
setenv CTM_WET_DEP_1 "$OUTDIR/CCTM_WETDEP1_${CTM_APPL}.nc -v" #> Wet Dep From All Clouds
setenv CTM_WET_DEP_2 "$OUTDIR/CCTM_WETDEP2_${CTM_APPL}.nc -v" #> Wet Dep From SubGrid Clouds
setenv CTM_ELMO_1 "$OUTDIR/CCTM_ELMO_${CTM_APPL}.nc -v" #> On-Hour Particle Diagnostics
setenv CTM_AELMO_1 "$OUTDIR/CCTM_AELMO_${CTM_APPL}.nc -v" #> Hourly Avg. Particle Diagnostics
setenv CTM_RJ_1 "$OUTDIR/CCTM_PHOTDIAG1_${CTM_APPL}.nc -v" #> 2D Surface Summary from Inline Photolysis
setenv CTM_RJ_2 "$OUTDIR/CCTM_PHOTDIAG2_${CTM_APPL}.nc -v" #> 3D Photolysis Rates
setenv CTM_RJ_3 "$OUTDIR/CCTM_PHOTDIAG3_${CTM_APPL}.nc -v" #> 3D Optical and Radiative Results from Photolysis
setenv CTM_SSEMIS_1 "$OUTDIR/CCTM_SSEMIS_${CTM_APPL}.nc -v" #> Sea Spray Emissions
setenv CTM_DUST_EMIS_1 "$OUTDIR/CCTM_DUSTEMIS_${CTM_APPL}.nc -v" #> Dust Emissions
setenv CTM_BUDGET "$OUTDIR/CCTM_BUDGET_${CTM_APPL}.txt -v" #> Budget [Default Off]
setenv CTM_IPR_1 "$OUTDIR/CCTM_PA_1_${CTM_APPL}.nc -v" #> Process Analysis
setenv CTM_IPR_2 "$OUTDIR/CCTM_PA_2_${CTM_APPL}.nc -v" #> Process Analysis
setenv CTM_IPR_3 "$OUTDIR/CCTM_PA_3_${CTM_APPL}.nc -v" #> Process Analysis
setenv CTM_IRR_1 "$OUTDIR/CCTM_IRR_1_${CTM_APPL}.nc -v" #> Chem Process Analysis
setenv CTM_IRR_2 "$OUTDIR/CCTM_IRR_2_${CTM_APPL}.nc -v" #> Chem Process Analysis
setenv CTM_IRR_3 "$OUTDIR/CCTM_IRR_3_${CTM_APPL}.nc -v" #> Chem Process Analysis
setenv CTM_DRY_DEP_MOS "$OUTDIR/CCTM_DDMOS_${CTM_APPL}.nc -v" #> Dry Dep
setenv CTM_DEPV_MOS "$OUTDIR/CCTM_DEPVMOS_${CTM_APPL}.nc -v" #> Dry Dep Velocity
setenv CTM_VDIFF_DIAG "$OUTDIR/CCTM_VDIFF_DIAG_${CTM_APPL}.nc -v" #> Vertical Dispersion Diagnostic
setenv CTM_VSED_DIAG "$OUTDIR/CCTM_VSED_DIAG_${CTM_APPL}.nc -v" #> Particle Grav. Settling Velocity
setenv CTM_LTNGDIAG_1 "$OUTDIR/CCTM_LTNGHRLY_${CTM_APPL}.nc -v" #> Hourly Avg Lightning NO
setenv CTM_LTNGDIAG_2 "$OUTDIR/CCTM_LTNGCOL_${CTM_APPL}.nc -v" #> Column Total Lightning NO
setenv CTM_VEXT_1 "$OUTDIR/CCTM_VEXT_${CTM_APPL}.nc -v" #> On-Hour 3D Concs at select sites
#> set floor file (neg concs)
setenv FLOOR_FILE ${OUTDIR}/FLOOR_${CTM_APPL}.txt
#> look for existing log files and output files
( ls CTM_LOG_???.${CTM_APPL} > buff.txt ) >& /dev/null
( ls ${LOGDIR}/CTM_LOG_???.${CTM_APPL} >> buff.txt ) >& /dev/null
set log_test = `cat buff.txt`; rm -f buff.txt
set OUT_FILES = (${FLOOR_FILE} ${S_CGRID} ${CTM_CONC_1} ${A_CONC_1} ${MEDIA_CONC} \
${CTM_DRY_DEP_1} $CTM_DEPV_DIAG $B3GTS_S $MEGAN_SOILOUT $BEIS_SOILOUT $BDSNPOUT \
$CTM_WET_DEP_1 $CTM_WET_DEP_2 $CTM_ELMO_1 $CTM_AELMO_1 \
$CTM_RJ_1 $CTM_RJ_2 $CTM_RJ_3 $CTM_SSEMIS_1 $CTM_DUST_EMIS_1 $CTM_IPR_1 $CTM_IPR_2 \
$CTM_IPR_3 $CTM_BUDGET $CTM_IRR_1 $CTM_IRR_2 $CTM_IRR_3 $CTM_DRY_DEP_MOS \
$CTM_DEPV_MOS $CTM_VDIFF_DIAG $CTM_VSED_DIAG $CTM_LTNGDIAG_1 $CTM_LTNGDIAG_2 $CTM_VEXT_1 )
if ( $?CTM_ISAM ) then
if ( $CTM_ISAM == 'Y' || $CTM_ISAM == 'T' ) then
set OUT_FILES = (${OUT_FILES} ${SA_ACONC_1} ${SA_CONC_1} ${SA_DD_1} ${SA_WD_1} \
${SA_CGRID_1} )
endif
endif
if ( $?CTM_DDM3D ) then
if ( $CTM_DDM3D == 'Y' || $CTM_DDM3D == 'T' ) then
set OUT_FILES = (${OUT_FILES} ${CTM_SENS_1} ${A_SENS_1} ${CTM_SWETDEP_1} ${CTM_SDRYDEP_1} )
endif
endif
set OUT_FILES = `echo $OUT_FILES | sed "s; -v;;g" | sed "s;MPI:;;g" `
( ls $OUT_FILES > buff.txt ) >& /dev/null
set out_test = `cat buff.txt`; rm -f buff.txt
#> delete previous output if requested
if ( $CLOBBER_DATA == true || $CLOBBER_DATA == TRUE ) then
echo
echo "Existing Logs and Output Files for Day ${TODAYG} Will Be Deleted"
#> remove previous log files
foreach file ( ${log_test} )
#echo "Deleting log file: $file"
/bin/rm -f $file
end
#> remove previous output files
foreach file ( ${out_test} )
#echo "Deleting output file: $file"
/bin/rm -f $file
end
/bin/rm -f ${OUTDIR}/CCTM_DESID*${CTM_APPL}.nc
else
#> error if previous log files exist
if ( "$log_test" != "" ) then
echo "*** Logs exist - run ABORTED ***"
echo "*** To overide, set CLOBBER_DATA = TRUE in run_cctm.csh ***"
echo "*** and these files will be automatically deleted. ***"
exit 1
endif
#> error if previous output files exist
if ( "$out_test" != "" ) then
echo "*** Output Files Exist - run will be ABORTED ***"
foreach file ( $out_test )
echo " cannot delete $file"
end
echo "*** To overide, set CLOBBER_DATA = TRUE in run_cctm.csh ***"
echo "*** and these files will be automatically deleted. ***"
exit 1
endif
endif
#> for the run control ...
setenv CTM_STDATE $YYYYJJJ
setenv CTM_STTIME $STTIME
setenv CTM_RUNLEN $NSTEPS
setenv CTM_TSTEP $TSTEP
setenv INIT_CONC_1 $ICpath/$ICFILE
setenv BNDY_CONC_1 $BCpath/$BCFILE
setenv OMI $OMIpath/$OMIfile
setenv MIE_TABLE $OUTDIR/mie_table_coeffs_${compilerString}.txt
setenv OPTICS_DATA $OMIpath/$OPTfile
#setenv XJ_DATA $JVALpath/$JVALfile
#> species defn & photolysis
setenv gc_matrix_nml ${NMLpath}/GC_$MECH.nml
setenv ae_matrix_nml ${NMLpath}/AE_$MECH.nml
setenv nr_matrix_nml ${NMLpath}/NR_$MECH.nml
setenv tr_matrix_nml ${NMLpath}/Species_Table_TR_0.nml
#> check for photolysis input data
setenv CSQY_DATA ${NMLpath}/CSQY_DATA_$MECH
if (! (-e $CSQY_DATA ) ) then
echo " $CSQY_DATA not found "
exit 1
endif
if (! (-e $OPTICS_DATA ) ) then
echo " $OPTICS_DATA not found "
exit 1
endif
# ===================================================================
#> Execution Portion
# ===================================================================
#> Print attributes of the executable
if ( $CTM_DIAG_LVL != 0 ) then
ls -l $BLD/$EXEC
size $BLD/$EXEC
unlimit
limit
endif
#> Print Startup Dialogue Information to Standard Out
echo
echo "CMAQ Processing of Day $YYYYMMDD Began at `date`"
echo
#> Executable call for single PE, uncomment to invoke
#( /usr/bin/time -p $BLD/$EXEC ) |& tee buff_${EXECUTION_ID}.txt
#> Executable call for multi PE, configure for your system
# set MPI = /usr/local/intel/impi/3.2.2.006/bin64
# set MPIRUN = $MPI/mpirun
( /usr/bin/time -p mpirun -np $NPROCS $BLD/$EXEC ) |& tee buff_${EXECUTION_ID}.txt
#> Harvest Timing Output so that it may be reported below
set rtarray = "${rtarray} `tail -3 buff_${EXECUTION_ID}.txt | grep -Eo '[+-]?[0-9]+([.][0-9]+)?' | head -1` "
rm -rf buff_${EXECUTION_ID}.txt
#> Abort script if abnormal termination
if ( ! -e $OUTDIR/CCTM_CGRID_${CTM_APPL}.nc ) then
echo ""
echo "**************************************************************"
echo "** Runscript Detected an Error: CGRID file was not written. **"
echo "** This indicates that CMAQ was interrupted or an issue **"
echo "** exists with writing output. The runscript will now **"
echo "** abort rather than proceeding to subsequent days. **"
echo "**************************************************************"
break
endif
#> Print Concluding Text
echo
echo "CMAQ Processing of Day $YYYYMMDD Finished at `date`"
echo
echo "\\\\\=====\\\\\=====\\\\\=====\\\\\=====/////=====/////=====/////=====/////"
echo
# ===================================================================
#> Finalize Run for This Day and Loop to Next Day
# ===================================================================
#> Save Log Files and Move on to Next Simulation Day
mv CTM_LOG_???.${CTM_APPL} $LOGDIR
if ( $CTM_DIAG_LVL != 0 ) then
mv CTM_DIAG_???.${CTM_APPL} $LOGDIR
endif
#> The next simulation day will, by definition, be a restart
setenv NEW_START false
#> Increment both Gregorian and Julian Days
set TODAYG = `date -ud "${TODAYG}+1days" +%Y-%m-%d` #> Add a day for tomorrow
set TODAYJ = `date -ud "${TODAYG}" +%Y%j` #> Convert YYYY-MM-DD to YYYYJJJ
end #Loop to the next Simulation Day
# ===================================================================
#> Generate Timing Report
# ===================================================================
set RTMTOT = 0
foreach it ( `seq ${NDAYS}` )
set rt = `echo ${rtarray} | cut -d' ' -f${it}`
set RTMTOT = `echo "${RTMTOT} + ${rt}" | bc -l`
end
set RTMAVG = `echo "scale=2; ${RTMTOT} / ${NDAYS}" | bc -l`
set RTMTOT = `echo "scale=2; ${RTMTOT} / 1" | bc -l`
echo
echo "=================================="
echo " ***** CMAQ TIMING REPORT *****"
echo "=================================="
echo "Start Day: ${START_DATE}"
echo "End Day: ${END_DATE}"
echo "Number of Simulation Days: ${NDAYS}"
echo "Domain Name: ${GRID_NAME}"
echo "Number of Grid Cells: ${NCELLS} (ROW x COL x LAY)"
echo "Number of Layers: ${NZ}"
echo "Number of Processes: ${NPROCS}"
echo " All times are in seconds."
echo
echo "Num Day Wall Time"
set d = 0
set day = ${START_DATE}
foreach it ( `seq ${NDAYS}` )
# Set the right day and format it
set d = `echo "${d} + 1" | bc -l`
set n = `printf "%02d" ${d}`
# Choose the correct time variables
set rt = `echo ${rtarray} | cut -d' ' -f${it}`
# Write out row of timing data
echo "${n} ${day} ${rt}"
# Increment day for next loop
set day = `date -ud "${day}+1days" +%Y-%m-%d`
end
echo " Total Time = ${RTMTOT}"
echo " Avg. Time = ${RTMAVG}"
exit
================================================
FILE: CCTM/scripts/run_cctm_Bench_2018_12NE3_CRACMM2.csh
================================================
#!/bin/csh -f
# ===================== CCTMv5.5.X STAGE CRACMM 12NE3 Run Script =========================
# Usage: run_cctm_2018_12NE3_v54_Base_STAGE_CRACMM.csh >&! cctm_2018_12NE3_CRACMM.log &
#
# To report problems or request help with this script/program:
# http://www.epa.gov/cmaq (EPA CMAQ Website)
# http://www.cmascenter.org (CMAS Website)
# ===================================================================
# ===================================================================
#> Runtime Environment Options
# ===================================================================
echo 'Start Model Run At ' `date`
#> Toggle Diagnostic Mode which will print verbose information to
#> standard output
setenv CTM_DIAG_LVL 0
#> Choose compiler and set up CMAQ environment with correct
#> libraries using config.cmaq. Options: intel | gcc | pgi
if ( ! $?compiler ) then
setenv compiler gcc
endif
if ( ! $?compilerVrsn ) then
setenv compilerVrsn Empty
endif
#> Source the config.cmaq file to set the build environment
cd ../..
source ./config_cmaq.csh $compiler $compilerVrsn
cd CCTM/scripts
#> Set General Parameters for Configuring the Simulation
set VRSN = v55 #> Code Version
set PROC = mpi #> serial or mpi
set MECH = cracmm2 #> Mechanism ID
set DEP = stage
set APPL = Bench_2018_12NE3_${MECH}_${DEP} #> Application Name (e.g. Gridname)
#> Define RUNID as any combination of parameters above or others. By default,
#> this information will be collected into this one string, $RUNID, for easy
#> referencing in output binaries and log files as well as in other scripts.
setenv RUNID ${VRSN}_${compilerString}_${APPL}
#> Set the build directory (this is where the CMAQ executable
#> is located by default).
set BLD = ${CMAQ_HOME}/CCTM/scripts/BLD_CCTM_${VRSN}_${compilerString}_${MECH}_${DEP}
set EXEC = CCTM_${VRSN}.exe
#> Output Each line of Runscript to Log File
if ( $CTM_DIAG_LVL != 0 ) set echo
#> Set Working, Input, and Output Directories
setenv WORKDIR ${CMAQ_HOME}/CCTM/scripts #> Working Directory. Where the runscript is.
setenv OUTDIR ${CMAQ_DATA}/output_CCTM_${RUNID} #> Output Directory
setenv INPDIR ${CMAQ_DATA}/CMAQv5.5_2018_12NE3_Benchmark_cracmm2_stage_2Day_Input/2018_12NE3 #Input Directory
setenv LOGDIR ${OUTDIR}/LOGS #> Log Directory Location
setenv NMLpath ${BLD} #> Location of Namelists. Common places are:
#> ${WORKDIR} | ${CCTM_SRC}/MECHS/${MECH} | ${BLD}
echo ""
echo "Working Directory is $WORKDIR"
echo "Build Directory is $BLD"
echo "Output Directory is $OUTDIR"
echo "Log Directory is $LOGDIR"
echo "Executable Name is $EXEC"
# =====================================================================
#> CCTM Configuration Options
# =====================================================================
#> Set Start and End Days for looping
setenv NEW_START TRUE #> Set to FALSE for model restart
set START_DATE = "2018-07-01" #> beginning date (July 1, 2016)
set END_DATE = "2018-07-02" #> ending date (July 1, 2016)
#> Set Timestepping Parameters
set STTIME = 000000 #> beginning GMT time (HHMMSS)
set NSTEPS = 240000 #> time duration (HHMMSS) for this run
set TSTEP = 010000 #> output time step interval (HHMMSS)
#> Horizontal domain decomposition
if ( $PROC == serial ) then
setenv NPCOL_NPROW "1 1"; set NPROCS = 1 # single processor setting
else
@ NPCOL = 8; @ NPROW = 4
@ NPROCS = $NPCOL * $NPROW
setenv NPCOL_NPROW "$NPCOL $NPROW";
endif
#> Define Execution ID: e.g. [CMAQ-Version-Info]_[User]_[Date]_[Time]
if ( ! -e ${BLD}/CCTM_${VRSN}.cfg ) then
set SHAID = ""
else
set SHAID = `grep "sha_ID" ${BLD}/CCTM_${VRSN}.cfg | cut -c 13-22`
if ( $SHAID == not_a_repo ) then
set SHAID = ""
else
set SHAID = "_sha="$SHAID
endif
endif
setenv EXECUTION_ID "CMAQ_CCTM${VRSN}${SHAID}_`id -u -n`_`date -u +%Y%m%d_%H%M%S_%N`" #> Inform IO/API of the Execution ID
echo ""
echo "---CMAQ EXECUTION ID: $EXECUTION_ID ---"
#> Keep or Delete Existing Output Files
set CLOBBER_DATA = TRUE
#> Logfile Options
#> Master Log File Name; uncomment to write standard output to a log, otherwise write to screen
#setenv LOGFILE $CMAQ_HOME/$RUNID.log
if (! -e $LOGDIR ) then
mkdir -p $LOGDIR
endif
setenv PRINT_PROC_TIME Y #> Print timing for all science subprocesses to Logfile
#> [ default: TRUE or Y ]
setenv STDOUT T #> Override I/O-API trying to write information to both the processor
#> logs and STDOUT [ options: T | F ]
setenv GRID_NAME 2018_12NE3 #> check GRIDDESC file for GRID_NAME options
setenv GRIDDESC $INPDIR/GRIDDESC #> grid description file
#> Retrieve the number of columns, rows, and layers in this simulation
set NZ = 35
set NX = `grep -A 1 ${GRID_NAME} ${GRIDDESC} | tail -1 | sed 's/ */ /g' | cut -d' ' -f6`
set NY = `grep -A 1 ${GRID_NAME} ${GRIDDESC} | tail -1 | sed 's/ */ /g' | cut -d' ' -f7`
set NCELLS = `echo "${NX} * ${NY} * ${NZ}" | bc -l`
#> Output Species and Layer Options
#> CONC file species; comment or set to "ALL" to write all species to CONC
#setenv CONC_SPCS "O3 NO ANO3I ANO3J NO2 HCHO ISOP NH3 ANH4I ANH4J ASO4I ASO4J"
#setenv CONC_BLEV_ELEV " 1 1" #> CONC file layer range; comment to write all layers to CONC
#> ACONC file species; comment or set to "ALL" to write all species to ACONC
#setenv AVG_CONC_SPCS "O3 NO CO NO2 ASO4I ASO4J NH3"
setenv AVG_CONC_SPCS "ALL"
setenv ACONC_BLEV_ELEV " 1 1" #> ACONC file layer range; comment to write all layers to ACONC
setenv AVG_FILE_ENDTIME N #> override default beginning ACONC timestamp [ default: N ]
#> Synchronization Time Step and Tolerance Options
setenv CTM_MAXSYNC 300 #> max sync time step (sec) [ default: 720 ]
setenv CTM_MINSYNC 60 #> min sync time step (sec) [ default: 60 ]
setenv SIGMA_SYNC_TOP 0.7 #> top sigma level thru which sync step determined [ default: 0.7 ]
#setenv ADV_HDIV_LIM 0.95 #> maximum horiz. div. limit for adv step adjust [ default: 0.9 ]
setenv CTM_ADV_CFL 0.95 #> max CFL [ default: 0.75]
#setenv RB_ATOL 1.0E-09 #> global ROS3 solver absolute tolerance [ default: 1.0E-07 ]
#> Science Options
setenv CTM_OCEAN_CHEM Y #> Flag for ocean halogen chemistry, sea spray aerosol emissions,
#> and enhanced ozone deposition over ocean waters [ default: Y ]
setenv CTM_WB_DUST N #> use inline windblown dust emissions (only for use with PX) [ default: N ]
setenv CTM_LTNG_NO N #> turn on lightning NOx [ default: N ]
setenv KZMIN Y #> use Min Kz option in edyintb [ default: Y ],
#> otherwise revert to Kz0UT
setenv PX_VERSION Y #> WRF PX LSM
setenv CLM_VERSION N #> WRF CLM LSM
setenv NOAH_VERSION N #> WRF NOAH LSM
setenv CTM_ABFLUX Y #> ammonia bi-directional flux for in-line deposition
#> velocities [ default: N ]
setenv CTM_BIDI_FERT_NH3 T #> subtract fertilizer NH3 from emissions because it will be handled
#> by the BiDi calculation [ default: Y ]
setenv CTM_HGBIDI N #> mercury bi-directional flux for in-line deposition
#> velocities [ default: N ]
setenv CTM_SFC_HONO Y #> surface HONO interaction [ default: Y ]
#> please see user guide (6.10.4 Nitrous Acid (HONO))
#> for dependency on percent urban fraction dataset
setenv CTM_GRAV_SETL Y #> vdiff aerosol gravitational sedimentation [ default: Y ]
setenv CTM_PVO3 N #> consider potential vorticity module for O3 transport from the stratosphere
#> [default: N]
setenv CTM_BIOGEMIS_BE Y #> calculate in-line biogenic emissions with BEIS [ default: N ]
setenv CTM_BIOGEMIS_MG N #> turns on MEGAN biogenic emission [ default: N ]
setenv BDSNP_MEGAN N #> turns on BDSNP soil NO emissions [ default: N ]
setenv AEROSOL_OPTICS 3 #> sets method for determining aerosol optics affecting photolysis
#> frequencies ( 3 is the default value )
#> VALUES 1 thru 3 determined Uniformly Volume Mixed spherical
#> (1-Tabular Mie; 2-Mie Calculation; 3-Case Approx to Mie Theory)
#> VALUES 4 thru 6 attempts to use core-shell mixing model when the
#> aerosol mode has signficant black carbon core otherwise use Volume Mixed
#> model where optics determined by
#> (4-Tabular Mie; 5-Mie Calculation; 6-Case Approx to Mie Theory)
#> Surface Tiled Aerosol and Gaseous Exchange Options
#> Only active if DepMod=stage at compile time
setenv CTM_MOSAIC N #> Output landuse specific deposition velocities [ default: N ]
setenv CTM_STAGE_P22 N #> Pleim et al. 2022 Aerosol deposition model [default: N]
setenv CTM_STAGE_E20 Y #> Emerson et al. 2020 Aerosol deposition model [default: Y]
setenv CTM_STAGE_S22 N #> Shu et al. 2022 (CMAQ v5.3) Aerosol deposition model [default: N]
setenv IC_AERO_M2WET F #> Specify whether or not initial condition aerosol size distribution
#> is wet or dry [ default: F = dry ]
setenv BC_AERO_M2WET F #> Specify whether or not boundary condition aerosol size distribution
#> is wet or dry [ default: F = dry ]
setenv IC_AERO_M2USE F #> Specify whether or not to use aerosol surface area from initial
#> conditions [ default: T = use aerosol surface area ]
setenv BC_AERO_M2USE F #> Specify whether or not to use aerosol surface area from boundary
#> conditions [ default: T = use aerosol surface area ]
#> Vertical Extraction Options
setenv VERTEXT N
setenv VERTEXT_COORD_PATH ${WORKDIR}/lonlat.csv
#> I/O Controls
setenv IOAPI_LOG_WRITE F #> turn on excess WRITE3 logging [ options: T | F ]
setenv FL_ERR_STOP N #> stop on inconsistent input files
setenv PROMPTFLAG F #> turn on I/O-API PROMPT*FILE interactive mode [ options: T | F ]
setenv IOAPI_OFFSET_64 YES #> support large timestep records (>2GB/timestep record) [ options: YES | NO ]
setenv IOAPI_CHECK_HEADERS N #> check file headers [ options: Y | N ]
setenv CTM_EMISCHK N #> Abort CMAQ if missing surrogates from emissions Input files
#> Diagnostic Output Flags
setenv CTM_CKSUM Y #> checksum report [ default: Y ]
setenv CLD_DIAG N #> cloud diagnostic file [ default: N ]
setenv CTM_PHOTDIAG N #> photolysis diagnostic file [ default: N ]
setenv NLAYS_PHOTDIAG "1" #> Number of layers for PHOTDIAG2 and PHOTDIAG3 from
#> Layer 1 to NLAYS_PHOTDIAG [ default: all layers ]
#setenv NWAVE_PHOTDIAG "294 303 310 316 333 381 607" #> Wavelengths written for variables
#> in PHOTDIAG2 and PHOTDIAG3
#> [ default: all wavelengths ]
setenv CTM_SSEMDIAG N #> sea-spray emissions diagnostic file [ default: N ]
setenv CTM_DUSTEM_DIAG N #> windblown dust emissions diagnostic file [ default: N ];
#> Ignore if CTM_WB_DUST = N
setenv CTM_DEPV_FILE N #> deposition velocities diagnostic file [ default: N ]
setenv VDIFF_DIAG_FILE N #> vdiff & possibly aero grav. sedimentation diagnostic file [ default: N ]
setenv LTNGDIAG N #> lightning diagnostic file [ default: N ]
setenv B3GTS_DIAG N #> BEIS mass emissions diagnostic file [ default: N ]
setenv CTM_WVEL Y #> save derived vertical velocity component to conc
#> file [ default: Y ]
# =====================================================================
#> Input Directories and Filenames
# =====================================================================
set ICpath = $INPDIR/icbc #> initial conditions input directory
set BCpath = $INPDIR/icbc #> boundary conditions input directory
set EMISpath = $INPDIR/emis #> gridded emissions input directory
set IN_PTpath = $INPDIR/emis #> point source emissions input directory
set IN_LTpath = $INPDIR/lightning #> lightning NOx input directory
set METpath = $INPDIR/met/mcipv5.4 #> meteorology input directory
#set JVALpath = $INPDIR/jproc #> offline photolysis rate table directory
set OMIpath = $BLD #> ozone column data for the photolysis model
set EPICpath = $INPDIR/epic #> EPIC putput for bidirectional NH3
set SZpath = $INPDIR/surface #> surf zone file for in-line seaspray emissions
# =====================================================================
#> Begin Loop Through Simulation Days
# ==========
gitextract_tpkhsrgz/ ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ └── new-issue-.md │ └── PULL_REQUEST_TEMPLATE.md ├── .gitignore ├── CCTM/ │ ├── README.md │ ├── scripts/ │ │ ├── bldit_cctm.csh │ │ ├── bldit_mech.csh │ │ ├── isam_control.2018_12NE3.txt │ │ ├── lonlat.csv │ │ ├── run_cctm_2018_12US1_v55_Base_STAGE_EM_CRACMM.csh │ │ ├── run_cctm_Bench_2018_12NE3.WRFCMAQ.csh │ │ ├── run_cctm_Bench_2018_12NE3_CB6R5.csh │ │ ├── run_cctm_Bench_2018_12NE3_CRACMM2.csh │ │ └── run_cctm_Bench_2018_12NE3_cb6r5_m3dry_ddm.csh │ └── src/ │ ├── ICL/ │ │ └── fixed/ │ │ ├── const/ │ │ │ └── CONST.EXT │ │ ├── emctrl/ │ │ │ └── EMISPRM.EXT │ │ ├── filenames/ │ │ │ └── FILES_CTM.EXT │ │ └── mpi/ │ │ └── PE_COMM.EXT │ ├── MECHS/ │ │ ├── README.md │ │ ├── cb6r3_ae7_aq/ │ │ │ ├── AE_cb6r3_ae7_aq.nml │ │ │ ├── CMAQ_Control_DESID_cb6r3_ae7_aq.nml │ │ │ ├── CSQY_DATA_cb6r3_ae7_aq │ │ │ ├── GC_cb6r3_ae7_aq.nml │ │ │ ├── NR_cb6r3_ae7_aq.nml │ │ │ ├── RXNS_DATA_MODULE.F90 │ │ │ ├── RXNS_FUNC_MODULE.F90 │ │ │ ├── SpecDef_Conc_cb6r3_ae7_aq.txt │ │ │ ├── SpecDef_Dep_cb6r3_ae7_aq.txt │ │ │ ├── SpecDef_cb6r3_ae7_aq.txt │ │ │ ├── mech_cb6r3_ae7_aq.def │ │ │ └── pa_cb6r3_ae7_aq.ctl │ │ ├── cb6r5_ae7_aq/ │ │ │ ├── AE_cb6r5_ae7_aq.nml │ │ │ ├── CMAQ_Control_DESID_cb6r5_ae7_aq.nml │ │ │ ├── CSQY_DATA_cb6r5_ae7_aq │ │ │ ├── GC_cb6r5_ae7_aq.nml │ │ │ ├── NR_cb6r5_ae7_aq.nml │ │ │ ├── RXNS_DATA_MODULE.F90 │ │ │ ├── RXNS_FUNC_MODULE.F90 │ │ │ ├── SpecDef_Conc_cb6r5_ae7_aq.txt │ │ │ ├── SpecDef_Dep_cb6r5_ae7_aq.txt │ │ │ ├── SpecDef_cb6r5_ae7_aq.txt │ │ │ ├── mech_cb6r5_ae7_aq.def │ │ │ └── pa_cb6r5_ae7_aq.ctl │ │ ├── cb6r5_ae7_aqkmt2/ │ │ │ ├── AE_cb6r5_ae7_aq.nml │ │ │ └── GC_cb6r5_ae7_aq.nml │ │ ├── cb6r5hap_ae7_aq/ │ │ │ ├── AE_cb6r5hap_ae7_aq.nml │ │ │ ├── CMAQ_Control_DESID_cb6r5hap_ae7_aq.nml │ │ │ ├── NR_cb6r5hap_ae7_aq.nml │ │ │ ├── SpecDef_Conc_cb6r5hap_ae7_aq.txt │ │ │ ├── SpecDef_Dep_cb6r5hap_ae7_aq.txt │ │ │ └── SpecDef_cb6r5hap_ae7_aq.txt │ │ ├── cb6r5m_ae7_aq/ │ │ │ ├── AE_cb6r5m_ae7_aq.nml │ │ │ ├── CMAQ_Control_DESID_cb6r5m_ae7_aq.nml │ │ │ ├── CSQY_DATA_cb6r5m_ae7_aq │ │ │ ├── GC_cb6r5m_ae7_aq.nml │ │ │ ├── NR_cb6r5m_ae7_aq.nml │ │ │ ├── RXNS_DATA_MODULE.F90 │ │ │ ├── RXNS_FUNC_MODULE.F90 │ │ │ ├── SpecDef_Conc_cb6r5m_ae7_aq.txt │ │ │ ├── SpecDef_Dep_cb6r5m_ae7_aq.txt │ │ │ ├── SpecDef_cb6r5m_ae7_aq.txt │ │ │ ├── mech_cb6r5m_ae7_aq.def │ │ │ └── pa_cb6r5m_ae7_aq.ctl │ │ ├── cracmm1_aq/ │ │ │ ├── AE_cracmm1_aq.nml │ │ │ ├── CMAQ_Control_DESID_cracmm1_aq.nml │ │ │ ├── CSQY_DATA_cracmm1_aq │ │ │ ├── GC_cracmm1_aq.nml │ │ │ ├── NR_cracmm1_aq.nml │ │ │ ├── RXNS_DATA_MODULE.F90 │ │ │ ├── RXNS_FUNC_MODULE.F90 │ │ │ ├── SpecDef_Conc_cracmm1_aq.txt │ │ │ ├── SpecDef_Dep_cracmm1_aq.txt │ │ │ ├── SpecDef_cracmm1_aq.txt │ │ │ ├── cracmm1_aq_speciesdescription.csv │ │ │ ├── mech_cracmm1_aq.def │ │ │ └── pa_cracmm1_aq.ctl │ │ ├── cracmm1amore_aq/ │ │ │ ├── CSQY_DATA_cracmm1amore_aq │ │ │ ├── GC_cracmm1amore_aq.nml │ │ │ ├── RXNS_DATA_MODULE.F90 │ │ │ ├── RXNS_FUNC_MODULE.F90 │ │ │ ├── SpecDef_Conc_cracmm1amore_aq.txt │ │ │ ├── SpecDef_Dep_cracmm1amore_aq.txt │ │ │ ├── SpecDef_cracmm1amore_aq.txt │ │ │ └── mech_cracmm1amore_aq.def │ │ ├── cracmm2/ │ │ │ ├── AE_cracmm2.nml │ │ │ ├── CMAQ_Control_DESID_cracmm2.nml │ │ │ ├── CSQY_DATA_cracmm2 │ │ │ ├── GC_cracmm2.nml │ │ │ ├── NR_cracmm2.nml │ │ │ ├── RXNS_DATA_MODULE.F90 │ │ │ ├── RXNS_FUNC_MODULE.F90 │ │ │ ├── SpecDef_Conc_cracmm2.txt │ │ │ ├── SpecDef_Dep_cracmm2.txt │ │ │ ├── SpecDef_cracmm2.txt │ │ │ ├── cracmm2_speciesdescription.csv │ │ │ ├── mech_cracmm2.def │ │ │ └── pa_cracmm2.ctl │ │ ├── mechanism_information/ │ │ │ ├── cb6r3_ae7_aq/ │ │ │ │ ├── AE7_species_table.md │ │ │ │ ├── NR7_species_table.md │ │ │ │ ├── cb6r3_ae7_aq_species_table.md │ │ │ │ └── mech_cb6r3_ae7_aq.md │ │ │ ├── cb6r5_ae7_aq/ │ │ │ │ ├── AE7_species_table.md │ │ │ │ ├── NR7_species_table.md │ │ │ │ ├── cb6r5_ae7_aq_species_table.md │ │ │ │ └── mech_cb6r5_ae7_aq.md │ │ │ ├── cb6r5hap_ae7_aq/ │ │ │ │ ├── cb6r5hap_ae7_aq_species_table.md │ │ │ │ └── mech_cb6r5hap_ae7_aq.md │ │ │ ├── cb6r5m_ae7_aq/ │ │ │ │ ├── AE7_species_table.md │ │ │ │ ├── NR7_species_table.md │ │ │ │ ├── cb6r5m_ae7_aq_species_table.md │ │ │ │ └── mech_cb6r5m_ae7_aq.md │ │ │ ├── cracmm1_aq/ │ │ │ │ ├── cracmm1_aq_species_table.md │ │ │ │ └── mech_cracmm1_aq.md │ │ │ ├── cracmm1amore_aq/ │ │ │ │ ├── cracmm1amore_aq_species_table.md │ │ │ │ └── mech_cracmm1amore_aq.md │ │ │ ├── cracmm2/ │ │ │ │ ├── cracmm2_species_table.md │ │ │ │ └── mech_cracmm2.md │ │ │ ├── racm2_ae6_aq/ │ │ │ │ ├── AE6_species_table.md │ │ │ │ ├── NR_species_table.md │ │ │ │ ├── mech_racm2_ae6_aq.md │ │ │ │ ├── racm2_ae6_aq_species_table.md │ │ │ │ └── racm2_ae6_aq_species_table_aerosol.md │ │ │ ├── saprc07tc_ae6_aq/ │ │ │ │ ├── AE6_species_table.md │ │ │ │ ├── NR_species_table.md │ │ │ │ ├── mech_saprc07tc_ae6_aq.md │ │ │ │ ├── saprc07tc_ae6_aq_species_table.md │ │ │ │ └── saprc07tc_ae6_aq_species_table_aerosol.md │ │ │ └── saprc07tic_ae7i_aq/ │ │ │ ├── AE7I_species_table.md │ │ │ ├── NR7_species_table.md │ │ │ ├── mech_saprc07tic_ae7i_aq.md │ │ │ ├── saprc07tic_ae6i_aq_species_table_aerosol.md │ │ │ └── saprc07tic_ae7i_aq_species_table.md │ │ ├── racm2_ae6_aq/ │ │ │ ├── AE_racm2_ae6_aq.nml │ │ │ ├── CMAQ_Control_DESID_racm2_ae6_aq.nml │ │ │ ├── CSQY_DATA_racm2_ae6_aq │ │ │ ├── GC_racm2_ae6_aq.nml │ │ │ ├── NR_racm2_ae6_aq.nml │ │ │ ├── RXNS_DATA_MODULE.F90 │ │ │ ├── RXNS_FUNC_MODULE.F90 │ │ │ ├── SpecDef_Dep_racm2_ae6_aq.txt │ │ │ ├── SpecDef_racm2_ae6_aq.txt │ │ │ ├── mech_racm2_ae6_aq.def │ │ │ └── pa_racm2_ae6_aq.ctl │ │ ├── saprc07tc_ae6_aq/ │ │ │ ├── AE_saprc07tc_ae6_aq.nml │ │ │ ├── CMAQ_Control_DESID_saprc07tc_ae6_aq.nml │ │ │ ├── CSQY_DATA_saprc07tc_ae6_aq │ │ │ ├── GC_saprc07tc_ae6_aq.nml │ │ │ ├── NR_saprc07tc_ae6_aq.nml │ │ │ ├── RXNS_DATA_MODULE.F90 │ │ │ ├── RXNS_FUNC_MODULE.F90 │ │ │ ├── SpecDef_Dep_saprc07tc_ae6_aq.txt │ │ │ ├── SpecDef_saprc07tc_ae6_aq.txt │ │ │ ├── mech_saprc07tc_ae6_aq.def │ │ │ └── pa_saprc07tc_ae6_aq.ctl │ │ ├── saprc07tic_ae7i_aq/ │ │ │ ├── AE_saprc07tic_ae7i_aq.nml │ │ │ ├── CMAQ_Control_DESID_saprc07tic_ae7i_aq.nml │ │ │ ├── CSQY_DATA_saprc07tic_ae7i_aq │ │ │ ├── GC_saprc07tic_ae7i_aq.nml │ │ │ ├── NR_saprc07tic_ae7i_aq.nml │ │ │ ├── RXNS_DATA_MODULE.F90 │ │ │ ├── RXNS_FUNC_MODULE.F90 │ │ │ ├── SpecDef_Dep_saprc07tic_ae7i_aq.txt │ │ │ ├── SpecDef_saprc07tic_ae7i_aq.txt │ │ │ ├── mech_saprc07tic_ae7i_aq.def │ │ │ └── pa_saprc07tic_ae7i_aq.ctl │ │ ├── saprc07tic_ae7i_aqkmt2/ │ │ │ ├── AE_saprc07tic_ae7i_aq.nml │ │ │ └── GC_saprc07tic_ae7i_aq.nml │ │ ├── trac0/ │ │ │ └── Species_Table_TR_0.nml │ │ └── trac1/ │ │ └── Species_Table_TR_1.nml │ ├── PARIO/ │ │ ├── PIOGRID.EXT │ │ ├── PIOVARS.EXT │ │ ├── alloc_data_mod.f │ │ ├── get_write_map.f │ │ ├── parutilio.f │ │ ├── pio_init.f │ │ ├── piomaps_mod.f │ │ ├── pm3err.f │ │ ├── pm3exit.f │ │ ├── pm3warn.f │ │ ├── pshut3.F │ │ ├── ptrwrite3.f │ │ ├── pwrgrdd.f │ │ ├── pwrite3.f │ │ ├── subdmap.f │ │ └── wrsubdmap.f │ ├── STENEX/ │ │ ├── noop/ │ │ │ ├── noop_comm_module.f │ │ │ ├── noop_data_copy_module.f │ │ │ ├── noop_gather_module.f │ │ │ ├── noop_global_max_module.f │ │ │ ├── noop_global_min_module.f │ │ │ ├── noop_global_sum_module.f │ │ │ ├── noop_init_module.f │ │ │ ├── noop_modules.f │ │ │ ├── noop_slice_module.f │ │ │ ├── noop_term_module.f │ │ │ └── noop_util_module.f │ │ └── se/ │ │ ├── se_bndy_copy_info_ext.f │ │ ├── se_bndy_copy_module.f │ │ ├── se_comm_info_ext.f │ │ ├── se_comm_module.f │ │ ├── se_data_copy_module.f │ │ ├── se_data_recv_module.f │ │ ├── se_data_send_module.f │ │ ├── se_disp_info_ext.f │ │ ├── se_domain_info_ext.f │ │ ├── se_gather_module.f │ │ ├── se_global_bcast_module.f │ │ ├── se_global_gather_module.f │ │ ├── se_global_max_module.f │ │ ├── se_global_min_module.f │ │ ├── se_global_sum_module.f │ │ ├── se_init_module.F │ │ ├── se_internal_util_module.f │ │ ├── se_modules.f │ │ ├── se_pe_info_ext.f │ │ ├── se_reconfig_grid_info_ext.f │ │ ├── se_reconfig_grid_module.f │ │ ├── se_slice_module.f │ │ ├── se_subgrid_info_ext.f │ │ ├── se_term_module.f │ │ ├── se_twoway_comm_module.f │ │ └── se_util_module.f │ ├── aero/ │ │ └── aero6/ │ │ ├── AEROMET_DATA.F │ │ ├── AEROSOL_CHEMISTRY.F │ │ ├── AERO_BUDGET.F │ │ ├── AERO_DATA.F │ │ ├── AERO_EMIS.F │ │ ├── PRECURSOR_DATA.F │ │ ├── README.md │ │ ├── SOA_DEFN.F │ │ ├── aero_driver.F │ │ ├── aero_nml_modes.F │ │ ├── aero_subs.F │ │ ├── coags.f │ │ ├── getpar.f │ │ ├── isocom.f │ │ ├── isofwd.f │ │ ├── isorev.f │ │ └── isrpia.inc │ ├── biog/ │ │ ├── beis4/ │ │ │ ├── beis.F │ │ │ ├── checkmem.F │ │ │ ├── chkgrid.F │ │ │ ├── czangle.F │ │ │ ├── getparb.f │ │ │ ├── gspro_biogenics.txt │ │ │ ├── hrno.F │ │ │ ├── parsline.f │ │ │ ├── tmpbeis.F │ │ │ └── wrdaymsg.f │ │ └── megan3/ │ │ ├── BDSNP_MOD.F │ │ ├── MAP_CV2CB05.EXT │ │ ├── MAP_CV2CB6.EXT │ │ ├── MAP_CV2CB6_AE7.EXT │ │ ├── MAP_CV2CRACMM1.EXT │ │ ├── MAP_CV2CRACMM2.EXT │ │ ├── MAP_CV2RACM2.EXT │ │ ├── MAP_CV2SAPRC07.EXT │ │ ├── MAP_CV2SAPRC07T.EXT │ │ ├── MEGAN_DEFN.F │ │ ├── SPC_CB05.EXT │ │ ├── SPC_CB6.EXT │ │ ├── SPC_CB6_AE7.EXT │ │ ├── SPC_CRACMM1.EXT │ │ ├── SPC_CRACMM2.EXT │ │ ├── SPC_NOCONVER.EXT │ │ ├── SPC_RACM2.EXT │ │ ├── SPC_SAPRC07.EXT │ │ ├── SPC_SAPRC07T.EXT │ │ ├── megan_fx_mod.f90 │ │ ├── megan_gspro.F │ │ └── megan_hrno_mod.F │ ├── cio/ │ │ ├── centralized_io_module.F │ │ └── centralized_io_util_module.F │ ├── cloud/ │ │ ├── acm_ae6/ │ │ │ ├── AQ_DATA.F │ │ │ ├── acmcld.f │ │ │ ├── aq_map.F │ │ │ ├── aqchem.F │ │ │ ├── cldproc_acm.F │ │ │ ├── convcld_acm.F │ │ │ ├── getalpha.F │ │ │ ├── hlconst.F │ │ │ ├── indexn.f │ │ │ ├── opwdep.F │ │ │ ├── rescld.F │ │ │ └── scavwdep.F │ │ ├── acm_ae6_mp/ │ │ │ ├── AQ_DATA.F │ │ │ ├── aq_map.F │ │ │ ├── aqchem.F │ │ │ ├── cldproc_acm.F │ │ │ ├── convcld_acm.F │ │ │ ├── hg_aqchem_data.F │ │ │ └── rescld.F │ │ └── acm_ae7_kmt2/ │ │ ├── AQ_DATA.F │ │ ├── aqchem_Function.F90 │ │ ├── aqchem_Global.F90 │ │ ├── aqchem_Initialize.F90 │ │ ├── aqchem_Integrator.F90 │ │ ├── aqchem_Jacobian.F90 │ │ ├── aqchem_JacobianSP.F90 │ │ ├── aqchem_LinearAlgebra.F90 │ │ ├── aqchem_Model.F90 │ │ ├── aqchem_Parameters.F90 │ │ ├── aqchem_Precision.F90 │ │ ├── aqchem_Rates.F90 │ │ └── aqchem_kmt.F90 │ ├── couple/ │ │ ├── gencoor_local_cons/ │ │ │ └── couple.F │ │ └── gencoor_wrf_cons/ │ │ └── couplewrf.F │ ├── ddm3d/ │ │ ├── AERO_DDM3D.F │ │ ├── AQCHEM_DDM3D.EXT │ │ ├── DDM3D_CHEM.F │ │ ├── DDM3D_DEFN.F │ │ ├── MECHANISM_FUNCTIONS.F │ │ ├── S_PCGRID_DEFN.F │ │ ├── aero_sens_calc1.F │ │ ├── aero_sens_calc2.F │ │ ├── aero_sens_data.inc │ │ ├── aero_sens_driver.F │ │ ├── dact.inc │ │ ├── load_sengrid.F │ │ ├── opasens.F │ │ ├── s_lu.F │ │ ├── s_zfdbc.f │ │ ├── sinput.F │ │ ├── wr_asens.F │ │ └── wr_sengrid.F │ ├── depv/ │ │ ├── m3dry/ │ │ │ ├── ABFLUX_MOD.F │ │ │ ├── BIDI_MOD.F │ │ │ ├── DEPVVARS.F │ │ │ ├── DEPV_DEFN.F │ │ │ ├── HGSIM.F │ │ │ ├── LSM_MOD.F │ │ │ ├── cgrid_depv.F │ │ │ ├── depv_data_module.F │ │ │ ├── gas_depv_map.F │ │ │ ├── m3dry.F │ │ │ └── opdepv_diag.F │ │ └── stage/ │ │ ├── BIDI_MOD.F │ │ ├── CMAQ_Control_STAGE.nml │ │ ├── DEPV_DEFN.F │ │ ├── HGSIM.F │ │ ├── LSM_MOD.F │ │ ├── MOSAIC_MOD.F │ │ ├── NH3_BIDI_MOD.F │ │ ├── STAGE_DATA.F │ │ ├── STAGE_FUNCTIONS.F │ │ ├── STAGE_MOD.F │ │ ├── STAGE_OUTPUT.F │ │ └── depv_data_module.F │ ├── diag/ │ │ └── vertext_module.F │ ├── driver/ │ │ ├── AVG_CONC.F │ │ ├── ELMO_DATA.F │ │ ├── ELMO_PROC.F │ │ ├── STD_CONC.F │ │ ├── WVEL_DEFN.F │ │ ├── advstep.F │ │ ├── cmaq_main.F │ │ ├── driver.F │ │ ├── hveloc.F │ │ ├── sciproc.F │ │ ├── wr_aconc.F │ │ ├── wr_cgrid.F │ │ ├── wr_conc.F │ │ └── wr_init.F │ ├── emis/ │ │ └── emis/ │ │ ├── BEIS_DEFN.F │ │ ├── BIOG_EMIS.F │ │ ├── CMAQ_Control_DESID.nml │ │ ├── DUST_EMIS.F │ │ ├── LTNG_DEFN.F │ │ ├── LUS_DEFN.F │ │ ├── MGEMIS.F │ │ ├── PT3D_DEFN.F │ │ ├── PTBILIN.F │ │ ├── PTMET.F │ │ ├── SSEMIS.F │ │ ├── STK_EMIS.F │ │ ├── STK_PRMS.F │ │ ├── UDTYPES.F │ │ ├── biog_emis_param_module.F │ │ ├── desid_module.F │ │ ├── desid_param_module.F │ │ ├── desid_util.F │ │ ├── desid_vars.F │ │ ├── lus_data_module.F │ │ └── stack_group_data_module.F │ ├── gas/ │ │ ├── ebi_cb6r3_ae7_aq/ │ │ │ ├── hrdata_mod.F │ │ │ ├── hrdriver.F │ │ │ ├── hrg1.F │ │ │ ├── hrg2.F │ │ │ ├── hrg3.F │ │ │ ├── hrg4.F │ │ │ ├── hrinit.F │ │ │ ├── hrprodloss.F │ │ │ ├── hrrates.F │ │ │ └── hrsolver.F │ │ ├── ebi_cb6r5_ae7_aq/ │ │ │ ├── hrdata_mod.F │ │ │ ├── hrdriver.F │ │ │ ├── hrg1.F │ │ │ ├── hrg2.F │ │ │ ├── hrg3.F │ │ │ ├── hrg4.F │ │ │ ├── hrinit.F │ │ │ ├── hrprodloss.F │ │ │ ├── hrrates.F │ │ │ └── hrsolver.F │ │ ├── ebi_cb6r5m_ae7_aq/ │ │ │ ├── hrdata_mod.F │ │ │ ├── hrdriver.F │ │ │ ├── hrg1.F │ │ │ ├── hrg2.F │ │ │ ├── hrg3.F │ │ │ ├── hrg4.F │ │ │ ├── hrinit.F │ │ │ ├── hrprodloss.F │ │ │ ├── hrrates.F │ │ │ └── hrsolver.F │ │ ├── ebi_cracmm1_aq/ │ │ │ ├── hrdata_mod.F │ │ │ ├── hrdriver.F │ │ │ ├── hrg1.F │ │ │ ├── hrg2.F │ │ │ ├── hrg3.F │ │ │ ├── hrg4.F │ │ │ ├── hrinit.F │ │ │ ├── hrprodloss.F │ │ │ ├── hrrates.F │ │ │ └── hrsolver.F │ │ ├── ebi_cracmm1amore_aq/ │ │ │ ├── hrdata_mod.F │ │ │ ├── hrdriver.F │ │ │ ├── hrg1.F │ │ │ ├── hrg2.F │ │ │ ├── hrg3.F │ │ │ ├── hrg4.F │ │ │ ├── hrinit.F │ │ │ ├── hrprodloss.F │ │ │ ├── hrrates.F │ │ │ └── hrsolver.F │ │ ├── ebi_cracmm2/ │ │ │ ├── hrdata_mod.F │ │ │ ├── hrdriver.F │ │ │ ├── hrg1.F │ │ │ ├── hrg2.F │ │ │ ├── hrg3.F │ │ │ ├── hrg4.F │ │ │ ├── hrinit.F │ │ │ ├── hrprodloss.F │ │ │ ├── hrrates.F │ │ │ └── hrsolver.F │ │ ├── ebi_racm2_ae6_aq/ │ │ │ ├── hrdata_mod.F │ │ │ ├── hrdriver.F │ │ │ ├── hrg1.F │ │ │ ├── hrg2.F │ │ │ ├── hrg3.F │ │ │ ├── hrg4.F │ │ │ ├── hrinit.F │ │ │ ├── hrprodloss.F │ │ │ ├── hrrates.F │ │ │ └── hrsolver.F │ │ ├── ebi_saprc07tc_ae6_aq/ │ │ │ ├── hrdata_mod.F │ │ │ ├── hrdriver.F │ │ │ ├── hrg1.F │ │ │ ├── hrg2.F │ │ │ ├── hrg3.F │ │ │ ├── hrg4.F │ │ │ ├── hrinit.F │ │ │ ├── hrprodloss.F │ │ │ ├── hrrates.F │ │ │ └── hrsolver.F │ │ ├── ebi_saprc07tic_ae7i_aq/ │ │ │ ├── hrdata_mod.F │ │ │ ├── hrdriver.F │ │ │ ├── hrg1.F │ │ │ ├── hrg2.F │ │ │ ├── hrg3.F │ │ │ ├── hrg4.F │ │ │ ├── hrinit.F │ │ │ ├── hrprodloss.F │ │ │ ├── hrrates.F │ │ │ └── hrsolver.F │ │ ├── ros3/ │ │ │ ├── rbdata_mod.F │ │ │ ├── rbdecomp.F │ │ │ ├── rbdriver.F │ │ │ ├── rbfeval.F │ │ │ ├── rbinit.F │ │ │ ├── rbjacob.F │ │ │ ├── rbsolve.F │ │ │ ├── rbsolver.F │ │ │ └── rbsparse.F │ │ └── smvgear/ │ │ ├── GRVARS.F │ │ ├── grbacksub.F │ │ ├── grdecomp.F │ │ ├── grdriver.F │ │ ├── grinit.F │ │ ├── grpderiv.F │ │ ├── grsmvgear.F │ │ ├── grsprse.F │ │ └── grsubfun.F │ ├── grid/ │ │ └── cartesian/ │ │ ├── GRID_CONF.F │ │ ├── HGRD_DEFN.F │ │ ├── PAGRD_DEFN.F │ │ ├── PCGRID_DEFN.F │ │ └── VGRD_DEFN.F │ ├── hadv/ │ │ └── ppm/ │ │ ├── advbc_map.F │ │ ├── hadvppm.F │ │ ├── hcontvel.F │ │ ├── hppm.F │ │ ├── rdbcon.F │ │ ├── x_ppm.F │ │ ├── xy_budget.F │ │ ├── y_ppm.F │ │ └── zfdbc.f │ ├── hdiff/ │ │ └── multiscale/ │ │ ├── deform.F │ │ ├── hcdiff3d.F │ │ ├── hdiff.F │ │ └── rho_j.F │ ├── init/ │ │ ├── diffmsg.F │ │ ├── flcheck.F │ │ ├── grdcheck.F │ │ ├── initscen.F │ │ ├── load_cgrid.F │ │ ├── opaconc.F │ │ └── opconc.F │ ├── isam/ │ │ ├── PISAM_DEFN.F │ │ ├── SA_DEFN.F │ │ ├── SA_IRR_DEFN.F │ │ ├── SA_WRAP_AE.F │ │ ├── op_sa.F │ │ ├── sa_array_init.F │ │ ├── sa_dim.F │ │ ├── sa_matrix1.f │ │ ├── sa_opwddep.F │ │ ├── sa_tri.f │ │ ├── wr_avg_sa.F │ │ ├── wr_sa.F │ │ └── wr_sa_cgrid.F │ ├── par/ │ │ ├── mpi/ │ │ │ ├── distr_env.c │ │ │ └── mpcomm_init.F │ │ └── par_noop/ │ │ ├── par_init_noop.F │ │ └── par_term_noop.F │ ├── phot/ │ │ ├── inline/ │ │ │ ├── AERO_PHOTDATA.F │ │ │ ├── CLOUD_OPTICS.F │ │ │ ├── CSQY_DATA.F │ │ │ ├── PHOTOLYSIS_ALBEDO.F │ │ │ ├── PHOT_MET_DATA.F │ │ │ ├── PHOT_MOD.F │ │ │ ├── SEAS_STRAT_O3_MIN.F │ │ │ ├── complex_number_module.F90 │ │ │ ├── concld_prop_acm.F │ │ │ ├── o3totcol.f │ │ │ ├── opphot.F │ │ │ ├── phot.F │ │ │ └── wrf_fast_mie.F │ │ └── table/ │ │ ├── PHOT_MOD.F │ │ ├── opphot.F │ │ └── phot.F │ ├── plrise/ │ │ └── smoke/ │ │ ├── delta_zs.f │ │ ├── fire_plmris.F │ │ ├── openlayout.F │ │ ├── oppt3d_diag.F │ │ ├── plmris.F │ │ ├── plsprd.f │ │ ├── preplm.f │ │ └── write3_distr.F │ ├── procan/ │ │ └── pa/ │ │ ├── PA_DEFN.F │ │ ├── PA_GLOBAL.F │ │ ├── PA_IPRVARS.F │ │ ├── PA_IRR_CTL.F │ │ ├── PA_IRR_module.F │ │ ├── PA_PARSE.F │ │ ├── PA_VARS.F │ │ ├── budget_defn.F │ │ ├── pa_compmech.F │ │ ├── pa_datagen.F │ │ ├── pa_errcheck.F │ │ ├── pa_getcoef.F │ │ ├── pa_getcycle.F │ │ ├── pa_getdesc.F │ │ ├── pa_getfamily.F │ │ ├── pa_getiprout.F │ │ ├── pa_getirrout.F │ │ ├── pa_getrxns.F │ │ ├── pa_getrxnsum.F │ │ ├── pa_init.F │ │ ├── pa_mkhdr.F │ │ ├── pa_molcloss.F │ │ ├── pa_molcprod.F │ │ ├── pa_output.F │ │ ├── pa_read.F │ │ ├── pa_report.F │ │ ├── pa_setup_ipr.F │ │ ├── pa_setup_irr.F │ │ ├── pa_update.F │ │ └── pa_wrtpadefn.F │ ├── pv_o3/ │ │ └── pvo3.F │ ├── reactive_tracers/ │ │ ├── DEGRADE_PARAMETERS.F │ │ ├── DEGRADE_ROUTINES.F │ │ └── DEGRADE_SETUP_TOX.F │ ├── spcs/ │ │ ├── cgrid_spcs_icl/ │ │ │ └── CGRID_SPCS.F │ │ └── cgrid_spcs_nml/ │ │ ├── CGRID_SPCS.F │ │ └── CGRID_SPCS_TYPES.F │ ├── stm/ │ │ ├── STM_MODULE.F │ │ └── STM_VARS.F │ ├── twoway/ │ │ ├── twoway_aqprep.F90 │ │ ├── twoway_aqprep_util.F90 │ │ ├── twoway_cgrid_aerosol_spc_map_module.F90 │ │ ├── twoway_data_module.F90 │ │ ├── twoway_feedback.F90 │ │ ├── twoway_header_data_module.F90 │ │ ├── twoway_init_env_vars.F90 │ │ ├── twoway_met_param_module.F90 │ │ ├── twoway_rrtmg_aero_optics.F90 │ │ ├── twoway_sd_time_series.F90 │ │ └── twoway_util_module.F90 │ ├── util/ │ │ └── util/ │ │ ├── CMAQ_Control_Misc.nml │ │ ├── RUNTIME_VARS.F │ │ ├── UTILIO_DEFN.F │ │ ├── cksummer.F │ │ ├── findex.f │ │ ├── get_env_mod.F90 │ │ ├── log_header.F │ │ ├── lstepf.F │ │ ├── setup_logdev.F │ │ ├── subhdomain.F │ │ ├── subhfile.F │ │ └── util_family_module.F │ ├── vadv/ │ │ ├── local_cons/ │ │ │ ├── vppm.F │ │ │ └── zadvyppm.F │ │ └── wrf_cons/ │ │ └── zadvppmwrf.F │ └── vdiff/ │ ├── acm2_m3dry/ │ │ ├── ASX_DATA_MOD.F │ │ ├── SEDIMENTATION.F │ │ ├── VDIFF_DATA.F │ │ ├── VDIFF_DIAG.F │ │ ├── VDIFF_MAP.F │ │ ├── aero_depv.F │ │ ├── aero_sedv.F │ │ ├── conv_cgrid.F │ │ ├── eddyx.F │ │ ├── matrix1.F │ │ ├── opddep.F │ │ ├── tri.F │ │ ├── vdiffacmx.F │ │ └── vdiffproc.F │ └── acm2_stage/ │ ├── ASX_DATA_MOD.F │ ├── VDIFF_MAP.F │ ├── opddep.F │ ├── opddep_mos.F │ ├── vdiffacmx.F │ └── vdiffproc.F ├── DOCS/ │ ├── CMAQ-Bugfix-Branch.md │ ├── CMAQ_Data.md │ ├── Community_Support.md │ ├── Developers_Guide/ │ │ ├── CMAQ_Dev_Guide.md │ │ ├── Code_Management.md │ │ └── readme.pandoc │ ├── Getting_Started.md │ ├── Logos/ │ │ └── README.md │ ├── README.md │ ├── Release_FAQ/ │ │ ├── CMAQv5.4-Series-FAQ.md │ │ ├── CMAQv5.5-Series-FAQ.md │ │ └── README.md │ ├── Release_Notes/ │ │ ├── CMAQ-Release-Notes:-Chemistry.md │ │ ├── CMAQ-Release-Notes:-Chemistry:-Aerosol-Dynamics.md │ │ ├── CMAQ-Release-Notes:-Chemistry:-Aqueous-Chemistry-Scavenging-and-Wet-Deposition.md │ │ ├── CMAQ-Release-Notes:-Chemistry:-Carbon-Bond-6-Mechanism-(CB6)-with-Detailed-Marine-Halogen-Chemistry.md │ │ ├── CMAQ-Release-Notes:-Chemistry:-Carbon-Bond-6-Mechanism-(CB6)-with-Hazardous-Air-Pollutants.md │ │ ├── CMAQ-Release-Notes:-Chemistry:-Carbon-Bond-6-Mechanism-(CB6).md │ │ ├── CMAQ-Release-Notes:-Chemistry:-Community-Regional-Atmospheric-Chemistry-Multiphase-Mechanism-(CRACMM).md │ │ ├── CMAQ-Release-Notes:-Chemistry:-Gas-Phase-Chem-Solvers.md │ │ ├── CMAQ-Release-Notes:-Chemistry:-Photolysis.md │ │ ├── CMAQ-Release-Notes:-Chemistry:-Regional-Atmospheric-Chemistry-Mechanism-(RACM).md │ │ ├── CMAQ-Release-Notes:-Chemistry:-State-Air-Pollution-Research-Center-(SAPRC).md │ │ ├── CMAQ-Release-Notes:-Diagnostic-Options.md │ │ ├── CMAQ-Release-Notes:-Dry-Deposition-Air-Surface-Exchange.md │ │ ├── CMAQ-Release-Notes:-Dry-Deposition-Air-Surface-Exchange:-Generalized-Changes.md │ │ ├── CMAQ-Release-Notes:-Dry-Deposition-Air-Surface-Exchange:-M3DRY.md │ │ ├── CMAQ-Release-Notes:-Dry-Deposition-Air-Surface-Exchange:-Surface-Tiled-Aerosol-and-Gaseous-Exchange-(STAGE).md │ │ ├── CMAQ-Release-Notes:-Emissions-Updates.md │ │ ├── CMAQ-Release-Notes:-Emissions-Updates:-BEIS-Biogenic-Emissions.md │ │ ├── CMAQ-Release-Notes:-Emissions-Updates:-Detailed-Emissions-Scaling-Isolation-and-Diagnostics-Module-(DESID).md │ │ ├── CMAQ-Release-Notes:-Emissions-Updates:-Environmental-Policy-Integrated-Climate-(EPIC)-Model.md │ │ ├── CMAQ-Release-Notes:-Emissions-Updates:-Gridded-Emissions.md │ │ ├── CMAQ-Release-Notes:-Emissions-Updates:-Lightning-Emissions.md │ │ ├── CMAQ-Release-Notes:-Emissions-Updates:-Marine-Gas-Emissions.md │ │ ├── CMAQ-Release-Notes:-Emissions-Updates:-Model-of-Emissions-of-Gases-and-Aerosols-from-Nature-(MEGAN)-Biogenic-Emissions.md │ │ ├── CMAQ-Release-Notes:-Emissions-Updates:-Point-Source-Emissions.md │ │ ├── CMAQ-Release-Notes:-Emissions-Updates:-Sea-Spray-Aerosol-Emissions.md │ │ ├── CMAQ-Release-Notes:-Emissions-Updates:-Wind-Blown-Dust-Emissions.md │ │ ├── CMAQ-Release-Notes:-Instrumented-Models.md │ │ ├── CMAQ-Release-Notes:-Instrumented-Models:-CMAQ-DDM3D.md │ │ ├── CMAQ-Release-Notes:-Instrumented-Models:-CMAQ-ISAM.md │ │ ├── CMAQ-Release-Notes:-MPAS-CMAQ-Coupled-Model.md │ │ ├── CMAQ-Release-Notes:-PYTOOLS.md │ │ ├── CMAQ-Release-Notes:-Postprocessors.md │ │ ├── CMAQ-Release-Notes:-Preprocessors.md │ │ ├── CMAQ-Release-Notes:-Process-Analysis-&-Sulfur-Tracking-Model-(STM).md │ │ ├── CMAQ-Release-Notes:-Stratospheric‐Tropospheric-Exchange-(STE).md │ │ ├── CMAQ-Release-Notes:-Structural-Improvements.md │ │ ├── CMAQ-Release-Notes:-Transport-Processes.md │ │ ├── CMAQ-Release-Notes:-Utilities.md │ │ ├── CMAQ-Release-Notes:-WRF-CMAQ-Coupled-Model.md │ │ └── README.md │ └── Users_Guide/ │ ├── Appendix/ │ │ ├── CMAQ_UG_appendixA_model_options.md │ │ ├── CMAQ_UG_appendixB_emissions_control.md │ │ ├── CMAQ_UG_appendixC_spatial_data.md │ │ ├── CMAQ_UG_appendixD_parallel_implementation.md │ │ ├── CMAQ_UG_appendixE_configuring_WRF.md │ │ ├── CMAQ_UG_appendixF_elmo_output.md │ │ └── README.md │ ├── CMAQ_UG_ch01_overview.md │ ├── CMAQ_UG_ch02_program_structure.md │ ├── CMAQ_UG_ch03_preparing_compute_environment.md │ ├── CMAQ_UG_ch04_model_inputs.md │ ├── CMAQ_UG_ch05_running_a_simulation.md │ ├── CMAQ_UG_ch06_model_configuration_options.md │ ├── CMAQ_UG_ch07_model_outputs.md │ ├── CMAQ_UG_ch08_analysis_tools.md │ ├── CMAQ_UG_ch09_process_analysis.md │ ├── CMAQ_UG_ch10_HDDM-3D.md │ ├── CMAQ_UG_ch11_ISAM.md │ ├── CMAQ_UG_ch12_sulfur_tracking.md │ ├── CMAQ_UG_ch13_WRF-CMAQ.md │ ├── CMAQ_UG_ch14_MPAS-CMAQ.md │ ├── CMAQ_UG_tables_figures.md │ ├── README.md │ ├── Tutorials/ │ │ ├── CMAQ_UG_tutorial_CRACMM.md │ │ ├── CMAQ_UG_tutorial_DDM3D.md │ │ ├── CMAQ_UG_tutorial_HCMAQ_IC_BC.md │ │ ├── CMAQ_UG_tutorial_ISAM.md │ │ ├── CMAQ_UG_tutorial_MPAS-CMAQ_Benchmark_gcc.md │ │ ├── CMAQ_UG_tutorial_MPAS-CMAQ_Benchmark_intel.md │ │ ├── CMAQ_UG_tutorial_WRF-CMAQ_Benchmark.md │ │ ├── CMAQ_UG_tutorial_benchmark.md │ │ ├── CMAQ_UG_tutorial_benchmark_cracmm2_stage.md │ │ ├── CMAQ_UG_tutorial_build_library_gcc.md │ │ ├── CMAQ_UG_tutorial_build_library_gcc_support_nc4.md │ │ ├── CMAQ_UG_tutorial_build_library_intel.md │ │ ├── CMAQ_UG_tutorial_build_library_intel_support_nc4.md │ │ ├── CMAQ_UG_tutorial_chemicalmechanism.md │ │ ├── CMAQ_UG_tutorial_configure_linux_environment.md │ │ ├── CMAQ_UG_tutorial_debug.md │ │ ├── CMAQ_UG_tutorial_emissions.md │ │ ├── CMAQ_UG_tutorial_oceanfile.md │ │ ├── CMAQ_UG_tutorial_run_time.md │ │ ├── CMAQ_UG_tutorial_running_benchmarks.md │ │ ├── CMAQ_UG_tutorial_tracers.md │ │ ├── README.md │ │ └── scripts/ │ │ ├── cmaq_libraries/ │ │ │ ├── gcc9.1_install_cmaq55_cb6r5_m3dry_for_nc4_compression.csh │ │ │ ├── gcc9.1_install_ioapi_for_nc4_compression.csh │ │ │ ├── gcc9.1_install_netcdf_for_nc4_compression.csh │ │ │ ├── gcc_11.4_install_cmaq55_cb6r5_m3dry_classic.csh │ │ │ ├── gcc_11.4_install_cmaq55_cb6r5_m3dry_for_nc4_compression.csh │ │ │ ├── gcc_11.4_install_ioapi_classic.csh │ │ │ ├── gcc_11.4_install_ioapi_for_nc4_compression.csh │ │ │ ├── gcc_11.4_install_netcdf_classic.csh │ │ │ ├── gcc_11.4_install_netcdf_for_nc4_compression.csh │ │ │ ├── intel_18.2_install_cmaq55_cb6r5_m3dry_classic.csh │ │ │ ├── intel_18.2_install_cmaq55_cb6r5_m3dry_for_nc4_compression.csh │ │ │ ├── intel_18.2_install_ioapi_classic.csh │ │ │ ├── intel_18.2_install_ioapi_for_nc4_compression.csh │ │ │ ├── intel_18.2_install_netcdf_classic.csh │ │ │ ├── intel_18.2_install_netcdf_for_nc4_compression.csh │ │ │ ├── intel_20.2_install_cmaq55_cb6r5_m3dry_for_nc4_compression.csh │ │ │ ├── intel_20.2_install_ioapi_for_nc4_compression.csh │ │ │ ├── intel_20.2_install_netcdf_for_nc4_compression.csh │ │ │ ├── intel_2024_install_cmaq55_cb6r5_m3dry_for_nc4_compression.csh │ │ │ ├── intel_2024_install_ioapi_for_nc4_compression.csh │ │ │ └── intel_2024_install_netcdf_for_nc4_compression.csh │ │ └── mpas-cmaq_libraries/ │ │ ├── iolib_installation_gcc11.4.1.sh │ │ ├── iolib_installation_gcc9.1.sh │ │ ├── iolib_installation_intel_18.2.sh │ │ ├── iolib_installation_intel_20.2.sh │ │ └── iolib_installation_intel_2024.2.1.sh │ ├── filter/ │ │ └── comments.py │ ├── readme.pandoc │ └── templates/ │ ├── mytemplate.tex │ ├── mytemplate.tex.sv │ └── template.markdown ├── POST/ │ ├── README.md │ ├── calc_tmetric/ │ │ ├── README.md │ │ ├── scripts/ │ │ │ ├── bldit_calc_tmetric.csh │ │ │ └── run_calc_tmetric.csh │ │ └── src/ │ │ ├── calc_tmetric.F │ │ ├── ck_ctms.F │ │ ├── module_file.F │ │ ├── module_grid.F │ │ ├── module_spec.F │ │ ├── module_tstep.F │ │ └── parser.F │ ├── combine/ │ │ ├── README.md │ │ ├── scripts/ │ │ │ ├── bldit_combine.csh │ │ │ ├── run_combine.csh │ │ │ └── spec_def_files/ │ │ │ └── linkem │ │ └── src/ │ │ ├── combine.F │ │ ├── module_evaluator.F │ │ ├── module_file.F │ │ ├── module_specdef.F │ │ └── utils.F │ ├── hr2day/ │ │ ├── README.md │ │ ├── inputs/ │ │ │ ├── tz.csv │ │ │ └── tz_legacy.csv │ │ ├── scripts/ │ │ │ ├── bldit_hr2day.csh │ │ │ └── run_hr2day.csh │ │ └── src/ │ │ ├── ck_ctms.F │ │ ├── getTZ.F │ │ ├── hr2day.F │ │ ├── module_envvar.F │ │ ├── module_evaluator.F │ │ ├── module_file.F │ │ ├── module_grid.F │ │ ├── module_spec.F │ │ ├── module_tstep.F │ │ └── parser.F │ ├── sitecmp/ │ │ ├── README.md │ │ ├── scripts/ │ │ │ ├── README.md │ │ │ ├── bldit_sitecmp.csh │ │ │ ├── run_sitecmp_AQS_Daily.csh │ │ │ ├── run_sitecmp_AQS_Hourly.csh │ │ │ ├── run_sitecmp_CSN.csh │ │ │ ├── run_sitecmp_IMPROVE.csh │ │ │ ├── run_sitecmp_NADP.csh │ │ │ └── run_sitecmp_SEARCH_Hourly.csh │ │ └── src/ │ │ ├── ck_ctms.F │ │ ├── get_gridval.F │ │ ├── get_units.F │ │ ├── module_envvar.F │ │ ├── module_file.F │ │ ├── module_grid.F │ │ ├── module_sites.F │ │ ├── module_spec.F │ │ ├── module_tstep.F │ │ ├── parser.F │ │ ├── process.F │ │ └── sitecmp.F │ ├── sitecmp_dailyo3/ │ │ ├── README.md │ │ ├── scripts/ │ │ │ ├── bldit_sitecmp_dailyo3.csh │ │ │ ├── run_sitecmp_dailyo3_AQS.csh │ │ │ └── run_sitecmp_dailyo3_CASTNET.csh │ │ └── src/ │ │ ├── ck_ctms.F │ │ ├── get_units.F │ │ ├── module_envvar.F │ │ ├── module_file.F │ │ ├── module_grid.F │ │ ├── module_sites.F │ │ ├── module_spec.F │ │ ├── module_tstep.F │ │ ├── parser.F │ │ ├── process.F │ │ ├── sitecmp_dailyo3.F │ │ └── utilities.F │ └── writesite/ │ ├── README.md │ ├── inputs/ │ │ ├── sites.txt │ │ └── tz.csv │ ├── outputs/ │ │ └── O3.csv │ ├── scripts/ │ │ ├── bldit_writesite.csh │ │ └── run_writesite.csh │ └── src/ │ ├── getTZ.F │ ├── module_site.F │ ├── module_spec.F │ ├── parser.F │ └── writesite.F ├── PREP/ │ ├── README.md │ ├── bcon/ │ │ ├── README.md │ │ ├── map2mech/ │ │ │ ├── SpecDef_cracmm1_aq_derived_from_cb6r5m_ae7_aq.txt │ │ │ ├── SpecDef_cracmm2_derived_from_cb6r5m_ae7_aq.txt │ │ │ ├── SpecDef_racm2_ae6_aq_derived_from_cb6r3m_ae7_kmtbr.txt │ │ │ ├── SpecDef_racm_ae6_aq_derived_from_cb6r3m_ae7_kmtbr.txt │ │ │ ├── SpecDef_saprc07tc_ae6_aq_derived_from_cb6r3m_ae7_kmtbr.txt │ │ │ ├── SpecDef_saprc07tic_ae7i_aq_derived_from_cb6r3m_ae7_kmtbr.txt │ │ │ └── run_combine_mechanism_mapping.csh │ │ ├── scripts/ │ │ │ ├── bldit_bcon.csh │ │ │ └── run_bcon.csh │ │ └── src/ │ │ ├── common/ │ │ │ ├── BC_PARMS.F │ │ │ ├── HGRD_DEFN.F │ │ │ ├── VGRD_DEFN.F │ │ │ ├── bcon.F │ │ │ ├── findex.F │ │ │ ├── lat_lon.F │ │ │ ├── lr_interp.F │ │ │ └── opn_bc_file.F │ │ ├── m3conc/ │ │ │ ├── m3_bcout.F │ │ │ ├── m3_ck_bdy.F │ │ │ ├── m3_ck_ctms.F │ │ │ ├── m3_ck_met.F │ │ │ ├── m3_driver.F │ │ │ └── m3_vinterp.F │ │ ├── profile/ │ │ │ ├── avprofile_cb6r3m_ae7_kmtbr_hemi2016_v53beta2_m3dry_col051_row068.csv │ │ │ ├── avprofile_racm_ae6_aq_derived_from_cb6r3m_ae7_kmtbr_hemi2016_v53beta2_m3dry_col051_row068.csv │ │ │ ├── avprofile_saprc07tc_ae6_aq_derived_from_cb6r3m_ae7_kmtbr_hemi2016_v53beta2_m3dry_col051_row068.csv │ │ │ ├── avprofile_saprc07tic_ae7i_aq_derived_from_cb6r3m_ae7_kmtbr_hemi2016_v53beta2_m3dry_col051_row068.csv │ │ │ ├── legacy_PM_toxics_profile.csv │ │ │ ├── prof_bcout.F │ │ │ ├── prof_driver.F │ │ │ └── prof_vinterp.F │ │ └── tracer/ │ │ ├── trac_bc.F │ │ └── trac_driver.F │ ├── create_omi/ │ │ ├── README.md │ │ ├── scripts/ │ │ │ ├── bldit_create_omi.csh │ │ │ ├── get_toms_data.q │ │ │ └── run_create_omi.csh │ │ └── src/ │ │ ├── create_CMAQ_OMI.f │ │ ├── create_ioapi_OMI.f │ │ ├── create_omi.makefile │ │ ├── driver.f │ │ ├── get_env_vars.F │ │ ├── module_envvar.F │ │ └── module_utilities.f │ ├── icon/ │ │ ├── README.md │ │ ├── scripts/ │ │ │ ├── bldit_icon.csh │ │ │ └── run_icon.csh │ │ └── src/ │ │ ├── common/ │ │ │ ├── HGRD_DEFN.F │ │ │ ├── IC_PARMS.F │ │ │ ├── VGRD_DEFN.F │ │ │ ├── findex.F │ │ │ ├── icon.F │ │ │ ├── lat_lon.F │ │ │ ├── lr_interp.F │ │ │ └── opn_ic_file.F │ │ ├── m3conc/ │ │ │ ├── m3_ck_ctmmet.F │ │ │ ├── m3_ck_ctms.F │ │ │ ├── m3_ck_icmet.F │ │ │ ├── m3_driver.F │ │ │ ├── m3_icout.F │ │ │ └── m3_vinterp.F │ │ ├── profile/ │ │ │ ├── prof_driver.F │ │ │ ├── prof_icout.F │ │ │ └── prof_vinterp.F │ │ └── tracer/ │ │ ├── trac_driver.F │ │ └── trac_ic.F │ └── mcip/ │ ├── README.md │ ├── docs/ │ │ ├── CHANGES │ │ ├── FAQ │ │ └── ReleaseNotes │ ├── scripts/ │ │ └── run_mcip.csh │ └── src/ │ ├── Makefile │ ├── alloc_ctm.f90 │ ├── alloc_met.f90 │ ├── alloc_x.f90 │ ├── bcldprc_ak.f90 │ ├── blddesc.f90 │ ├── chkwpshdr.f90 │ ├── chkwrfhdr.f90 │ ├── close_files.f90 │ ├── comheader.f90 │ ├── comheader_lufrac.f90 │ ├── comheader_mos.f90 │ ├── comheader_soi.f90 │ ├── const_mod.f90 │ ├── const_pbl_mod.f90 │ ├── coord_mod.f90 │ ├── ctmout.f90 │ ├── ctmproc.f90 │ ├── ctmvars_mod.f90 │ ├── date_pack_mod.f90 │ ├── date_time_mod.f90 │ ├── dealloc_ctm.f90 │ ├── dealloc_met.f90 │ ├── dealloc_x.f90 │ ├── detangle_soil_px.f90 │ ├── dynflds.f90 │ ├── e_aerk.f90 │ ├── files_mod.f90 │ ├── getluse.f90 │ ├── getmet.f90 │ ├── getpblht.f90 │ ├── getpsih.f90 │ ├── getsdt.f90 │ ├── graceful_stop.f90 │ ├── gridout.f90 │ ├── gridproc.f90 │ ├── init_ctm.f90 │ ├── init_io.f90 │ ├── init_met.f90 │ ├── init_x.f90 │ ├── julian.f90 │ ├── layht.f90 │ ├── ll2xy_lam.f90 │ ├── ll2xy_lam_sec.f90 │ ├── ll2xy_lam_tan.f90 │ ├── ll2xy_merc.f90 │ ├── ll2xy_ps.f90 │ ├── locate.f90 │ ├── lucats_mod.f90 │ ├── mapfac_lam.f90 │ ├── mapfac_merc.f90 │ ├── mapfac_ps.f90 │ ├── mcip.f90 │ ├── mcipparm_mod.f90 │ ├── metgrid2ctm.f90 │ ├── metinfo_mod.f90 │ ├── metvars2ctm.f90 │ ├── metvars_mod.f90 │ ├── netcdf_io_mod.f90 │ ├── outclog.f90 │ ├── outcm3io.f90 │ ├── outglog.f90 │ ├── outgm3io.f90 │ ├── outncf.f90 │ ├── outncfbdy.f90 │ ├── outncfglobal.f90 │ ├── pblsup.f90 │ ├── ptemp.f90 │ ├── pvs.f90 │ ├── qsat.f90 │ ├── rdwrfem.f90 │ ├── readnml.f90 │ ├── resistcalc.f90 │ ├── setgriddefs.f90 │ ├── setup.f90 │ ├── setup_wrfem.f90 │ ├── sfclayer.f90 │ ├── statflds.f90 │ ├── vertarys.f90 │ ├── vertnhy_wrf.f90 │ ├── vgrd_mod.f90 │ ├── vstamp.f90 │ ├── vtemp.f90 │ ├── wind.f90 │ ├── wrfemopts.f90 │ ├── wrgdesc.f90 │ ├── xvars_mod.f90 │ ├── xy2ll_lam.f90 │ └── xy2ll_merc.f90 ├── PYTOOLS/ │ ├── README.md │ ├── dmschlo/ │ │ ├── .gitignore │ │ ├── CMAQ_DMS_ChlorA.ipynb │ │ ├── CMAQ_DMS_ChlorA_Plot.ipynb │ │ ├── README.md │ │ └── requirements.txt │ ├── install/ │ │ ├── README.md │ │ ├── environment.yml │ │ ├── requirements.txt │ │ └── show_versions.py │ └── shp2cmaq/ │ ├── README.md │ ├── requirements.txt │ ├── shapefile2cmaq.ipynb │ └── shp2cmaq.py ├── README.md ├── UTIL/ │ ├── README.md │ ├── bldmake/ │ │ ├── README.md │ │ ├── scripts/ │ │ │ └── bldit_bldmake.csh │ │ └── src/ │ │ ├── Makefile │ │ ├── bldmake.f │ │ ├── cfg_module.f │ │ ├── parser.f │ │ └── utils.f │ ├── chemmech/ │ │ ├── README.md │ │ ├── docs/ │ │ │ └── readme.txt │ │ ├── scripts/ │ │ │ ├── bldit_chemmech.csh │ │ │ └── run_chemmech.csh │ │ └── src/ │ │ ├── BASIC_WRITE_ROUTINES.f │ │ ├── GET_MECHDEF_DATA.f │ │ ├── MECHANISM_DATA.f │ │ ├── MECHANISM_DOCS.f │ │ ├── MECHANISM_PARMS.f │ │ ├── Makefile │ │ ├── SPECIES_ATOMS_DATA.f │ │ ├── TEXT_UTILITIES.f │ │ ├── cctm_species.f │ │ ├── chemmech.f │ │ ├── index1.f │ │ ├── junit.f │ │ ├── map_chemistry_spc.F90 │ │ ├── module_envvar.f │ │ ├── module_functions_evaluator.f │ │ ├── wrexts.f │ │ ├── wrexts_fortran90.f │ │ ├── wrextsb.f │ │ ├── wrspecial_ext.f │ │ ├── wrspecial_ext_fortran90.f │ │ ├── wrss_ext.f │ │ ├── wrss_ext_fortran90.f │ │ ├── wrt_kpp_inputs.f │ │ ├── wrt_rates.f │ │ ├── wrt_reactions_module.f │ │ └── wrt_reactions_module_CRI_fix.f │ ├── create_ebi/ │ │ ├── README.md │ │ ├── docs/ │ │ │ └── README.txt │ │ ├── scripts/ │ │ │ └── bldrun_create_ebi.csh │ │ ├── src/ │ │ │ ├── ATDSC3.EXT │ │ │ ├── CONST3.EXT │ │ │ ├── FDESC3.EXT │ │ │ ├── IODECL3.EXT │ │ │ ├── Makefile │ │ │ ├── NETCDF.EXT │ │ │ ├── NOTICE.EXT │ │ │ ├── PARMS3.EXT │ │ │ ├── STATE3.EXT │ │ │ ├── driver.F │ │ │ ├── err_check.F │ │ │ ├── fake_ioapi.f │ │ │ ├── junit.F │ │ │ ├── module_env_functions.F │ │ │ ├── module_envvar.F │ │ │ ├── module_envvar_new.F │ │ │ ├── module_envvar_test.F │ │ │ ├── module_glbldata.F │ │ │ ├── set_glbldata.F │ │ │ ├── util_subs.F │ │ │ ├── wr_calcks.F │ │ │ ├── wr_copyrt.F │ │ │ ├── wr_cvshdr.F │ │ │ ├── wr_data.F │ │ │ ├── wr_driver.F │ │ │ ├── wr_driver.F.original │ │ │ ├── wr_gp1.F │ │ │ ├── wr_gp2.F │ │ │ ├── wr_gp2.F_02-27-06 │ │ │ ├── wr_gp3.F │ │ │ ├── wr_gp3.F_1st_mod │ │ │ ├── wr_gp4.F │ │ │ ├── wr_gp4.F_1st_mod │ │ │ ├── wr_grp1.F_03-06-06 │ │ │ ├── wr_init.F │ │ │ ├── wr_prodloss.F │ │ │ ├── wr_rates.F │ │ │ ├── wr_rates.F_orig │ │ │ ├── wr_solver.F │ │ │ ├── wr_special.F │ │ │ └── wr_ssa.F │ │ └── template_RXNSU_OPT/ │ │ ├── copyright.txt │ │ ├── cvs_header.txt │ │ ├── hrdata_mod.F │ │ ├── hrdriver.F │ │ ├── hrg1.F │ │ ├── hrg2.F │ │ ├── hrg3.F │ │ ├── hrg4.F │ │ ├── hrinit.F │ │ ├── hrprodloss.F │ │ ├── hrrates.F │ │ └── hrsolver.F │ ├── inline_phot_preproc/ │ │ ├── README.md │ │ ├── docs/ │ │ │ └── README.txt │ │ ├── ice_clouds/ │ │ │ ├── fu96.asy │ │ │ ├── fu96.del │ │ │ ├── fu96.ext │ │ │ └── fu96.ssa │ │ ├── photolysis_CSQY_data/ │ │ │ ├── ACET-06 │ │ │ ├── ACETONE_RADM88 │ │ │ ├── ACETONE_SAPRC99 │ │ │ ├── ACET_06 │ │ │ ├── ACET_CO_CRI │ │ │ ├── ACET_IUPAC10 │ │ │ ├── ACET_R2_CRI │ │ │ ├── ACRO-09 │ │ │ ├── ACROLEIN │ │ │ ├── ACROLEIN_SAPRC99 │ │ │ ├── ACRO_09 │ │ │ ├── ACRO_10 │ │ │ ├── AFG1 │ │ │ ├── ALD2_R_IUPAC10 │ │ │ ├── ALD2_R_IUPAC13 │ │ │ ├── ALDX_R_IUPAC10 │ │ │ ├── ALDX_R_IUPAC13 │ │ │ ├── ALD_CBIV88 │ │ │ ├── ALD_JPL19 │ │ │ ├── ALD_RACM2 │ │ │ ├── ALD_RADM88 │ │ │ ├── BACL-07 │ │ │ ├── BACL_07 │ │ │ ├── BACL_ADJ_SAPRC99 │ │ │ ├── BALD-06 │ │ │ ├── BALD_06 │ │ │ ├── BALD_RACM2 │ │ │ ├── BIACET_MCMv32 │ │ │ ├── BR2 │ │ │ ├── BR2_IUPAC10 │ │ │ ├── BR2_IUPAC2014 │ │ │ ├── BRCL │ │ │ ├── BRCL_IUPAC10 │ │ │ ├── BRCL_IUPAC2014 │ │ │ ├── BRNO2 │ │ │ ├── BRNO2_IUPAC10 │ │ │ ├── BRNO2_IUPAC2014 │ │ │ ├── BRO │ │ │ ├── BRONO2_M │ │ │ ├── BRONO2_M_IUPAC10 │ │ │ ├── BRONO2_M_IUPAC2014 │ │ │ ├── BRONO2_R │ │ │ ├── BRONO2_R_IUPAC10 │ │ │ ├── BRONO2_R_IUPAC2014 │ │ │ ├── BRO_IUPAC10 │ │ │ ├── BRO_IUPAC14 │ │ │ ├── BRO_IUPAC2014 │ │ │ ├── BZCHO_SAPRC99 │ │ │ ├── C2CHO │ │ │ ├── C2CHO_R_MCMv32 │ │ │ ├── C2CHO_SAPRC99 │ │ │ ├── CCHO_R │ │ │ ├── CCHO_R1_MCMv32 │ │ │ ├── CCHO_R2_MCMv32 │ │ │ ├── CCHO_R_SAPRC99 │ │ │ ├── CH3CHO_RACM2 │ │ │ ├── CH3COCH3A_JPL19 │ │ │ ├── CH3COCH3B_JPL19 │ │ │ ├── CH3COCH3_RACM2 │ │ │ ├── CH3I_IUPAC10 │ │ │ ├── CH3ONO2_MCMv32 │ │ │ ├── CH3OOH_MCMv32 │ │ │ ├── CHBR2CL_BILDE1998 │ │ │ ├── CHBR3_IUPAC2014 │ │ │ ├── CHBRCL2_BILDE1998 │ │ │ ├── CL2 │ │ │ ├── CL2_IUPAC04 │ │ │ ├── CL2_IUPAC04_mod │ │ │ ├── CLACET │ │ │ ├── CLCCHO │ │ │ ├── CLNO-06 │ │ │ ├── CLNO2 │ │ │ ├── CLNO2_IUPAC13 │ │ │ ├── CLNO_06 │ │ │ ├── CLONO │ │ │ ├── CLONO2-1 │ │ │ ├── CLONO2-2 │ │ │ ├── CLONO2_1 │ │ │ ├── CLONO2_2 │ │ │ ├── COHBR_JPL2010 │ │ │ ├── COOH │ │ │ ├── COOH_SAPRC99 │ │ │ ├── ETHLN_RACM2 │ │ │ ├── ETHYNO3_MCMv32 │ │ │ ├── FMCL_IUPAC04 │ │ │ ├── FORM_M_IUPAC10 │ │ │ ├── FORM_M_IUPAC13 │ │ │ ├── FORM_R_IUPAC10 │ │ │ ├── FORM_R_IUPAC13 │ │ │ ├── GLY-07M │ │ │ ├── GLY-07R │ │ │ ├── GLYD_IUPAC10 │ │ │ ├── GLYF_RACM2 │ │ │ ├── GLYH2_RACM2 │ │ │ ├── GLYHX_RACM2 │ │ │ ├── GLYOX_M_CRI │ │ │ ├── GLYOX_R_CRI │ │ │ ├── GLY_07M │ │ │ ├── GLY_07R │ │ │ ├── GLY_1H_MCMv32 │ │ │ ├── GLY_2H_MCMv32 │ │ │ ├── GLY_2R_MCMv32 │ │ │ ├── GLY_ABS_SAPRC99 │ │ │ ├── GLY_FO_MCMv32 │ │ │ ├── GLY_H2_MCMv32 │ │ │ ├── GLY_R_IUPAC10 │ │ │ ├── GLY_R_IUPAC13 │ │ │ ├── GLY_R_SAPRC99 │ │ │ ├── GLYform_RADM88 │ │ │ ├── GLYmol_RADM88 │ │ │ ├── H2O2 │ │ │ ├── H2O2_IUPAC10 │ │ │ ├── H2O2_NASA94 │ │ │ ├── H2O2_RACM2 │ │ │ ├── H2O2_RADM88 │ │ │ ├── H2O2_SAPRC99 │ │ │ ├── HCHOM-06 │ │ │ ├── HCHOM_06 │ │ │ ├── HCHOR-06 │ │ │ ├── HCHOR_06 │ │ │ ├── HCHO_MOL_JPL19 │ │ │ ├── HCHO_MOL_RACM2 │ │ │ ├── HCHO_M_MCMv32 │ │ │ ├── HCHO_M_SAPRC99 │ │ │ ├── HCHO_RAD_JPL19 │ │ │ ├── HCHO_RAD_RACM2 │ │ │ ├── HCHO_R_MCMv32 │ │ │ ├── HCHO_R_SAPRC99 │ │ │ ├── HCHOmol_CBIV88 │ │ │ ├── HCHOmol_NASA94 │ │ │ ├── HCHOmol_RADM88 │ │ │ ├── HCHOrad_CBIV88 │ │ │ ├── HCHOrad_NASA94 │ │ │ ├── HCHOrad_RADM88 │ │ │ ├── HKET_RACM2 │ │ │ ├── HNO3 │ │ │ ├── HNO3_IUPAC04 │ │ │ ├── HNO3_IUPAC10 │ │ │ ├── HNO3_NASA94 │ │ │ ├── HNO3_RACM2 │ │ │ ├── HNO3_RADM88 │ │ │ ├── HNO3_SAPRC99 │ │ │ ├── HNO4-06 │ │ │ ├── HNO4_06 │ │ │ ├── HNO4_NASA94 │ │ │ ├── HNO4_RACM2 │ │ │ ├── HNO4_RADM88 │ │ │ ├── HO2NO2_IUPAC04 │ │ │ ├── HO2NO2_SAPRC99 │ │ │ ├── HOBR │ │ │ ├── HOBR_IUPAC10 │ │ │ ├── HOBR_IUPAC2014 │ │ │ ├── HOCCHO │ │ │ ├── HOCCHO_IUPAC │ │ │ ├── HOCCHO_JPL2011 │ │ │ ├── HOCCHO_RACM2 │ │ │ ├── HOCL-06 │ │ │ ├── HOCL_06 │ │ │ ├── HOCL_IUPAC04 │ │ │ ├── HOI_IUPAC10 │ │ │ ├── HONO-06 │ │ │ ├── HONO_06 │ │ │ ├── HONO_IUPAC04 │ │ │ ├── HONO_IUPAC10 │ │ │ ├── HONO_NASA94 │ │ │ ├── HONO_NO2_SAPRC99 │ │ │ ├── HONO_NO_SAPRC99 │ │ │ ├── HONO_RACM2 │ │ │ ├── HONO_RADM88 │ │ │ ├── HOP_RADM88 │ │ │ ├── HPALD │ │ │ ├── HPALD_MCMv32 │ │ │ ├── HPALD_RACM2 │ │ │ ├── HYDRO_ACET_CRI │ │ │ ├── HYDRPMETH_BUT_10 │ │ │ ├── I2_IUPAC10 │ │ │ ├── IBR_IUPAC10 │ │ │ ├── IC3ONO2 │ │ │ ├── IC3ONO2_SAPRC99 │ │ │ ├── ICL_IUPAC10 │ │ │ ├── IMONIT_RACM2 │ │ │ ├── INO2_06 │ │ │ ├── INO_06 │ │ │ ├── IONO2_06 │ │ │ ├── IO_IUPAC10 │ │ │ ├── IPROCHO_MCMv32 │ │ │ ├── IPRONO3_MCMv32 │ │ │ ├── ISOPNB_RACM2 │ │ │ ├── ISOPND_RACM2 │ │ │ ├── ISPD │ │ │ ├── KETONE_RADM88 │ │ │ ├── KETONE_SAPRC99 │ │ │ ├── KET_IUPAC10 │ │ │ ├── KET_JGR19 │ │ │ ├── KET_RACM2 │ │ │ ├── MACR-06 │ │ │ ├── MACRN_RACM2 │ │ │ ├── MACR_06 │ │ │ ├── MACR_A_MCMv32 │ │ │ ├── MACR_B_MCMv32 │ │ │ ├── MACR_MCMv32 │ │ │ ├── MACR_RACM2 │ │ │ ├── MB2C │ │ │ ├── MB2C_BLIDE98 │ │ │ ├── MB3 │ │ │ ├── MB3_IUPAC10 │ │ │ ├── MBC2 │ │ │ ├── MBC2_BLIDE98 │ │ │ ├── MEK-06 │ │ │ ├── MEK_06 │ │ │ ├── MEK_JGR19 │ │ │ ├── MEK_MCMv32 │ │ │ ├── MEK_RACM2 │ │ │ ├── MEPX_IUPAC10 │ │ │ ├── MGLY-06 │ │ │ ├── MGLY_06 │ │ │ ├── MGLY_ABS_SAPRC99 │ │ │ ├── MGLY_ADJ_SAPRC99 │ │ │ ├── MGLY_IUPAC04 │ │ │ ├── MGLY_IUPAC10 │ │ │ ├── MGLY_RACM2 │ │ │ ├── MGLY_RADM88 │ │ │ ├── MHP_NASA94 │ │ │ ├── MHP_RADM88 │ │ │ ├── MI2_IUPAC10 │ │ │ ├── MIB_IUPAC10 │ │ │ ├── MIC_IUPAC10 │ │ │ ├── MVK-06 │ │ │ ├── MVKN_RACM2 │ │ │ ├── MVK_06 │ │ │ ├── MVK_MCMv32 │ │ │ ├── MVK_RACM2 │ │ │ ├── N2O5_IUPAC04 │ │ │ ├── N2O5_IUPAC10 │ │ │ ├── N2O5_NO2_JPL11 │ │ │ ├── N2O5_O3P_JPL11 │ │ │ ├── NC3CHO_M_MCMv32 │ │ │ ├── NC3CHO_R_MCMv32 │ │ │ ├── NITROXY_ACET_2014 │ │ │ ├── NITROXY_ACET_93 │ │ │ ├── NITROXY_BUTA_2014 │ │ │ ├── NO2-06 │ │ │ ├── NO2EX │ │ │ ├── NO2_06 │ │ │ ├── NO2_CBIV88 │ │ │ ├── NO2_IUPAC10 │ │ │ ├── NO2_NASA94 │ │ │ ├── NO2_RACM2 │ │ │ ├── NO2_RADM88 │ │ │ ├── NO2_SAPRC99 │ │ │ ├── NO3NO-06 │ │ │ ├── NO3NO2-6 │ │ │ ├── NO3NO2_06 │ │ │ ├── NO3NO2_6 │ │ │ ├── NO3NO2_NASA94 │ │ │ ├── NO3NO2_RACM2 │ │ │ ├── NO3NO2_RADM88 │ │ │ ├── NO3NO2_SAPRC99 │ │ │ ├── NO3NO_06 │ │ │ ├── NO3NO_NASA94 │ │ │ ├── NO3NO_RACM2 │ │ │ ├── NO3NO_RADM88 │ │ │ ├── NO3NO_SAPRC99 │ │ │ ├── NOA │ │ │ ├── NOA_0_MCMv32 │ │ │ ├── NOA_B_MCMv32 │ │ │ ├── NOA_MCMv32 │ │ │ ├── NOA_T_MCMv32 │ │ │ ├── NPRONO3_MCMv32 │ │ │ ├── NTR_IUPAC04 │ │ │ ├── NTR_IUPAC10 │ │ │ ├── O2_JPL06-2 │ │ │ ├── O2_NASA94 │ │ │ ├── O2_RADM88 │ │ │ ├── O3O1D-06 │ │ │ ├── O3O1D_06 │ │ │ ├── O3O1D_CBIV88 │ │ │ ├── O3O1D_JPL06-2 │ │ │ ├── O3O1D_NASA06 │ │ │ ├── O3O1D_NASA94 │ │ │ ├── O3O1D_RADM88 │ │ │ ├── O3O1D_SAPRC99 │ │ │ ├── O3O3P-06 │ │ │ ├── O3O3P_06 │ │ │ ├── O3O3P_JPL06-2 │ │ │ ├── O3O3P_NASA06 │ │ │ ├── O3O3P_NASA94 │ │ │ ├── O3O3P_RADM88 │ │ │ ├── O3O3P_SAPRC99 │ │ │ ├── O3_O1D_IUPAC04 │ │ │ ├── O3_O1D_IUPAC10 │ │ │ ├── O3_O3P_IUPAC04 │ │ │ ├── O3_O3P_IUPAC10 │ │ │ ├── OIO_06 │ │ │ ├── ONIT_RACM2 │ │ │ ├── OP1_RACM2 │ │ │ ├── ORGNIT_RADM88 │ │ │ ├── PAA │ │ │ ├── PAA_RACM2 │ │ │ ├── PAA_RADM88 │ │ │ ├── PACD_CB05 │ │ │ ├── PAN │ │ │ ├── PAN1_RACM2 │ │ │ ├── PAN2_RACM2 │ │ │ ├── PAN_IUPAC04 │ │ │ ├── PAN_IUPAC10 │ │ │ ├── PNA_IUPAC10 │ │ │ ├── PROPANAL_IUPAC │ │ │ ├── PROPANAL_IUPAC_1st_try │ │ │ ├── PROPNN_RACM2 │ │ │ ├── PYRUACID_JPL2011 │ │ │ ├── PYRUACID_RACM2 │ │ │ ├── TBUTNO3_MCMv32 │ │ │ ├── UALD_RACM2 │ │ │ └── UDC_RADM88 │ │ ├── refractive_indices/ │ │ │ ├── IE_refractive_indices/ │ │ │ │ ├── Lambe_2013-naphthalene_SOA_refractive_indices.txt │ │ │ │ ├── Lui_2013_APIN_SOA_refractive_indices.txt │ │ │ │ ├── Lui_2013_Limonene_SOA_refractive_indices.txt │ │ │ │ ├── Lui_2013_catechol_SOA_refractive_indices.txt │ │ │ │ ├── Lui_2013_refractive_indices.txt │ │ │ │ ├── Lui_2015_refractive_indices.txt │ │ │ │ ├── Lui_2015_refractive_indices_mxylene_SOA_high_NOX.txt │ │ │ │ ├── Lui_2015_refractive_indices_mxylene_SOA_low_NOX.txt │ │ │ │ ├── Lui_2015_refractive_indices_toluene_SOA_high_NOX.txt │ │ │ │ ├── Lui_2015_refractive_indices_toluene_SOA_low_NOX.txt │ │ │ │ ├── nakayama_2018_isoprene_NOX_SOA_refractive_indices.txt │ │ │ │ └── nakayama_2018_isoprene_SOX_SOA_refractive_indices.txt │ │ │ ├── OPAC_water_clouds/ │ │ │ │ ├── inso00 │ │ │ │ ├── soot00 │ │ │ │ ├── soot00-two_way-Oct_21_2012 │ │ │ │ ├── ssam00 │ │ │ │ ├── sscm00 │ │ │ │ ├── waso00 │ │ │ │ ├── wc.asy │ │ │ │ ├── wc.ext │ │ │ │ └── wc.ssa │ │ │ └── adient_aerosol_refrac_indx/ │ │ │ ├── refract_ammoniumsulphate_lf.txt │ │ │ ├── refract_bc_high.txt │ │ │ ├── refract_bc_med.txt │ │ │ ├── refract_biomass_new.txt │ │ │ ├── refract_dust_kwcp_fou.txt │ │ │ ├── refract_nitrate.txt │ │ │ ├── refract_organicc_new.txt │ │ │ ├── refract_soa_dinar.txt │ │ │ ├── refract_soa_hadgem2.txt │ │ │ ├── refract_ssam_opac.txt │ │ │ └── refract_sulphuric.txt │ │ ├── scripts/ │ │ │ └── bldrun.inline_phot_preproc.csh │ │ └── src/ │ │ ├── ALBEDO_REFER_DATA.F │ │ ├── BIN_DATA.f │ │ ├── CHECK_CSQY_DATA.F │ │ ├── CSQY_DATA-p05cm-UCI.f │ │ ├── CSQY_DATA-solflx-lowtran.f │ │ ├── CSQY_PARAMETERS.F │ │ ├── CSQY_REFER_DATA.F │ │ ├── INLINE_CSQY.F │ │ ├── Make_processor │ │ ├── Makefile │ │ ├── aero_refract_index.F │ │ ├── convert_case.f │ │ ├── create_module.F │ │ ├── driver.f │ │ ├── effective_ave.F │ │ ├── init_lu.f90 │ │ ├── inline_phot_preproc.makefile │ │ ├── intavg.f │ │ ├── intavg_b.f │ │ ├── intavg_c.f │ │ ├── intavg_d.f │ │ ├── module_envvar.F │ │ ├── old-dumb.makefile │ │ ├── old.Makefile │ │ ├── optics_ice_cloud.f │ │ ├── optics_water_cloud.f │ │ ├── process_csqys.F │ │ ├── read_jproc_csqy.F │ │ ├── spectral_reflect.f │ │ ├── vegeland_s.f │ │ ├── vegeland_striecher-wth.f │ │ ├── vegeland_striecher.f │ │ ├── wrbf12d.f │ │ ├── wrbf12d_w_headerb.f │ │ ├── wrt_csqy_data.F │ │ ├── wrt_csqy_data_only.F │ │ ├── wrt_optics_data.F │ │ ├── wvbin_average-b.f │ │ ├── wvbin_average.f │ │ ├── xc_qy_td_effect-old.F │ │ ├── xc_qy_td_effect.F │ │ ├── xc_qy_td_effect_v2.F │ │ └── xc_qy_td_effect_v3.F │ ├── jproc/ │ │ ├── README.md │ │ ├── scripts/ │ │ │ ├── bldit_jproc.csh │ │ │ └── run_jproc.csh │ │ └── src/ │ │ └── common/ │ │ ├── JVALPARMS.EXT │ │ ├── calczen.F │ │ ├── chj.f │ │ ├── index2.f │ │ ├── intavg.f │ │ ├── interp.f │ │ ├── jproc.F │ │ ├── junit.f │ │ ├── module_envvar.F │ │ ├── o3scal.f │ │ ├── optics.f │ │ ├── pntavg.f │ │ ├── readcsqy.F │ │ ├── readet.f │ │ ├── reado2.f │ │ ├── reado3.f │ │ ├── readprof.f │ │ ├── readtoms.f │ │ ├── setaer.f │ │ ├── setair.f │ │ ├── setalb.f │ │ ├── setcld.f │ │ ├── srband.f │ │ ├── subgrid.F │ │ ├── tridiag.f │ │ └── twostr.f │ └── nml/ │ ├── README.md │ └── scripts/ │ ├── csv2nml.csh │ └── nml2csv.csh ├── config_cmaq.csh └── license.md
SYMBOL INDEX (4 symbols across 4 files) FILE: CCTM/src/par/mpi/distr_env.c function distr_env (line 49) | extern void distr_env (int *myid_p, int *numprocs_p) FILE: DOCS/Users_Guide/filter/comments.py function comment (line 16) | def comment(k, v, fmt, meta): FILE: PYTOOLS/install/show_versions.py function show (line 17) | def show(libname, vtxt, modifier): FILE: PYTOOLS/shp2cmaq/shp2cmaq.py function shp2cmaq (line 53) | def shp2cmaq(
Copy disabled (too large)
Download .json
Condensed preview — 1556 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (46,849K chars).
[
{
"path": ".github/ISSUE_TEMPLATE/new-issue-.md",
"chars": 886,
"preview": "---\nname: 'New Issue '\nabout: Create a report to help us improve\ntitle: ''\nlabels: ''\nassignees: ''\n\n---\n**Please Read**"
},
{
"path": ".github/PULL_REQUEST_TEMPLATE.md",
"chars": 792,
"preview": "**Contact:** \nDevelopers name and affiliation \n\n**Type of code change:** \nFor example, bug fix, enhancement, new fea"
},
{
"path": ".gitignore",
"chars": 800,
"preview": "# general files to ignore\n\n### Fortran ###\n# Prerequisites\n*.d\n\n# Compiled Object files\n*.slo\n*.lo\n*.o\n*.obj\n\n# Precompi"
},
{
"path": "CCTM/README.md",
"chars": 2867,
"preview": "CMAQ Chemistry Transport Model (CCTM)\n========\n\n## Overview\nCCTM is the Eulerian chemistry and transport component of CM"
},
{
"path": "CCTM/scripts/bldit_cctm.csh",
"chars": 37407,
"preview": "#!/bin/csh -f\n\n# ======================= CCTMv5.5.X Build Script ========================= \n# Usage: bldit_cctm.csh <com"
},
{
"path": "CCTM/scripts/bldit_mech.csh",
"chars": 8374,
"preview": "#!/bin/csh -f\n\n# ================ CCTMv5.5 Mechanism Build Script ==================== \n# Usage: bldit_mech.csh >&! bldi"
},
{
"path": "CCTM/scripts/isam_control.2018_12NE3.txt",
"chars": 2366,
"preview": "!!! CMAQ-ISAM tag definition control file\n!!! (lines begining with !!! - three exclamation marks - are ignored by the "
},
{
"path": "CCTM/scripts/lonlat.csv",
"chars": 107,
"preview": "4 # number of lon/lat pairs that follow\n-84.5684 32.8372\n-83.1034 33.7499\n-81.603 34.6438\n-80.0667 35.5179\n"
},
{
"path": "CCTM/scripts/run_cctm_2018_12US1_v55_Base_STAGE_EM_CRACMM.csh",
"chars": 38864,
"preview": "#!/bin/csh -f\n\n# ============== CCTMv5.5.X STAGE EM CRACMM 12US1 Run Script ================\n# Usage: run_cctm_2018_12US"
},
{
"path": "CCTM/scripts/run_cctm_Bench_2018_12NE3.WRFCMAQ.csh",
"chars": 52482,
"preview": "#!/bin/csh -f\n\n\n# ===================== WRF-CMAQ Run Script =========================\n# Usage: run_cctm_Bench_2018_12NE3"
},
{
"path": "CCTM/scripts/run_cctm_Bench_2018_12NE3_CB6R5.csh",
"chars": 39807,
"preview": "#!/bin/csh -f\n\n# ===================== CCTMv5.5.X Run Script ========================= \n# Usage: run_cctm_Bench_2018_12N"
},
{
"path": "CCTM/scripts/run_cctm_Bench_2018_12NE3_CRACMM2.csh",
"chars": 39680,
"preview": "#!/bin/csh -f\n\n\n# ===================== CCTMv5.5.X STAGE CRACMM 12NE3 Run Script ========================= \n# Usage: run"
},
{
"path": "CCTM/scripts/run_cctm_Bench_2018_12NE3_cb6r5_m3dry_ddm.csh",
"chars": 39729,
"preview": "#!/bin/csh -f\n\n# ===================== CCTMv5.5.X Run Script ========================= \n# Usage: run.cctm >&! cctm_Bench"
},
{
"path": "CCTM/src/ICL/fixed/const/CONST.EXT",
"chars": 5645,
"preview": "\n!.......................................................................\n \n! INCLUDE FILE CONST.EXT\n \n! Contains: F"
},
{
"path": "CCTM/src/ICL/fixed/emctrl/EMISPRM.EXT",
"chars": 626,
"preview": "\nC.......................................................................\nC Include File EMISPRM.EXT\n \nC Contains: Gas"
},
{
"path": "CCTM/src/ICL/fixed/filenames/FILES_CTM.EXT",
"chars": 13760,
"preview": "\n! RCS file, release, date & time of last delta, author, state, [and locker]\n! $Header: /project/yoj/arc/ICL/src/fixed/f"
},
{
"path": "CCTM/src/ICL/fixed/mpi/PE_COMM.EXT",
"chars": 19836,
"preview": "C PE communication displacement and direction masks\nC NOTE: NE, NW, SE, SW stencils not used in CMAQ\n\nC................."
},
{
"path": "CCTM/src/MECHS/README.md",
"chars": 12324,
"preview": "\n### CMAQ Chemical Mechanisms\n\nThe CMAQ modeling system accounts for chemistry in three phases: gas, aerosol, and cloud "
},
{
"path": "CCTM/src/MECHS/cb6r3_ae7_aq/AE_cb6r3_ae7_aq.nml",
"chars": 9495,
"preview": "&AE_nml\n\nAE_SPECIES_DATA = \n\n!SPECIES ,MOLWT ,Aitken ,Accum ,Coarse ,OPTICS ,IC ,ICFAC ,BC ,BC_FAC ,DRYDEP SU"
},
{
"path": "CCTM/src/MECHS/cb6r3_ae7_aq/CMAQ_Control_DESID_cb6r3_ae7_aq.nml",
"chars": 13337,
"preview": "!------------------------------------------------------------------------------!\n! Emission Control Interface "
},
{
"path": "CCTM/src/MECHS/cb6r3_ae7_aq/CSQY_DATA_cb6r3_ae7_aq",
"chars": 53359,
"preview": "Table for Mechanism = CB6R3_AE7_AQ \nNPHOTAB = 32\n!Individual rates listed below:\nNO2_IUPAC10 \nO"
},
{
"path": "CCTM/src/MECHS/cb6r3_ae7_aq/GC_cb6r3_ae7_aq.nml",
"chars": 19878,
"preview": "&GC_nml\n\nGC_SPECIES_DATA = \n\n!SPECIES ,MOLWT ,IC ,IC_FAC,BC ,BC_FAC ,DRYDEP SURR ,FAC ,WET-SCAV SURR"
},
{
"path": "CCTM/src/MECHS/cb6r3_ae7_aq/NR_cb6r3_ae7_aq.nml",
"chars": 1757,
"preview": "&NR_nml\n\nNR_SPECIES_DATA = \n\n!SPECIES ,MOLWT ,IC ,IC_FAC ,BC ,BC_FAC ,DRYDEP SURR ,FAC ,WET-SCAV SURR ,FAC ,"
},
{
"path": "CCTM/src/MECHS/cb6r3_ae7_aq/RXNS_DATA_MODULE.F90",
"chars": 237605,
"preview": " MODULE RXNS_DATA\n\n\n IMPLICIT NONE\n\n\n\n! --------- Photochemical Mechanism Reactions, Rates, etc. DAT -------"
},
{
"path": "CCTM/src/MECHS/cb6r3_ae7_aq/RXNS_FUNC_MODULE.F90",
"chars": 75779,
"preview": " MODULE RXNS_FUNCTION\n\n\n IMPLICIT NONE\n\n\n\n! Name of Mechanism CB6R3_AE7_AQ\n\n PUBLIC :: CAL"
},
{
"path": "CCTM/src/MECHS/cb6r3_ae7_aq/SpecDef_Conc_cb6r3_ae7_aq.txt",
"chars": 18641,
"preview": "!#start YYYYJJJ 010000\n!#end YYYYJJJ 000000\n#layer 1\n\n/\n! This Species Definition File is for Use with t"
},
{
"path": "CCTM/src/MECHS/cb6r3_ae7_aq/SpecDef_Dep_cb6r3_ae7_aq.txt",
"chars": 9905,
"preview": "!#start YYYYJJJ\n!#end YYYYJJJ\n#layer 1\n\n/ File [1]: DRYDEP\n/ File [2]: WETDEP\n/ File [3]: METCRO2D\n/\n/new "
},
{
"path": "CCTM/src/MECHS/cb6r3_ae7_aq/SpecDef_cb6r3_ae7_aq.txt",
"chars": 9922,
"preview": "!#start YYYYJJJ 010000\n!#end YYYYJJJ 000000\n#layer 1\n\n/\n! This Species Definition File is for Use with t"
},
{
"path": "CCTM/src/MECHS/cb6r3_ae7_aq/mech_cb6r3_ae7_aq.def",
"chars": 30053,
"preview": "!CB6r3 for CMAQ\n! created for CMAQv5.2 and released in June 2017\n! documented in https://www.epa.gov/cmaq\n! Changes made"
},
{
"path": "CCTM/src/MECHS/cb6r3_ae7_aq/pa_cb6r3_ae7_aq.ctl",
"chars": 5012,
"preview": "! for CB6_cl2\n!\nIRRTYPE = PARTIAL;\nDEFINE FAMILY NOX = NO + NO2;\nDEFINE FAMILY NTR = NTR1 +NTR2 +INTR;\nDEFINE FAMILY PAN"
},
{
"path": "CCTM/src/MECHS/cb6r5_ae7_aq/AE_cb6r5_ae7_aq.nml",
"chars": 9511,
"preview": "&AE_nml\n\nAE_SPECIES_DATA = \n \n!SPECIES ,MOLWT ,Aitken ,Accum ,Coarse ,OPTICS ,IC ,ICFAC ,BC ,B"
},
{
"path": "CCTM/src/MECHS/cb6r5_ae7_aq/CMAQ_Control_DESID_cb6r5_ae7_aq.nml",
"chars": 13239,
"preview": "!------------------------------------------------------------------------------!\n! Emission Control Interface "
},
{
"path": "CCTM/src/MECHS/cb6r5_ae7_aq/CSQY_DATA_cb6r5_ae7_aq",
"chars": 53359,
"preview": "Table for Mechanism = CB6R5_AE7_AQ \nNPHOTAB = 32\n!Individual rates listed below:\nNO2_IUPAC10 \nO"
},
{
"path": "CCTM/src/MECHS/cb6r5_ae7_aq/GC_cb6r5_ae7_aq.nml",
"chars": 20188,
"preview": "&GC_nml\n\nGC_SPECIES_DATA = \n\n!SPECIES ,MOLWT ,IC ,IC_FAC,BC ,BC_FAC ,DRYDEP SURR ,FAC ,WET-SCAV SURR"
},
{
"path": "CCTM/src/MECHS/cb6r5_ae7_aq/NR_cb6r5_ae7_aq.nml",
"chars": 1757,
"preview": "&NR_nml\n\nNR_SPECIES_DATA = \n\n!SPECIES ,MOLWT ,IC ,IC_FAC ,BC ,BC_FAC ,DRYDEP SURR ,FAC ,WET-SCAV SURR ,FAC ,"
},
{
"path": "CCTM/src/MECHS/cb6r5_ae7_aq/RXNS_DATA_MODULE.F90",
"chars": 240859,
"preview": " MODULE RXNS_DATA\n\n\n IMPLICIT NONE\n\n\n\n! --------- Photochemical Mechanism Reactions, Rates, etc. DAT -------"
},
{
"path": "CCTM/src/MECHS/cb6r5_ae7_aq/RXNS_FUNC_MODULE.F90",
"chars": 76884,
"preview": " MODULE RXNS_FUNCTION\n\n\n IMPLICIT NONE\n\n\n\n! Name of Mechanism CB6R5_AE7_AQ\n\n PUBLIC :: CAL"
},
{
"path": "CCTM/src/MECHS/cb6r5_ae7_aq/SpecDef_Conc_cb6r5_ae7_aq.txt",
"chars": 18781,
"preview": "!#start YYYYJJJ 010000\n!#end YYYYJJJ 000000\n#layer 1\n\n/\n! This Species Definition File is for Use with t"
},
{
"path": "CCTM/src/MECHS/cb6r5_ae7_aq/SpecDef_Dep_cb6r5_ae7_aq.txt",
"chars": 9905,
"preview": "!#start YYYYJJJ\n!#end YYYYJJJ\n#layer 1\n\n/ File [1]: DRYDEP\n/ File [2]: WETDEP\n/ File [3]: METCRO2D\n/\n/new "
},
{
"path": "CCTM/src/MECHS/cb6r5_ae7_aq/SpecDef_cb6r5_ae7_aq.txt",
"chars": 10060,
"preview": "!#start YYYYJJJ 010000\n!#end YYYYJJJ 000000\n#layer 1\n\n/\n! This Species Definition File is for Use with t"
},
{
"path": "CCTM/src/MECHS/cb6r5_ae7_aq/mech_cb6r5_ae7_aq.def",
"chars": 31231,
"preview": "!CB6r3 for CMAQ\n! created for CMAQv5.2 and released in June 2017\n! documented in https://www.epa.gov/cmaq\n! Changes made"
},
{
"path": "CCTM/src/MECHS/cb6r5_ae7_aq/pa_cb6r5_ae7_aq.ctl",
"chars": 5030,
"preview": "! for CB6_cl2\n!\nIRRTYPE = PARTIAL;\nDEFINE FAMILY NOX = NO + NO2;\nDEFINE FAMILY NTR = NTR1 +NTR2 +INTR;\nDEFINE FAMILY PAN"
},
{
"path": "CCTM/src/MECHS/cb6r5_ae7_aqkmt2/AE_cb6r5_ae7_aq.nml",
"chars": 9495,
"preview": "&AE_nml\n\nAE_SPECIES_DATA = \n\n!SPECIES ,MOLWT ,Aitken ,Accum ,Coarse ,OPTICS ,IC ,ICFAC ,BC ,BC_FAC ,DRYDEP SU"
},
{
"path": "CCTM/src/MECHS/cb6r5_ae7_aqkmt2/GC_cb6r5_ae7_aq.nml",
"chars": 21228,
"preview": "&GC_nml\n\nGC_SPECIES_DATA = \n\n!SPECIES ,MOLWT ,IC ,IC_FAC ,BC ,BC_FAC ,DRYDEP SURR ,FAC ,WET-SCA"
},
{
"path": "CCTM/src/MECHS/cb6r5hap_ae7_aq/AE_cb6r5hap_ae7_aq.nml",
"chars": 12153,
"preview": "&AE_nml\n\nAE_SPECIES_DATA = \n \n!SPECIES ,MOLWT ,Aitken ,Accum ,Coarse ,OPTICS ,IC ,ICFAC ,BC ,BC_FAC ,DRYDEP S"
},
{
"path": "CCTM/src/MECHS/cb6r5hap_ae7_aq/CMAQ_Control_DESID_cb6r5hap_ae7_aq.nml",
"chars": 20563,
"preview": "!------------------------------------------------------------------------------!\n! Emission Control Interface "
},
{
"path": "CCTM/src/MECHS/cb6r5hap_ae7_aq/NR_cb6r5hap_ae7_aq.nml",
"chars": 8244,
"preview": "&NR_nml\n\nNR_SPECIES_DATA = \n\n!SPECIES ,MOLWT ,IC ,IC_FAC ,BC ,BC_FAC ,DRYDEP SURR ,FAC ,WET-SCAV "
},
{
"path": "CCTM/src/MECHS/cb6r5hap_ae7_aq/SpecDef_Conc_cb6r5hap_ae7_aq.txt",
"chars": 24994,
"preview": "!#start YYYYJJJ 010000\n!#end YYYYJJJ 000000\n#layer 1\n\n/\n! This Species Definition File is for Use with t"
},
{
"path": "CCTM/src/MECHS/cb6r5hap_ae7_aq/SpecDef_Dep_cb6r5hap_ae7_aq.txt",
"chars": 12124,
"preview": "!#start YYYYJJJ\n!#end YYYYJJJ\n#layer 1\n\n/ File [1]: DRYDEP\n/ File [2]: WETDEP\n/ File [3]: METCRO2D\n/\n/new "
},
{
"path": "CCTM/src/MECHS/cb6r5hap_ae7_aq/SpecDef_cb6r5hap_ae7_aq.txt",
"chars": 14060,
"preview": "!#start YYYYJJJ 010000\n!#end YYYYJJJ 000000\n#layer 1\n\n/\n! This Species Definition File is for Use with t"
},
{
"path": "CCTM/src/MECHS/cb6r5m_ae7_aq/AE_cb6r5m_ae7_aq.nml",
"chars": 9662,
"preview": "&AE_nml\n\nAE_SPECIES_DATA = \n\n!SPECIES ,MOLWT ,Aitken ,Accum ,Coarse ,OPTICS ,IC ,ICFAC ,BC ,BC_FAC ,DRYDEP SU"
},
{
"path": "CCTM/src/MECHS/cb6r5m_ae7_aq/CMAQ_Control_DESID_cb6r5m_ae7_aq.nml",
"chars": 14528,
"preview": "!------------------------------------------------------------------------------!\n! Emission Control Interface "
},
{
"path": "CCTM/src/MECHS/cb6r5m_ae7_aq/CSQY_DATA_cb6r5m_ae7_aq",
"chars": 90919,
"preview": "Table for Mechanism = CB6R5M_AE7_AQ \nNPHOTAB = 56\n!Individual rates listed below:\nNO2_IUPAC10 \nO"
},
{
"path": "CCTM/src/MECHS/cb6r5m_ae7_aq/GC_cb6r5m_ae7_aq.nml",
"chars": 26282,
"preview": "&GC_nml\n\nGC_SPECIES_DATA = \n\n!SPECIES ,MOLWT ,IC ,IC_FAC ,BC ,BC_FAC ,DRYDEP SURR ,FAC ,WET-SCAV"
},
{
"path": "CCTM/src/MECHS/cb6r5m_ae7_aq/NR_cb6r5m_ae7_aq.nml",
"chars": 1997,
"preview": "&NR_nml\n\nNR_SPECIES_DATA = \n\n!SPECIES ,MOLWT ,IC ,IC_FAC ,BC ,BC_FAC ,DRYDEP SURR ,FAC ,WET-SC"
},
{
"path": "CCTM/src/MECHS/cb6r5m_ae7_aq/RXNS_DATA_MODULE.F90",
"chars": 306901,
"preview": " MODULE RXNS_DATA\n\n\n IMPLICIT NONE\n\n\n\n! --------- Photochemical Mechanism Reactions, Rates, etc. DAT -------"
},
{
"path": "CCTM/src/MECHS/cb6r5m_ae7_aq/RXNS_FUNC_MODULE.F90",
"chars": 92141,
"preview": " MODULE RXNS_FUNCTION\n\n\n IMPLICIT NONE\n\n\n\n! Name of Mechanism CB6R5M_AE7_AQ\n\n PUBLIC :: CA"
},
{
"path": "CCTM/src/MECHS/cb6r5m_ae7_aq/SpecDef_Conc_cb6r5m_ae7_aq.txt",
"chars": 18912,
"preview": "!#start YYYYJJJ 010000\n!#end YYYYJJJ 000000\n#layer 1\n\n/\n! This Species Definition File is for Use with t"
},
{
"path": "CCTM/src/MECHS/cb6r5m_ae7_aq/SpecDef_Dep_cb6r5m_ae7_aq.txt",
"chars": 9905,
"preview": "!#start YYYYJJJ\n!#end YYYYJJJ\n#layer 1\n\n/ File [1]: DRYDEP\n/ File [2]: WETDEP\n/ File [3]: METCRO2D\n/\n/new "
},
{
"path": "CCTM/src/MECHS/cb6r5m_ae7_aq/SpecDef_cb6r5m_ae7_aq.txt",
"chars": 10189,
"preview": "!#start YYYYJJJ 010000\n!#end YYYYJJJ 000000\n#layer 1\n\n/\n! This Species Definition File is for Use with t"
},
{
"path": "CCTM/src/MECHS/cb6r5m_ae7_aq/mech_cb6r5m_ae7_aq.def",
"chars": 40411,
"preview": "!CB6r3 for CMAQ\n! created for CMAQv5.2 and released in June 2017\n! documented in https://www.epa.gov/cmaq\n! Changes made"
},
{
"path": "CCTM/src/MECHS/cb6r5m_ae7_aq/pa_cb6r5m_ae7_aq.ctl",
"chars": 618,
"preview": "! for CB6_cl2\n!\n!=======================================================================\n! IPR_OUTPUTS\n!================"
},
{
"path": "CCTM/src/MECHS/cracmm1_aq/AE_cracmm1_aq.nml",
"chars": 9801,
"preview": "&AE_nml\n\nAE_SPECIES_DATA = \n\n!SPECIES ,MOLWT ,Aitken ,Accum ,Coarse ,OPTICS ,IC ,IC_FAC ,BC ,BC_FAC ,DRYDEP SURR ,FA"
},
{
"path": "CCTM/src/MECHS/cracmm1_aq/CMAQ_Control_DESID_cracmm1_aq.nml",
"chars": 42108,
"preview": "!------------------------------------------------------------------------------!\n! Emission Control Interface "
},
{
"path": "CCTM/src/MECHS/cracmm1_aq/CSQY_DATA_cracmm1_aq",
"chars": 53359,
"preview": "Table for Mechanism = CRACMM1_AQ \nNPHOTAB = 32\n!Individual rates listed below:\nO3O3P_NASA06 \nO"
},
{
"path": "CCTM/src/MECHS/cracmm1_aq/GC_cracmm1_aq.nml",
"chars": 38374,
"preview": "&GC_nml\n\nGC_SPECIES_DATA = \n\n!SPECIES ,MOLWT ,IC ,IC_FAC ,BC ,BC_FAC ,DRYDEP SURR ,FAC ,WET-SCAV"
},
{
"path": "CCTM/src/MECHS/cracmm1_aq/NR_cracmm1_aq.nml",
"chars": 624,
"preview": "&NR_nml\n\nNR_SPECIES_DATA = \n\n!SPECIES ,MOLWT ,IC ,IC_FAC ,BC ,BC_FAC ,DRYDEP SURR ,FAC ,WET-SC"
},
{
"path": "CCTM/src/MECHS/cracmm1_aq/RXNS_DATA_MODULE.F90",
"chars": 497786,
"preview": " MODULE RXNS_DATA\n\n\n IMPLICIT NONE\n\n\n\n! --------- Photochemical Mechanism Reactions, Rates, etc. DAT -------"
},
{
"path": "CCTM/src/MECHS/cracmm1_aq/RXNS_FUNC_MODULE.F90",
"chars": 94871,
"preview": " MODULE RXNS_FUNCTION\n\n\n IMPLICIT NONE\n\n\n\n! Name of Mechanism CRACMM1_AQ\n\n PUBLIC :: CALC_"
},
{
"path": "CCTM/src/MECHS/cracmm1_aq/SpecDef_Conc_cracmm1_aq.txt",
"chars": 21620,
"preview": "!#start YYYYJJJ 010000\n!#end YYYYJJJ 000000\n#layer 1\n\n/\n! This Species Definition File is for Use with t"
},
{
"path": "CCTM/src/MECHS/cracmm1_aq/SpecDef_Dep_cracmm1_aq.txt",
"chars": 8396,
"preview": "!#start YYYYJJJ\n!#end YYYYJJJ\n#layer 1\n\n/ File [1]: DRYDEP\n/ File [2]: WETDEP\n/ File [3]: METCRO2D\n/\n/new "
},
{
"path": "CCTM/src/MECHS/cracmm1_aq/SpecDef_cracmm1_aq.txt",
"chars": 12500,
"preview": "!#start YYYYJJJ 010000\n!#end YYYYJJJ 000000\n#layer 1\n\n/\n! This Species Definition File is for Use with t"
},
{
"path": "CCTM/src/MECHS/cracmm1_aq/cracmm1_aq_speciesdescription.csv",
"chars": 9086,
"preview": "Species,Description\r\nACD,Acetaldehyde \r\nACE,Acetylene \r\nACO3,Acetyl peroxy radicals\r\nACRO,Acrolein\r\nACT,Acetone\r\nACTP,Pe"
},
{
"path": "CCTM/src/MECHS/cracmm1_aq/mech_cracmm1_aq.def",
"chars": 101991,
"preview": "!! CRACMM version 1.0 mechanism developed 2021 by USEPA\n!! CRACMM builds upon RACM2 and RACM\n!! ************************"
},
{
"path": "CCTM/src/MECHS/cracmm1_aq/pa_cracmm1_aq.ctl",
"chars": 9331,
"preview": "! for cracmm1_aq\n!\nIRRTYPE = PARTIAL;\nDEFINE FAMILY NOX = NO + NO2;\nDEFINE FAMILY ORG_NO3 = ADCN + ISON + OLND+ OLNN + O"
},
{
"path": "CCTM/src/MECHS/cracmm1amore_aq/CSQY_DATA_cracmm1amore_aq",
"chars": 54924,
"preview": "Table for Mechanism = CRACMM1AMORE_AQ \nNPHOTAB = 33\n!Individual rates listed below:\nO3O3P_NASA06 \nO"
},
{
"path": "CCTM/src/MECHS/cracmm1amore_aq/GC_cracmm1amore_aq.nml",
"chars": 39069,
"preview": "&GC_nml\n\nGC_SPECIES_DATA = \n\n!SPECIES ,MOLWT ,IC ,IC_FAC ,BC ,BC_FAC ,DRYDEP SURR ,FAC ,WET-SCAV"
},
{
"path": "CCTM/src/MECHS/cracmm1amore_aq/RXNS_DATA_MODULE.F90",
"chars": 505759,
"preview": " MODULE RXNS_DATA\n\n\n IMPLICIT NONE\n\n\n\n! --------- Photochemical Mechanism Reactions, Rates, etc. DAT -------"
},
{
"path": "CCTM/src/MECHS/cracmm1amore_aq/RXNS_FUNC_MODULE.F90",
"chars": 96010,
"preview": " MODULE RXNS_FUNCTION\n\n\n IMPLICIT NONE\n\n\n\n! Name of Mechanism CRACMM1AMORE_AQ\n\n PUBLIC :: "
},
{
"path": "CCTM/src/MECHS/cracmm1amore_aq/SpecDef_Conc_cracmm1amore_aq.txt",
"chars": 21749,
"preview": "!#start YYYYJJJ 010000\n!#end YYYYJJJ 000000\n#layer 1\n\n/\n! This Species Definition File is for Use with t"
},
{
"path": "CCTM/src/MECHS/cracmm1amore_aq/SpecDef_Dep_cracmm1amore_aq.txt",
"chars": 8449,
"preview": "!#start YYYYJJJ\n!#end YYYYJJJ\n#layer 1\n\n/ File [1]: DRYDEP\n/ File [2]: WETDEP\n/ File [3]: METCRO2D\n/\n/new "
},
{
"path": "CCTM/src/MECHS/cracmm1amore_aq/SpecDef_cracmm1amore_aq.txt",
"chars": 12632,
"preview": "!#start YYYYJJJ 010000\n!#end YYYYJJJ 000000\n#layer 1\n\n/\n! This Species Definition File is for Use with t"
},
{
"path": "CCTM/src/MECHS/cracmm1amore_aq/mech_cracmm1amore_aq.def",
"chars": 103600,
"preview": "!! CRACMM version 1.0 mechanism developed 2021 by USEPA\n!! CRACMM builds upon RACM2 and RACM\n!! ************************"
},
{
"path": "CCTM/src/MECHS/cracmm2/AE_cracmm2.nml",
"chars": 10576,
"preview": "&AE_nml\n\nAE_SPECIES_DATA = \n\n!SPECIES ,MOLWT ,Aitken ,Accum ,Coarse ,OPTICS ,IC ,IC_FAC ,BC ,BC_FAC ,DRYDEP SURR ,FA"
},
{
"path": "CCTM/src/MECHS/cracmm2/CMAQ_Control_DESID_cracmm2.nml",
"chars": 42785,
"preview": "!------------------------------------------------------------------------------!\n! Emission Control Interface "
},
{
"path": "CCTM/src/MECHS/cracmm2/CSQY_DATA_cracmm2",
"chars": 53359,
"preview": "Table for Mechanism = CRACMM2 \nNPHOTAB = 32\n!Individual rates listed below:\nO3O3P_NASA06 \nO"
},
{
"path": "CCTM/src/MECHS/cracmm2/GC_cracmm2.nml",
"chars": 39780,
"preview": "&GC_nml\n\nGC_SPECIES_DATA = \n\n!SPECIES ,MOLWT ,IC ,IC_FAC ,BC ,BC_FAC ,DRYDEP SURR ,FAC ,WET-SCAV"
},
{
"path": "CCTM/src/MECHS/cracmm2/NR_cracmm2.nml",
"chars": 624,
"preview": "&NR_nml\n\nNR_SPECIES_DATA = \n\n!SPECIES ,MOLWT ,IC ,IC_FAC ,BC ,BC_FAC ,DRYDEP SURR ,FAC ,WET-SC"
},
{
"path": "CCTM/src/MECHS/cracmm2/RXNS_DATA_MODULE.F90",
"chars": 520952,
"preview": " MODULE RXNS_DATA\n\n\n IMPLICIT NONE\n\n\n\n! --------- Photochemical Mechanism Reactions, Rates, etc. DAT -------"
},
{
"path": "CCTM/src/MECHS/cracmm2/RXNS_FUNC_MODULE.F90",
"chars": 98417,
"preview": " MODULE RXNS_FUNCTION\n\n\n IMPLICIT NONE\n\n\n\n! Name of Mechanism CRACMM2\n\n PUBLIC :: CALC_RCO"
},
{
"path": "CCTM/src/MECHS/cracmm2/SpecDef_Conc_cracmm2.txt",
"chars": 21901,
"preview": "!#start YYYYJJJ 010000\n!#end YYYYJJJ 000000\n#layer 1\n\n/\n! This Species Definition File is for Use with t"
},
{
"path": "CCTM/src/MECHS/cracmm2/SpecDef_Dep_cracmm2.txt",
"chars": 8399,
"preview": "!#start YYYYJJJ\n!#end YYYYJJJ\n#layer 1\n\n/ File [1]: DRYDEP\n/ File [2]: WETDEP\n/ File [3]: METCRO2D\n/\n/new "
},
{
"path": "CCTM/src/MECHS/cracmm2/SpecDef_cracmm2.txt",
"chars": 12778,
"preview": "!#start YYYYJJJ 010000\n!#end YYYYJJJ 000000\n#layer 1\n\n/\n! This Species Definition File is for Use with t"
},
{
"path": "CCTM/src/MECHS/cracmm2/cracmm2_speciesdescription.csv",
"chars": 9088,
"preview": "Species,Description\r\nACD,Acetaldehyde \r\nACE,Acetylene \r\nACO3,Acetyl peroxy radicals\r\nACRO,Acrolein\r\nACT,Acetone\r\nACTP,Pe"
},
{
"path": "CCTM/src/MECHS/cracmm2/mech_cracmm2.def",
"chars": 84794,
"preview": "!! CRACMM version 1.0 mechanism developed 2021 by USEPA\n!! CRACMM builds upon RACM2 and RACM\n!! ************************"
},
{
"path": "CCTM/src/MECHS/cracmm2/pa_cracmm2.ctl",
"chars": 9148,
"preview": "! for cracmm1_aq\n!\nIRRTYPE = PARTIAL;\nDEFINE FAMILY NOX = NO + NO2;\nDEFINE FAMILY ORG_NO3 = ADCN + ISON + OLND+ OLNN + O"
},
{
"path": "CCTM/src/MECHS/mechanism_information/cb6r3_ae7_aq/AE7_species_table.md",
"chars": 7823,
"preview": "**The AE namelist for cb6r3_ae7_aq has the following aerosol species.**\n\n| **Model Species** | **Name** "
},
{
"path": "CCTM/src/MECHS/mechanism_information/cb6r3_ae7_aq/NR7_species_table.md",
"chars": 1445,
"preview": "**The NR namelist for cb6r3_ae7_aq has the following gas phase species.**\n\n| **Model Species** | **Name** "
},
{
"path": "CCTM/src/MECHS/mechanism_information/cb6r3_ae7_aq/cb6r3_ae7_aq_species_table.md",
"chars": 28458,
"preview": "**The GC namelist for cb6r3_ae7_aq has the following gas phase species.**\n\n| **Model Species** | **Definition** "
},
{
"path": "CCTM/src/MECHS/mechanism_information/cb6r3_ae7_aq/mech_cb6r3_ae7_aq.md",
"chars": 43055,
"preview": "Information is based on the mech.def file.\n* Fall-off or pressure dependent reaction rate constants (M equals air number"
},
{
"path": "CCTM/src/MECHS/mechanism_information/cb6r5_ae7_aq/AE7_species_table.md",
"chars": 7823,
"preview": "**The AE namelist for cb6r5_ae7_aq has the following aerosol species.**\n\n| **Model Species** | **Name** "
},
{
"path": "CCTM/src/MECHS/mechanism_information/cb6r5_ae7_aq/NR7_species_table.md",
"chars": 1445,
"preview": "**The NR namelist for cb6r5_ae7_aq has the following gas phase species.**\n\n| **Model Species** | **Name** "
},
{
"path": "CCTM/src/MECHS/mechanism_information/cb6r5_ae7_aq/cb6r5_ae7_aq_species_table.md",
"chars": 28698,
"preview": "**The GC namelist for cb6r5_ae7_aq has the following gas phase species.**\n\n| **Model Species** | **Definition** "
},
{
"path": "CCTM/src/MECHS/mechanism_information/cb6r5_ae7_aq/mech_cb6r5_ae7_aq.md",
"chars": 44466,
"preview": "Information is based on the mech.def file.\n* Fall-off or pressure dependent reaction rate constants (M equals air number"
},
{
"path": "CCTM/src/MECHS/mechanism_information/cb6r5hap_ae7_aq/cb6r5hap_ae7_aq_species_table.md",
"chars": 36274,
"preview": "**The GC namelist for cb6r5hap_ae7_aq has the following gas phase species.**\n\n| **Model Species** | **Definition** "
},
{
"path": "CCTM/src/MECHS/mechanism_information/cb6r5hap_ae7_aq/mech_cb6r5hap_ae7_aq.md",
"chars": 43149,
"preview": "Information is based on the mech.def file.\n* Fall-off or pressure dependent reaction rate constants (M equals air number"
},
{
"path": "CCTM/src/MECHS/mechanism_information/cb6r5m_ae7_aq/AE7_species_table.md",
"chars": 7948,
"preview": "**The AE namelist for cb6r5m_ae7_aq has the following aerosol species.**\n\n| **Model Species** | **Name** "
},
{
"path": "CCTM/src/MECHS/mechanism_information/cb6r5m_ae7_aq/NR7_species_table.md",
"chars": 1446,
"preview": "**The NR namelist for cb6r5m_ae7_aq has the following gas phase species.**\n\n| **Model Species** | **Name** "
},
{
"path": "CCTM/src/MECHS/mechanism_information/cb6r5m_ae7_aq/cb6r5m_ae7_aq_species_table.md",
"chars": 30715,
"preview": "**The GC namelist for cb6r5m_ae7_aq has the following gas phase species.**\n\n| **Model Species** | **Definition** "
},
{
"path": "CCTM/src/MECHS/mechanism_information/cb6r5m_ae7_aq/mech_cb6r5m_ae7_aq.md",
"chars": 53275,
"preview": "Information is based on the mech.def file.\n* Fall-off or pressure dependent reaction rate constants (M equals air number"
},
{
"path": "CCTM/src/MECHS/mechanism_information/cracmm1_aq/cracmm1_aq_species_table.md",
"chars": 29092,
"preview": "Gas (G) and particle (P) species from the namelists. SMILES link to representative structures in the EPA Chemicals Dashb"
},
{
"path": "CCTM/src/MECHS/mechanism_information/cracmm1_aq/mech_cracmm1_aq.md",
"chars": 71788,
"preview": "Information is based on the mech.def file.\n* Fall-off or pressure dependent reaction rate constants (M equals air number"
},
{
"path": "CCTM/src/MECHS/mechanism_information/cracmm1amore_aq/cracmm1amore_aq_species_table.md",
"chars": 29454,
"preview": "Gas (G) and particle (P) species from the namelists. SMILES link to representative structures in the EPA Chemicals Dashb"
},
{
"path": "CCTM/src/MECHS/mechanism_information/cracmm1amore_aq/mech_cracmm1amore_aq.md",
"chars": 72910,
"preview": "Information is based on the mech.def file.\n* Fall-off or pressure dependent reaction rate constants (M equals air number"
},
{
"path": "CCTM/src/MECHS/mechanism_information/cracmm2/cracmm2_species_table.md",
"chars": 29980,
"preview": "Gas (G) and particle (P) species from the namelists. SMILES link to representative structures in the EPA Chemicals Dashb"
},
{
"path": "CCTM/src/MECHS/mechanism_information/cracmm2/mech_cracmm2.md",
"chars": 77501,
"preview": "Information is based on the mech.def file.\n* Fall-off or pressure dependent reaction rate constants (M equals air number"
},
{
"path": "CCTM/src/MECHS/mechanism_information/racm2_ae6_aq/AE6_species_table.md",
"chars": 8282,
"preview": "**The AE namelist for racm2_ae6_aq has the following aerosol species.**\n\n| **Model Species** | **Name** "
},
{
"path": "CCTM/src/MECHS/mechanism_information/racm2_ae6_aq/NR_species_table.md",
"chars": 2083,
"preview": "**The NR namelist for racm2_ae6_aq has the following gas phase species.**\n\n| **Model Species** | **Name** "
},
{
"path": "CCTM/src/MECHS/mechanism_information/racm2_ae6_aq/mech_racm2_ae6_aq.md",
"chars": 51925,
"preview": "Information is based on the mech.def file.\n* Fall-off or pressure dependent reaction rate constants (M equals air number"
},
{
"path": "CCTM/src/MECHS/mechanism_information/racm2_ae6_aq/racm2_ae6_aq_species_table.md",
"chars": 34573,
"preview": "**The GC namelist for racm2_ae6_aq has the following gas phase species.**\n\n| **Model Species** | **Definition** "
},
{
"path": "CCTM/src/MECHS/mechanism_information/racm2_ae6_aq/racm2_ae6_aq_species_table_aerosol.md",
"chars": 2572,
"preview": "\n| **Model Species** | **Definition** "
},
{
"path": "CCTM/src/MECHS/mechanism_information/saprc07tc_ae6_aq/AE6_species_table.md",
"chars": 8298,
"preview": "**The AE namelist for saprc07tc_ae6_aq has the following aerosol species.**\n\n| **Model Species** | **Name** "
},
{
"path": "CCTM/src/MECHS/mechanism_information/saprc07tc_ae6_aq/NR_species_table.md",
"chars": 2086,
"preview": "**The NR namelist for sapr07tc_ae6_aq has the following gas phase species.**\n\n| **Model Species** | **Name** "
},
{
"path": "CCTM/src/MECHS/mechanism_information/saprc07tc_ae6_aq/mech_saprc07tc_ae6_aq.md",
"chars": 93289,
"preview": "Information is based on the mech.def file.\n* Fall-off or pressure dependent reaction rate constants (M equals air number"
},
{
"path": "CCTM/src/MECHS/mechanism_information/saprc07tc_ae6_aq/saprc07tc_ae6_aq_species_table.md",
"chars": 23604,
"preview": "**The GC namelist for saprc07tc_ae6_aq has the following gas phase species.**\n\n| **Species Name** | **Defintion** | **Ex"
},
{
"path": "CCTM/src/MECHS/mechanism_information/saprc07tc_ae6_aq/saprc07tc_ae6_aq_species_table_aerosol.md",
"chars": 2515,
"preview": "\n| **Species Name** | **Defintion** | **Phase** | **Molecular Weight** |\n|-----------|----------------------------------"
},
{
"path": "CCTM/src/MECHS/mechanism_information/saprc07tic_ae7i_aq/AE7I_species_table.md",
"chars": 8486,
"preview": "**The AE namelist for saprc07tic_ae7i_aq has the following aerosol species.**\n\n| **Model Species** | **Name** "
},
{
"path": "CCTM/src/MECHS/mechanism_information/saprc07tic_ae7i_aq/NR7_species_table.md",
"chars": 1451,
"preview": "**The NR namelist for saprc07tic_ae7i_aq has the following gas phase species.**\n\n| **Model Species** | **Name** "
},
{
"path": "CCTM/src/MECHS/mechanism_information/saprc07tic_ae7i_aq/mech_saprc07tic_ae7i_aq.md",
"chars": 117960,
"preview": "Information is based on the mech.def file.\n* Fall-off or pressure dependent reaction rate constants (M equals air number"
},
{
"path": "CCTM/src/MECHS/mechanism_information/saprc07tic_ae7i_aq/saprc07tic_ae6i_aq_species_table_aerosol.md",
"chars": 2970,
"preview": "|AALK1J|Accumulation Mode Alkane Product 1|Aerosol|168 |\n|AALK2J|Accumulation Mode Alkane Product 2|Aerosol|168 |\n|ABNZ1"
},
{
"path": "CCTM/src/MECHS/mechanism_information/saprc07tic_ae7i_aq/saprc07tic_ae7i_aq_species_table.md",
"chars": 24465,
"preview": "**The GC namelist for saprc07tic_ae7i_aq has the following gas phase species.**\n\n| **Definition** | **Definition** | **E"
},
{
"path": "CCTM/src/MECHS/racm2_ae6_aq/AE_racm2_ae6_aq.nml",
"chars": 9995,
"preview": "&AE_nml\n\nAE_SPECIES_DATA = \n \n!SPECIES ,MOLWT ,Aitken ,Accum ,Coarse ,OPTICS ,IC ,ICFAC ,BC ,BC_FAC ,DRYDEP S"
},
{
"path": "CCTM/src/MECHS/racm2_ae6_aq/CMAQ_Control_DESID_racm2_ae6_aq.nml",
"chars": 13624,
"preview": "!------------------------------------------------------------------------------!\n! Emission Control Interface "
},
{
"path": "CCTM/src/MECHS/racm2_ae6_aq/CSQY_DATA_racm2_ae6_aq",
"chars": 50229,
"preview": "Table for Mechanism = RACM2_AE6_AQ \nNPHOTAB = 30\n!Individual rates listed below:\nO3O3P_NASA06 \nO"
},
{
"path": "CCTM/src/MECHS/racm2_ae6_aq/GC_racm2_ae6_aq.nml",
"chars": 23844,
"preview": "&GC_nml\n\nGC_SPECIES_DATA = \n\n!SPECIES ,MOLWT ,IC ,IC_FAC ,BC ,BC_FAC ,DRYDEP SURR ,FAC ,WET-SCAV"
},
{
"path": "CCTM/src/MECHS/racm2_ae6_aq/NR_racm2_ae6_aq.nml",
"chars": 3145,
"preview": "&NR_nml\n\nNR_SPECIES_DATA = \n\n!SPECIES ,MOLWT ,IC ,IC_FAC ,BC ,BC_FAC ,DRYDEP SURR ,FAC ,WET-SC"
},
{
"path": "CCTM/src/MECHS/racm2_ae6_aq/RXNS_DATA_MODULE.F90",
"chars": 344746,
"preview": " MODULE RXNS_DATA\n\n\n IMPLICIT NONE\n\n\n\n! --------- Photochemical Mechanism Reactions, Rates, etc. DAT -------"
},
{
"path": "CCTM/src/MECHS/racm2_ae6_aq/RXNS_FUNC_MODULE.F90",
"chars": 83620,
"preview": " MODULE RXNS_FUNCTION\n\n\n IMPLICIT NONE\n\n\n\n! Name of Mechanism RACM2_AE6_AQ\n\n PUBLIC :: CAL"
},
{
"path": "CCTM/src/MECHS/racm2_ae6_aq/SpecDef_Dep_racm2_ae6_aq.txt",
"chars": 9757,
"preview": "!#start YYYYJJJ\n!#end YYYYJJJ\n#layer 1\n\n/ File [1]: DRYDEP\n/ File [2]: WETDEP\n/ File [3]: METCRO2D\n/\n/new "
},
{
"path": "CCTM/src/MECHS/racm2_ae6_aq/SpecDef_racm2_ae6_aq.txt",
"chars": 9551,
"preview": "!#start YYYYJJJ 010000\n!#end YYYYJJJ 000000\n#layer 1\n\n/\n! This Species Definition File is for Use with t"
},
{
"path": "CCTM/src/MECHS/racm2_ae6_aq/mech_racm2_ae6_aq.def",
"chars": 73303,
"preview": "!! **********************************************************************\n!! FILE: RACM2.5M4.mch - update MACR s"
},
{
"path": "CCTM/src/MECHS/racm2_ae6_aq/pa_racm2_ae6_aq.ctl",
"chars": 623,
"preview": "! for racm2_ae6_aq\n!\n!=======================================================================\n! IPR_OUTPUTS\n!==========="
},
{
"path": "CCTM/src/MECHS/saprc07tc_ae6_aq/AE_saprc07tc_ae6_aq.nml",
"chars": 9995,
"preview": "&AE_nml\n\nAE_SPECIES_DATA = \n \n!SPECIES ,MOLWT ,Aitken ,Accum ,Coarse ,OPTICS ,IC ,ICFAC ,BC ,BC_FAC ,DRYDEP S"
},
{
"path": "CCTM/src/MECHS/saprc07tc_ae6_aq/CMAQ_Control_DESID_saprc07tc_ae6_aq.nml",
"chars": 15035,
"preview": "!------------------------------------------------------------------------------!\n! Emission Control Interface "
},
{
"path": "CCTM/src/MECHS/saprc07tc_ae6_aq/CSQY_DATA_saprc07tc_ae6_aq",
"chars": 62749,
"preview": "Table for Mechanism = SAPRC07TC_AE6_AQ \nNPHOTAB = 38\n!Individual rates listed below:\nNO2_06 \nN"
},
{
"path": "CCTM/src/MECHS/saprc07tc_ae6_aq/GC_saprc07tc_ae6_aq.nml",
"chars": 28217,
"preview": "&GC_nml\n\nGC_SPECIES_DATA = \n\n!SPECIES ,MOLWT ,IC ,IC_FAC ,BC ,BC_FAC ,DRYDEP SURR ,FAC ,WET-SCAV"
},
{
"path": "CCTM/src/MECHS/saprc07tc_ae6_aq/NR_saprc07tc_ae6_aq.nml",
"chars": 2963,
"preview": "&NR_nml\n\nNR_SPECIES_DATA = \n\n!SPECIES ,MOLWT ,IC ,IC_FAC ,BC ,BC_FAC ,DRYDEP SURR ,FAC ,WET-SCA"
},
{
"path": "CCTM/src/MECHS/saprc07tc_ae6_aq/RXNS_DATA_MODULE.F90",
"chars": 667590,
"preview": " MODULE RXNS_DATA\n\n\n IMPLICIT NONE\n\n\n\n! --------- Photochemical Mechanism Reactions, Rates, etc. DAT -------"
},
{
"path": "CCTM/src/MECHS/saprc07tc_ae6_aq/RXNS_FUNC_MODULE.F90",
"chars": 116628,
"preview": " MODULE RXNS_FUNCTION\n\n\n IMPLICIT NONE\n\n\n\n! Name of Mechanism SAPRC07TC_AE6_AQ\n\n PUBLIC ::"
},
{
"path": "CCTM/src/MECHS/saprc07tc_ae6_aq/SpecDef_Dep_saprc07tc_ae6_aq.txt",
"chars": 9581,
"preview": "!#start YYYYJJJ\n!#end YYYYJJJ\n#layer 1\n\n/ File [1]: DRYDEP\n/ File [2]: WETDEP\n/ File [3]: METCRO2D\n/\n/new "
},
{
"path": "CCTM/src/MECHS/saprc07tc_ae6_aq/SpecDef_saprc07tc_ae6_aq.txt",
"chars": 9574,
"preview": "!#start YYYYJJJ 010000\r\n!#end YYYYJJJ 000000\r\n#layer 1\r\n\r\n/\r\n! This Species Definition File is for Use w"
},
{
"path": "CCTM/src/MECHS/saprc07tc_ae6_aq/mech_saprc07tc_ae6_aq.def",
"chars": 69661,
"preview": "\n! RCS file, release, date & time of last delta, author, state, [and locker]\n! $Header: /project/yoj/arc/MECHS/src/saprc"
},
{
"path": "CCTM/src/MECHS/saprc07tc_ae6_aq/pa_saprc07tc_ae6_aq.ctl",
"chars": 627,
"preview": "! for saprc07tc_ae6_aq\n!\n!=======================================================================\n! IPR_OUTPUTS\n!======="
},
{
"path": "CCTM/src/MECHS/saprc07tic_ae7i_aq/AE_saprc07tic_ae7i_aq.nml",
"chars": 10493,
"preview": "&AE_nml\n\nAE_SPECIES_DATA = \n\n!SPECIES ,MOLWT ,Aitken ,Accum ,Coarse ,OPTICS ,IC ,ICFAC ,BC ,BC_FAC ,DRYDEP SU"
},
{
"path": "CCTM/src/MECHS/saprc07tic_ae7i_aq/CMAQ_Control_DESID_saprc07tic_ae7i_aq.nml",
"chars": 15035,
"preview": "!------------------------------------------------------------------------------!\n! Emission Control Interface "
},
{
"path": "CCTM/src/MECHS/saprc07tic_ae7i_aq/CSQY_DATA_saprc07tic_ae7i_aq",
"chars": 65879,
"preview": "Table for Mechanism = SAPRC07TIC_AE7I_AQ \nNPHOTAB = 40\n!Individual rates listed below:\nNO2_06 \nN"
},
{
"path": "CCTM/src/MECHS/saprc07tic_ae7i_aq/GC_saprc07tic_ae7i_aq.nml",
"chars": 33401,
"preview": "&GC_nml\n\nGC_SPECIES_DATA = \n\n!SPECIES ,MOLWT ,IC ,IC_FAC ,BC ,BC_FAC ,DRYDEP SURR ,FAC ,WET-SCAV"
},
{
"path": "CCTM/src/MECHS/saprc07tic_ae7i_aq/NR_saprc07tic_ae7i_aq.nml",
"chars": 1985,
"preview": "&NR_nml\n\nNR_SPECIES_DATA = \n\n!SPECIES ,MOLWT ,IC ,IC_FAC ,BC ,BC_FAC ,DRYDEP SURR ,FAC ,WET-SCA"
},
{
"path": "CCTM/src/MECHS/saprc07tic_ae7i_aq/RXNS_DATA_MODULE.F90",
"chars": 814214,
"preview": " MODULE RXNS_DATA\n\n\n IMPLICIT NONE\n\n\n\n! --------- Photochemical Mechanism Reactions, Rates, etc. DAT -------"
},
{
"path": "CCTM/src/MECHS/saprc07tic_ae7i_aq/RXNS_FUNC_MODULE.F90",
"chars": 136990,
"preview": " MODULE RXNS_FUNCTION\n\n\n IMPLICIT NONE\n\n\n\n! Name of Mechanism SAPRC07TIC_AE7I_AQ\n\n PUBLIC "
},
{
"path": "CCTM/src/MECHS/saprc07tic_ae7i_aq/SpecDef_Dep_saprc07tic_ae7i_aq.txt",
"chars": 9168,
"preview": "!#start 2005001\n!#end 2005032\n#layer 1\n/ File [1]: DRYDEP\n/ File [2]: WETDEP\n/ File [3]: METCRO2D\n/\n/new s"
},
{
"path": "CCTM/src/MECHS/saprc07tic_ae7i_aq/SpecDef_saprc07tic_ae7i_aq.txt",
"chars": 10401,
"preview": "!#start YYYYJJJ 010000\n!#end YYYYJJJ 000000\n#layer 1\n\n/\n! This Species Definition File is for Use with t"
},
{
"path": "CCTM/src/MECHS/saprc07tic_ae7i_aq/mech_saprc07tic_ae7i_aq.def",
"chars": 89360,
"preview": "! 01/20/2010: B. Hutzell created based on SAPRC07T Mechanism, version \"C\"\n! from William Carter dated 12-Jan"
},
{
"path": "CCTM/src/MECHS/saprc07tic_ae7i_aq/pa_saprc07tic_ae7i_aq.ctl",
"chars": 629,
"preview": "! for saprc07tic_ae7i_aq\n!\n!=======================================================================\n! IPR_OUTPUTS\n!====="
},
{
"path": "CCTM/src/MECHS/saprc07tic_ae7i_aqkmt2/AE_saprc07tic_ae7i_aq.nml",
"chars": 10493,
"preview": "&AE_nml\n\nAE_SPECIES_DATA = \n\n!SPECIES ,MOLWT ,Aitken ,Accum ,Coarse ,OPTICS ,IC ,ICFAC ,BC ,BC_FAC ,DRYDEP SU"
},
{
"path": "CCTM/src/MECHS/saprc07tic_ae7i_aqkmt2/GC_saprc07tic_ae7i_aq.nml",
"chars": 33401,
"preview": "&GC_nml\n\nGC_SPECIES_DATA = \n\n!SPECIES ,MOLWT ,IC ,IC_FAC ,BC ,BC_FAC ,DRYDEP SURR ,FAC ,WET-SCAV"
},
{
"path": "CCTM/src/MECHS/trac0/Species_Table_TR_0.nml",
"chars": 32,
"preview": "&TR_nml\n \nTR_SPECIES_DATA = \n\n/\n"
},
{
"path": "CCTM/src/MECHS/trac1/Species_Table_TR_1.nml",
"chars": 2970,
"preview": "&TR_nml\n\nTR_SPECIES_DATA = \n\n!SPECIES ,MOLWT ,IC ,IC_FAC ,BC ,BC_FAC ,DRYDEP SURR,FAC ,WET-SCAV SURR ,FAC ,TR2AE SU"
},
{
"path": "CCTM/src/PARIO/PIOGRID.EXT",
"chars": 3559,
"preview": "\n!------------------------------------------------------------------------!\n! The Community Multiscale Air Quality (CMA"
},
{
"path": "CCTM/src/PARIO/PIOVARS.EXT",
"chars": 2458,
"preview": "\n!------------------------------------------------------------------------!\n! The Community Multiscale Air Quality (CMA"
},
{
"path": "CCTM/src/PARIO/alloc_data_mod.f",
"chars": 1976,
"preview": "\n!------------------------------------------------------------------------!\n! The Community Multiscale Air Quality (CMA"
},
{
"path": "CCTM/src/PARIO/get_write_map.f",
"chars": 7366,
"preview": "\n!------------------------------------------------------------------------!\n! The Community Multiscale Air Quality (CMA"
},
{
"path": "CCTM/src/PARIO/parutilio.f",
"chars": 10038,
"preview": "\n!------------------------------------------------------------------------!\n! The Community Multiscale Air Quality (CMA"
},
{
"path": "CCTM/src/PARIO/pio_init.f",
"chars": 15922,
"preview": "\n!------------------------------------------------------------------------!\n! The Community Multiscale Air Quality (CMA"
},
{
"path": "CCTM/src/PARIO/piomaps_mod.f",
"chars": 4497,
"preview": "\n!------------------------------------------------------------------------!\n! The Community Multiscale Air Quality (CMA"
},
{
"path": "CCTM/src/PARIO/pm3err.f",
"chars": 6146,
"preview": "\n!------------------------------------------------------------------------!\n! The Community Multiscale Air Quality (CMA"
},
{
"path": "CCTM/src/PARIO/pm3exit.f",
"chars": 6826,
"preview": "\n!------------------------------------------------------------------------!\n! The Community Multiscale Air Quality (CMA"
},
{
"path": "CCTM/src/PARIO/pm3warn.f",
"chars": 3744,
"preview": "\n!------------------------------------------------------------------------!\n! The Community Multiscale Air Quality (CMA"
},
{
"path": "CCTM/src/PARIO/pshut3.F",
"chars": 5513,
"preview": "\n!------------------------------------------------------------------------!\n! The Community Multiscale Air Quality (CMA"
},
{
"path": "CCTM/src/PARIO/ptrwrite3.f",
"chars": 12483,
"preview": "\n!------------------------------------------------------------------------!\n! The Community Multiscale Air Quality (CMA"
},
{
"path": "CCTM/src/PARIO/pwrgrdd.f",
"chars": 13774,
"preview": "\n!------------------------------------------------------------------------!\n! The Community Multiscale Air Quality (CMA"
},
{
"path": "CCTM/src/PARIO/pwrite3.f",
"chars": 12792,
"preview": "\n!------------------------------------------------------------------------!\n! The Community Multiscale Air Quality (CMA"
},
{
"path": "CCTM/src/PARIO/subdmap.f",
"chars": 9519,
"preview": "\n!------------------------------------------------------------------------!\n! The Community Multiscale Air Quality (CMA"
},
{
"path": "CCTM/src/PARIO/wrsubdmap.f",
"chars": 3062,
"preview": "\n!------------------------------------------------------------------------!\n! The Community Multiscale Air Quality (CMA"
},
{
"path": "CCTM/src/STENEX/noop/noop_comm_module.f",
"chars": 7072,
"preview": "\n!------------------------------------------------------------------------!\n! The Community Multiscale Air Quality (CMA"
},
{
"path": "CCTM/src/STENEX/noop/noop_data_copy_module.f",
"chars": 5928,
"preview": "\n!------------------------------------------------------------------------!\n! The Community Multiscale Air Quality (CMA"
},
{
"path": "CCTM/src/STENEX/noop/noop_gather_module.f",
"chars": 6100,
"preview": "\n!------------------------------------------------------------------------!\n! The Community Multiscale Air Quality (CMA"
},
{
"path": "CCTM/src/STENEX/noop/noop_global_max_module.f",
"chars": 3548,
"preview": "\n!------------------------------------------------------------------------!\n! The Community Multiscale Air Quality (CMA"
},
{
"path": "CCTM/src/STENEX/noop/noop_global_min_module.f",
"chars": 3543,
"preview": "\n!------------------------------------------------------------------------!\n! The Community Multiscale Air Quality (CMA"
},
{
"path": "CCTM/src/STENEX/noop/noop_global_sum_module.f",
"chars": 3577,
"preview": "\n!------------------------------------------------------------------------!\n! The Community Multiscale Air Quality (CMA"
},
{
"path": "CCTM/src/STENEX/noop/noop_init_module.f",
"chars": 2956,
"preview": "\n!------------------------------------------------------------------------!\n! The Community Multiscale Air Quality (CMA"
},
{
"path": "CCTM/src/STENEX/noop/noop_modules.f",
"chars": 2511,
"preview": "\n!------------------------------------------------------------------------!\n! The Community Multiscale Air Quality (CMA"
},
{
"path": "CCTM/src/STENEX/noop/noop_slice_module.f",
"chars": 7391,
"preview": "\n!------------------------------------------------------------------------!\n! The Community Multiscale Air Quality (CMA"
},
{
"path": "CCTM/src/STENEX/noop/noop_term_module.f",
"chars": 2043,
"preview": "\n!------------------------------------------------------------------------!\n! The Community Multiscale Air Quality (CMA"
},
{
"path": "CCTM/src/STENEX/noop/noop_util_module.f",
"chars": 16588,
"preview": "\n!------------------------------------------------------------------------!\n! The Community Multiscale Air Quality (CMA"
},
{
"path": "CCTM/src/STENEX/se/se_bndy_copy_info_ext.f",
"chars": 1918,
"preview": "\n!------------------------------------------------------------------------!\n! The Community Multiscale Air Quality (CMA"
},
{
"path": "CCTM/src/STENEX/se/se_bndy_copy_module.f",
"chars": 16907,
"preview": "\n!------------------------------------------------------------------------!\n! The Community Multiscale Air Quality (CMA"
},
{
"path": "CCTM/src/STENEX/se/se_comm_info_ext.f",
"chars": 2661,
"preview": "\n!------------------------------------------------------------------------!\n! The Community Multiscale Air Quality (CMA"
},
{
"path": "CCTM/src/STENEX/se/se_comm_module.f",
"chars": 112608,
"preview": "\n!------------------------------------------------------------------------!\n! The Community Multiscale Air Quality (CMA"
},
{
"path": "CCTM/src/STENEX/se/se_data_copy_module.f",
"chars": 18068,
"preview": "\n!------------------------------------------------------------------------!\n! The Community Multiscale Air Quality (CMA"
}
]
// ... and 1356 more files (download for full content)
About this extraction
This page contains the full source code of the USEPA/CMAQ GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 1556 files (42.7 MB), approximately 11.3M tokens, and a symbol index with 4 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.