• 【转】在Fedora 9下用IFC安装MM5


    本文由杨亚钦提供,某人略作修改。本人再次转载。另一篇较旧但仍有参考意义的中文入门指南参见http://zhang20031320025.blog.163.com/blog/static/59805856200891233858965/

    本篇文章包括以下内容
    ---------------------------------------------------------------------
    1.安装Fedora 9
    2.安装INTEL Fortran Complier
    3.安装NCAR Graphics
    4.测试INTEL Fortran complier 和 NCAR Graphics
    5.运行TERRAIN
    6.运行REGRID
    7.运行INTERPF
    8.运行MM5
    9.后处理
    ---------------------------------------------------------------------

    1.安装Fedora 9
    下载Fedora 9 (http://mirrors.fedoraproject.org/publiclist/Fedora/9/i386/),用grldr硬盘安装Fedora 9,安装方法可以在网上搜索找到。记得安装软件开发库包括X窗口的开发库(若非命令行形式运行),以及开发工具。

    2.安装INTEL Fortran Complier
    到INTEL网站下载INTEL Fortran Complier
    按照里面的介绍安装,默认安装目录为:
    /opt/intel/fc/10.1.022
    /opt/intel/idb/10.1.022
    安装过程中可能提示:需要libstdc++so.5,这时可以运行
    # yum install libstdc++.so.5
    然后重装安装INTEL Fortran Complier。安装完成后,进入安装目录下/bin,
    # source ifortvars.sh

    3.安装NCAR Graphics (可选)
    下载NCARG,不同的版本安装方法不尽相同,以ncarg-4.4.0.REDHAT9_GNU3_PC.tar.gz为例,下载并解压后进入INSTALL目录,输入命令
    # ./INSTALL
    然后按照提示安装即可,默认安装目录:/usr/local/ncarg ,安装完成后还需要设置环境变量。

    4.测试INTEL Fortran complier 和 NCAR Graphics
    测试INTEL Complier:
    输入which ifort,如果能看到/opt/intel/fce/10.0.015/bin/ifort ,那么就安装设置成功了
    测试NCAR Graphics:
    # ncargex cpex08
    # ctrans -d X11 cpex08.ncgm
    能看到图形表示安装成功,如果提示“g77: command not found.”,则运行
    # yum install compat-gcc-34-g77.i386
    或许自己下载安装compat-gcc-34-g77.i386,然后重新再试一次

    5.编译运行TERRAIN
    下载MM5的所有模块:
    下载TERRAIN DATA: 

    5.1 下载libg2c.a 放到 /usr/lib/ , 如果 /usr/lib/gcc-lib/i386-redhat-linux/*.*.*/ 中有该文件则不用下载

    5.2 编辑 Makefile
    # gedit Makefile
    找到以下段,修改为libg2c.a的目录,如/usr/lib/
    intel:
    echo "Compiling for Linux using INTEL complier"
    ....
    "LOCAL_LIBRARIES = -L$(NCARG_ROOT)/lib -L/usr/X11R6/lib –lncarg -lncarg_gks -lncarg_c -lX11 -L/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/ -lg2c " ) ;
    .....

    5.3 编译
    # make intel
    # make terrain.deck
    若成功,会出现:
    90 Lines Compiled
    /bin/rm -f rdnml.f
    ifc rdnml.o -i_dynamic -o rdnml
    make[1]: Exiting directory `$home/mm5v3/TERRAIN/src'

    5.4 编辑 terrain.deck.intel
    # gedit terrain.deck.intel
    根据需要修改里面的参数,然后输入命令
    # mv terrain.deck.intel terrain.deck

    5.5 运行
    # ./terrain.deck
    若成功,会出现:
    mon dec 29 14:18:43 CET 2003
    ./terrain.exe
    rm fort.15 fort.16 fort.18
    若成功,输出日志文件最后会出现:
    == NORMAL TERMINATION OF TERRAIN PROGRAM ==
    FORTRAN STOP 9999
    并产生TERRAIN_DOMAIN1、TERRAIN.DOMAIN2..等文件

    5.6 画图
    # idt TER.PLT
    如果对输出结果不满意则回到5.4再编辑terrain.deck,然后重新运行

    6.运行REGRID
    进入REGRID的目录,输入
    # make intel
    # cd pregrid
    # gedit pregrid.csh
    根据输入的数据编辑 pregrid.csh ,具体见MM5说明书
    # ./pregrid.csh
    如果成功,最后会显示
    Normal termination of program PREGRID_****
    # cd ../regridder
    根据输入数据编辑 namelist.input
    # ./regridder
    如果成功,regridder目录下会出现
    -rw-r--r--   1 mesouser users   2177888 Mar 17 18:26 REGRID_DOMAIN1

    7.运行INTERPF
    进入INTERPF的目录,输入命令
     # ./make intel
    根据REGRID的输出结果,修改namelist.input ,然后执行
     # ./interpf
    若成功,最后讲话显示
    -------------------------------------------------
    FINISHED INTERPF FOR DOMAIN ID #1
    -------------------------------------------------
    STOP 99999
    在INTERPF目录下也会产生三个文件
    -rw-r--r-- 1 mesouser users   1825164 Jan 7 08:13 BDYOUT_DOMAIN1
    -rw-r--r-- 1 mesouser users    170936 Jan 7 08:13 LOWBDY_DOMAIN1
    -rw-r--r-- 1 mesouser users   2889044 Jan 7 08:13 MMINPUT_DOMAIN1

    8.运行MM5

    8.1 MM5 输入数据
    要运行MM5你需要以下数据,并要把数据复制或者链接到 MM5/Run/中:
    INTERPF的输出数据MMINPUT_DOMAIN1、BDYOUT_DOMAIN1、LOWBDY_DOMAIN1
    TERRAIN的输出数据TERRAIN_DOMAIN*
    注:其中“*”为 2、3、4……

    8.2 编辑 configure.user
    # gedit configure.user
    找到下面这段,把"#"去掉
    #--------------------------------------------------------------------------
    #    3i2. PC_INTEL (LINUX/INTEL)
    #--------------------------------------------------------------------------
    #RUNTIME_SYSTEM = "linux"
    #FC = ifort
    #FCFLAGS = -I$(LIBINCLUDE) -O2 -tp p6 -pc 32 -convert big_endian
    #CPP = /lib/cpp
    #CFLAGS = -O
    #CPPFLAGS = -I$(LIBINCLUDE)
    #LDOPTIONS = -O2 -tp p6 -pc 32 -convert big_endian
    #LOCAL_LIBRARIES =
    #MAKE = make -i -r
    找到以下段,一般需要根据TERRAIN的设置修改。MAXNES 为区域的数量,MIX和MJX 为最大网格数
    #--------------------------------------------------------------------------
    # 5. Options for making ./include/parame.incl
    #-----------------------------------------------------------------------------
    #
    # FDDAGD (integer)                  - "1" -> FDDA gridded run
    FDDAGD = 0
    #
    # FDDAOBS (integer)                 - "1" -> FDDA obs run
    FDDAOBS = 0
    #
    # MAXNES (integer)                  - Max Number of Domains in simulation
    MAXNES = 2
    #
    # MIX,MJX (integer)                 - Maximum Dimensions of any Domain
    MIX = 49
    MJX = 52
    # MKX (integer)                     - Number of half sigma levels in model
    MKX = 23
    8.3 编译
    # make
    若成功,将出现:
    # make mm5.deck
    若成功,将出现:
    Including file ./Templates/oparam
    Including file ./Templates/lparam
    Including file ./Templates/nparam
    Including file ./Templates/pparam
    Including file ./Templates/fparam

    8.4 运行
    根据需要编辑 mm5.deck ,然后运行
    # ./mm5.deck
    # cd Run
    # ./mm5.exe
    如果成功则会出现:
    --- MODEL OUTPUT IS WRITTEN AT TIME = 720.00 MINUTES FOR DOMAIN 1
    --- MODEL OUTPUT IS WRITTEN AT TIME = 720.00 MINUTES FOR DOMAIN 2
    +++ REWINDING SAVE FILE FOR DOMAIN 1
    +++ RESTART FILE IS WRITTEN AT TIME = 720.00 MINUTES FOR DOMAIN1. IXTIMR = 720
    +++ REWINDING SAVE FILE FOR DOMAIN 2
    +++ RESTART FILE IS WRITTEN AT TIME = 720.00 MINUTES FOR DOMAIN2. IXTIMR = 720
    FORTRAN STOP 99999
    并且可以在 MM5/Run下面看到 MMOUT_DOMAIN*文件 ,其中“*”为1,2,3……

    9.后处理
    完成MM5以后还需要将MM5的输出文件转化为GrADS 等画图软件可以使用的格式。在这里只介绍MM5toGrADS。进入MM5toGrADS目录,用make进行编译
    # make
    编辑 mm5_to_grads.csh
    # gedit mm5_to_grads.csh
    找到一下字段,根据自己需要修改,输入输出文件
    set infilename = "/home/MM5_v35/MM5/Run/MMOUT_DOMAIN1"
    set outfilename = "test"
    编辑 namelist.input
    # gedit namelist.input
    根据自己需要修改一些输出的参数,然后运行mm5_to_grads.csh
    # ./mm5_to_grads.csh
    如果你设置outfilename = "test",则你将得到以下连个文件
     test.ctl
     test.dat
    如果你已经安装GrADS,你将可以看到MM5的预报结果。

    路漫漫其修远兮 吾将上下求索
  • 相关阅读:
    面向对象--进阶
    组合补充--类的特殊成员
    面向对象--类,嵌套
    面向对象(初级)
    模块--包
    异常处理
    模块--3
    模块--2
    django环境处理
    Django使用中间件通过CORS方式解决跨域
  • 原文地址:https://www.cnblogs.com/hbmlml/p/3741903.html
Copyright © 2020-2023  润新知