爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
楼主: 随缘

WRF3.3在thinkpad-E420+ubuntu11.04-64位系统下用gcc4.4+gfortran4.4编译全过程

  [复制链接]

新浪微博达人勋

发表于 2012-5-8 15:45:45 | 显示全部楼层
求楼主给参考一下:楼主写的很好,可也架不住我是个“文盲”啊!我先不问那么高级的问题,楼主可否回答一下你本本运行一次WRF,比如算一次台风过程,需要几个小时啊?我想买个本本先,除了需要注意CPU的性能,还有什么需要注意的呢?主要说计算速度上,当然价格也要说的过去啦,先谢谢了。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-5-8 18:24:53 | 显示全部楼层

说实话,我开始也是你这个想法,但是,我现在可以告诉你,想用笔记本单机做理想的数值模拟,这个想法其实是不太切合实际的,计算能力先不说,主要是吃内存吃的太凶了,单机上装也就是拿来做做单层的练练手,别对它报有太大的期望
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-5-21 10:58:07 | 显示全部楼层
随缘 发表于 2012-5-8 18:24
说实话,我开始也是你这个想法,但是,我现在可以告诉你,想用笔记本单机做理想的数值模拟,这个想法其实 ...

谢谢楼主,可是,,我这次来的太迟了,已经买了一个本,呜呜,不过我要拿着它去问明白人怎么安装,怎么运行的,这个还是 需要的...
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-6-4 15:43:36 | 显示全部楼层
支持!辛苦!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-6-9 07:39:01 | 显示全部楼层
不错,先顶,以后慢慢看……
学习中,望大虾指导啊?呵呵。。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-7-20 11:20:12 | 显示全部楼层
非常有用的贴,拜读了!请教您一个问题:我是thinkpad E40+Ubuntu11.10(32bit),gcc-4.4,gfortran-4.4,
库文件zlib,libpng,jasper都装上了,
m4,csh,ncl6.0,netcdf-4.0.1装上了,
安装wrf3.3
1.   configure wrf3.3时成功了,具体:
   #  ./configure
                Please select from among the following supported platforms.

   1.  Linux i486 i586 i686, gfortran compiler with gcc  (serial)
   2.  Linux i486 i586 i686, gfortran compiler with gcc  (smpar)
   3.  Linux i486 i586 i686, gfortran compiler with gcc  (dmpar)
   4.  Linux i486 i586 i686, gfortran compiler with gcc  (dm+sm)
   5.  Linux i486 i586 i686, g95 compiler with gcc  (serial)
   6.  Linux i486 i586 i686, g95 compiler with gcc  (dmpar)
   7.  Linux i486 i586 i686, PGI compiler with gcc  (serial)
   8.  Linux i486 i586 i686, PGI compiler with gcc  (smpar)
   9.  Linux i486 i586 i686, PGI compiler with gcc  (dmpar)
  10.  Linux i486 i586 i686, PGI compiler with gcc  (dm+sm)
  11.  Linux x86_64 i486 i586 i686, ifort compiler with icc  (serial)
  12.  Linux x86_64 i486 i586 i686, ifort compiler with icc  (smpar)
  13.  Linux x86_64 i486 i586 i686, ifort compiler with icc  (dmpar)
  14.  Linux x86_64 i486 i586 i686, ifort compiler with icc  (dm+sm)
  15.  Linux i486 i586 i686 x86_64, PathScale compiler with pathcc  (serial)
  16.  Linux i486 i586 i686 x86_64, PathScale compiler with pathcc  (dmpar)   

选择 :1
Compile for nesting? (0=no nesting, 1=basic, 2=preset moves, 3=vortex following) [default 0]:

选择:0

最后出现:
Testing for NetCDF, C and Fortran compiler

This installation NetCDF is 32-bit
C compiler is 32-bit
Fortran compiler is 32-bit
It will build in 32-bit


2.  编译 # ./compile em_real >& wrfcompile2.log
root@linql-ThinkPad-Edge:/home/linql/wrf3.3/WRFV3# which m4
/usr/bin/m4
root@linql-ThinkPad-Edge:/home/linql/wrf3.3/WRFV3# ./compile em_real >& wrfcompile2.log
root@linql-ThinkPad-Edge:/home/linql/wrf3.3/WRFV3#


