登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 kermit 于 2024-7-15 23:19 编辑
Piggy_Packages是由Kermit Chen制作并维护的气象软件工具包,包含了气象工作者常用的各种气象数据分析、处理、预报、同化程序。该工具包无需复杂的配置过程,解压缩就可以直接使用。Piggy_Packages 无疑是气象家园上最受欢迎的工具包,从2021年12月发布第一个版本至今,已有超过4200人次下载。
Piggy_Packages支持64位的Windows 10 (21H2 或更新版本)、Windows 11、Windows Server 2022,以及ARM版本的Windows 11。
Piggy_Packages 包含以下气象狗常用软件(不断更新中): WRF-4.4.2 (WPS、WRFDA、WRFPLUS、WRF-Chem、WRF-Hydro) WRF-Chem 配套工具 (ANTHRO、EPA_ANTHRO_EMIS、megan_bio_emiss、mozbc、wes-coldens) ARWPost-3.1 RTTOV-12.1 Hydro-5.2.0 CMAQ-5.4 FLEXPART-10.4 MET-11.0 UPP-11.0 CDO-2.1.1 NCO-5.1.4 NCL-6.6.2 ecCodes-2.27.1 Panoply-5.2.3 Ncview-2.1.8 WRF Domain Wizard-2.84 GCC-11.3.0 NetCDF-4.9.2 HDF5-1.15.0 ImageMagick-7.0.10 wget-1.21.3 aria2-1.36.0 GDAL-2.2.4 PROJ-5.2.0 UNRAR-6.11 NCEPLIBS ......
下载地址: *没有气象家园账号的同学可以扫描本贴底部二维码加群下载哦 下载完成后,请使用最新版本的 WinRAR、WinZIP、7-Zip等主流压缩软件解压缩,使用旧版本或者小众解压软件解压可能会解压失败导致程序无法启动。
(一) NCL的运行和使用 打开Cygwin.bat,然后输入: 这是一个NCL自带的示例程序,可用来测试NCL是否能够正常工作。
一直点击X11图窗,或者按空格键切换至下一张图,直至图片显示完毕。 这个程序会在当前目录创建一个名为gsun01n.ncl 的NCL文件,让我们尝试修改这个文件。
*要使用资源管理器打开当前目录,可以输入: open 首先使用文本编辑器打开gsun01n.ncl 输入: 或者:
该命令会首先搜索VS Code,如果VS Code已安装,并且添加到PATH,则会调用VS Code打开该脚本,否则,将会调用记事本打开。
如果你想使用其它编辑器打开,可以直接输入: 这将会调用系统默认打开方式打开。
我们将第11行: - wks = gsn_open_wks("x11","gsun01n")
复制代码修改为: - wks = gsn_open_wks("pdf","gsun01n")
复制代码保存,然后运行: 这次,将会将NCL绘图输出为PDF文档。 输入以下命令以打开输出文件: 你还可以把NCL绘图输出为PNG图像。 - wks = gsn_open_wks("png","gsun01n")
复制代码如想要运行更多示例,可以查看这篇帖子:
现在,请点此阅读 NCL 帮助文档,学习更多用法。
(二) CDO、NCO、ecCodes、NCVIEW、Panoply的使用 CDO是软件是一个包含大量标准处理气候和预报模式数据的算子的集合。你可以访问其官网了解更多信息。 我们通过几个示例简要介绍: 首先下载示例文件 piggy_ex1.nc,该文件包含了 2020 年 12 月整月逐小时某个区域内 1000hPa 等压面上 U 风、V 风、垂直风速、温度 4 个变量,我们用CDO来处理这个文件:
下载并解压缩测试数据 piggy_ex.rar - wget http://update.nuist.love/piggy_ex.rar
- unrar x piggy_ex.rar
复制代码
1) 查看变量信息 可以看到其包含t、u、v、w这 4 个变量。
2) 将文件中的 U 风、V 风两个变量保存在out1.nc 中 - cdo -f nc selvar,u,v piggy_ex1.nc out1.nc
复制代码3) 计算每 10 个时刻的滑动平均,保存在 out2.nc 中 - cdo runmean,10 piggy_ex1.nc out2.nc
复制代码4) 计算每个变量的区域平均值,保存在 out3.nc 中 - cdo fldmean piggy_ex1.nc out3.nc
复制代码5) 计算每个变量的区域平均值,保存在 out4.nc 中 - cdo timmean piggy_ex1.nc out4.nc
复制代码
NCO 是另一款强大的 NetCDF 数据处理软件,功能与CDO类似。
1) 提取 piggy_ex1.nc 中的温度变量,并保存在 nco.nc 中 - ncks -v t piggy_ex1.nc nco.nc
复制代码2) 将 piggy_ex1.nc 中的温度变量重命名为 tt,并保存到 nco2.nc 中 - ncrename -v t,tt piggy_ex1.nc nco2.nc
复制代码
ecCodes 是由 ECMWF 开发的编码和解码 GRIB 格式气象资料和 BUFR 格式观测资料的工具包。 下载 GRIB资料: - wget http://update.nuist.love/era5_2021061120.grib
复制代码1) 用 grib_ls 查看变量信息 - grib_ls era5_2021061120.grib
复制代码2) 将其转换为 nc 格式,并查看变量信息 - grib_to_netcdf -o era5.nc era5_2021061120.grib && ncdump -h era5.nc
复制代码3) 我们也可以使用 CDO 调用 ecCodes 实现该功能 - cdo --eccodes -f nc copy era5_2021061120.grib era5-2.nc
复制代码*cdo 也可以直接解码 GRIB 文件,但是它可能无法正确命名变量 - cdo -f nc copy era5_2021061120.grib era5-3.nc && ncdump -h era5-3.nc
复制代码因此不建议直接使用 CDO 解码 GRIB
NCVIEW是一个简单方便的 nc 文件可视化工具。 用NCVIEW打开piggy_ex1.nc 也可以使用另一款nc 文件可视化工具Panoply 打开
(三) MET和UPP Piggy_Packages包含了MODEL EVALUATION TOOLS (MET)和UNIFIED POST PROCESSOR (UPP),用于模式评估和前处理,这两个工具包在此不展开介绍。
(四) 运行你自己的代码 1) 运行NCL代码 新建一个NCL脚本 输入 保存并关闭。 运行脚本: 2) 运行Shell代码 新建一个Shell脚本 输入 运行脚本: 3) 运行Perl代码 新建一个Perl脚本 输入 运行脚本: 4) 运行C代码 新建一个C语言文件 输入 - #include<stdio.h>
- int main(){
- printf("HelloWorld\n");
- }
复制代码编译和运行: - gcc hello.c -o hello_c.exe && ./hello_c.exe
复制代码5) 运行C++代码 新建一个C++语言文件 输入 - #include<iostream>
- int main(){
- std::cout<<"HelloWorld\n";
- }
复制代码
编译和运行: - g++ hello.cpp -o hello_c++.exe && ./hello_c++.exe
复制代码6) 运行Fortran代码 新建一个Fortran语言文件 输入 - Program Hello
- Print *, "HelloWorld"
- End Program
复制代码编译和运行: - gfortran hello.f90 -o hello_fort.exe && ./hello_fort.exe
复制代码 *请注意,在Piggy_Packages内编译的exe文件,默认不支持通过双击启动:要解决这个问题,请在Piggy_Packages中搜索提示找不到的DLL文件,并拷贝到编译的exe文件相同的目录下。 ~~当然如果不打算在外部环境中运行这些exe文件,你无需这么做
(五) 数值模式WRF (WPS、WRFDA、WRFPLUS、WRF-Chem、WRF-Hydro) 的运行
(六) 便携命令 1) open和new 这两个命令在前面已经用过了,如果你想要用资源管理器打开某个文件夹或者文件(比如PDF、图片、脚本),可以用open命令。 当open命令后面不加任何参数时,默认打开当前目录: 当open后面为某个文件夹路径时,打开这个文件夹: 当open后面为某个文件路径时,用系统默认打开方式打开这个文件: - open $NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl
复制代码当open后面存在参数 -e 或者 --edit 时,调用记事本或者VS CODE编辑这个文件: - open -e $NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl
复制代码- open --edit $NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl
复制代码如果想要新建一个脚本文件,并用默认打开方式打开编辑,可以使用new命令: 2) mkdircd 我们经常会新建一个一级或多级目录,然后进入这个目录。 常规代码为 - mkdir -p dir1/dir2/dir3
- cd dir1/dir2/dir3
复制代码在Piggy_Packages中,可以简写为 3) 带历史记录功能的cd命令 在Piggy_Packages中,输入
可以查看cd命令的最近10条历史记录: 假如你想要进入第6条历史记录对应的目录: 只需输入:
是不是特别方便呢~ 4) 切换路径 切换到某个Windows路径(比如C盘根目录) - 使用Cygwin格式 - 为了与WSL的路径格式保持一致,Piggy_Packages 新增了一种访问格式: - 切换到桌面: - 切换到文档: - 切换到用户目录: *请注意,在Piggy_Packages中 $Home 为系统用户目录,$HOME为Cygwin用户目录
- 切换到System32目录: - 切换到Windows目录: - 切换到开始菜单的程序目录: (七) 技术支持 ~欢迎加入Piggy气象科学交流QQ群852983715学习交流~ |