MCIP shows illegal instruction error

Hello,

I’m trying to run mcip via run_mcip script, but it shows this error.

     This program uses the EPA-AREAL/MCNC-EnvPgms/BAMS Models-3
     I/O Applications Programming Interface, [I/O API] which is
     built on top of the netCDF I/O library (Copyright 1993, 1996
     University Corporation for Atmospheric Research/Unidata
     Program) and the PVM parallel-programming library (from
     Oak Ridge National Laboratory).
     Copyright (C) 1992-2002 MCNC,
     (C) 1992-2018 Carlie J. Coats, Jr.,
     (C) 2003-2012 Baron Advanced Meteorological Systems, LLC, and
     (C) 2014-2020 UNC Institute for the Environment.
     Released under the GNU LGPL  License, version 2.1.  See URL

         https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html

     for conditions of use.

     ioapi-3.2: $Id: init3.F90 185 2020-08-28 16:49:45Z coats $
     Version with PARMS3.EXT/PARAMETER::MXVARS3= 2048
     netCDF version 4.9.3 of May 27 2025 15:10:33 $


     Missing environment variable EXECUTION_ID
forrtl: severe (168): Program Exception - illegal instruction
Image              PC                Routine            Line        Source
libc.so.6          000014A10943E730  Unknown               Unknown  Unknown
mcip.exe           0000000000553E95  init3                     266  init3.F90
mcip.exe           00000000004A4309  init_io                    44  init_io.f90
mcip.exe           000000000040EC6E  mcip                       19  mcip.f90
mcip.exe           000000000040EC1D  Unknown               Unknown  Unknown
libc.so.6          000014A1094295D0  Unknown               Unknown  Unknown
libc.so.6          000014A109429680  __libc_start_main     Unknown  Unknown
mcip.exe           000000000040EB35  Unknown               Unknown  Unknown

My compiling environment is based on intel oneAPI version 2025.1.0, and IOAPI is version 3.2, compiled by same intel compiler (ifx).
At least compiling process has been done without any error, and main CMAQ runs smoothly without illegal instruction errors, but I’m not sure why this error happens.

I also read about troubleshooting page (I/O API Troubleshooting), but it is still uncertain that all of the programs are compiled with intel oneAPI.
Would you help me to solve this problem?

Thank you.

Ganghan

From the I/O API Troubleshooting page, paragraph 1:

This is probably the result of compiling either the library or the model (or both) for a different processor-model than you are running it on…

You probably need to force the compiler to generate code for the processor you’re running on; this page gives an indication how to do so.

It means I have to modify Makefile in mcip source code? Or I have to check about IOAPI?
I can see the cpu flags, but still, I’m confusing about that document.

All of these (as well as netCDF and MPI) need to be compiled for the processor you’re running on. And that probably means modifying all these Makefiles ;-(