我正在尝试编译使用CESM 2.1.0模型运行的模型,并且遇到与netcdf设置有关的编译器错误,但是我不知道应该更改哪些设置。
错误是:
错误:函数'nf90_def_var_deflate'没有隐式类型。
该功能已明确定义,并且代码应该起作用,因为这是较大社区使用的科学研究模型。
我读了另一个问题,那个人有同样的问题,但到目前为止还没有解决方案。
Error 'nf90_def_var_deflate has no IMPLICIT type' only on one computer
我按照上面的问题中的建议检查了netcdf配置,这是输出:
$ nc-config --all
This netCDF 4.6.3 has been built with the following features:
--cc -> mpicc
--cflags -> -I/apps/netcdf/netcdf-4.6.0_gcc-4.8.5/parallel/include
--libs -> -L/apps/netcdf/netcdf-4.6.0_gcc-4.8.5/parallel/lib -lnetcdf
--has-c++ -> no
--cxx ->
--has-c++4 -> no
--cxx4 ->
--has-fortran -> yes
--fc -> mpifort
--fflags -> -I/apps/netcdf/netcdf-4.6.0_gcc-4.8.5/parallel/include
--flibs -> -L/apps/netcdf/netcdf-4.6.0_gcc-4.8.5/parallel/lib -lnetcdff -L/apps/hdf5/1.10.5/parallel/lib -lnetcdf -lcurl -lm -lnetcdf -lhdf5_hl -lhdf5 -lz -ldl
--has-f90 -> no
--has-f03 -> yes
--has-dap -> yes
--has-dap2 -> yes
--has-dap4 -> yes
--has-nc2 -> yes
--has-nc4 -> yes
--has-hdf5 -> yes
--has-hdf4 -> no
--has-logging -> no
--has-pnetcdf -> no
--has-szlib -> no
--has-cdf5 -> yes
--has-parallel4 -> yes
--has-parallel -> yes
--prefix -> /apps/netcdf/netcdf-4.6.0_gcc-4.8.5/parallel
--includedir -> /apps/netcdf/netcdf-4.6.0_gcc-4.8.5/parallel/include
--libdir -> /apps/netcdf/netcdf-4.6.0_gcc-4.8.5/parallel/lib
--version -> netCDF 4.6.3
编辑:
在此配置netcdf-fortran的配置:
nf-config --all
This netCDF-Fortran 4.4.5 has been built with the following features:
--cc -> gcc
--cflags -> -I/apps/netcdf/netcdf-4.6.0_gcc-4.8.5/parallel/include
--fc -> mpifort
--fflags -> -I/apps/netcdf/netcdf-4.6.0_gcc-4.8.5/parallel/include
--flibs -> -L/apps/netcdf/netcdf-4.6.0_gcc-4.8.5/parallel/lib -lnetcdff -L/apps/hdf5/1.10.5/parallel/lib -lnetcdf -lcurl -lm -lnetcdf -lhdf5_hl -lhdf5 -lz -ldl
--has-f90 -> no
--has-f03 -> yes
--has-nc2 -> yes
--has-nc4 -> no
--prefix -> /apps/netcdf/netcdf-4.6.0_gcc-4.8.5/parallel
--includedir-> /apps/netcdf/netcdf-4.6.0_gcc-4.8.5/parallel/include
--version -> netCDF-Fortran 4.4.5