爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 50863|回复: 96

UBUNTU12.04+WRFV3.5.1安装作业,献给在WRF革命过程中被虐和自虐的亲们

  [复制链接]

新浪微博达人勋

发表于 2013-11-27 13:00:13 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 sywyx 于 2013-12-1 08:13 编辑

提示:PC机需要联接互联网
操作系统:UBUNTU 12.04
FORTRAN编译器:gfortran 4.6
安装命令:apt-get install gfortran
C编译器:gcc 版本 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)
安装命令:linux系统自带

几个常用linux命令:
定位文件:locate libm.a (假设要找:libm.a)
以管理员身份打开文件夹:sudo nautilus
以管理员身份打开终端:sudo su


NETCDF安装
版本:netcdf-4.1.3
tar -xvf netcdf-4.1.3.tar.gz
./configure --disable-dap --disable-netcdf-4 --prefix=/usr/local/netcdf FC=gfortran
make
make install
配置环境变量:
vi /root/.bashrc
加入:
export NETCDF=/usr/local/netcdf
export PATH=$PATH:$NETCDF/bin:$NETCDF/include:$NETCDF/lib
export MANPATH=$MANPATH:$NETCDF/share/man
(注:该处参考气象家园的方法_西西同学)
source /root/.bashrc

检查是否成功:
ncdump
出现:
ncdump [-c|-h] [-v ...] [[-b|-f] [c|f]] [-l len] [-n name] [-p n[,n]] [-k] [-x] [-s] [-t] [-w] file
  [-c]             Coordinate variable data and header information
  [-h]             Header information only, no data
  [-v var1[,...]]  Data for variable(s) <var1>,... only
  [-b [c|f]]       Brief annotations for C or Fortran indices in data
  [-f [c|f]]       Full annotations for C or Fortran indices in data
  [-l len]         Line length maximum in data section (default 80)
  [-n name]        Name for netCDF (default derived from file name)
  [-p n[,n]]       Display floating-point values with less precision
  [-k]             Output kind of netCDF file
  [-x]             Output XML (NcML) instead of CDL
  [-s]             Output special (virtual) attributes
  [-t]             Output time data as date-time strings
  [-w]             Without client-side caching of variables for DAP URLs
  file             Name of netCDF file
netcdf library version 4.1.3 of Nov 22 2013 22:36:15 $
说明成功!

NCL安装
版本:ncl_ncarg-6.1.2.Linux_Debian6.0_i686_nodap_gcc445
tar -xvf ncl_ncarg-6.1.2.Linux_Debian6.0_i686_nodap_gcc445.tar.gz
该命令形成bin、include和lib文件夹,将其拷贝到:/usr/local/ncl目录(注:ncl是自己建立的)

配置环境变量:
vi /root/.bashrc
加入:
export NCARG_ROOT=/usr/local/ncl
export NCARG_LIB=/usr/local/ncl/lib
export NCARG_INC=/usr/local/ncl/include
export PATH=/usr/local/ncl/bin:$PATH

source /root/.bashrc

检查是否成功:
ncl
出现:
Copyright (C) 1995-2013 - All Rights Reserved
University Corporation for Atmospheric Research
NCAR Command Language Version 6.1.2
The use of this software is governed by a License Agreement.
See http://www.ncl.ucar.edu/ for more details.
ncl 0>
说明成功!

zlib libpng jasper lapack blas安装
apt-get install zlib1g-dev


tar –zxvf zlib-1.2.8.tar.gz
./configure --prefix=/usr/local/zlib
make
make install

tar –zxvf libpng-1.6.6.tar.gz
./configure --prefix=/usr/local/libpng
make
make install

unzip jasper-1.900.1.zip
./configure --prefix=/usr/local/jasper
make
make install

注意:以前要求上面的3个文件按顺序安装!

tar –zxvf lapack-3.5.0.tgz
在解压后的lapack-3.5.0目录下面有一个make.inc.example文件,将其改为make.inc。
如果是gfortran的编译器,则基本不需要修改这个文件。
把makefile文件中的:
lib: lapacklib tmglib
#lib: blaslib variants lapacklib tmglib
改为:
#lib: lapacklib tmglib
lib: blaslib variants lapacklib tmglib
终端输入(在lapack-3.5.0目录下):
make
然后把文件夹下面的liblapack.a,librefblas.a,libtmglib.a三个库拷贝到/usr/lib。


