安装SMOKE

操作步骤

  1. 使用PuTTY工具,以root用户登录服务器。
  2. 执行以下命令进入以下目录。

    cd $SMK_HOME/subsys/smoke/assigns/

  3. 执行以下命令修改“ASSIGNS.nctox.cmaq.cb05_soa.us12-nc”文件。

    1. 打开“ASSIGNS.nctox.cmaq.cb05_soa.us12-nc”文件。
      vi ASSIGNS.nctox.cmaq.cb05_soa.us12-nc
    2. 按“i”进入编辑模式,修改第25行的内容。
      setenv BIN   Linux2_aarch64gfort
    3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

  4. 执行以下命令修改“Makeinclude”文件。

    1. 打开“Makeinclude”文件。
      cd $SMK_HOME/subsys/smoke/src
      vi Makeinclude
    2. 按“i”进入编辑模式,修改以下内容。
      INSTDIR = ${OBJDIR}/${BIN}
      #EFLAG = -extend-source 132 -zero 
      EFLAG = -ffixed-line-length-132  -fno-backslash
      IOLIB = -L$(IOBIN) -lioapi -lnetcdf -lnetcdff
    3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

  5. 执行以下命令修改“biog/normbeis361.f”文件。

    1. 打开“biog/normbeis361.f”文件。
      vi biog/normbeis361.f
    2. 按“i”进入编辑模式,修改第161行的内容,将IS_AG,IS_TAG两个函数类型由“INTEGER”改为“LOGICAL”
    3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

  6. 执行以下命令修改“smkinven/rdinvsrcs.f”文件。

    1. 打开“smkinven/rdinvsrcs.f”文件。
      vi smkinven/ rdinvsrcs.f
    2. 按“i”进入编辑模式,修改第86行的内容,将GETPID函数类型由“EXTERNAL”改为“INTRINSIC”
    3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

  7. 执行以下命令修改“emutil/gentpro.f”文件。

    1. 打开“emutil/gentpro.f”文件。
      vi emutil/gentpro.f
    2. 按“i”进入编辑模式,修改第1663行和1695行的代码。
      1663  (( PROF_MON( S,NP )), NP = 1,12 )
      1695  ( ( PROF_DAY( S,NP ) ), NP = 1,31 )
    3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

  8. 执行以下命令创建目录。

    mkdir ${SMK_HOME}/subsys/smoke/${BIN}

  9. 执行以下命令运行编译。

    source /path/to/SMOKE/subsys/smoke/assigns/ASSIGNS.nctox.cmaq.cb05_soa.us12-nc
    make