Adding a new air pollutant with gas-to-particle partitioning

Hi CMAQ fellows!

I need your help badly! Using CMAQv5.5, I want to modify the 2-day benchmark example of CMAQv5.5 (the one for NE during Jul 01-02, 2018) with adding a new air pollutant (xxxg). I assume this new chemical is initially a gas but that is not a tracer and can undergo gas-to-particle partitioning (xxxg to xxxp). To keep it as simple as possible, I assume anywhere that one of the existing SVOC gases in CMAQ is emitted, xxxg is also emitted with the scale factor of 0.1.

To do so, I revised a couple of CMAQ_REPO/CCTM/src files including:

  1. …/MECHS/cb6r5_ae7_aq/cb6r5_ae7_aq/AE_cb6r5_ae7_aq.nml

  2. …/MECHS/cb6r5_ae7_aq/GC_cb6r5_ae7_aq.nml

  3. …/MECHS/cb6r5_ae7_aq/CMAQ_Control_DESID_cb6r5_ae7_aq.nml

  4. …/aero/aero7/aero_data.f

  5. And created a new subroutine of …/aero/aero7/xxx_GasParticlePartitioning.f to be called in …/aero/aero7/aerosol_chemistry.f

I run bldit without a problem but when I run the run file, I hit the following error:

     ....
     ================================
     |>---   TIME INTEGRATION   ---<|
     ================================
     Processing Day/Time [YYYYDDD:HHMMSS]: 2018182:000000
       Which is Equivalent to (UTC): 0:00:00  Sunday,  July 1, 2018
       Time-Step Length (HHMMSS): 000500
                 VDIFF completed...       1.6689 seconds
                COUPLE completed...       0.0647 seconds
                  HADV completed...       0.8142 seconds
                  ZADV completed...       0.2512 seconds
                 HDIFF completed...       0.1735 seconds
              DECOUPLE completed...       0.0269 seconds
--------------------------------------------------------------------------
MPI_ABORT was invoked on rank 3 in communicator MPI_COMM_WORLD
with errorcode 1.
NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes.
You may or may not see output from other processes, depending on
exactly when Open MPI kills them.
--------------------------------------------------------------------------
real 57.75
user 0.04
sys 0.00
************************************************************** 
** Runscript Detected an Error: CGRID file was not written. **
**   This indicates that CMAQ was interrupted or an issue   **
**   exists with writing output. The runscript will now     **
**   abort rather than proceeding to subsequent days.       **
**************************************************************
==================================
  ***** CMAQ TIMING REPORT *****
==================================
Start Day: 2018-07-01
End Day:   2018-07-02
Number of Simulation Days: 1
Domain Name:               2018_12NE3
Number of Grid Cells:      367500  (ROW x COL x LAY)
Number of Layers:          35
Number of Processes:       8
   All times are in seconds.
Num  Day        Wall Time
01   2018-07-01   57.75```

<!-- You should use 3 backticks to begin and end code examples to improve readability.  Or use a service such as https://pastebin.com or https://gist.github.com/   -->

If you encountered an error message generated from a CMAQ run, please upload output from the following command:

`cd /your_install_path/CMAQ_v5.5/CCTM/scripts`

`grep -i error CTM_LOG*`

orcb6r5\_

\`grep -i error \*.log

CTM_LOG_000.v55_gcc_Bench_2018_12NE3_cb6r5_ae7_aq_m3dry_20180701:     Performing Basic Error Checks for Emission Scaling Rules
CTM_LOG_001.v55_gcc_Bench_2018_12NE3_cb6r5_ae7_aq_m3dry_20180701:     Performing Basic Error Checks for Emission Scaling Rules
CTM_LOG_002.v55_gcc_Bench_2018_12NE3_cb6r5_ae7_aq_m3dry_20180701:     Performing Basic Error Checks for Emission Scaling Rules
CTM_LOG_003.v55_gcc_Bench_2018_12NE3_cb6r5_ae7_aq_m3dry_20180701:     Performing Basic Error Checks for Emission Scaling Rules
CTM_LOG_003.v55_gcc_Bench_2018_12NE3_cb6r5_ae7_aq_m3dry_20180701:     \*\*\* ERROR ABORT in subroutine HLCONST on PE 003
CTM_LOG_004.v55_gcc_Bench_2018_12NE3_cb6r5_ae7_aq_m3dry_20180701:     Performing Basic Error Checks for Emission Scaling Rules
CTM_LOG_005.v55_gcc_Bench_2018_12NE3_cb6r5_ae7_aq_m3dry_20180701:     Performing Basic Error Checks for Emission Scaling Rules
CTM_LOG_006.v55_gcc_Bench_2018_12NE3_cb6r5_ae7_aq_m3dry_20180701:     Performing Basic Error Checks for Emission Scaling Rules
CTM_LOG_007.v55_gcc_Bench_2018_12NE3_cb6r5_ae7_aq_m3dry_20180701:     Performing Basic Error Checks for Emission Scaling Rules

Please specify the version number of CMAQ, the compiler you are using, if you are using modules to load the compiler, list what modules are being used to compile and run CMAQ using the following command:

```bash
CMAQv5.5  gcc

If you are not using modules, please specify what compiler you are using

ifort --version
gfortran --version

GNU Fortran (Ubuntu 11.4.0-1ubuntu1~22.04.2) 11.4.0

Please review the CMAQ documentation available here: CMAQ Documentation | US EPA

Hello,

This tutorial should be useful: CMAQ/DOCS/Users_Guide/Tutorials/CMAQ_UG_tutorial_chemicalmechanism.md at main · USEPA/CMAQ · GitHub

There is a step about modifying SOA_DEFN.F–the species need not be SOA as semivolatile POA species are also treated there.

Also try to build with debug flags–it’ll give more information on where the model is failing.

Havala

Very useful hint, Havala! Thank you so much! I’ve got some results (no error in the run) though based on the outcome I should have some wrong inputs as the results do not seem reasonable. Made a progress but it seems being a long way to go!

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.