一、需要的网址
1、visual studio 2022 https://visualstudio.microsoft.com/zh-hans/
2、Git https://git-scm.com/download/win
3、Cmake https://cmake.org/download/
4、Anaconda package网站 https://anaconda.org/conda-forge/repo
5、Strawberryperlhttps://strawberryperl.com/
6、Eccodes https://github.com/ecmwf/eccodes
7、Ecbuild https://github.com/ecmwf/ecbuild
二、准备工作
1、安装visual studio 2022
只需要安装C++模块。
2、安装Git 一路next,最后安装。
安装完后打开git的安装路径C:\Program Files\Git\bin,将此路径添加到系统环境变量,并尽量将其上移至system32以上。
3、安装cmke 安装时注意勾选添加到环境变量。
4、安装Strawberryperl
完成后将其添加到环境变量。
三、编译eccodes
1、解压eccodes-x.xx.x到创建好的文件夹
2、解压ecbuild-x.x.x到eccodes-x.xx.x同级的文件夹中并重命名为ecbuild
3、再在此文件夹内创建eccodes文件夹用于接收编译好的eccodes。
4、在eccodes-x.xx.x中创建build文件夹用于构建eccodes。
5、在开始菜单搜索并用管理员权限打开x64 Native Tools CommandPrompt for VS 2022开始编译(必须是x64的,否则nmake会是x86)
cd到刚才的build文件夹下,输入cmake../CMakeLists.txt -G "NMake Makefiles"D:/python/package/eccodes_package/eccodes-2.30.2-DCMAKE_INSTALL_PREFIX=D:/python/package/eccodes_package/eccodes-DCMAKE_BUILD_TYPE=Release -DENABLE_FORTRAN=OFF -DENABLE_JPG=OFF -DENABLE_NETCDF=OFF-DENABLE_AEC=OFF -DENABLE_EXAMPLES=OFF -DENABLE_MEMFS=OFF -DENABLE_TESTS=OFF-DENABLE_EXTRA_TESTS=OFF,路径以自己实际为准。
因为windows下很多动态库支持不友好,故关闭了fortran,jpg,netcdf,aec,并禁用了各项测试。我们用其支持pygrib运行所以nmake模式使用Release。
出现版本号和python库安装提示即为完成cmake。接下来输入nmake&&nmake install进行编译输出eccodes。如果成功刚才创建的eccodes输出文件夹会新建如图几个文件夹,在bin文件夹里可以找到eccodes.dll动态库。
四、安装pygrib
1、将刚才编译完成的eccodes放在熟知的位置并将其添加如环境变量,变量名如下图所示,路径以自己实际为准。
2、使用pip安装pygrib
3、安装成功后打开pygrib的安装路径(以自己实际为准,如果python路径为默认一般在C:\Users\xxx\AppData\Local\Programs\Python\Python3xx\Lib\site-packages\pygrib),将前面eccodes的bin文件夹里的eccodes.dll复制进去。
4、测试,找一个grib文件使用pygrib读取并画图放出conda的package是如果真想补全eccodes的支持库,可以去conda的package下载编译好的动态库,软链给eccodes重新编译。