BLAS的全称是Basic Linear Algebra Subprograms,主要用于向量和矩阵计算的高性能数学库,本身是用Fortran写的。
tar –zxvf blas.tgz
根据系统修改make.inc和Makefile
make
生成blas_LINUX.a文件


配置环境变量:
vi /root/.bashrc
加入:
JASPER=/usr/local/jasper;export JASPER
JASPERLIB=/usr/local/jasper/lib;export JASPERLIB
JASPERINC=/usr/local/jasper/include;export JASPERINC

ZLIB=/usr/local/zlib;export ZLIB
ZLIBLIB=/usr/local/zlib/lib;export ZLIBLIB
ZLIBINC=/usr/local/zlib/include;export ZLIBINC

export BLAS=/usr/local/blas
export LAPACK=/usr/local/lapack

#注:安装WRF还需要加入下面配置
export WRFIO_NCD_LARGE_FILE_SUPPORT=1

source /root/.bashrc

apt-get install csh

apt-get install m4

WRFV3.5.1.TAR.gz、WPSV3.5.1.TAR.gz和WRFDA_V3.5.1.tar.gz拷贝到同一目录下,并解压形成三个文件夹:
tar -xvf WRFV3.5.1.TAR.gz
tar -xvf WPSV3.5.1.TAR.gz
tar -xvf WRFDA_V3.5.1.tar.gz
ls -l
---------------------------------------------------------------------------
drwxr-xr-x  7  6840 kmem      4096 11月 26 13:59 WPS
-rw-r--r--  1 root  root    560948 11月 17 11:02 WPSV3.5.1.TAR.gz
drwxr-xr-x 16 19974 69257     4096 11月 26 16:20 WRFDA
-rw-r--r--  1 root  root  66483774 11月 26 09:08 WRFDA_V3.5.1.tar.gz
drwxr-xr-x 17  6840 kmem      4096 11月 26 11:01 WRFV3
-rw-r--r--  1 root  root  38997831 11月 17 11:05 WRFV3.5.1.TAR.gz

WRFV3.5.1安装
./configure
选项说明:
serial means single processor                                            单核
smpar  means Symmetric Multi-Processing/Shared Memory Parallel (OpenMP)  多核
dmpar  means Distributed Memory Parallel (MPI)                           分布式计算
dm+sm  means Distributed Memory with Shared Memory                       多核+分布式计算
选择:gfortran、gcc、serial这一组
接下来出现:探测C、FORTRAN编译器和测试NETCDF的提示信息
开始执行编译命令:
./compile em_real >& wrf_compile.log
wrf_compile.log文件中没有出现“错误”提示

