ISAM emission regions not found

Using CMAQ5.3 to test run ISAM, I ran into an error “user specified ISAM region VA not found in available emission regions.”

In a previous version of ISAM (v5.0.1), emission regions (two-letter state ID, for my test case) were specified in an input netcdf file and entered via an environment variable ISAM_REGIONS. That environment variable no longer works for v5.3. The User Guide mentioned editing RegionRegistry in the name list file “EmissCtrl.” Is this correct? How do I go about editing the file to make emission regions in the netcdf recognizable to the model? Can someone provide an example? Thanks.

Jin

The ISAM control file is as follows:
TAG NAME |STR
TAG CLASSES |OZONE
REGION(S) |VA
FILENAME(S) |POINT_EGU

ENDLIST eof

Hi Jin,

assuming you have a netcdf file with a variable named VA that you want to use as region in your ISAM control file, the following should work:

  • In your run script, set an environment variable that points to your file, e.g. ‘setenv REGION_MASK /path/to/your/file’ (REGION_MASK is just an example, you can use any name you like)

  • In the EmissCtrl file, edit the “&RegionsRegistry” section as follows:

&RegionsRegistry
 RGN_NML  =   
 !          | Region Label   | File_Label  | Variable on File
                     'ALL'         ,'REGION_MASK' ,'ALL',
/

The key here is that the entry in the ‘File_Label’ column needs to match the environment variable you defined in your run script.

As documented here, this instructs CMAQ to read all variables contained in the file labeled as REGION_MASK in the run script and makes these variables available for referencing in DESID and/or ISAM. This means that you can then reference the variable “VA” as region in your isam_control.txt file

If you would like to read only specific variables from the REGION_MASK file and/or would like to use a label in DESID or ISAM that differs from name of the variable file, you can use specific values rather than the “ALL” keyword in the “Region Label” and “Variable on File” columns. For example, if your file contains the variable VA but in your isam_control.txt file you would like to refer to it as VIRGINIA, you would use the following setting:

&RegionsRegistry
 RGN_NML  =   
 !          | Region Label   | File_Label  | Variable on File
        'VIRGINIA'         ,'REGION_MASK' ,'VA',
/

In this case, even if your file REGION_MASK has variables other than VA, only the VA variable will be read in and can be referenced as VIRGINIA in DESID and/or ISAM.

Finally, if you are planning to run ISAM for ozone, please see this note on the CMAQ github page.

That has fixed the error. Thanks so much, Christian. Very helpful!

Jin

Dear @hogrefe.christian,

If I have many variables (i.e. several regions) in my ‘REGION_MASK’ file, how do I list them in the &RegionsRegistry file? Would it be comma delimited like ‘VA’, ‘VB’, ‘VC’ …etc? Also, what would I write under the ‘Region Label’ instead of ‘ALL’?

Thanks in anticipation.

Catalyst

The only way to provide several regions to the simulation with one line in the control file is with the ‘ALL’ command.

Sergey

Dear @sergey,

Would all my listed regions in the ‘REGION_MASK’ file be tracked if I use ‘ALL’ as you suggested?

Yes - that is the usage of the word ‘ALL’ in this case.

Sergey

Alright. I’ll feed you back after making use of it.

Thanks and kind regards.

Catalyst

Dear @sergey @hogrefe.christian,

I have 9 regions (for example) and 7 emission sectors to be tracked separately. Below is my isam_control.txt file. Is it correct? If not, can you please guide me on how it should be written?

TAG CLASSES |SULFATE, NITRATE, AMMONIUM, EC, OC, VOC, PM25_IONS, CO, OZONE

TAG NAME |GR1
REGION(S) |NA1, NA2, NA3, NA4, NA5, NA6, NA7, NA8, NA9
EMIS STREAM(S) |GRIDDED_EMIS1

TAG NAME |GR2
REGION(S) |NA1, NA2, NA3, NA4, NA5, NA6, NA7, NA8, NA9
EMIS STREAM(S) |GRIDDED_EMIS2

