w3emc模块编译报F90-F-0004-Unable to open MODULE file sigio_module.mod错

问题现象描述

NCEPLIBS构建安装中w3emc模块报错如下:

关键过程、根本原因分析

无。

结论、解决方案及效果

  1. 修改“/w3emc.dir/build.make”文件。

    1. 打开“/w3emc.dir/build.make”文件。
      vi /path/to/NCEPLIBS/NCEPLIBS-1.2.0/build/CMakeFiles/w3emc.dir/build.make
    2. 按“i”进入编辑模式,修改第117行的内容。
      cd /path/to/NCEPLIBS/NCEPLIBS-1.2.0/build/w3emc/src/w3emc-build && sed -i "s/isystem/I/g" `grep -rl "isystem"` && $(MAKE)

      执行1.a之后,按“Esc”键,输入“:set nu”,按“Enter”即可显示出行号。

    3. 修改后按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

  2. 修改“/nceplibs-w3emc/src/gblevents.f”文件。

    1. 打开“/nceplibs-w3emc/src/gblevents.f”文件。
      vi /path/to/NCEPLIBS/NCEPLIBS-1.2.0/download/nceplibs-w3emc/src/gblevents.f
    2. 按“i”进入编辑模式,修改如下内容。

      将第2463行修改为:

      INTEGER IDATE(8,2),JDATE(8,2),KDATE(8,2),KINDX(2),KINDX_2

      将第2783行ELSE到ENDIF内容替换为如下:

      ELSE
      KINDX_2 = ABS(KINDX(2))
      COFS=
      $   ((KINDX_2*COFS_f(:,:,1))  +(KINDX(1)*COFS_f(:,:,2)))/3.
      COFV=
      $   ((KINDX_2*COFV_f(:,:,:,1))+(KINDX(1)*COFV_f(:,:,:,2)))/3.
      ENDIF

      执行2.a之后,按“Esc”键,输入“:set nu”,按“Enter”即可显示出行号。

    3. 修改后按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

  3. 重新编译。

    make