WRFV3/main# ls -l
总用量 156428
-rw-r--r-- 1 6840 kmem     5477  9月  2  2011 convert_em.F
-rw-r--r-- 1 6840 kmem    39702  8月 10 11:30 depend.common
-rw-r--r-- 1 6840 kmem    11092 12月  6  2011 ideal_em.F
-rw-r--r-- 1 6840 kmem    61627 12月  6  2011 ideal_nmm.F
-rw-r--r-- 1 root root 31384012 11月 26 11:25 libwrflib.a
-rw-r--r-- 1 6840 kmem     2562 12月  1  2012 Makefile
-rw-r--r-- 1 root root  3528286 11月 26 11:24 module_initialize_real.mod
-rw-r--r-- 1 6840 kmem    21561  4月 28  2013 module_wrf_top.F
-rw-r--r-- 1 root root     9249 11月 26 11:23 module_wrf_top.f90
-rw-r--r-- 1 root root  3033438 11月 26 11:23 module_wrf_top.mod
-rw-r--r-- 1 root root    12588 11月 26 11:23 module_wrf_top.o
-rw-r--r-- 1 6840 kmem   101460  1月 28  2013 ndown_em.F
-rw-r--r-- 1 root root    80579 11月 26 11:24 ndown_em.f90
-rw-r--r-- 1 root root   158356 11月 26 11:24 ndown_em.o
-rwxr-xr-x 1 root root 23682511 11月 26 11:25 ndown.exe
-rw-r--r-- 1 6840 kmem    36624  4月 28  2013 nup_em.F
-rw-r--r-- 1 root root    23775 11月 26 11:24 nup_em.f90
-rw-r--r-- 1 root root    32404 11月 26 11:24 nup_em.o
-rwxr-xr-x 1 root root 23351361 11月 26 11:25 nup.exe
-rw-r--r-- 1 6840 kmem    56972  3月 27  2012 real_em.F
-rw-r--r-- 1 root root    44823 11月 26 11:25 real_em.f90
-rw-r--r-- 1 root root    73848 11月 26 11:25 real_em.o
-rwxr-xr-x 1 root root 23567563 11月 26 11:25 real.exe
-rw-r--r-- 1 6840 kmem    61620  6月 18 00:18 real_nmm.F
-rw-r--r-- 1 6840 kmem    80126  2月 29  2012 tc_em.F
-rw-r--r-- 1 root root    57708 11月 26 11:24 tc_em.f90
-rw-r--r-- 1 root root   142240 11月 26 11:25 tc_em.o
-rwxr-xr-x 1 root root 23433628 11月 26 11:25 tc.exe
-rw-r--r-- 1 6840 kmem    44894  9月  2  2011 wrf_ESMFMod.F
-rwxr-xr-x 1 root root 26884395 11月 26 11:23 wrf.exe
-rw-r--r-- 1 6840 kmem      951  3月 28  2010 wrf.F
-rw-r--r-- 1 root root      186 11月 26 11:23 wrf.f90
-rw-r--r-- 1 root root     1640 11月 26 11:23 wrf.o
-rw-r--r-- 1 6840 kmem    85396  9月  2  2011 wrf_SST_ESMF.F


WPSV3.5.1安装
./configure
在配置选项中选13
形成configure.wps文件
修改后的configure.wps文件
# configure.wps
#
# This file was automatically generated by the configure script in the
# top level directory. You may make changes to the settings in this
# file but be aware they will be overwritten each time you run configure.
# Ordinarily, it is necessary to run configure once, when the code is
# first installed.
#
# To permanently change options, change the settings for your platform
# in the file arch/configure.defaults, the preamble, and the postamble -
# then rerun configure.
#

.SUFFIXES: .F .f .c .o

SHELL               =       /bin/sh

NCARG_LIBS        =    -L$(NCARG_ROOT)/lib -lncarg -lncarg_gks -lncarg_c \
                -L/usr/X11R6/lib -lX11

NCARG_LIBS2        =    # May be overridden by architecture specific value below

FDEFS            =    -DUSE_JPEG2000 -DUSE_PNG

# Listing of options that are usually independent of machine type.
# When necessary, these are over-ridden by each architecture.

ARFLAGS            =   

PERL            =    perl

RANLIB            =    echo

WRF_DIR            =    ../WRFV3

WRF_INCLUDE     =       -I$(WRF_DIR)/external/io_netcdf \
                        -I$(WRF_DIR)/external/io_grib_share \
                        -I$(WRF_DIR)/external/io_grib1 \
                        -I$(WRF_DIR)/external/io_int \
                        -I$(WRF_DIR)/inc \
                        -I$(NETCDF)/include

WRF_LIB         =       -L$(WRF_DIR)/external/io_grib1 -lio_grib1 \
                        -L$(WRF_DIR)/external/io_grib_share -lio_grib_share \
                        -L$(WRF_DIR)/external/io_int -lwrfio_int \
                        -L$(WRF_DIR)/external/io_netcdf -lwrfio_nf \
                        -L$(NETCDF)/lib -lnetcdff -lnetcdf

#### Architecture specific settings ####

COMPRESSION_LIBS    =  # intentionally left blank, fill in COMPRESSION_LIBS below

COMPRESSION_INC        =  # intentionally left blank, fill in COMPRESSION_INC below

