Tracer namelist in CMAQ5.2

Hi everyone,

I’m trying to use tracer namelist to add T_DSPM2.5 and T_DSPM10 tracers in CMAQ5.2 runs (T_DSPM10 and T_DSPM2.5 are diesel PM species included in my emission files and I also added them to ICON and BCON files).

I’ve done a test run based on https://github.com/USEPA/CMAQ/blob/master/DOCS/Users_Guide/Tutorials/CMAQ_UG_tutorial_tracers.md documentation and successfully ran the model adding CO_emis as the tracer species.

But when I try to add T_DSPM10 to the same namelist I get segmentation fault. My tracer namelist looks like this:

! RCS file, release, date & time of last delta, author, state, [and locker]
! Header: /project/yoj/arc/MECHS/src/trac0/Species_Table_TR_0.nml,v 1.1 2010/07/26 11:46:56 yoj Exp

&TR_nml

n_surr1 = 4,
n_surr2 = 2,
n_ctrl = 5,

TYPE_HEADER =
‘SPC:MOLWT:EMIS_SUR:EMIS_FAC:ICBC_SUR:ICBC_FAC:DEPV_SUR:DEPV_FAC:SCAV_SUR:SCAV_FAC:T2AE_SUR:T2AQ_SUR:ADV:DIFF:DDEP:WDEP:CONC’,
TYPE_MATRIX =
‘T_DSPM10_Emis:1:T_DSPM10:1:::::::::Yes:Yes:Yes:Yes:Yes’
/

I’ve left the DEPV and SCAV field empty because I wasn’t sure how to define them. (using simply VD_T_DSPM10 and T_DSPM10 for those fields did not work).

I would really appreciate it if you could comment on my namelist or share more examples of tracer namelists or suggest any step I may be missing.

Thank you in advance,
Mahshid

1 Like

I haven’t tested this myself, but I’m guessing that the error is caused by not defining DEPV and SCAV surrogates and factors while also requesting that the tracer species should be written to the DRYDEP and WETDEP1 output files.

Assuming you indeed do not want your tracers to undergo dry deposition and scavenging (i.e. you only want them to be emitted, transported, and specified as initial and boundary conditions), keep leaving the DEPV and SCAV surrogate/factor columns blank but try changing ‘Yes’ to ‘No’ in the DDEP and WDEP columns so that the code will not try to write these tracers to the DRYDEP and WETDEP1 output files.

If, on the other hand, you want these tracers to undergo dry deposition and scavenging in addition to the processes listed above, you do need to specify the corresponding surrogates. You can look at the aerosol namelist file for a given mechanism (e.g. cb6r3_ae6_aq.nml) to see what surrogates and factors are available for the deposition and scavenging of aerosol species. Assuming you consider your T_DSPM2.5_Emis tracer to deposit and scavenge similar to elemental carbon in the accumulation mode, you could specify ‘VMASSJ’ as the DEPV surrogate with a factor of 1 and ‘PRI_ACCUM’ as the scavenging surrogate, again with a factor of 1. You would also keep the ‘Yes’ entries in the DDEP and WDEP columns. For the T_DSPM10_Emis tracer, you probably would want to use the corresponding coarse mode surrogates, i.e. ‘VMASSC’ and ‘PRI_COARSE’ (see, for example, the entries for ACORS in the aerosol namelist file linked above)

Please let us know if either of these approaches works for you.

1 Like

Dr Hogrefe,

Thank you so much for your prompt response,
It solved the segmentation fault and it runs successfully when I turn of dry and wet deposition.

But when I update the tracer namelist and add the DEPV and scavenging surrogates as you mentioned, I get the following error:

 *** ERROR ABORT in subroutine GAS_DEPV_MAP on PE 028
 Could not find VMASSC in M3DRY surrogate table.

VMASSC exists in my aerosol namelist but for some reason the model is looking it up in gas namelist I guess. Is there any specific settings for aerosol species?

My updated tracer namelist looks like below and I’m using cb05tucl_ae6_aq chemical mechanism:

! RCS file, release, date & time of last delta, author, state, [and locker]

! Header: /project/yoj/arc/MECHS/src/trac0/Species_Table_TR_0.nml,v 1.1 2010/07/26 11:46:56 yoj Exp

&TR_nml

n_surr1 = 4,

n_surr2 = 2,

n_ctrl = 5,

TYPE_HEADER =

‘SPC:MOLWT:EMIS_SUR:EMIS_FAC:ICBC_SUR:ICBC_FAC:DEPV_SUR:DEPV_FAC:SCAV_SUR:SCAV_FAC:T2AE_SUR:T2AQ_SUR:ADV:DIFF:DDEP:WDEP:CONC’,

TYPE_MATRIX =

‘T_DSPM10_Emis:1:T_DSPM10:1:::VMASSC:1:PRI_COARSE:1:::Yes:Yes:Yes:Yes:Yes’,

‘T_DSPM2_5_Emis:1:T_DSPM2_5:1:::VMASSJ:1:PRI_ACCUM:1:::Yes:Yes:Yes:Yes:Yes’

/

Please let me know if you have any suggestions.

Thank you so much for your time,
Mahshid

Hello Mahshid,

thanks for confirming that turning off dry deposition and scavenging in the ‘DDEP’ and ‘WDEP’ columns helps avoid the crash.

I don’t have any hands-on experience with defining aerosol tracers, all my experience to date has been with gas phase tracers. I had hoped/guessed that using deposition and scavenging surrogates from the AE namelist file might work to enable dry and wet deposition for aerosol tracers, but apparently that’s not the case.

