ISAM mass balance error for emissions

Hi,

When I run CMAQ/ISAM v5.3.3, it worked well for parents domains. However, it shows the following error message in log file for nested domain d03:

ISAM mass balance error for emissions - EVERYWHERE - check isam control file.

I have no idea why this error appears even though the routine EMIS_DEFN.F says:

           ! Now that emissions from this stream have been assigned
           ! to all available tags, assess the remainder and assign
           ! it to the "OTHR" tag if any exists.
           MINCHECK = MINVAL( SA_VDEMIS_CONV_OTHER( :,1:NL,:,: ) )
           IF ( MINCHECK .GE. 0.0 ) THEN
              ! Remainder is Valid. Move it all to the "OTHR" Tag

Please find isam control file attached. Note that my REGIONB is bigger and covers REGIONA .

Thanks for your help.

isam_control_mag_d03.txt (2.6 KB)

Feng

Hello Feng,

each “emission source” can be assigned to no more than one tag, where an “emission source” should be thought of as a unique combination of emission stream(s) and geographic location. Put differently, no emission stream can be assigned to multiple regions if these regions overlap. This is because the sum of all tags (incl. OTHR, BC, and IC) has to equal the actual concentration simulated by the base model, and assigning the same “emission source” to multiple tags would violate this requirement.

It is o.k. to assign the same emission stream to multiple non-overlapping regions as part of separate tags. It is also o.k. to define tags for only a subset of emission streams and/or regions, the portion attributable to emissions from streams and/or regions not used in any tag definition will be included in the “OTHR” tag.

In your setup, almost all emission streams (except LTNG) are assigned to three different overlapping regions (EVERYWHERE, REGIONA, and REGIONB) as part of separate tags. Since REGIONA is contained in REGION2 which is in turn contained in the EVERYWHERE “region”, assigning the same emission stream (e.g. ANAREA) to each of these regions as part of separate tags makes in impossible for the code to uniquely associate ANAREA emissions located within REGIONA (and therefore also REGIONB and EVERYWHERE) to only one of these tags.

If you need source apportionment results for overlapping regions, you will need to perform separate ISAM simulations.

@sergey, @Ben_Murphy, @bhutzell, please correct me if I mischaracterized ISAM behavior and requirements.

Hello Christian,

Thank you so much for the detail explanation and clarification on ISAM.

The key is that “the sum of all tags (incl. OTHR, BC, and IC) has to equal the actual concentration simulated by the base mode”. So I see that overlapping regions violates this requirement for a CMAQ/ISAM run otherwise.

Now I have two more quick questions :

  1. Is hourly mean output CCTM_ACONC_v533_ISAM correct in this CMAQ/ISAM run with region overlapping? What I mean is that if the actual hourly mean concentration in output files (CCTM_ACONC_v533_ISAM) has no problem and should be the same as the base model.

  2. Is that ok if I remove one of REGION, either REGIONA or REGIONB in the isam control file?

My understanding here is ANAREA, for example, I would know ozone contribution from ANAREA source everywhere.

TAG NAME |GR1
REGION(S) |EVERYWHERE
EMIS STREAM(S) |ANAREA

however,

TAG NAME |NAA
REGION(S) |REGIONA
EMIS STREAM(S) |ANAREA,NONRAD,ONROAD,NONEGU,OILGAS,EGU,AIRP1,AIRP2

I want to know how much ozone contribution from all emissions except MEGAN3 (biogenic) and LTNG (lightning NOx) in REGIONA. We assumed that REGIONB has be removed in the isam control file. But you said EVERYWERE “region” and REGIONA overlap too because I assigned the same emission stream, ANAREA to each of these regions. Then it is hard for me how to realize my idea using ISAM.

Thank you very much.

Feng

Yes, it should be, if the ISAM run did not crash. The base model output in CCTM_ACONC, CCTM_CONC, CCTM_WETDEP, etc. is not affected by the ISAM computations or any potential error in the ISAM configuration.

You cannot assign the ANAREA emission stream to both a tag that’s geographically defined for EVERYWHERE and a tag that’s geographically defined for a specific region like REGIONA. You could create a new region “NOTREGIONA” that’s the complement of REGIONA and then assign the ANAREA emission stream to both REGIONA and NOTREGIONA. Again, overlaps are not allowed, and by definition EVERYWHERE covers the entire domain, so any stream assigned to an EVERYWHERE tag cannot be assigned to any other sub-regional tag in the same run.

A possible solution, if you need both an EVERYWHERE and a REGIONA contribution estimate for a given emission stream would be to run two separate simulations, but note that the tags from these two separate simulations would no longer add up to the bulk concentration.

Hi Christian,

Thank you again for your confirmation and updates. I see your point clearly now.

I will think about my target region and sources, and set up two separate runs to realize the modeling and analysis.

Thank you for your guidance.

Feng

1 Like

Hello Christian,

I have another question about ISAM,

I have one defined region: REGIONA , and n emission categories. I plan to check O3 contributions from 1) entire region of REGIONA; 2) some anthropogenic emission categories emis1 and emis2 within REGIONA:

I set isam control file like

TAG NAME |TG1
REGION(S) |REGIONA
EMIS STREAM(S) |emis1,emis2,…,emisn

TAG NAME |TG2
REGION(S) |REGIONA
EMIS STREAM(S) |emis1

TAG NAME |TG3
REGION(S) |REGIONA
EMIS STREAM(S) |emis2

Do you think is that o.k. to assign the same emission stream like emis1 (emis2) to both TG1 and TG2 (TG3) in the same region? Is that overlapping?

Thank you very much.

Hi Feng,

Yes, this again would be overlapping / double counting emissions. As noted above, each “emission source” can be assigned to no more than one tag, where an “emission source” should be thought of as a unique combination of emission stream(s) and geographic location. In the case you described, emis1 emissions occurring within REGIONA are one such “emission source”, so you cannot assign it to both TG1 and TG2.

Think of it this way - you want to track back the bulk ozone concentration (to which each source contributed exactly once) to specific sources (defined as tags, and the default ICON, BCON, and OTHR tags capturing the rest). If you assign a source to more than one tag, this cannot be done, because it’d imply that that source contributed to the bulk ozone concentration more than once, which it didn’t.

Hi Christian,

Thank you for the further explanation, I see your point, especially note that one source is only contributed to the bulk ozone once.

Now I may realize my analysis using following isam control file:

TAG NAME |TG1
REGION(S) |REGIONA
EMIS STREAM(S) |emis1

TAG NAME |TG2
REGION(S) |REGIONA
EMIS STREAM(S) |emis2

TAG NAME |TG3
REGION(S) |REGIONA
EMIS STREAM(S) |emis3
…

TAG NAME |TGn
REGION(S) |REGIONA
EMIS STREAM(S) |emisn

Thank you again.