#
#   Settings for Linux i486 i586 i686, gfortran    (serial)
#
#
COMPRESSION_LIBS    = -L/usr/local/jasper/lib -ljasper -lpng -lz
COMPRESSION_INC     = -I/usr/local/jasper/include
FDEFS               = -DUSE_JPEG2000 -DUSE_PNG
SFC                 = gfortran
SCC                 = gcc
DM_FC               = mpif90 -f90=gfortran
DM_CC               = mpicc -cc=gcc
FC                  = $(SFC)
CC                  = $(SCC)
LD                  = $(FC)
FFLAGS              = -ffree-form -O -fconvert=big-endian -frecord-marker=4
F77FLAGS            = -ffixed-form -O -fconvert=big-endian -frecord-marker=4
FCSUFFIX            =
FNGFLAGS            = $(FFLAGS)
LDFLAGS             =
CFLAGS              =
CPP                 = /usr/bin/cpp -C -P -traditional
CPPFLAGS            = -D_UNDERSCORE -DBYTESWAP -DLINUX -DIO_NETCDF -DBIT32 -DNO_SIGNAL
RANLIB              = ranlib

########################################################################################################################
#
#    Macros, these should be generic for all machines

LN        =    ln -sf
MAKE        =    make -i -r
RM        =     /bin/rm -f
CP        =     /bin/cp
AR        =    ar ru

.IGNORE:
.SUFFIXES: .c .f .F .o

#    There is probably no reason to modify these rules

.c.o:
    $(RM) $@
    $(CC) $(CPPFLAGS) $(CFLAGS) -c $<   

.f.o:
    $(RM) $@ $*.mod
    $(FC) $(F77FLAGS) -c $< $(WRF_INCLUDE)

.F.o:
    $(RM) $@ $*.mod
    $(CPP) $(CPPFLAGS) $(FDEFS) $(WRF_INCLUDE) $< > $*.f90
    $(FC) $(FFLAGS) -c $*.f90 $(WRF_INCLUDE)
#    $(RM) $*.f90

以上是完整文件,注意下面两条语句:
COMPRESSION_LIBS    = -L/usr/local/jasper/lib -ljasper -lpng -lz
COMPRESSION_INC     = -I/usr/local/jasper/include
其中libpng和libzib库文件是从/usr/local/libpng和/usr/local/zlib文件夹下找到,直接手工考到/usr/local/jasper/lib文件夹下的。
同时,把/usr/local/libpng文件夹下的include子目录拷贝到/usr/local/jasper文件夹下。

./compile >& wps_compile.log

wps_compile.log文件中没有出现“错误”提示
WPS相关的.exe文件形成

WRFDA_V3.5.1安装
./configure wrfda

./compile all_wrfvar >& wrfvar_compile.log

wrfvar_compile.log文件中没有出现“错误”提示
相关的.exe文件形成

RIP4安装
对于RIP4安装,我在2011年初的那次努力就是以失败告终的!
http://mnmuc.org/thread-610-1-1.html
这是当时在“Meteorological Numerical Model Union of China (MNMUC) 中国气象数值模式联盟”网站上寻求帮助的贴子。
时隔数年,我在这次努力中也用了将近3天的时间。
其实,我SURFER和GRADS用得挺好,但问题不解决,心里总是放不下。


Cairo是一个2D图形库。http://cairographics.org/download/
RIP4安装必须先安装Cairo,命令如下:

apt-get install libcairo2-dev

./configure

修改configure.rip
# configure.rip
#
# This file was automatically generated by the configure script in the
# top level directory. You may make changes to the settings in this
# file but be aware they will be overwritten each time you run configure.
# Ordinarily, it is necessary to run configure once, when the code is
# first installed.
#
# To permanently change options, change the settings for your platform
# in the file arch/configure.defaults, the preamble, and the postamble -
# then rerun configure.
#

.SUFFIXES: .F90 .f90 .F .f .c .o

SHELL              = /bin/sh

# Listing of options that are usually independent of machine type.
# When necessary, these are over-ridden by each architecture.

ARFLAGS        =

PERL        = perl

RANLIB        = echo

NETCDFLIB       = -L${NETCDF}/lib -lnetcdf -lnetcdff

NETCDFINC    = -I${NETCDF}/include

NCARGLIBS    = -L${NCARG_ROOT}/lib -lncarg -lcgm -lncarg_gks -lncarg_c -L/usr/lib/i386-linux-gnu -lX11 -lm



#### Architecture specific settings ####