但compile后在log文件里,有N个错误,其中一个“致命错误: 无法打开模块文件‘wrf_data.mod’读取,在(1)处:没有那个文件”,何故?环境变量没设好吗?
下面是wrfcompile2.log的错误的地方:
致命错误: 无法打开模块文件‘module_ext_internal.mod’读取,在(1)处:没有那个文件或目录
gfortran: diffwrf.o:没有那个文件或目录
make[3]: [diffwrf] 错误 1 (忽略)
make[3]:正在离开目录 `/home/linql/wrf3.3/WRFV3/external/io_int'
( cd /home/linql/wrf3.3/WRFV3/external/esmf_time_f90 ; \
          make FC="gfortran   -w -ffree-form -ffree-line-length-none -fconvert=big-endian -frecord-marker=4 " RANLIB="ranlib" \
  
致命错误: 无法打开模块文件‘module_io_domain.mod’读取,在(1)处:没有那个文件或目录
make[1]: [../share/module_optional_input.o] 错误 1 (忽略)
rm -f tc_em.o
/lib/cpp -C -P -I/home/linql/wrf3.3/WRFV3/inc -DEM_CORE=1 -DNMM_CORE=0 -DNMM_MAX_DIM=2600 -DCOAMPS_CORE=0 -DDA_CORE=0 -DEXP_CORE=0 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNONSTANDARD_SYSTEM_SUBR  -DNETCDF -DUSE_ALLOCATABLES -DGRIB1 -DINTIO -DLIMIT_ARGS -DCONFIG_BUF_LEN=32768 -DMAX_DOMAINS_F=21 -DMAX_HISTORY=25 -DNMM_NEST=0  -I. -traditional   tc_em.F  > tc_em.bb
/home/linql/wrf3.3/WRFV3/tools/standard.exe tc_em.bb | /lib/cpp -C -P > tc_em.f90
rm -f tc_em.b tc_em.bb
if fgrep -iq '!$OMP' tc_em.f90 ; then \
          if [ -n "" ] ; then echo COMPILING tc_em.F WITH OMP ; fi ; \
          gfortran -o tc_em.o -c -O3 -ftree-vectorize -ftree-loop-linear -funroll-loops -w -ffree-form -ffree-line-length-none -fconvert=big-endian -frecord-marker=4   -I../dyn_em -I../dyn_nmm   -I/home/linql/wrf3.3/WRFV3/external/esmf_time_f90  -I/home/linql/wrf3.3/WRFV3/main -I/home/linql/wrf3.3/WRFV3/external/io_netcdf -I/home/linql/wrf3.3/WRFV3/external/io_int -I/home/linql/wrf3.3/WRFV3/frame -I/home/linql/wrf3.3/WRFV3/share -I/home/linql/wrf3.3/WRFV3/phys -I/home/linql/wrf3.3/WRFV3/chem -I/home/linql/wrf3.3/WRFV3/inc -I/usr/local/netcdf/include    tc_em.f90 ; \
        else \
          if [ -n "" ] ; then echo COMPILING tc_em.F WITHOUT OMP ; fi ; \
          gfortran -o tc_em.o -c -O3 -ftree-vectorize -ftree-loop-linear -funroll-loops -w -ffree-form -ffree-line-length-none -fconvert=big-endian -frecord-marker=4  -I../dyn_em -I../dyn_nmm   -I/home/linql/wrf3.3/WRFV3/external/esmf_time_f90  -I/home/linql/wrf3.3/WRFV3/main -I/home/linql/wrf3.3/WRFV3/external/io_netcdf -I/home/linql/wrf3.3/WRFV3/external/io_int -I/home/linql/wrf3.3/WRFV3/frame -I/home/linql/wrf3.3/WRFV3/share -I/home/linql/wrf3.3/WRFV3/phys -I/home/linql/wrf3.3/WRFV3/chem -I/home/linql/wrf3.3/WRFV3/inc -I/usr/local/netcdf/include    tc_em.f90 ; \
        fi
tc_em.f90:8.23:

   USE module_io_domain
                       1
致命错误: 无法打开模块文件‘module_io_domain.mod’读取,在(1)处:没有那个文件或目录
make[1]: [tc_em.o] 错误 1 (忽略)
ranlib libwrflib.a
gfortran -o real.exe  -O3 -ftree-vectorize -ftree-loop-linear -funroll-loops -w -ffree-form -ffree-line-length-none -fconvert=big-endian -frecord-marker=4    real_em.o ../dyn_em/module_initialize_real.o libwrflib.a /home/linql/wrf3.3/WRFV3/external/fftpack/fftpack5/libfftpack.a /home/linql/wrf3.3/WRFV3/external/io_grib1/libio_grib1.a /home/linql/wrf3.3/WRFV3/external/io_grib_share/libio_grib_share.a /home/linql/wrf3.3/WRFV3/external/io_int/libwrfio_int.a -L/home/linql/wrf3.3/WRFV3/external/esmf_time_f90 -lesmf_time /home/linql/wrf3.3/WRFV3/frame/module_internal_header_util.o /home/linql/wrf3.3/WRFV3/frame/pack_utils.o  -L/home/linql/wrf3.3/WRFV3/external/io_netcdf -lwrfio_nf -L/usr/local/netcdf/lib  -lnetcdf     
gfortran: real_em.o:没有那个文件或目录
gfortran: ../dyn_em/module_initialize_real.o:没有那个文件或目录
make[1]: [em_real] 错误 1 (忽略)
gfortran -o ndown.exe  -O3 -ftree-vectorize -ftree-loop-linear -funroll-loops -w -ffree-form -ffree-line-length-none -fconvert=big-endian -frecord-marker=4    ndown_em.o  ../dyn_em/module_initialize_real.o libwrflib.a /home/linql/wrf3.3/WRFV3/external/fftpack/fftpack5/libfftpack.a /home/linql/wrf3.3/WRFV3/external/io_grib1/libio_grib1.a /home/linql/wrf3.3/WRFV3/external/io_grib_share/libio_grib_share.a /home/linql/wrf3.3/WRFV3/external/io_int/libwrfio_int.a -L/home/linql/wrf3.3/WRFV3/external/esmf_time_f90 -lesmf_time /home/linql/wrf3.3/WRFV3/frame/module_internal_header_util.o /home/linql/wrf3.3/WRFV3/frame/pack_utils.o  -L/home/linql/wrf3.3/WRFV3/external/io_netcdf -lwrfio_nf -L/usr/local/netcdf/lib  -lnetcdf     
gfortran: ndown_em.o:没有那个文件或目录
gfortran: ../dyn_em/module_initialize_real.o:没有那个文件或目录
make[1]: [em_real] 错误 1 (忽略)
gfortran -o nup.exe  -O3 -ftree-vectorize -ftree-loop-linear -funroll-loops -w -ffree-form -ffree-line-length-none -fconvert=big-endian -frecord-marker=4    nup_em.o  ../dyn_em/module_initialize_real.o libwrflib.a /home/linql/wrf3.3/WRFV3/external/fftpack/fftpack5/libfftpack.a /home/linql/wrf3.3/WRFV3/external/io_grib1/libio_grib1.a /home/linql/wrf3.3/WRFV3/external/io_grib_share/libio_grib_share.a /home/linql/wrf3.3/WRFV3/external/io_int/libwrfio_int.a -L/home/linql/wrf3.3/WRFV3/external/esmf_time_f90 -lesmf_time /home/linql/wrf3.3/WRFV3/frame/module_internal_header_util.o /home/linql/wrf3.3/WRFV3/frame/pack_utils.o  -L/home/linql/wrf3.3/WRFV3/external/io_netcdf -lwrfio_nf -L/usr/local/netcdf/lib  -lnetcdf     
gfortran: nup_em.o:没有那个文件或目录
gfortran: ../dyn_em/module_initialize_real.o:没有那个文件或目录
make[1]: [em_real] 错误 1 (忽略)
gfortran -o tc.exe  -O3 -ftree-vectorize -ftree-loop-linear -funroll-loops -w -ffree-form -ffree-line-length-none -fconvert=big-endian -frecord-marker=4    tc_em.o  ../dyn_em/module_initialize_real.o libwrflib.a /home/linql/wrf3.3/WRFV3/external/fftpack/fftpack5/libfftpack.a /home/linql/wrf3.3/WRFV3/external/io_grib1/libio_grib1.a /home/linql/wrf3.3/WRFV3/external/io_grib_share/libio_grib_share.a /home/linql/wrf3.3/WRFV3/external/io_int/libwrfio_int.a -L/home/linql/wrf3.3/WRFV3/external/esmf_time_f90 -lesmf_time /home/linql/wrf3.3/WRFV3/frame/module_internal_header_util.o /home/linql/wrf3.3/WRFV3/frame/pack_utils.o  -L/home/linql/wrf3.3/WRFV3/external/io_netcdf -lwrfio_nf -L/usr/local/netcdf/lib  -lnetcdf     
gfortran: tc_em.o:没有那个文件或目录
gfortran: ../dyn_em/module_initialize_real.o:没有那个文件或目录
make[1]: [em_real] 错误 1 (忽略)
make[1]:正在离开目录 `/home/linql/wrf3.3/WRFV3/main'

