爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 28316|回复: 272

[开箱即用] 气象科研常用软件集合 Piggy_Packages

  [复制链接]

新浪微博达人勋

 成长值: 0
发表于 2023-1-2 15:37:27 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

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等主流压缩软件解压缩,使用旧版本或者小众解压软件解压可能会解压失败导致程序无法启动

                               
登录/注册后可看大图

Piggy_Packages 简要教程

(一)  NCL的运行和使用
打开Cygwin.bat,然后输入:
  1. ng4ex gsun01n
复制代码
这是一个NCL自带的示例程序,可用来测试NCL是否能够正常工作。
图片1.png


一直点击X11图窗,或者按空格键切换至下一张图,直至图片显示完毕。
这个程序会在当前目录创建一个名为gsun01n.ncl 的NCL文件,让我们尝试修改这个文件。

*要使用资源管理器打开当前目录,可以输入: open
首先使用文本编辑器打开gsun01n.ncl 输入:
  1. open -e gsun01n.ncl
复制代码
或者:
  1. open --edit gsun01n.ncl
复制代码

该命令会首先搜索VS Code,如果VS Code已安装,并且添加到PATH,则会调用VS Code打开该脚本,否则,将会调用记事本打开。
图片2.png

VS Code 下载地址:https://nui.st/vscode

如果你想使用其它编辑器打开,可以直接输入:
  1. open gsun01n.ncl
复制代码
这将会调用系统默认打开方式打开。

我们将第11行:
  1. wks = gsn_open_wks("x11","gsun01n")
复制代码
修改为:
  1. wks = gsn_open_wks("pdf","gsun01n")
复制代码
保存,然后运行:
  1. ncl gsun01n.ncl
复制代码
这次,将会将NCL绘图输出为PDF文档。
输入以下命令以打开输出文件:
  1. open gsun01n.pdf
复制代码
你还可以把NCL绘图输出为PNG图像。
  1. 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
  1. wget http://update.nuist.love/piggy_ex.rar
  2. unrar x piggy_ex.rar
复制代码

1)      查看变量信息
  1. ncdump -h piggy_ex1.nc
复制代码
可以看到其包含t、u、v、w这 4 个变量。

2)      将文件中的 U 风、V 风两个变量保存在out1.nc 中
  1. cdo -f nc selvar,u,v piggy_ex1.nc out1.nc
复制代码
3)      计算每 10 个时刻的滑动平均,保存在 out2.nc 中
  1. cdo runmean,10 piggy_ex1.nc out2.nc
复制代码
4)      计算每个变量的区域平均值,保存在 out3.nc 中
  1. cdo fldmean piggy_ex1.nc out3.nc
复制代码
5)      计算每个变量的区域平均值,保存在 out4.nc 中
  1. cdo timmean piggy_ex1.nc out4.nc
复制代码

点击这里查看CDO的更多用法。

NCO 是另一款强大的 NetCDF 数据处理软件,功能与CDO类似。

1)      提取 piggy_ex1.nc 中的温度变量,并保存在 nco.nc 中
  1. ncks -v t piggy_ex1.nc nco.nc
复制代码
2)      将 piggy_ex1.nc 中的温度变量重命名为 tt,并保存到 nco2.nc 中
  1. ncrename -v t,tt piggy_ex1.nc nco2.nc
复制代码
点击这里查看NCO的更多用法。

ecCodes 是由 ECMWF 开发的编码和解码 GRIB 格式气象资料和 BUFR 格式观测资料的工具包。
下载 GRIB资料:
  1. wget http://update.nuist.love/era5_2021061120.grib
复制代码
1)      用 grib_ls 查看变量信息
  1. grib_ls era5_2021061120.grib
复制代码
2)      将其转换为 nc 格式,并查看变量信息
  1. grib_to_netcdf -o era5.nc era5_2021061120.grib && ncdump -h era5.nc
复制代码
3)      我们也可以使用 CDO 调用 ecCodes 实现该功能
  1. cdo --eccodes -f nc copy era5_2021061120.grib era5-2.nc
复制代码
*cdo 也可以直接解码 GRIB 文件,但是它可能无法正确命名变量
  1. cdo -f nc copy era5_2021061120.grib era5-3.nc && ncdump -h era5-3.nc
复制代码
因此不建议直接使用 CDO 解码 GRIB
点击这里查看 ecCodes 的更多用法


NCVIEW是一个简单方便的 nc 文件可视化工具。
用NCVIEW打开piggy_ex1.nc
  1. ncview piggy_ex1.nc
复制代码
也可以使用另一款nc 文件可视化工具Panoply 打开
  1. Panoply piggy_ex1.nc
复制代码

(三)  MET和UPP
Piggy_Packages包含了MODEL EVALUATION TOOLS (MET)和UNIFIED POST PROCESSOR (UPP),用于模式评估和前处理,这两个工具包在此不展开介绍。
点击这里查看MET的详细帮助
点击这里查看UPP的详细帮助


(四)  运行你自己的代码
1)      运行NCL代码
新建一个NCL脚本
  1. new hello.ncl
复制代码
输入
  1. print("HelloWorld!")
复制代码
保存并关闭。
运行脚本:
  1. ncl -Qn hello.ncl