# Settings for PC Linux i486 i586 i686 x86_64, gfortran compiler
#
FC              = gfortran
FFLAGS          = -I. -fcray-pointer -fconvert=big-endian -frecord-marker=4
CCFLAGS         = -I. -DLITTLE -DUNDERSCORE -c
LDFLAGS         =
LOCAL_LIBS      = -L/usr/X11R6/lib -lX11 -lf2c -L/usr/lib/gcc/i686-linux-gnu/4.6 -lgcc -lgfortran -lcairo -lfreetype

###########################################################
#
#    Macros, these should be generic for all machines

LN    = ln -sf
MAKE    = make -i -r
RM    = /bin/rm -f
CP    = /bin/cp
AR    = ar ru

.IGNORE:
.SUFFIXES: .c .f90 .F90 .f .F .o

#    There is probably no reason to modify these rules

.c.o:
    $(RM) $@
    $(CC) $(CCFLAGS) $(CFLAGS) -c $<   

.f.o:
    $(FC) $(FFLAGS) -c $*.f

.f90.o:
    $(RM) $@ $*.mod
    $(CP) $< $*.f
    $(FC) $(FFLAGS) -c $*.f
    $(RM) $*.f

.F90.o:
    $(RM) $@ $*.mod
    $(CPP) $(CCFLAGS) $(FDEFS) $< > $*.f
    $(FC) $(FFLAGS) -c $*.f ${NETCDF_INC}
    $(RM) $*.f
以上是完整文件,注意下面这条语句:
NETCDFLIB       = -L${NETCDF}/lib -lnetcdf -lnetcdff
后面的-lnetcdff,是手工加上的,这就是关键。


./compile >& rip4_compile.log


rip4_compile.log文件中没有出现“错误”提示

ls -l
总用量 1636
drwxr-xr-x 2 6840 kmem    4096 11月 27 08:52 arch
-rw-r--r-- 1 6840 kmem   11398 10月  4 12:15 CHANGES
-rwxr-xr-x 1 6840 kmem     658  2月 27  2009 clean
-rw-r--r-- 1 6840 kmem    5008  1月 11  2011 color.tbl
-rwxr-xr-x 1 6840 kmem    1282 10月 15  2008 compile
-rwxr-xr-x 1 6840 kmem    4257 10月 15  2008 configure
-rw-r--r-- 1 root root    1912 11月 27 09:25 configure.rip
-rw-r--r-- 1 root root    1858 11月 27 08:53 configure.rip~
-rw-r--r-- 1 root root    1807 11月 22 09:16 configure.rip4
drwxr-xr-x 2 6840 kmem    4096 11月 22 09:15 Doc
-rw-r--r-- 1 6840 kmem   30200  7月 10  2007 eta_micro_lookup.dat
-rw-r--r-- 1 6840 kmem   14104  3月 19  2008 Makefile
-rw-r--r-- 1 6840 kmem  347079  7月 10  2007 psadilookup.dat
-rw-r--r-- 1 6840 kmem    4028  3月 31  2012 README
lrwxrwxrwx 1 root root       7 11月 27 09:34 rip -> src/rip
-rw-r--r-- 1 root root   15225 11月 27 09:34 rip4_compile.log
lrwxrwxrwx 1 root root      11 11月 27 09:34 ripcomp -> src/ripcomp
lrwxrwxrwx 1 root root      10 11月 27 09:34 ripcut -> src/ripcut
lrwxrwxrwx 1 root root      13 11月 27 09:34 ripdp_mm5 -> src/ripdp_mm5
lrwxrwxrwx 1 root root      16 11月 27 09:34 ripdp_wrfarw -> src/ripdp_wrfarw
lrwxrwxrwx 1 root root      16 11月 27 09:34 ripdp_wrfnmm -> src/ripdp_wrfnmm
lrwxrwxrwx 1 root root      13 11月 27 09:34 ripinterp -> src/ripinterp
lrwxrwxrwx 1 root root      11 11月 27 09:34 ripshow -> src/ripshow
drwxr-xr-x 2 6840 kmem    4096 11月 22 09:15 sample_infiles
lrwxrwxrwx 1 root root      12 11月 27 09:34 showtraj -> src/showtraj
drwxr-xr-x 2 6840 kmem   12288 11月 27 09:34 src
-rw-r--r-- 1 6840 kmem 1123389  7月 10  2007 stationlist
lrwxrwxrwx 1 root root      11 11月 27 09:34 tabdiag -> src/tabdiag
lrwxrwxrwx 1 root root      11 11月 27 09:34 upscale -> src/upscale
-rw-r--r-- 1 root root   55557 11月 26 18:38 wps_compile.log~



