When I try to run CMAQv5.3.1 with my emission file, the CMAQ model crashed with the following error info. Can anyone help me with this issue?
I have also attached my run scripts and log files.
I would look at the emission control namelist file: EmissCtrl_*.nml that is in your BLD directory and make sure that the contents matches your emissions input files.
Line 2245 contains:
2242 ! Check for Time Units
2243 X = X + 2
2244 IF ( UNITS(X:) .EQ. 'S' .OR. UNITS(X:) .EQ. 'S-1' .OR.
2245 & UNITS(X:) .EQ. 'SEC'.OR.UNITS(X:) .EQ. 'SEC-1' .OR.
Line 1239 contains
1236 ! Write Out All Available Stream Families to the Log File
1237 WRITE( LOGDEV, '(/,5x,A)' ),'|> Emission Stream Family Definitions:'
1238 WRITE( LOGDEV, '(5x,A)' ),'======================================'
1239 WRITE( LOGDEV,'(8x,A19,15x,A)' ),'Stream Family Label','Stream Family Members'
Perhaps the error occurred when trying to write out the Emission Stream Family Definitions?
Line 209 contains
205 C Map the Emissions Species Available on the Input Files To the
206 C Surrogates Identified by the User via the Namelists and Stop the model
207 C or Print Warnings if Mistakes Are Made.
209 CALL EMIS_SPC_MAP( JDATE, JTIME )
Thanks for your further clarification. However, I didn’t revise my EmissCtrl_.nml after compiling it. I have attached my EmissCtrl_.nml file here. Could you please have a look at it? EmissCtrl_saprc07tic_ae7i_aq.nml.txt (32.9 KB)
I think lines 2245-2250 in CMAQv5.3.1 contain the following block
WRITE( XMSG,'(A,A16,A,/,I3,A11,A16,A,/,A)' ),
& 'ERROR: Surrogate Species ',TRIM(SPEC),' on emission stream ',
& ISRM, ' has units ',TRIM(UNITS),' which are unkown to CMAQ. ',
& 'Please correct them to proceed.'
CALL LOG_MESSAGE( OUTDEV, XMSG )
This points to units in one or more of your emission files that aren’t known to CMAQ (e.g. not moles/s, g/s, etc.), and somehow the formatting of these unknown-to-CMAQ units trips up the formatted writing of this error message. If this formatted write hadn’t failed, CMAQ would have exited with the message shown above, pointing to the unknown units and species. I don’t know why the formatted write failed, but the underlying reason are unknown emission units.
To solve this, please check the units of all variables in your emission files, even for non-emission variables you might have in your files. CMAQ currently expects all variables contained in emission files to be emission variables and exits if any of them has units not recognized as valid emission units.
Good catch – I suspect this is exactly what is going on. It’s a syntax error in the source, which could be fixed by getting rid of the slash (/) new-record directives. And that is then hiding the underlying error in the model-setup, which is probably what Christian Hogrefe indicates.
Thanks a lot for all kind support. I have successfully solved this issue and Christian’s solution works for me. There is a wrong variable unit in the emission file. After making the correction, the model runs perfectly.
@Ryan , I’m glad you were able to find the problem with the emission units in your input file.
The article linked by @lizadams and the concurring statement by @cjcoats about the “/” being interpreted as new-record directive in the formatted write helped solve my confusion about why the formatted write had failed. This is something that’ll need to fixed in the CCTM code in the future.