Hello Evan,
thanks for your interest in using the CMAQ ISAM option.
-
For your first question, you might find the following threads useful as they discuss different approaches for creating an ISAM_REGIONS and potential pitfalls doing so when using non-I/O API tools:
Could not open ISAM_REGIONS
CMAQ v5.3.3 DESID region option (mask_file)
What’s the maskdata’s format? -
The only software limit on the number of TAG NAMEs I am aware of is the I/O API MXVARS3 setting discussed in Chapter 3 of the User’s Guide. In the standard I/O API installation, this parameter is set to 2048 whereas in the “large” version, it is set to 16,384. Since the number of variables written out by ISAM is the product of the TAG NAMEs and the number of tracked species associated with the desired TAG CLASSes (I think about 60 for the OZONE TAG CLASS), this will impose some practical limit on the number of TAG NAMES especially when not using the “large” I/O API version, but 20 - 30 TAG NAMES should not yet push this limit unless many TAG CLASSes are defined. Aside from the software limit, you may possibly have hardware / memory limits, but that depends on your architecture and domain size.
But yes, the more TAG NAMEs you define, the slower the model will run, so there is definitely an impact on performance and, of course, output file sizes. On our system, a configuration with about 20 tags ran about 15 times slower than the base model without ISAM, so it still saved time comparing to running 20 individual brute-force zero out simulations for each tag. Your setup likely would yield different performance numbers, and at some point adding more tags likely would push you up against some practical limits on simulation times and file sizes, but there isn’t any general guidance on how many tags might be too much.
- I believe you could define multiple files in your run script, e.g.
setenv CMAQ_REGIONS_01 /home/user/data/region_file_01.nc
setenv CMAQ_REGIONS_02 /home/user/data/region_file_02.nc
and then reference both of them in the ‘&RegionsRegistry’ section like this
! Region Label | File_Label | Variable on File
'EVERYWHERE' ,'N/A' ,'N/A',
'ALL' ,'CMAQ_REGIONS_01' ,'ALL',
'ALL' ,'CMAQ_REGIONS_02','ALL',
The only thing I think would be important is to make sure that there is no duplication of variables across the different files (though I’ve never tried this and could be wrong about that)
Having “extra” variables in these files (i.e. variables not mentioned and not used in isam_control.txt) and using the ‘ALL’ keyword to make them available to CMAQ should not cause a problem.