我试图将我的一些纬度-经度网格文件网格到三极海洋网格,并发现ESMF是有用的。然而,我发现很难安装同样的东西。
2答案
\ begingroup美元
\ endgroup美元
4
首先从。下载esmf tar文件http://www.earthsystemmodeling.org/esmf_releases/public/ESMF_7_1_0r/reg/ESMF_Framework_Down.html
然后安装netcdf库和gfortran编译器使用
Sudo apt-get install git TCSH pkg-config Sudo apt-get install gfortran Sudo apt-get install netcdf-bin libnetcdf-dev libnetcdff-dev Sudo apt-get install openmpi-bin libopenmpi-dev Sudo apt-get install libnetcdff-dev
一旦你在/usr/local/lib和/usr/local/include中有了netcdf库和gfortran编译器,你也可以检查这一点,以根用户登录使用
sudo -我
然后定义以下环境变量
cd path_of_esmf_dir export ESMF_DIR path_of_esmf_dir export ESMF_INSTALL_PREFIX=/usr/local/esmf export ESMF_OS=Linux export ESMF_NETCDF="local" export ESMF_COMM=mpiuni export ESMF_F90COMPILER=gfortran export ESMF_CXXCOMPILER=g++ export esmf_test87_on export ESMF_TESTSHAREDOBJ=on export ESMF_NETCDF_INCLUDE=/usr/local/include export ESMF_NETCDF_LIBS="-lnetcdf - lnetcdf_libpath =/usr/local/lib export ESMF_NETCDF_LIBPATH=/usr/local/lib export ESMF_BOPT=O3
然后运行以下语法使库成为ESMF
Make all Make install Make installcheck
现在安装ESMF python库
cd path_to_esmf_dir/addon/ESMpy/ python setup.py build——ESMFMKFILE=/usr/local/esmf/lib/libO3/ linux . gfortrans .64.mpiu .default/esmf.mk python setup.py install
检查安装情况
$ python >>>导入ESMF
与ESMF库相比,ESMF python库具有有限的功能。因此,最好直接使用ESMF。
-
2\ begingroup美元 我明白了:
致命错误:无法打开模块文件netcdf。mod'用于读取at(1):没有这样的文件或目录
\ endgroup美元- - - - - -软件工程师2020年5月1日19:35 -
\ begingroup美元 要么您没有安装netcdf库,要么您的环境变量ESMF_NETCDF_INCLUDE和ESMF_NETCDF_LIBPATH没有指向安装netcdf库的路径 \ endgroup美元- - - - - -Manmeet辛格2020年5月2日8:03
-
\ begingroup美元 你能通过执行which ndump或wherenetcdf .mod来检查路径吗 \ endgroup美元- - - - - -Manmeet辛格2020年5月2日8:03
-
2\ begingroup美元 我按照你的指示安装了。问题似乎是包含目录。上面的路径在我的Ubuntu 18.04安装(WSL2)中是空的。将其更改为/usr/include似乎已经修复了构建。谢谢你的指点。删除 \ endgroup美元- - - - - -软件工程师2020年5月2日16:48
\ begingroup美元
\ endgroup美元
3.
实际上,你可能不应该安装它。如果您习惯使用Linux,那么最好建议您使用docker容器,因为它已经安装好了。这样,您的系统就可以保持干净,您可以让其他人为您维护它。
检查docker hub的不同版本,并找到一个你喜欢的(在这里).
使用以下方法安装docker:
curl - ls get.docker.com | sh
有很多简单的docker教程可以帮助你学会如何使用它。
-
-
\ begingroup美元 我自己也在想一个形象。还没做好,我时间不够,所以我不知道什么时候能做好。github.com/BryanDollery/esmf-docker \ endgroup美元- - - - - -软件工程师2020年5月6日21:10
-
1\ begingroup美元 同时,hub.docker.com/repository/docker/bryandollery/esmf \ endgroup美元- - - - - -软件工程师2020年5月6日21:35