尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Intel OneAPI 2022.2 + CMAQ-5.3.2 环境配置:CentOS/Ubuntu 双系统 7 步避坑指南

Intel OneAPI 2022.2 + CMAQ-5.3.2 环境配置:CentOS/Ubuntu 双系统 7 步避坑指南
📅 发布时间:2026/7/13 22:49:29

Intel OneAPI 2022.2 + CMAQ-5.3.2 环境配置:CentOS/Ubuntu 双系统 7 步避坑指南

在空气质量模型研究领域,CMAQ(Community Multiscale Air Quality Modeling System)作为美国环保署开发的旗舰模型,其复杂的依赖环境配置一直是科研人员的痛点。本文将基于Intel OneAPI 2022.2编译器套件,在CentOS/Ubuntu双系统环境下,通过7个关键步骤实现CMAQ-5.3.2的高效部署,特别针对netCDF和IOAPI安装中的典型错误提供修复方案。

1. 环境准备与目录规划

1.1 系统基础要求

  • CentOS 7/8或Ubuntu 20.04/22.04(需已安装基础开发工具链)
  • 至少50GB可用磁盘空间(建议SSD存储)
  • 16GB以上内存(编译netCDF-Fortran时需要)

1.2 推荐目录结构

|-- $HOME |-- Build_CMAQ |-- LIBRARIES # 存放所有依赖库 |-- src # 存放源码压缩包 |-- CMAQ_Project # CMAQ主项目目录

提示:所有路径建议避免包含空格或中文字符,否则可能导致编译错误

2. Intel OneAPI 2022.2 安装与配置

2.1 基础工具包安装

cd $HOME/Build_CMAQ/src wget https://registrationcenter-download.intel.com/akdlm/irc_nas/18673/l_BaseKit_p_2022.2.0.262_offline.sh bash l_BaseKit_p_2022.2.0.262_offline.sh -a -s --components intel.oneapi.lin.ifort-compiler:intel.oneapi.lin.icc-compiler

2.2 HPC工具包安装

wget https://registrationcenter-download.intel.com/akdlm/irc_nas/18679/l_HPCKit_p_2022.2.0.191_offline.sh bash l_HPCKit_p_2022.2.0.191_offline.sh -a -s

2.3 环境变量配置

在~/.bashrc末尾添加:

# Intel OneAPI source /opt/intel/oneapi/setvars.sh --force export CC=icc CXX=icpc FC=ifort

验证安装:

source ~/.bashrc ifort -v # 应显示2022.2版本号

3. 并行环境部署:MPICH-3.4.2

3.1 源码编译安装

cd $HOME/Build_CMAQ/src wget https://www.mpich.org/static/downloads/3.4.2/mpich-3.4.2.tar.gz tar xzvf mpich-3.4.2.tar.gz cd mpich-3.4.2 ./configure --prefix=$HOME/Build_CMAQ/LIBRARIES/mpich \ --with-device=ch3 \ CC=icc CXX=icpc FC=ifort \ CPPFLAGS='-fPIC' \ CFLAGS='-fPIC' \ FFLAGS='-fPIC' make -j$(nproc) make install

3.2 环境变量配置

在~/.bashrc中添加:

# MPICH export PATH=$HOME/Build_CMAQ/LIBRARIES/mpich/bin:$PATH export LD_LIBRARY_PATH=$HOME/Build_CMAQ/LIBRARIES/mpich/lib:$LD_LIBRARY_PATH

验证安装:

which mpicc # 应显示自定义路径下的mpicc

4. 关键依赖库安装

4.1 压缩库安装对比

库名称版本配置参数特殊要求
zlib1.2.11--prefix=$HOME/Build_CMAQ/LIBRARIES/zlib需最先安装
libpng1.6.37--with-zlib=$HOME/Build_CMAQ/LIBRARIES/zlib依赖zlib头文件和库文件

典型安装流程(以zlib为例):

cd $HOME/Build_CMAQ/src wget http://www.zlib.net/fossils/zlib-1.2.11.tar.gz tar xzvf zlib-1.2.11.tar.gz cd zlib-1.2.11 ./configure --prefix=$HOME/Build_CMAQ/LIBRARIES/zlib make -j$(nproc) make install

4.2 cURL库安装

cd $HOME/Build_CMAQ/src wget https://curl.se/download/curl-7.77.0.tar.gz tar xzvf curl-7.77.0.tar.gz cd curl-7.77.0 ./configure --prefix=$HOME/Build_CMAQ/LIBRARIES/curl \ --with-zlib=$HOME/Build_CMAQ/LIBRARIES/zlib \ --without-ssl make -j$(nproc) make install

5. netCDF双组件安装与排错

5.1 netCDF-C 4.8.0安装

cd $HOME/Build_CMAQ/src wget ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-c-4.8.0.tar.gz tar xzvf netcdf-c-4.8.0.tar.gz cd netcdf-c-4.8.0 CPPFLAGS="-I$HOME/Build_CMAQ/LIBRARIES/curl/include -fPIC" \ LDFLAGS="-L$HOME/Build_CMAQ/LIBRARIES/curl/lib -L$HOME/Build_CMAQ/LIBRARIES/zlib/lib" \ ./configure --prefix=$HOME/Build_CMAQ/LIBRARIES/netcdf \ --disable-dap \ --disable-netcdf-4 make -j$(nproc) make install

常见错误1:Can't find or link to the z library解决方案:确认zlib库路径正确,或显式添加--disable-hdf5 --disable-dap