配置环境变量:
vi /root/.bashrc
加入:
export RIP_ROOT=/usr/local/RIP4
export PATH=$RIP_ROOT:$PATH

source /root/.bashrc


结语

感谢气象家园。
感谢各位气象同仁,你们曾经的努力对于我找到解决问题的方法非常重要,更重要的是你们努力解决问题的精神,是你们鼓舞了我。
感谢UBUNTU,和为此努力和付出的人们。
感谢gfortran,我真的不想再去盗版PGI;感谢ifort(intel),因为如果gfortran用不好,ifort是一个选择。
感谢gcc。
向微软表示歉意,因为我使用的VC++ 6.0 是盗版的,而我又实在离不开C++。

评分

参与人数 1金钱 +2 收起 理由
klyalexander + 2 很给力!

查看全部评分

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

新浪微博达人勋

 楼主| 发表于 2013-11-27 19:10:40 | 显示全部楼层
本帖最后由 sywyx 于 2013-12-3 08:52 编辑

ARWpost安装
ARWpost把WRF结果转为GrADS或Vis5D可辨识的数据格式。
步骤:
tar zxvf ARWpost_V3.tar.gz
./configure
生成configure.arwp
修改Makefile文件 (注:在/src子目录下)

修改后的Makefile文件

include ../configure.arwp

OBJS = module_model_basics.o constants_module.o gridinfo_module.o ARWpost.o input_module.o output_module.o module_map_utils.o misc_definitions_module.o module_date_pack.o module_debug.o process_domain_module.o module_get_file_names.o module_interp.o module_basic_arrays.o module_diagnostics.o module_arrays.o module_pressure.o module_calc_height.o module_calc_pressure.o module_calc_theta.o module_calc_tk.o module_calc_tc.o module_calc_td.o module_calc_td2.o module_calc_rh.o module_calc_rh2.o module_calc_uvmet.o module_calc_slp.o module_calc_dbz.o module_calc_cape.o module_calc_wdir.o module_calc_wspd.o module_calc_clfr.o


wrong:
        clear ;
        @echo " "
        @echo "go up one directory and type compile to build ARWpost"
        @echo " "
        @echo " "


all: ARWpost.exe

ARWpost.exe: $(OBJS)
        $(FC) $(FFLAGS) $(LDFLAGS) -o $@ $(OBJS)  \
                -L$(NETCDF)/lib -I$(NETCDF)/include  -lnetcdf -lnetcdff


module_model_basics.o:

constants_module.o:

misc_definitions_module.o:

module_date_pack.o:

module_get_file_names.o:

module_arrays.o: module_model_basics.o gridinfo_module.o

module_pressure.o: module_model_basics.o

module_interp.o: input_module.o module_arrays.o module_pressure.o

module_map_utils.o:

module_debug.o:

gridinfo_module.o: misc_definitions_module.o module_debug.o module_get_file_names.o

input_module.o: gridinfo_module.o misc_definitions_module.o

output_module.o: input_module.o module_model_basics.o module_arrays.o module_interp.o

process_domain_module.o: module_date_pack.o gridinfo_module.o input_module.o output_module.o misc_definitions_module.o module_debug.o module_interp.o module_basic_arrays.o module_diagnostics.o module_arrays.o module_model_basics.o module_pressure.o

ARWpost.o: gridinfo_module.o module_debug.o process_domain_module.o


module_basic_arrays.o: gridinfo_module.o module_arrays.o module_pressure.o module_interp.o constants_module.o

module_diagnostics.o: gridinfo_module.o output_module.o module_arrays.o module_interp.o module_pressure.o constants_module.o module_calc_height.o module_calc_pressure.o module_calc_tk.o module_calc_tc.o module_calc_theta.o module_calc_td.o module_calc_td2.o module_calc_rh.o module_calc_rh2.o module_calc_uvmet.o module_calc_slp.o module_calc_dbz.o module_calc_cape.o module_calc_wdir.o module_calc_wspd.o module_calc_clfr.o