TAG NAME |GR3
REGION(S) |NA1, NA2, NA3, NA4, NA5, NA6, NA7, NA8, NA9
EMIS STREAM(S) |GRIDDED_EMIS3

TAG NAME |GR4
REGION(S) |NA1, NA2, NA3, NA4, NA5, NA6, NA7, NA8, NA9
EMIS STREAM(S) |GRIDDED_EMIS4

TAG NAME |GR5
REGION(S) |NA1, NA2, NA3, NA4, NA5, NA6, NA7, NA8, NA9
EMIS STREAM(S) |GRIDDED_EMIS5

TAG NAME |GR6
REGION(S) |NA1, NA2, NA3, NA4, NA5, NA6, NA7, NA8, NA9
EMIS STREAM(S) |GRIDDED_EMIS6

TAG NAME |GR7
REGION(S) |NA1, NA2, NA3, NA4, NA5, NA6, NA7, NA8, NA9
EMIS STREAM(S) |GRIDDED_EMIS7

Thanks for your usual responses and kind regards in anticipation.

Catalyst

If you want to track the combined effect of emissions from your 9 regions for each of your 7 sectors, your 7 tag setup should work. If instead you want to track the effect of emissions from each individual region for each individual sector, you would have to define 63 tags, one for each region-sector combination.

Dear @hogrefe.christian @sergey

Thanks for your response. However, if I want to track the contributions from each of the 9 regions independently using a single gridded emission, would the control file below work or does it need modifications?

TAG CLASSES |SULFATE, NITRATE, AMMONIUM, EC, OC, VOC, PM25_IONS, CO, OZONE

TAG NAME |GR1
REGION(S) |NA1
EMIS STREAM(S) |GRIDDED_EMIS1

TAG NAME |GR1
REGION(S) |NA2
EMIS STREAM(S) |GRIDDED_EMIS1

TAG NAME |GR1
REGION(S) |NA3
EMIS STREAM(S) |GRIDDED_EMIS1

TAG NAME |GR1
REGION(S) |NA4
EMIS STREAM(S) |GRIDDED_EMIS1

TAG NAME |GR1
REGION(S) |NA5
EMIS STREAM(S) |GRIDDED_EMIS1

TAG NAME |GR1
REGION(S) |NA6
EMIS STREAM(S) |GRIDDED_EMIS1

TAG NAME |GR1
REGION(S) |NA7
EMIS STREAM(S) |GRIDDED_EMIS1

TAG NAME |GR1
REGION(S) |NA8
EMIS STREAM(S) |GRIDDED_EMIS1

TAG NAME |GR1
REGION(S) |NA9
EMIS STREAM(S) |GRIDDED_EMIS1

Thanks and kind regards

Catalyst

You have to use unique names for each tag, so in your example above, you cannot use the name ‘GR1’ for all tags. If you instead use “GR1”, “GR2”, etc. or any other set of 9 unique tag names, you should be fine.

1 Like

Dear @hogrefe.christian,

Thanks for your prompt and helpful responses. Regarding tracking the emissions from each individual region for each individual sector, would this control file work?

TAG CLASSES |SULFATE, NITRATE, AMMONIUM, EC, OC, VOC, PM25_IONS, CO, OZONE

TAG NAME |GR1
REGION(S) |NA1
EMIS STREAM(S) |GRIDDED_EMIS1

TAG NAME |GR2
REGION(S) |NA2
EMIS STREAM(S) |GRIDDED_EMIS1

TAG NAME |GR3
REGION(S) |NA3
EMIS STREAM(S) |GRIDDED_EMIS1

TAG NAME |GR4
REGION(S) |NA4
EMIS STREAM(S) |GRIDDED_EMIS1

TAG NAME |GR5
REGION(S) |NA5
EMIS STREAM(S) |GRIDDED_EMIS1

TAG NAME |GR6
REGION(S) |NA6
EMIS STREAM(S) |GRIDDED_EMIS1

TAG NAME |GR7
REGION(S) |NA7
EMIS STREAM(S) |GRIDDED_EMIS1