At this point unfortunately I don’t have any further guidance. It might be that the tracers as implemented in CMAQ are inherently assumed to be gas phase species which would explain why the dry deposition code looks for the surrogate in the gas phase table. The researchers who originally implemented tracers in CMAQ no longer work in our group. I’ll have to reach out to some colleagues to dig into this further and trace it back.

Given the current situation where many of us are working from home and are on different schedules, it may take us a while to determine whether tracers indeed are assumed to be gas phase only or, if not, how your configuration would need to be changed for a successful simulation.

Dr. Hogrefe,

Thank you so much for getting back to me, it was very helpful.
I really appreciate your help and time.

I’ll also dig into the source codes some more and try to learn more about tracer namelist, I’ll let you know if I make any progress.

I’ll look forward to hearing from you,
Thank you,
Mahshid

Dear Mashid,

Sorry for the long delay in replying to you. I would recommend using the existing aerosol (AE) infrastructure to accomplish your goals. The “Tracer” namelist features are really intended for gas-phase species only.

Near the end of the aerolist in AERO_DATA.F you will find three species that I believe will work for your purposes: ADE_OTHRI, ADE_OTHRJ, and ADE_K representing Diesel PM in the Aitken, Accumulation and Coarse modes, respectively. You can turn these species on by adding them to your AE namelist file. You can see lines 92, 93, and 100 in the AE_cb05mp1_ae6_aq.nml file for an example.

You will of course want to change the EMIS_SUR column value for each to point to your own emissions surrogates (T_DSPM10 and T_DSPM2.5). One complication is that in CMAQ we don’t have a species that represent the full PM10 size range at once. Instead, you will have to make an assumption that the DSPM10 emissions act as either coarse mode or fine mode for the purposes of deposition. I would recommend coarse mode and thus putting them all into ADE_K. Additionally, you could modify your emissions so that you provide T_DSPM2.5 as is and then provide the coarse emissions by subtracting T_DSPM2.5 from T_DSPM10 on the input files (maybe call it T_DSPMC?).

I hope this helps. Please let me know what additional questions you have.

Cheers,
Ben

2 Likes

Dear Ben,

Thank you so much for your thorough explanation. It was very helpful.
I got a successful run adding the three species to my aerosol namelist.

Thank you,
Mahshid

Hi everyone,

I have one more question on this subject.
Here is a summary of what I’ve done so far:

I use CMAQ5.2 with the cb05tucl_ae6_aq chemical mechanism. My goal is studying particulate matter as tracers. So I added ADE_OTHRI, ADE_OTHRJ, and ADE_K to my AE namelist (following examples from AE_cb05mp1_ae6_aq.nml file)
and pointed the EMIS_SUR column values to my tracer emission species (T_DSPM2.5 and T_DSPMC). This is the part that I added to my AE namelist.

‘ADE_OTHRI:200.0:T_DSPM2.5:1.0:VMASSI:1.0:TRACER_AITKEN:1.0:::TRACER_AITKEN:Yes:Yes:Yes:Yes’,
‘ADE_OTHRJ:200.0:T_DSPM2.5:1.0:VMASSJ:1.0:TRACER_ACCUM:1.0:::TRACER_ACCUM:Yes:Yes:Yes:Yes’,
‘ADE_K:100.0:T_DSPMC:1.0:VMASSC:1.0:TRACER_COARSE:1.0:::TRACER_COARSE:Yes:Yes:Yes:Yes’

The model runs successfully but after post processing I realized that the ADE_OTHRI, ADE_OTHRJ, and ADE_K output values are so small (on the order of 10E-20) and the spatial pattern doesn’t make sense. It seems that these new diesel PM species I added are not being simulated correctly and what output is showing is just numerical noise. Are there any other details or more changes I need to make to simulate these PM tracers? I would appreciate it if anyone can help me solve this issue.

Hi Mashid,

No other necessary code modifications come to mind and the fact that you are seeing the variables on the output files is a good sign. Let’s confirm that the emissions are being read in correctly. When you have a moment the following would be helpful:

  • Check the log file to see if there are warnings being printed every hour indicating that the emissions for these species can’t be found.
  • Check the units on the emissions files for these T_DSPM2.5 and T_DSPMC species.
  • Spot check a few of the values for T_DSPM2.5 and T_DSPMC directly on the emissions files and make sure they are reasonable in magnitude. In other words, confirm there is not a unit conversion issue or something.

It’s possible that the aerosol emissions routine is overwriting the values for the emissions surrogate species on the AE namelist with the emission surrogates in the AERO_DATA library table. I’m not sure the is the case, but it’s something to check. In CMAQv5.3 and beyond, we have rewritten this code to be much more transparent. For your case, you can check by doing the following:

  • Go to AERO_DATA.F (lines 278 and 283): Update DIESEL_PMFINE and DIESEL_PMC to read T_DSPM2.5 and T_DSPMC respectively and then reocmpile and rerun.

Lastly, it’s possible that IOAPI is having a hard time with the decimal point in T_DSPM2.5 and it may need to be renamed in all of your files. However, we would expect your coarse-mode emissions to be coming through fine if that were the only problem, so you can save that till later if necessary.

Thanks for your patience, and good luck!
Ben

2 Likes

Dear Ben,

Thank you for your detailed explanation.

I have a question about bullet point #4; if I change the T_DSPM2.5 and T_DSPMC names in the emission file to DIESEL_PMFINE and DIESEL_PMC will it be the same results as changing DIESEL_PMFINE and DIESEL_PMC names to T_DSPM2.5 and T_DSPMC in AERO_DATA.F. I’m just asking because I cannot recompile my model right now because of outdated PGI license.

Thank you so much for your time,
Mahshid

Hi Mashid,
Yes, I believe that solution will work, double checking with @Ben_Murphy.