module_calc_cape.o: module_model_basics.o constants_module.o
module_calc_dbz.o: module_model_basics.o constants_module.o
module_calc_height.o: module_model_basics.o constants_module.o
module_calc_pressure.o: module_model_basics.o
module_calc_slp.o: module_model_basics.o constants_module.o
module_calc_rh.o: module_model_basics.o constants_module.o
module_calc_rh2.o: module_model_basics.o constants_module.o
module_calc_tk.o: module_model_basics.o constants_module.o
module_calc_tc.o: module_model_basics.o constants_module.o
module_calc_td.o: module_model_basics.o
module_calc_td2.o: module_model_basics.o
module_calc_theta.o: module_model_basics.o
module_calc_uvmet.o: module_model_basics.o
module_calc_wdir.o: module_model_basics.o
module_calc_wspd.o: module_model_basics.o
module_calc_clfr.o: module_model_basics.o

clean:
        rm -f $(OBJS) *.mod

clobber:
        rm -f $(OBJS) *.mod
        rm -f *.f
        rm -f ARWpost.exe
以上是完整文件,注意下面这条语句:
ARWpost.exe: $(OBJS)
        $(FC) $(FFLAGS) $(LDFLAGS) -o $@ $(OBJS)  \
                -L$(NETCDF)/lib -I$(NETCDF)/include  -lnetcdf -lnetcdff
后面的-lnetcdff,是手工加上的,这就是关键。(类似于修改RIP4的configure.rip)

./compile
ls -l
总用量 56
drwxr-xr-x 2 9140 users 4096 11月 22 09:50 arch
lrwxrwxrwx 1 root root    15 11月 27 18:52 ARWpost.exe -> src/ARWpost.exe
-rwxr-xr-x 1 9140 users  905  5月 25  2007 clean
-rwxr-xr-x 1 9140 users  490 12月 16  2010 compile
-rwxr-xr-x 1 9140 users 4257  5月 25  2007 configure
-rw-r--r-- 1 root root  1759 11月 27 18:40 configure.arwp
-rw-r--r-- 1 9140 users   12  5月 25  2007 fields.plt
-rw-r--r-- 1 9140 users   19  5月 25  2007 myLIST
-rw-r--r-- 1 9140 users 1150 12月 16  2010 namelist.ARWpost
-rw-r--r-- 1 9140 users 7189 12月 16  2010 README
drwxr-xr-x 2 9140 users 4096 11月 22 09:50 scripts
drwxr-xr-x 2 9140 users 4096 11月 27 18:52 src
drwxr-xr-x 2 9140 users 4096  3月  2  2011 util
生成ARWpost.exe,表明安装成功
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2013-11-27 13:00:51 | 显示全部楼层
沙发---------------------------------
密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
发表于 2013-11-27 13:02:34 | 显示全部楼层
自己坐沙发 不厚道  非常感谢分享 收了~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-11-27 14:57:46 | 显示全部楼层
感谢分享原创内容
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-11-27 15:23:43 | 显示全部楼层
给力,谢谢分享,这些天一直在WRFV3.5.1安装中挣扎,伤不起。。。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-11-27 20:41:30 | 显示全部楼层
请问,lapack-3.5.0和BLAS编译出来的库文件,wrf、wps、wrfda哪个编译需要?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-11-28 06:34:59 | 显示全部楼层

安装WPS前要先安装zlib、libpng和jasper三个外部库,用于识别GRIB2格式的数据;安装WRFDAV前要先安装另外三个外部库bufr(如不用bufr格式的数据,可以不用装,这是3.1版本之前的WRFDA所不允许的),lapack和blas。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-11-28 09:44:52 | 显示全部楼层
谢谢,我再提个问题,应用(smpar)多核并行模式,gcc+gfortran编译,能成功吗?

我编译多核时,提示make[2]:diffwrf 错误
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-12-2 13:51:55 | 显示全部楼层
为什么昨天晚上装netcdf一点问题都木有,今天起来打死也装不上了。
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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