wrfcompile2.log

102.39 KB, 下载次数: 0, 下载积分: 金钱 -5

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

新浪微博达人勋

发表于 2012-7-20 11:28:21 | 显示全部楼层
只设了JASPER,NETCDF,NCL的环境变量设置
#for JASPER
JASPER=/usr/local/jasper;export JASPER
JASPERLIB=/usr/local/jasper/lib;export JASPERLIB
JASPERINC=/usr/local/jasper/include;export JASPERIN

#for netcdf
export NETCDF=/usr/local/netcdf
export PATH=.:$NETCDF/bin:$PATH
export LD_LIBRARY_PATH=${NETCDF}/lib:${LD_LIBRARY_PATH}
export LD_RUN_PATH=${NETCDF}/lib:${LD_RUN_PATH}
export WRFIO_NCD_LARGE_FILE_SUPPORT=1

#for ncarg
export NCARG_ROOT=/usr/local/ncl_ncarg-6
export PATH=$NCARG_ROOT/bin:$PATH
export MANPATH=$NCARG_ROOT/man:$MANPATH
export DISPLAY=:0.0
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-8-17 10:26:24 | 显示全部楼层
大侠,我的jasper貌似有问题。为什么在装的时候总是显示
$JASPERLIB or $JASPERINC not found in environment, configuring to build without grib2 I/O...
而你却显示的是
JASPERLIB=/usr/local/jasper/lib
JASPERINC=/usr/local/jasper/include
可不可以把你的 .bashrc 文件最后几行复制一下让我看看,小弟感激不尽。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-8-17 11:21:55 | 显示全部楼层
本帖最后由 随缘 于 2012-8-17 11:23 编辑
Rplay 发表于 2012-8-17 10:26
大侠,我的jasper貌似有问题。为什么在装的时候总是显示
$JASPERLIB or $JASPERINC not found in environm ...


