我要评分
获取效率
正确性
完整性
易理解

Error "F90-F-0004-Unable to open MODULE file sigio_module.mod" Reported When Compiling the w3emc Module

Symptom

During the NCEPLIBS compilation and installation, the w3emc module reports the following error:

Key Process and Cause Analysis

None

Conclusion and Solution

  1. Modify the /w3emc.dir/build.make file.
    1. Open the /w3emc.dir/build.make file.
      vi /path/to/NCEPLIBS/NCEPLIBS-1.2.0/build/CMakeFiles/w3emc.dir/build.make
    2. Press i to enter the edit mode and modify the content in line 117.
      cd /path/to/NCEPLIBS/NCEPLIBS-1.2.0/build/w3emc/src/w3emc-build && sed -i "s/isystem/I/g" `grep -rl "isystem"` && $(MAKE)

      After performing 1.a, press Esc, type :set nu, and press Enter to display the line number.

    3. Press Esc, type :wq!, and press Enter to save the file and exit.
  2. Modify the /nceplibs-w3emc/src/gblevents.f file.
    1. Modify the /nceplibs-w3emc/src/gblevents.f file.
      vi /path/to/NCEPLIBS/NCEPLIBS-1.2.0/download/nceplibs-w3emc/src/gblevents.f
    2. Press i to enter the edit mode and modify the file as follows:

      Modify line 2463 as follows:

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

      Replace the content from ELSE in line 2783 to ENDIF with the following:

      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

      After performing 2.a, press Esc, type :set nu, and press Enter to display the line number.

    3. Press Esc, type :wq!, and press Enter to save the file and exit.
  3. Perform the compilation again.
    make