爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 13050|回复: 21

安装并行CMAQ在编译cctm时遇到以下问题的解决方法

[复制链接]

新浪微博达人勋

发表于 2017-10-31 13:33:11 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
这两天在安装并行版的CMAQ,之前单机版的已经装好了测试通过了,为了提高效率就想安装并行的,结果在./bldit.cctm的时候出现了下面的问题,发现有些人也出现了这个问题,刚刚把这个问题解决了,
拿出来和大家分享一下(当然我又遇到了新的问题)


pa_update.o: In function `.STATICS1':


pa_update.F:(.data+0xcf8): undefined reference to `se_init_module_'
pa_update.F:(.data+0xd08): undefined reference to `se_util_module_'
pa_update.F:(.data+0xd10): undefined reference to `se_comm_module_'
pa_update.F:(.data+0xd18): undefined reference to `se_slice_module_'
pa_update.F:(.data+0xd20): undefined reference to `se_data_copy_module_'
pa_update.F:(.data+0xd28): undefined reference to `se_gather_module_'
pa_update.F:(.data+0xd30): undefined reference to `se_reconfig_grid_module_'
pa_update.F:(.data+0xd38): undefined reference to `se_bndy_copy_module_'
pa_update.F:(.data+0xd40): undefined reference to `se_global_max_module_'
pa_update.F:(.data+0xd48): undefined reference to `se_global_min_module_'
pa_update.F:(.data+0xd50): undefined reference to `se_global_sum_module_'
pa_update.F:(.data+0xd58): undefined reference to `se_twoway_comm_module_'
cksummer.o: In function `.STATICS1':
cksummer.F:(.data+0x550): undefined reference to `se_init_module_'
cksummer.F:(.data+0x560): undefined reference to `se_util_module_'
cksummer.F:(.data+0x568): undefined reference to `se_comm_module_'
cksummer.F:(.data+0x570): undefined reference to `se_slice_module_'
cksummer.F:(.data+0x578): undefined reference to `se_data_copy_module_'
cksummer.F:(.data+0x580): undefined reference to `se_gather_module_'
cksummer.F:(.data+0x588): undefined reference to `se_reconfig_grid_module_'
cksummer.F:(.data+0x590): undefined reference to `se_bndy_copy_module_'
cksummer.F:(.data+0x598): undefined reference to `se_global_max_module_'
cksummer.F:(.data+0x5a0): undefined reference to `se_global_min_module_'
cksummer.F:(.data+0x5a8): undefined reference to `se_global_sum_module_'
cksummer.F:(.data+0x5b0): undefined reference to `se_twoway_comm_module_'
lstepf.o: In function `lstepf_':
/home/15lium/cmaq/cmaq2/CMAQv5.0.1/scripts/cctm/BLD_V5g/./lstepf.F:61: undefined reference to `pm3exit_'
/home/15lium/cmaq/cmaq2/CMAQv5.0.1/scripts/cctm/BLD_V5g/./lstepf.F:66: undefined reference to `pm3exit_'
subhdomain.o: In function `subhdomain_':
/home/15lium/cmaq/cmaq2/CMAQv5.0.1/scripts/cctm/BLD_V5g/./subhdomain.F:88: undefined reference to `pm3exit_'
/home/15lium/cmaq/cmaq2/CMAQv5.0.1/scripts/cctm/BLD_V5g/./subhdomain.F:169: undefined reference to `pm3exit_'
subhfile.o: In function `subhfile_':
/home/15lium/cmaq/cmaq2/CMAQv5.0.1/scripts/cctm/BLD_V5g/./subhfile.F:98: undefined reference to `pm3exit_'
subhfile.o:/home/15lium/cmaq/cmaq2/CMAQv5.0.1/scripts/cctm/BLD_V5g/./subhfile.F:103: more undefined references to `pm3exit_' follow
/home/15lium/cmaq/cmaq2/CMAQv5.0.1/lib/x86_64/pgf/se_snl/libse_snl.a(se_modules.o):(.data+0x0): undefined reference to `se_init_module_'
/home/15lium/cmaq/cmaq2/CMAQv5.0.1/lib/x86_64/pgf/se_snl/libse_snl.a(se_modules.o):(.data+0x10): undefined reference to `se_util_module_'
/home/15lium/cmaq/cmaq2/CMAQv5.0.1/lib/x86_64/pgf/se_snl/libse_snl.a(se_modules.o):(.data+0x18): undefined reference to `se_comm_module_'
/home/15lium/cmaq/cmaq2/CMAQv5.0.1/lib/x86_64/pgf/se_snl/libse_snl.a(se_modules.o):(.data+0x20): undefined reference to `se_slice_module_'
/home/15lium/cmaq/cmaq2/CMAQv5.0.1/lib/x86_64/pgf/se_snl/libse_snl.a(se_modules.o):(.data+0x28): undefined reference to `se_data_copy_module_'
/home/15lium/cmaq/cmaq2/CMAQv5.0.1/lib/x86_64/pgf/se_snl/libse_snl.a(se_modules.o):(.data+0x30): undefined reference to `se_gather_module_'
/home/15lium/cmaq/cmaq2/CMAQv5.0.1/lib/x86_64/pgf/se_snl/libse_snl.a(se_modules.o):(.data+0x38): undefined reference to `se_reconfig_grid_module_'
/home/15lium/cmaq/cmaq2/CMAQv5.0.1/lib/x86_64/pgf/se_snl/libse_snl.a(se_modules.o):(.data+0x40): undefined reference to `se_bndy_copy_module_'
/home/15lium/cmaq/cmaq2/CMAQv5.0.1/lib/x86_64/pgf/se_snl/libse_snl.a(se_modules.o):(.data+0x48): undefined reference to `se_global_max_module_'
/home/15lium/cmaq/cmaq2/CMAQv5.0.1/lib/x86_64/pgf/se_snl/libse_snl.a(se_modules.o):(.data+0x50): undefined reference to `se_global_min_module_'
/home/15lium/cmaq/cmaq2/CMAQv5.0.1/lib/x86_64/pgf/se_snl/libse_snl.a(se_modules.o):(.data+0x58): undefined reference to `se_global_sum_module_'
/home/15lium/cmaq/cmaq2/CMAQv5.0.1/lib/x86_64/pgf/se_snl/libse_snl.a(se_modules.o):(.data+0x60): undefined reference to `se_twoway_comm_module_'
make: *** [CCTM_V5g_Linux2_x86_64pgf] 错误 2
FORTRAN STOP

Makefile generated
**ERROR** while running make command

endif
if ( 0 != 0 ) then
if ( -e /home/15lium/cmaq/cmaq2/CMAQv5.0.1/scripts/cctm/cfg.V5g ) then
echo    >>> previous cfg.V5g exists, re-naming to cfg.V5g.old <<<
   >>> previous cfg.V5g exists, re-naming to cfg.V5g.old <<<
unalias mv
mv /home/15lium/cmaq/cmaq2/CMAQv5.0.1/scripts/cctm/cfg.V5g /home/15lium/cmaq/cmaq2/CMAQv5.0.1/scripts/cctm/cfg.V5g.old
endif
cp cfg.V5g.bld /home/15lium/cmaq/cmaq2/CMAQv5.0.1/scripts/cctm/cfg.V5g
if ( ( verbose != no_compile ) && ( verbose != no_link ) && ( verbose != parse_only ) && ( verbose != show_only ) && 1 ) then
mv CCTM_V5g_Linux2_x86_64pgf /home/15lium/cmaq/cmaq2/CMAQv5.0.1/scripts/cctm
mv: 无法获取"CCTM_V5g_Linux2_x86_64pgf" 的文件状态(stat): 没有那个文件或目录
endif
exit



找了高手来看,说应该是mpi装的有问题,应该是mpi没有用pgi编译,然后重装了mpi,在configure的时候加了 CC=pgcc F77=pgf90 FC=pgf90 CXX=pgcc,这里的F77=pgf90 网上的教程里说的都是 F77=pgf77,但是我这么编译的时候都报错了,就改成pgf90 了,也不太懂有啥影响。
之后再进行./bldit.cctm的时候,发现报错跟之前是一样的,我就懵逼了。
今天重新检查错误的时候,发现 错误 之前的几行一直在说 se_snl 的事情,就回头检查了一下stenex模块的编译,发现这个地方也是用到了mpi
因此觉得应该是mpi重新编译后,应该把这个地方也重新编译才可以,尝试了一下,果然如此。
把stenex模块重新编译以后 再编译CCTM,就可以通过了(以防万一我把pario、icon、bcon都重新编译了一遍)
以上就是这个问题的解决办法,与大家分享。

当然我现在有遇到了新的问题,编译通过以后,在run的时候,./run.cctm之后就没有反应了,正在解决这个问题


1.log

97.09 KB, 下载次数: 0, 下载积分: 金钱 -5

报错文件

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-5-29 15:45:58 | 显示全部楼层
请问我在编译CCTM的时候也遇到了问题,在最后的时候
Makefile generated
mpif90 -c -ffixed-form -ffixed-line-length-132 -funroll-loops -finit-character=32 -O3 -funroll-loops -finit-character=32 -Wtabs -Wsurprising -I /home/CMAQ/lib_basedir/x86_64/gcc4.8.5/ioapi/modules -I /home/CMAQ/lib_basedir/x86_64/gcc4.8.5/ioapi/include -I /home/CMAQ/lib_basedir/x86_64/gcc4.8.5/mpi -I. pinterpb.f
pinterpb.f:133: Error: Can't open included file 'STATE3.EXT'
make: *** [pinterpb.o] Error 1
**ERROR** while running make command

else if ( 0 ) then
endif
mv Makefile Makefile.gcc4.8.5
mv: ‘Makefile’ and ‘Makefile.gcc4.8.5’ are the same file
if ( -e Makefile.gcc4.8.5 && -e Makefile ) rm Makefile
rm Makefile
ln -s Makefile.gcc4.8.5 Makefile
if ( 0 != 0 ) then
if ( -e /home/CMAQ/CMAQ_REPO/CCTM/scripts/BLD_CCTM_v52_gcc4.8.5/CCTM_v52.cfg ) then
echo    >>> previous CCTM_v52.cfg exists, re-naming to CCTM_v52.cfg.old <<<
   >>> previous CCTM_v52.cfg exists, re-naming to CCTM_v52.cfg.old <<<
mv /home/CMAQ/CMAQ_REPO/CCTM/scripts/BLD_CCTM_v52_gcc4.8.5/CCTM_v52.cfg /home/CMAQ/CMAQ_REPO/CCTM/scripts/BLD_CCTM_v52_gcc4.8.5/CCTM_v52.cfg.old
endif
mv CCTM_v52.cfg.bld /home/CMAQ/CMAQ_REPO/CCTM/scripts/BLD_CCTM_v52_gcc4.8.5/CCTM_v52.cfg
exit
出现这样的,请问您知道是什么地方出了问题吗?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-5-30 09:06:04 | 显示全部楼层
3Esperanza 发表于 2018-5-29 15:45
请问我在编译CCTM的时候也遇到了问题,在最后的时候
Makefile generated
mpif90 -c -ffixed-form -ffixe ...

pinterpb.f:133: Error: Can't open included file 'STATE3.EXT'

这里提到的 STATE3.EXT 是ioapi的,我建议你检查一下你的ioapi是否安装成功,是否和netcdf用的同一个编译器编译
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-5-30 10:04:31 | 显示全部楼层
lm8005507771 发表于 2018-5-30 09:06
pinterpb.f:133: Error: Can't open included file 'STATE3.EXT'

这里提到的 STATE3.EXT 是ioapi的, ...

嗯嗯!谢谢您的回复~是我的ioapi的include文件夹没链接过来
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-9-4 10:20:32 | 显示全部楼层
您好!请问我安装CMAQ时,运行多个./bldit.都出现了类似的错误,请问应该怎么修改呢?非常感谢!
Makefile generated
/usr/local/bin/mpif90 -c -fixed -132 -O3 -override-limits -fno-alias -mp1 -fp-model precise -I /home/szw/CMAQ-5.0.2/lib/x86_64/intel/ioapi_3.1/Linux2_x86_64ifort -I /home/szw/CMAQ-5.0.2/lib/x86_64/intel/pario -I /home/szw/CMAQ-5.0.2/lib/x86_64/intel/se_snl -I /home/szw/CMAQ-5.0.2/lib/x86_64/intel/mpich/include -I. -Dparallel -DSUBST_MODULES=SE_MODULES -DSUBST_BARRIER=SE_BARRIER -DSUBST_GLOBAL_MAX=SE_GLOBAL_MAX -DSUBST_GLOBAL_MIN=SE_GLOBAL_MIN -DSUBST_GLOBAL_MIN_DATA=SE_GLOBAL_MIN_DATA -DSUBST_GLOBAL_TO_LOCAL_COORD=SE_GLOBAL_TO_LOCAL_COORD -DSUBST_GLOBAL_SUM=SE_GLOBAL_SUM -DSUBST_GLOBAL_LOGICAL=SE_GLOBAL_LOGICAL -DSUBST_LOOP_INDEX=SE_LOOP_INDEX -DSUBST_SUBGRID_INDEX=SE_SUBGRID_INDEX -DSUBST_HI_LO_BND_PE=SE_HI_LO_BND_PE -DSUBST_SUM_CHK=SE_SUM_CHK -DSUBST_INIT_ARRAY=SE_INIT_ARRAY -DSUBST_COMM=SE_COMM -DSUBST_MY_REGION=SE_MY_REGION -DSUBST_SLICE=SE_SLICE -DSUBST_GATHER=SE_GATHER -DSUBST_DATA_COPY=SE_DATA_COPY -DSUBST_IN_SYN=SE_IN_SYN -DSUBST_PE_COMM=\"/home/szw/CMAQ-5.0.2/scripts/cctm/BLD_D502a/PE_COMM.EXT\" -DSUBST_CONST=\"/home/szw/CMAQ-5.0.2/scripts/cctm/BLD_D502a/CONST.EXT\" -DSUBST_FILES_ID=\"/home/szw/CMAQ-5.0.2/scripts/cctm/BLD_D502a/FILES_CTM.EXT\" -DSUBST_EMISPRM=\"/home/szw/CMAQ-5.0.2/scripts/cctm/BLD_D502a/EMISPRM.EXT\" -DSUBST_RXCMMN=\"/home/szw/CMAQ-5.0.2/scripts/cctm/BLD_D502a/RXCM.EXT\" -DSUBST_RXDATA=\"/home/szw/CMAQ-5.0.2/scripts/cctm/BLD_D502a/RXDT.EXT\" -DSUBST_PACTL_ID=\"/home/szw/CMAQ-5.0.2/scripts/cctm/BLD_D502a/PA_CTL.EXT\" -DSUBST_PACMN_ID=\"/home/szw/CMAQ-5.0.2/scripts/cctm/BLD_D502a/PA_CMN.EXT\" -DSUBST_PADAT_ID=\"/home/szw/CMAQ-5.0.2/scripts/cctm/BLD_D502a/PA_DAT.EXT\" -DSUBST_MPI=\"/home/szw/CMAQ-5.0.2/lib/x86_64/intel/mpich/include/mpif.h\" UTILIO_DEFN.F
ifort: command line warning #10212: -fp-model precise evaluates in source precision with Fortran.
UTILIO_DEFN.F(48): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [M3UTILIO]
         USE M3UTILIO, EXCLUDE_INTERPB => INTERP3,
-------------^
UTILIO_DEFN.F(48): error #6581: Unresolved rename.   [EXCLUDE_INTERPB]
         USE M3UTILIO, EXCLUDE_INTERPB => INTERP3,
-----------------------^
UTILIO_DEFN.F(49): error #6581: Unresolved rename.   [EXCLUDE_M3EXIT]
     &                 EXCLUDE_M3EXIT  => M3EXIT,
-----------------------^
UTILIO_DEFN.F(50): error #6581: Unresolved rename.   [EXCLUDE_M3WARN]
     &                 EXCLUDE_M3WARN  => M3WARN,
-----------------------^
UTILIO_DEFN.F(51): error #6581: Unresolved rename.   [EXCLUDE_SHUT3]
     &                 EXCLUDE_SHUT3   => SHUT3,
-----------------------^
UTILIO_DEFN.F(52): error #6581: Unresolved rename.   [EXCLUDE_WRITE3]
     &                 EXCLUDE_WRITE3  => WRITE3,
-----------------------^
UTILIO_DEFN.F(53): error #6581: Unresolved rename.   [BUF_WRITE3]
     &                 BUF_WRITE3      => WRITE3
-----------------------^
compilation aborted for UTILIO_DEFN.F (code 1)
make: *** [UTILIO_DEFN.o] 错误 1
**ERROR** while running make command

mv Makefile Makefile.intel
if ( -e Makefile.intel && -e Makefile ) rm Makefile
ln -s Makefile.intel Makefile
if ( 0 != 0 ) then
if ( -e /home/szw/CMAQ-5.0.2/scripts/cctm/cfg.CCTM_D502a_Linux3_x86_64intel ) then
mv cfg.CCTM_D502a_Linux3_x86_64intel.bld cfg.CCTM_D502a_Linux3_x86_64intel
set is_using_git = `ls -alog $M3MODEL | grep git | wc -l`
ls -alog /home/szw/CMAQ-5.0.2/models
wc -l
grep git
if ( 1 ) then
cd /home/szw/CMAQ-5.0.2/models
set brnch = `git branch`
git branch
@ i = 0
while ( 0 < 0 )
set rep = `echo $cwd | tr "/" "#"`
echo /home/szw/CMAQ-5.0.2/models
tr / #
l: Undefined variable.
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-9-4 12:50:50 | 显示全部楼层
ifort: command line warning #10212: -fp-model precise evaluates in source precision with Fortran.
UTILIO_DEFN.F(48): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [M3UTILIO]
         USE M3UTILIO, EXCLUDE_INTERPB => INTERP3,

这两句写的大概就是你的库文件有问题,安装CMAQ的时候注意下面这个问题:用同一个编译器编译netcdf和ioapi,你用的是intel,就用intel把netcdf和ioapi重新编译一下(就是重装一下,具体怎么用intel编译器弄,你百度一下,我只会用pgi的),然后注意调用路径,尤其是cmaq里面的M3LIB这些路径,应该就差不多了,你先试试看
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-9-27 11:18:44 | 显示全部楼层
3Esperanza 发表于 2018-5-29 15:45
请问我在编译CCTM的时候也遇到了问题,在最后的时候
Makefile generated
mpif90 -c -ffixed-form -ffixe ...

您好~我遇到了和您一样的问题    Can't open included file 'STATE3.EXT   请问您的问题解决了吗?是否是ioapi的问题?麻烦指教一下~~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-9-27 11:18:48 | 显示全部楼层
3Esperanza 发表于 2018-5-29 15:45
请问我在编译CCTM的时候也遇到了问题,在最后的时候
Makefile generated
mpif90 -c -ffixed-form -ffixe ...

您好~我遇到了和您一样的问题    Can't open included file 'STATE3.EXT   请问您的问题解决了吗?是否是ioapi的问题?麻烦指教一下~~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-9-27 11:19:00 | 显示全部楼层
3Esperanza 发表于 2018-5-29 15:45
请问我在编译CCTM的时候也遇到了问题,在最后的时候
Makefile generated
mpif90 -c -ffixed-form -ffixe ...

您好~我遇到了和您一样的问题    Can't open included file 'STATE3.EXT'   请问您的问题解决了吗?是否是ioapi的问题?麻烦指教一下~~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-9-27 11:21:12 | 显示全部楼层
3Esperanza 发表于 2018-5-30 10:04
嗯嗯!谢谢您的回复~是我的ioapi的include文件夹没链接过来

您好 请教一下您的ioapi链接部分是怎么写的?
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表