Flexpart-WRF安装过程记录

由于研究工作需要,我在实验组的服务器上已经安装过了WRF“全家桶”,这里参考了文章

WRF安装和运行的技术教程-优快云博客

此外需要安装Flexpart-WRF来搭配使用。但是也许是因为Flexpart-WRF相比Flexpart来说比较小众,在互联网上Search了一圈也没找到几篇相关的内容,有几个比较细节的坑也就只能自己填了。这里就记录了我在安装Flexpart-WRF的过程以及遇到的部分问题,以起到抛砖引玉之效。

一,下载和安装

从官网上下载源码包并解压(下面的是zip包链接)即可:

https://git.nilu.no/flexpart/flexpart-wrf/-/archive/master/flexpart-wrf-master.zip​​​​​​​

此后你会看到一个文件夹名为“flexpart-wrf-master”, 执行命令进入这个文件夹:

cd flexpart-wrf-master

编译过程的规则文件(Makefile)是makefile.mom,我们要根据情况手动修改它(我用的文本编辑器是vim):

vim makefile.mom  

注意提供netcdf库的位置。

SHELL = /bin/bash
## name of the executable
EXECNAME = flexwrf33
#
############## NETCDF library path #################
#NETCDF = /wrk/d0/jbrioude/netcdf-3.6.2/lib
NETCDF = ‘这里是你的netcdf库的路径’

# NetCDF library version 3 or 4. Version 4 is much better for compression
NETCDFVERSION=3

不要受上面的这条注释误导,这个路径一般就是"/.../.../netcdf"这样的形式,下面有bin、lib、include等文件夹,一般最后不带“/lib” 。比如我之前照着教程安装过WRF,这里我写的是 

NETCDF = ~/Build-WRF/LIBRARIES/netcdf

 接下来注意你安装的netcdf库时的要求:是否启用了netcdf4格式的支持,如果是,则NETCDFVERSION一行写4,否则写3。

接下来是选择编译器,根据自己情况来选,注意要和你编译netcdf等的编译器系列一致!

############### Specify the compiler you want
# COMPILER options --- gnu, pgi, intel
COMPILER = gnu

文件后面的部分就非必要不修改了。但是遇到了问题需要debug,就得动手修改一些东西了。

接下来开始编译,根据说明文档:

make -f makefile.mom mpi  for MPI+OPENMP hybrid run
make -f makefile.mom omp  for OPENMP parallel run
make -f makefile.mom serial for a serial run

选择并行还是串行。我选的是GNU编译器+串行。编译完成后会在当前路径生成一个文件: “flexwrf33_gnu_serial”(文件名会由于编译器和运行形式有所不同)。这就是最终需要的可执行文件了。

二,可能遇到的问题

我安装的netcdf库是分成两个部分:netcdf-c (版本4.7.2) 和netcdf-fortran(版本4.5.2)是比较新的版本,而且由于我用的是GNU编译器,而且版本较新(GNU Fortran (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
)在编译一些Fortran文件时会有些许问题。

1,即使NETCDF库路径正确也提示报错:找不到“netcdf.mod”文件。推测是因为netcdf库版本导致的问题。因此这个需要在GNU_GNU_LDFLAGS一行最后增加“-lnetcdf”,使其能正常导入.。

2,“Rank mismatch” 开头的一类报错

出现此类报错,是由于gfortran版本较新导致(如果要深究可以参考这里)。需要在GNU_FFLAGS一行最后增加“-fallow-argument-mismatch”,使其忽略报错。

3,“BOZ literal constant”开头的一类报错

出现此类报错,需要在GNU_FFLAGS一行最后再增加“-fallow-invalid-boz”,使其忽略报错。

<think>好的,我需要帮助用户找到关于FlexPart v11的安装指南或教程。首先,我应该回顾用户提供的参考引用,看看是否有直接相关的信息。 查看引用[1],提到在Ubuntu 18.04上编译安装FlexPart 10.4,并建议使用apt-get安装。但用户需要的是v11,所以这个可能过时了。引用[2]和[3]涉及FLEXPART-WRF安装步骤和依赖库,但同样没有提到v11。引用[4]是关于Flexpart模型的学习,但主要是基础概念,可能不涉及安装v11。 接下来,我需要考虑用户可能需要的步骤。通常,软件的新版本安装可能需要查看官方文档或Git仓库。用户提供的引用[3]中有一个FlexPart-WRF的Git仓库链接,虽然版本是master,但可能包含最新信息。建议用户从这里获取最新代码,并检查是否有v11的分支或文档。 另外,安装新版本通常需要解决依赖问题,引用[2]提到的依赖库安装步骤可能仍然适用。编译步骤可能类似,但需要确认配置选项是否有变化。可能还需要参考官方发布的更新日志或安装说明,因此建议用户访问官方网站或联系支持团队。 用户可能遇到的问题包括依赖项不兼容、编译错误等,所以需要指导如何排查这些问题,比如检查系统版本、安装必要的库如gcc、make、zlib等。此外,如果官方文档不详细,社区论坛或GitHub issues可能是获取帮助的途径。 最后,生成相关问题需要考虑用户可能的后续疑问,比如版本差异、常见错误解决、依赖管理以及与其他工具的集成等。这些问题有助于用户进一步解决安装过程中的潜在困难。</think>关于FlexPart v11的安装指南,目前公开的官方文档和社区教程较少,但根据FlexPart系列软件的历史安装方法和相关技术资料,以下是建议步骤: ### 一、安装前准备 1. **系统要求** - 建议使用Ubuntu 20.04/22.04或CentOS 7/8系统[^2] - 确保已安装基础编译工具链: ```bash sudo apt-get install gcc gfortran make cmake libz-dev libssl-dev ``` 2. **依赖库安装** - 必须安装的依赖项:NetCDF库、HDF5、Jasper库[^2] ```bash sudo apt-get install libnetcdf-dev libhdf5-dev libjasper-dev ``` ### 二、获取FlexPart v11源码 1. **官方仓库访问** - 建议从官方Git仓库获取最新版本(可能需要申请访问权限): ```bash git clone https://git.nilu.no/flexpart/flexpart-wrf.git cd flexpart-wrf git checkout v11 # 切换到v11分支(假设存在) ``` 若直接下载压缩包,可参考类似FlexPart-WRF的地址格式[^3]。 ### 三、编译与安装 1. **配置编译参数** - 修改`makefile`中的路径变量(例如NetCDF路径): ```makefile NETCDF = /usr/lib/x86_64-linux-gnu ``` - 运行编译命令: ```bash make -j4 # 使用4核并行编译 ``` 2. **环境变量设置** - 在`~/.bashrc`中添加可执行文件路径: ```bash export PATH=$PATH:/path/to/flexpart/bin ``` ### 四、验证安装 ```bash flexpart --version # 应显示"FlexPart v11.0" ``` ### 常见问题解决 - **依赖项缺失**:若编译报错`undefined reference to 'netcdf'`,需检查NetCDF库路径是否配置正确。 - **权限问题**:建议全程使用普通用户操作,仅在安装依赖时使用`sudo`[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值