复制代码
2)     运行Shell代码
新建一个Shell脚本
  1. new hello.sh
复制代码
输入
  1. echo "HelloWorld"
复制代码
运行脚本:
  1. bash hello.sh
复制代码
3)     运行Perl代码
新建一个Perl脚本
  1. new hello.pl
复制代码
输入
  1. print("HelloWorld\n");
复制代码
运行脚本:
  1. perl hello.pl
复制代码
4)     运行C代码
新建一个C语言文件
  1. new hello.c
复制代码
输入
  1. #include<stdio.h>
  2. int main(){
  3.     printf("HelloWorld\n");
  4. }
复制代码
编译和运行:
  1. gcc hello.c -o hello_c.exe && ./hello_c.exe
复制代码
5)     运行C++代码
新建一个C++语言文件
  1. new hello.cpp
复制代码
输入
  1. #include<iostream>
  2. int main(){
  3.     std::cout<<"HelloWorld\n";
  4. }
复制代码

编译和运行:
  1. g++ hello.cpp -o hello_c++.exe && ./hello_c++.exe
复制代码
6)     运行Fortran代码
新建一个Fortran语言文件
  1. new hello.f90
复制代码
输入
  1. Program Hello
  2.     Print *, "HelloWorld"
  3. End Program
复制代码
编译和运行:
  1. gfortran hello.f90 -o hello_fort.exe && ./hello_fort.exe
复制代码
*请注意,在Piggy_Packages内编译的exe文件,默认不支持通过双击启动
屏幕截图 2023-01-03 152139.png
要解决这个问题,请在Piggy_Packages中搜索提示找不到的DLL文件,并拷贝到编译的exe文件相同的目录下。
~~当然如果不打算在外部环境中运行这些exe文件,你无需这么做

(五)  数值模式WRF (WPS、WRFDA、WRFPLUS、WRF-Chem、WRF-Hydro) 的运行
点击这里了解更多信息。

(六)  便携命令
1)  open和new
这两个命令在前面已经用过了,如果你想要用资源管理器打开某个文件夹或者文件(比如PDF、图片、脚本),可以用open命令。
当open命令后面不加任何参数时,默认打开当前目录:
  1. open
复制代码
当open后面为某个文件夹路径时,打开这个文件夹:
  1. open $NCARG_ROOT
复制代码
当open后面为某个文件路径时,用系统默认打开方式打开这个文件:
  1. open $NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl
复制代码
当open后面存在参数 -e 或者 --edit 时,调用记事本或者VS CODE编辑这个文件:
  1. open -e $NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl
复制代码
  1. open --edit $NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl
复制代码
如果想要新建一个脚本文件,并用默认打开方式打开编辑,可以使用new命令:
  1. new test.f90
复制代码
2)  mkdircd
我们经常会新建一个一级或多级目录,然后进入这个目录。
常规代码为
  1. mkdir -p dir1/dir2/dir3
  2. cd dir1/dir2/dir3
复制代码
在Piggy_Packages中,可以简写为
  1. mkdircd dir1/dir2/dir3
复制代码
3) 带历史记录功能的cd命令
在Piggy_Packages中,输入
  1. cd --
复制代码

可以查看cd命令的最近10条历史记录:
图片3.png
假如你想要进入第6条历史记录对应的目录:
只需输入:
  1. cd -6  #相当于 cd /etc/skel
复制代码

是不是特别方便呢~
4) 切换路径
切换到某个Windows路径(比如C盘根目录)
- 使用Cygwin格式
  1. cd /cygdrive/c
复制代码
  1. cd C:
复制代码
- 为了与WSL的路径格式保持一致,Piggy_Packages 新增了一种访问格式:
  1. cd /mnt/c
复制代码
- 切换到桌面:
  1. cd "$Desktop"
复制代码
- 切换到文档:
  1. cd "$Documents"
复制代码
- 切换到用户目录:
  1. cd "$Home"
复制代码
*请注意,在Piggy_Packages中 $Home 为系统用户目录,$HOME为Cygwin用户目录

- 切换到System32目录:
  1. cd "$SYSDIR"
复制代码
- 切换到Windows目录:
  1. cd "$WINDIR"
复制代码
- 切换到开始菜单的程序目录:
  1. cd "$SMPROGRAMS"
复制代码
(七)   技术支持
~欢迎加入Piggy气象科学交流QQ群852983715学习交流~
IMG_3075(20220327-080410).JPG.thumb.jpg

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 昨天 08:16 | 显示全部楼层
感谢分享,学习学习
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 前天 23:41 | 显示全部楼层
感谢&#128591;&#127995;
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 7 天前 | 显示全部楼层
感谢博主分享
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2024-11-7 00:01:52 | 显示全部楼层
急需急需急需急需急需,谢谢谢谢谢谢谢谢
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2024-11-6 09:17:03 | 显示全部楼层
{:eb511:}{:eb511:}
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2024-11-4 16:49:50 | 显示全部楼层

学习学习气象科研常用软件,谢谢
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2024-11-1 19:31:42 | 显示全部楼层
感谢分享........
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2024-10-17 16:27:29 | 显示全部楼层
学习学习,谢谢大佬分享
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2024-10-14 22:20:05 | 显示全部楼层
感谢分想很有帮助!
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表