5.2 netCDF-Fortran 4.5.3安装

cd $HOME/Build_CMAQ/src wget ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-fortran-4.5.3.tar.gz tar xzvf netcdf-fortran-4.5.3.tar.gz cd netcdf-fortran-4.5.3 CPPFLAGS="-I$HOME/Build_CMAQ/LIBRARIES/netcdf/include -fPIC" \ LDFLAGS="-L$HOME/Build_CMAQ/LIBRARIES/netcdf/lib" \ LD_LIBRARY_PATH="$HOME/Build_CMAQ/LIBRARIES/netcdf/lib:$LD_LIBRARY_PATH" \ ./configure --prefix=$HOME/Build_CMAQ/LIBRARIES/netcdf make -j$(nproc) make install

环境变量配置:

# netCDF export PATH=$HOME/Build_CMAQ/LIBRARIES/netcdf/bin:$PATH export NETCDF=$HOME/Build_CMAQ/LIBRARIES/netcdf export LD_LIBRARY_PATH=$HOME/Build_CMAQ/LIBRARIES/netcdf/lib:$LD_LIBRARY_PATH

6. IOAPI-3.2 安装与调试

6.1 源码准备与目录设置

cd $HOME/Build_CMAQ/src wget https://www.cmascenter.org/ioapi/download/ioapi-3.2.tar.gz mkdir ioapi && cd ioapi tar -xvzf ../ioapi-3.2.tar.gz export BIN=Linux2_x86_64ifort mkdir $BIN ln -sf $HOME/Build_CMAQ/LIBRARIES/netcdf/lib/*.so $BIN/

6.2 Makefile关键配置

修改ioapi/Makeinclude.Linux2_x86_64ifort:

# 编译器设置 CC = mpiicc CXX = mpiicpc FC = mpiifort -auto -warn notruncated_source -static-intel # OpenMP设置 OMPFLAGS = -qopenmp OMPLIBS = -qopenmp

6.3 常见编译错误解决

  • 错误1:option '-openmp' is not supported

    • 解决方案:将所有-openmp替换为-qopenmp
  • 错误2:undefined reference tonc_*'`

    • 解决方案:在m3tools/Makefile中添加:
      LIBS = -L${OBJDIR} -lioapi -L$(NETCDF)/lib -lnetcdff -lnetcdf -lhdf5_hl -lhdf5 -lz

完整编译命令:

make configure make all make install

7. CMAQ-5.3.2 最终部署

7.1 项目初始化

cd $HOME/Build_CMAQ/src unzip CMAQ-5.3.2.zip cd CMAQ-5.3.2 sed -i "s|^set CMAQ_HOME.*|set CMAQ_HOME = $HOME/Build_CMAQ/CMAQ_Project|" bldit_project.csh ./bldit_project.csh

7.2 配置文件修改

编辑$HOME/Build_CMAQ/CMAQ_Project/config_cmaq.csh:

case intel: setenv IOAPI_INCL_DIR $HOME/Build_CMAQ/src/ioapi/ioapi/fixed_src setenv IOAPI_LIB_DIR $HOME/Build_CMAQ/LIBRARIES/ioapi/Linux2_x86_64ifort setenv NETCDF_LIB_DIR $HOME/Build_CMAQ/LIBRARIES/netcdf/lib setenv NETCDF_INCL_DIR $HOME/Build_CMAQ/LIBRARIES/netcdf/include setenv myLINK_FLAG "-qopenmp"

7.3 组件编译验证

cd $HOME/Build_CMAQ/CMAQ_Project/CCTM/scripts ./bldit_cctm.csh intel |& tee build.log ls -l BLD_CCTM_v532_intel/CCTM_v532.exe # 验证可执行文件

针对Ubuntu系统的特别注意事项:

  1. 需额外安装libgfortran-10-dev
  2. 修改IOAPI的Makeinclude文件,移除-static-intel选项
  3. 使用update-alternatives配置默认编译器优先级

相关新闻

  • 终极免费方案:轻松解锁WeMod专业版完整功能
  • 毕设开源 基于python的答题卡识别评分系统
  • 雅典中国官方售后服务中心|详细地址及服务电话权威信息通知(2026年7月最新) - 亨得利钟表维修中心

最新新闻

  • Fluent VOF到DPM颗粒生成与DEM团聚分离仿真实践指南
  • dsPIC33FJ与CMT-8540S-SMT在嵌入式音频处理中的高效应用
  • Tableau 2024.1 图表选择指南:5种业务场景与最佳图表类型匹配
  • AWS SSM安全运维实践:零公网暴露的合规远程开发方案
  • 安卓平台Symbian模拟器EKA2L1完整配置指南:重温诺基亚经典应用与游戏
  • 模板驱动型文档自动化:动态字段与样式继承实战指南

日新闻

  • AWS SSM安全运维实践:零公网暴露的合规远程开发方案
  • Tableau 2024.1 图表选择指南:5种业务场景与最佳图表类型匹配
  • dsPIC33FJ与CMT-8540S-SMT在嵌入式音频处理中的高效应用

周新闻

  • IX9104 PCIe5.0 高速交换芯片@ACP#完整规格 + 应用场景总结
  • Unity游戏集成Coze智能体:实现NPC智能对话与知识库联动
  • SAP EPIC 建行回单查询:从标准类CL_EPIC_EXAMPLE_CN_CCB_GHTD到Z类的5处关键修改

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号