PyCAMA是由KNMI荷兰皇家气象研究院负责开发用于处理Sentinel 5 Precursor(S5P)二级产品的工具。其源码并未托管在Github,而是采用了Mercurial托管工具,下载源码需要安装此托管工具。源码下载方式如下:
|
|
或者通过如下链接下载0.8.2
版本,关于PyCAMA
的使用方式,建议查看官方文档。
|
|
S5P的二级产品格式是netCDF
格式,如果只是简单的处理二级产品可以直接使用netCDF4
处理即可。可直接跳过以下安装部分,直接配合官方相应产品的文档进行处理即可。以下使用PyCAMA
主要是对卫星的多扫描轨道文件进行合并处理,并生成三级产品。
netCDF4处理TROPOMI
netCDF4
处理TROPOMI
二级产品比较简单,和处理常规nc文件类似。以下是处理代码:
|
|
Cartopy 0.18
之前的版本兰伯特投影不支持添加ticklabels
,如果要添加ticklabels
的话需要借助以下第三方代码。
|
|
如果使用matplotlib
中的pcolor/pcolormesh
进行绘图的话,需要注意一点:pcolor
和pcolormesh
绘图时,所提供的x
和y
比C
多1,即x
和y
应该是网格的边缘坐标,而不是中心坐标。具体见matplotlib
官方的pcolormesh
函数参数说明1。
S5P
的二级产品中提供了网格的边界坐标,但是需要简单的处理一下。处理代码如下(取自PyCAMA
):
|
|
准备好以上代码之后就可以处理S5P
二级产品了,示例代码如下:
|
|
安装
下载源码后,使用如下方式解压并安装:
|
|
测试是否安装成功,打开python/ipython
|
|
或在终端执行如下命令:
|
|
如果返回0.8.2
则表示安装成功。
数据处理及可视化
生成配置文件
首先生成产品配置文件:
|
|
脚本中有默认的配置文件名称,运行成功后会生成*.xml
文件,生成之后为需要处理的产品生成数据处理配置文件:
|
|
上述两个脚本在PyCAMA-0.8.2/src
目录下,可直接拷贝到指定的工作目录下使用。
生成三级产品
PyCAMA
主要是通过配置文件的形式控制处理卫星多轨道扫描文件,将轨道扫描出现重叠的数据通过平均处理生成三级产品,同时提供了输出功能。以下是多轨道扫描文件的三级产品处理脚本:
|
|
可视化
将多轨道卫星扫描数据生成三级产品后就可以画图了。以下是绘图脚本:
|
|
注意事项
- S5P卫星数据产品中提供了数据产品质量信息,在使用这些产品时应多加注意,根据应用需求对数据进行筛选。
- 使用
netCDF4
处理PyCAMA
生成的三级产品输出文件时可能会报错,可以使用h5py
进行处理。