你要用到grib2格式么?不用的话不影响编译的

JASPERLIB=/usr/local/jasper/lib
JASPERINC=/usr/local/jasper/include
你把这两个变量的路径设置为你自己的就可以了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-8-17 12:07:31 | 显示全部楼层
随缘 发表于 2012-8-17 11:21
你要用到grib2格式么?不用的话不影响编译的

JASPERLIB=/usr/local/jasper/lib

大侠,顺便再问一下,我设置了jasper 的位置,在编译WPS的时候,能显示出jasperlib 和 jasperinclude的位置,但是在装WRF的时候却显示无法找到,这是怎么回事?

编译WPS时:


root@ubuntu:/home/user/model/WPS# ./configure
Will use NETCDF in dir: /usr/local/netcdf
Found Jasper environment variables for GRIB2 support...
  $JASPERLIB = /usr/local/jasper/lib
  $JASPERINC = /usr/local/jasper/include


编译WRF时:

root@ubuntu:/home/user/model/WRFV3# ./configure
checking for perl5... no
checking for perl... found /usr/bin/perl (perl)
Will use NETCDF in dir: /usr/local/netcdf
PHDF5 not set in environment. Will configure WRF for use without.


If you REALLY want Grib2 output from WRF, modify the arch/Config_new.pl script.
Right now you are not getting the Jasper lib, from the environment, compiled into WRF.

为什么一个找的到jasper,一个找不到?
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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