Hi everyone,
I am using CMAQ-5.3.2/ISAM and get the following error when running it. It stopped with this error, Could you please help to fix?
…
…
SA_IO_LIST Sucessfully Opened
Start counting the list…
Reading ISAM control file
TAGCLASSES = OZONE
for 17 tags
Tagged species found, 54, equals expected, 54, for the CB6R3_AE7_AQ mechanism.
ISAM_INIT: SPC_LIST: 1 ANO3J
ISAM_INIT: SPC_LIST: 2 ANO3I
…
…
Variable name VNAME3D( 1024 ) = "O3_OTH" duplicates VNAME3D( 376 ) = "O3_OTH" in file "SA_CONC_1"
Variable name VNAME3D( 1025 ) = "O1D_OTH" duplicates VNAME3D( 377 ) = "O1D_OTH" in file "SA_CONC_1"
Variable name VNAME3D( 1026 ) = "O_OTH" duplicates VNAME3D( 378 ) = "O_OTH" in file "SA_CONC_1"
Error creating netCDF variable ANO3J_OTH
netCDF error number -42 processing file "SA_CONC_1"
NetCDF: String match to name in use
*** ERROR ABORT in subroutine OP_SA on PE 000
Could not create SA_CONC_1 file
Yes, the OTH tag is reserved, as it is used automatically by the code. The following information is available in the User Manual in the ISAM chapter.
In addition to the user-specified list, ISAM will alway track and output three additional default tags with every simulation and the BID tag if the simultion includes both bidirectional NH3 and the ‘AMMONIUM’ species class (note, that at least one valid user-specified tag must be defined, so a minimum of 4 tags are required):
ICO - contribution from initial conditions specified for the first day of the simulation
BCO - contribution from boundary conditions throughout the simulation
OTH - contribution from all non-tagged emissions streams and other processes in the model.
BID - contribution from bidirectional NH3 exchange
This code has a formatting error in this error message. Lines 2409-2412 should instead be something like the following (with apologies for the screw-up on indentation, which this forum-software does not handle correctly):
WRITE( XMSG,‘( 3A,I3,/,3A,/,2A)’ ),
& 'ERROR: Surrogate Species ‘,TRIM(SPEC),’ on emission stream ',
& ISRM, ’ has units ‘,TRIM(UNITS),’ which are unkown to CMAQ. ',
& ‘Please correct them to proceed.’
In particular, ending the format ,/,A)' in the original was the severe problem; the A needs to be 2A.
Carlie, I’m not following you.
The 3A corresponds to the three character strings before ISRM, then I3 corresponds to ISRM, then a new line, then 3A corresponds to 'has units ', TRIM(UNITS), and ’ which are unkown [sic] to CMAQ. ', then another new line. The only remaining element of the write is ‘Please correct them to proceed.’ Why does that require a 2A?
Right: it’s an even more fundamental Fortran problem. You can’t use "/" in a format being written to the character-string XMESG, which Fortran regards as being a single line.
So the fix requires a more thorough re-thinking than I had at first sight thought. Or else get rid of the line-feed directives entirely.
Thanks for your response. I am confused about CMAQv5.3.2 failing to run because of units in my emission files. I’m presently running CMAQv5.2 with the same emission files. Do I make use of your suggested solution regarding line 2409-2412 or what’s the way out?