TAG NAME |GR8
REGION(S) |NA8
EMIS STREAM(S) |GRIDDED_EMIS1

TAG NAME |GR9
REGION(S) |NA9
EMIS STREAM(S) |GRIDDED_EMIS1

TAG NAME |GR10
REGION(S) |NA1
EMIS STREAM(S) |GRIDDED_EMIS2

TAG NAME |GR11
REGION(S) |NA2
EMIS STREAM(S) |GRIDDED_EMIS2

TAG NAME |GR12
REGION(S) |NA3
EMIS STREAM(S) |GRIDDED_EMIS2

TAG NAME |GR13
REGION(S) |NA1
EMIS STREAM(S) |GRIDDED_EMIS2

TAG NAME |GR14
REGION(S) |NA5
EMIS STREAM(S) |GRIDDED_EMIS2

TAG NAME |GR15
REGION(S) |NA6
EMIS STREAM(S) |GRIDDED_EMIS2

TAG NAME |GR16
REGION(S) |NA7
EMIS STREAM(S) |GRIDDED_EMIS2

TAG NAME |GR17
REGION(S) |NA8
EMIS STREAM(S) |GRIDDED_EMIS2

TAG NAME |GR18
REGION(S) |NA9
EMIS STREAM(S) |GRIDDED_EMIS2

.
.
.

Till the last emission sector (7th) or in the order below?

TAG NAME |GR1
REGION(S) |NA1
EMIS STREAM(S) |GRIDDED_EMIS1

TAG NAME |GR2
REGION(S) |NA1
EMIS STREAM(S) |GRIDDED_EMIS2

TAG NAME |GR3
REGION(S) |NA1
EMIS STREAM(S) |GRIDDED_EMIS3

TAG NAME |GR4
REGION(S) |NA1
EMIS STREAM(S) |GRIDDED_EMIS4

TAG NAME |GR5
REGION(S) |NA1
EMIS STREAM(S) |GRIDDED_EMIS5

TAG NAME |GR6
REGION(S) |NA1
EMIS STREAM(S) |GRIDDED_EMIS6

TAG NAME |GR7
REGION(S) |NA1
EMIS STREAM(S) |GRIDDED_EMIS7

TAG NAME |GR8
REGION(S) |NA2
EMIS STREAM(S) |GRIDDED_EMIS1

TAG NAME |GR9
REGION(S) |NA2
EMIS STREAM(S) |GRIDDED_EMIS2

TAG NAME |GR10
REGION(S) |NA2
EMIS STREAM(S) |GRIDDED_EMIS3

TAG NAME |GR11
REGION(S) |NA2
EMIS STREAM(S) |GRIDDED_EMIS4

TAG NAME |GR12
REGION(S) |NA2
EMIS STREAM(S) |GRIDDED_EMIS5

TAG NAME |GR13
REGION(S) |NA2
EMIS STREAM(S) |GRIDDED_EMIS6

TAG NAME |GR14
REGION(S) |NA2
EMIS STREAM(S) |GRIDDED_EMIS7

Till it reaches the last source (9th) region.

Thanks and best regards.

Catalyst

Yes, either of these two should work. You could also consider naming the tags something like “E1R1” for GRIDDES_EMIS1 - NA1, “E1R2” for GRIDDES_EMIS1 - NA2 so that you’ll have an easier time remembering what each tag represents when you analyze the output. In general, you want to keep tag names to no more than 3 or 4 characters given that they get appended to the species names to create the ISAM output variables and there is a 16 character limit variables in I/O API.

I think you might be pushing pretty hard on memory limits and file sizes if you set up a single run with 63 tags and all of these tag classes, so depending on how this works out on your system, you may need to break this up into several simulations.

1 Like

Dear @hogrefe.christian,

I sincerely appreciate your prompt and helpful responses. I’ll run the simulations in batches.

Thanks and best regards.

Catalyst

We do limit tag names to 3 characters these days, because some chemical species names are super long. Maybe try something like T12 for Tag of source 1 in region 2.