树形菜单的网站代码,创办网站需要什么,wordpress怎样修改字体大小,做网站用电脑自带的WPS编译错误总结#xff1a;WPS编译失败仅编译成功ungrib等 WPS编译过程问题1#xff1a;WPS编译失败错误1#xff1a;gfortran: error: unrecognized command-line option ‘-convert’; did you mean ‘-fconvert’?解决方案 问题2#xff1a;WPS编译三个exe文件只出现u… WPS编译错误总结WPS编译失败仅编译成功ungrib等 WPS编译过程问题1WPS编译失败错误1gfortran: error: unrecognized command-line option ‘-convert’; did you mean ‘-fconvert’?解决方案 问题2WPS编译三个exe文件只出现ungrib.exe解决方案1修改configure.wps文件解决方案2取消MPI的环境变量设置 问题3ungrib 编译失败1. GRB2库包安装zlib库PNG 库使用的压缩库libpng库“无损”压缩的压缩库jasper库JPEG2000 标准的“有损”压缩实现 2. 确认配置路径 参考另为什么要修改 .bashrc 文件的环境变量 WPS编译过程
WRF 预处理系统使用与 WRF 模型类似的构建机制。geogrid 和 metgrid 的外部库仅限于 WRF 模型所需的库因为 WPS 使用 WRF 模型的 WRF I/O API 实现因此必须在安装 WPS 之前编译 WRF以便 WPS 程序可以使用 WRF 外部目录中的 I/O API 库。
构建 WRF 模型和 WPS所需的唯一库是 netCDF但是ungrib 程序需要三个压缩库来支持 GRIB Edition 2如果不需要支持 GRIB2 数据则可以编译 ungrib 而无需这些压缩库。
1、获取 WPS 代码
2、移至 WPS 目录请注意它可能被命名为其他名称例如 WPSV4.4。 建议清理 WPS 目录以确保没有残留的配置或编译文件
cd WPS
cd /home/testmodel/Build_WRF/WPS-4.6.1/./clean
./clean -a3、设置 WRF_DIR 环境变量。 在 WPS 编译中ungrib.exe 程序需要使用 GRIB2 数据格式库。如果未正确设置这些路径ungrib.exe 的编译会失败。
export JASPERLIB/path/to/grib2/lib
export JASPERINC/path/to/grib2/includeexport JASPERLIB/home/testmodel/soft/grib2/lib
export JASPERINC/home/testmodel/soft/grib2/include4、配置WPS
./configure5、编译WPS 在命令行中输入以下内容始终使用“”语法将标准错误和输出发送到日志文件。如果编译失败这很有用。
./compile compile.log与编译 WRF 相比WPS 编译应该相对较快。如果成功以下可执行文件应出现在 WPS 目录中并从其相应的源代码目录链接。
ls geogrid.exe ungrib.exe metgrid.exegeogrid.exe - geogrid/src/geogrid.exe
ungrib.exe - ungrib/src/ungrib.exe
metgrid.exe - metgrid/src/metgrid.exe终于终于编译成功了要命啊啊啊啊啊
ls -ls geogrid/src/geogrid.exe【注意】必须先成功编译WRF才能编译WPS顺序不能颠倒。如果编译WRF后配置WPS时仍提示No compiled WRF code found则说明WPS找不到WRF的目录请检查你的WRF文件夹的名称是否为WRF或者设置WRF文件夹的路径
export WRF_DIR/home/xxx/Build_WRF/WRFV4.5.1问题1WPS编译失败
如果代码编译失败请打开日志文件例如compile.log并搜索大写字母“E”的“Error”一词。通常文件中列出的第一个错误是失败的罪魁祸首所有其他错误都是初始问题的结果。
错误1gfortran: error: unrecognized command-line option ‘-convert’; did you mean ‘-fconvert’?
这是因为编译器 gfortran 不支持 Intel Fortran 编译器ifort的选项 -convert。WPS 的配置文件中包含了 -convert 选项而编译时使用的是 gfortran导致选项无法识别。
问题原因
1、编译器选项冲突 -convert 是 Intel Fortran 编译器ifort特有的选项用于指定字节序如 -convert big_endian。 gfortran 的等价选项是 -fconvert例如 -fconvertbig-endian。 如果 WPS 配置文件中生成了 -convert但实际使用 gfortran 编译就会出现此问题。
2、编译器不一致 在配置 WPS 时选择了 Intel 编译器如选项 23: Intel Classic Compilers dmpar但实际编译时使用了 gfortran。 这通常是因为环境变量未正确设置导致 WPS 的编译器调用了错误的编译器。
在WPS编译时选择15采用icc进行编译与默认的编译器不同导致报错。
解决方案
1、确保编译器一致性 编译 WPS 时必须使用与 WRF 编译时相同的编译器。假设 WRF 使用 Intel 编译器ifort 和 icc请确保环境中默认的编译器是 Intel 编译器。
设置 Intel 编译器环境
source /opt/intel/oneapi/setvars.sh
source /home/testmodel/intel/oneapi/setvars.sh验证 ifort 和 icc 是否可用
which ifort
which icc问题2WPS编译三个exe文件只出现ungrib.exe
WPS编译成功但只出现ungrib.exe如下
1、确保 WRF 编译成功。 WPS geogrid 和 metgrid 可执行文件使用 WRF/external/ 目录中的外部 I/O 库 - 安装 WRF 时会构建这些库如果安装不正确geogrid 和 metgrid 程序将无法编译。
2、检查构建 WPS 时使用的编译器和版本是否与构建 WRF 时使用的编译器和版本相同。
3、检查构建 WPS 时使用的 netCDF和版本是否与构建 WRF 时使用的 netCDF和版本相同。
4、WRF_DIR 的路径是否设置正确 检查 WRF 目录的路径和名称
echo $WRF_DIR解决方案1修改configure.wps文件
由于WRF编译先于WPS编译因此可能出现WPS的configure文件中WRF_DIR路径不对的情况可以在./configure之后检查configure.wps文件中的WRF-DIR是否正确。
并且在WRF-LIB的设置中在-lnetcdf之后添加 -lgomp再执行compile操作。
解决方案2取消MPI的环境变量设置
如果在此之前你已经安装编译了MPI那么需要取消MPI的环境变量设置这是因为mpi的存在会影响WPS的编译这里我选择的WPS为serial。
在当前shell下执行
unset MPI
unset MPI_LIB
unset MPI_INC之后./clean -a 并重新编译即可成功。
问题3ungrib 编译失败
1. GRB2库包安装
确保 jasper、zlib 和 libpng 库已正确安装如果使用 GRIB2 支持进行编译。 如果计划使用 GRIB Edition 2 输入数据运行真实数据模拟很有可能WPS ungrib 程序需要以下库因此必须在配置 WPS 之前安装这些库。
用户可以获取这些库并将其安装在他们的系统上或者他们可以使用在编译 WPS 期间构建的库的 WPS 内部副本适用于 4.4 及以上版本。
用户安装的压缩库的路径在 configure.wps 文件中由“COMPRESSION_LIBS”和“COMPRESSION_INC”变量处理。确保 WPS 配置能够找到所有库文件的最简单方法是将这三个文件都安装在一个公共目录中。例如如果库将安装在 /usr/local 中则在 /usr/local 中创建一个库名称类似于 grib2。请参阅每个库下方的说明以确保它们安装在正确的位置。
zlib库PNG 库使用的压缩库
1、下载 zlib 包并解压。 从 zlib 的官方网站或其镜像下载最新版本的 zlib 包。下面以 zlib 1.2.13 为例
wget https://github.com/madler/zlib/releases/download/v1.2.13/zlib-1.2.13.tar.gz # 使用 wget 下载 zlib
tar -zxvf zlib-1.2.13.tar.gz # 解压缩下载的 tar.gz 文件2、进入解压后的目录
cd zlib-1.2.133、发出以下命令进行安装 注意这是按照上述示例将所有库文件放在 grib2 目录中。此路径可能因系统和用户偏好而异
./configure --prefix/usr/local/grib2
./configure --prefix/home/wanzhou/soft/grib2
./configure --prefix/home/testmodel/soft/grib2
make
make install4、验证安装是否成功
ls /usr/local/grib2/lib | grep zlibls /home/wanzhou/soft/grib2/lib | grep zliblibpng库“无损”压缩的压缩库
1、下载 PNG 包并解压。
wget http://download.sourceforge.net/libpng/libpng-1.6.37.tar.gz
tar -zxvf libpng-1.6.37.tar.gz2、进入解压后的目录
cd libpng-1.6.373、执行以下命令进行安装 注意这是按照上述示例将所有库文件放在 grib2 目录中。此路径可能因系统和用户偏好而异
./configure --prefix/usr/local/grib2
./configure --prefix/home/wanzhou/soft/grib2
./configure --prefix/home/testmodel/soft/grib2
make
make install4、验证安装是否成功
ls /usr/local/grib2/lib | grep zlibls /home/wanzhou/soft/grib2/lib | grep zlib应该看到类似于 libpng.so 或 libpng.a 的文件。
jasper库JPEG2000 标准的“有损”压缩实现
1、下载 JasPer 包并解压。
wget https://sourceforge.net/projects/jasper/files/jasper-version-1.900.1.zip/download -O jasper-1.900.1.zip
unzip jasper-1.900.1.zip2、进入解压后的 JasPer 目录
cd jasper-1.900.13、发出以下命令进行安装 注意这是按照上述示例将所有库文件放在 grib2 目录中。此路径可能因系统和用户偏好而异
./configure --prefix/usr/local/grib2
./configure --prefix/home/wanzhou/soft/grib2
make
make install2. 确认配置路径
确保“configure.wps”中的以下行使用了正确的路径。
1、可以在configure前执行以下命令
export JASPERLIB/home/testmodel/soft/grib2/lib
export JASPERINC/home/testmodel/soft/grib2/include2、也可在configure之后打开configure.wps文件修改以下路径
COMPRESSION_LIBS -L/$path-to-ungrib-libraries/lib -ljasper -lpng -lz
COMPRESSION_INC -I/$path-to-ungrib-libraries/include参考
1、CSDN官网-WPS编译三个exe文件只出现ungrib.exe解决办法
2、WRF论坛-(RESOLVED) When compiling WPS3.9.1, weird things georigid.exe and ungrib.exe were generated, but one metgrid.exe
另为什么要修改 .bashrc 文件的环境变量
1、持久性当你在终端中使用 export 命令时设置的环境变量只在当前会话中有效。如果你关闭终端或打开一个新的终端窗口这些变量将不再存在。通过将这些 export 命令添加到 .bashrc 文件中可以确保每次打开终端时这些环境变量都会自动设置。
2、方便性如果你经常需要使用 GRIB2 库修改 .bashrc 文件可以避免每次手动设置环境变量的麻烦。
3、共享性在 .bashrc 中设置的环境变量可以被所有在该 shell 会话中启动的程序和脚本访问这样可以确保它们能够找到所需的库和头文件。