首页 > 其他分享 >MEGAN V2.10 的pgf90编译器安装以及相关问题解决

MEGAN V2.10 的pgf90编译器安装以及相关问题解决

时间:2022-12-21 18:01:12浏览次数:68  
标签:pgf90 lib MEGAN kahvia 编译器 home ioapi lgfortran 安装

这里列出了一些MEGAN安装中可能遇到的一些问题,分享出我自己的一些解决方法。

pgf90编译器的下载:

目前PGI已经被整合到NVIDA官方cuda,所以只能直接下载整个到linux中:

https://developer.download.nvidia.com/hpc-sdk/22.11/nvhpc_2022_2211_Linux_x86_64_cuda_11.8.tar.gz

下载完成后解压,直接执行安装sh,默认所有选项。

安装完成后,添加配置。

gedit ~/.bashrc
export PATH=/opt/nvidia/hpc_sdk/Linux_x86_64/22.11/compilers/bin:$PATH
source ~/.bashrc

测试是否安装完成,若出现下图结果,说明pgf90安装完成:

MEGANv2.10安装时出现的库文件连接失败问题:

在官方网站可以找到Guide和Code:-https://bai.ess.uci.edu/megan/data-and-code/megan21

下载解压后,进入MEGANv2.10,按照Guide所述:

1.修改setcase.csh,

2.修改/scr内5个模块的Makefile,与系统位数对应

主要修改netcdf、ioapi库的位置。

修改后make时可能出现以下问题(截取部分):

undefined reference to '_gfortran_transfer_character_write'

undefined reference to 'nf_put_att_text_'

解决方法:在给出ioapi库文件路径后面加上 -lnetcdff -lgfortran  ,如下:

-L/home/kahvia/model_lib/ioapi-3.2/lib -lnetcdff -lioapi -lgfortran 

实测能够成功编译出相关模块。

另外一个问题是在编译MET2MGN时出现以下错误:

解决方法include使用较低的ioapi的版本,如3.2改为3.1,如我这里的设置:

LIBS = -L/home/kahvia/model_lib/ioapi-3.2/lib -lioapi -lnetcdff -lgfortran \
       -L/home/kahvia/model_lib/netcdf/lib -lnetcdf -lnetcdff -lgfortran
INC = -I/home/kahvia/model_lib/ioapi-3.1/ioapi/fixed_src

 

标签:pgf90,lib,MEGAN,kahvia,编译器,home,ioapi,lgfortran,安装
From: https://www.cnblogs.com/SmokeNMirrors/p/16996781.html

相关文章