使用Satpy读取和操作数据的Intake驱动程序
项目描述
Intake - Satpy 驱动程序
此软件包添加了使用Intake库的额外驱动程序,用于读取数据文件。此软件包还依赖于intake-xarray来定义Xarray容器类型(xarray Dataset
),这些Satpy-based驱动程序产生。
安装
要将此软件包添加到现有的基于pip
的环境,运行
pip install intake-satpy
或者如果您有一个基于conda的环境,您可以从conda-forge频道安装它
conda install -c conda-forge intake-satpy
用法
此软件包目前仅提供一个名为satpy
的Intake驱动程序。与任何Intake驱动程序一样,satpy
驱动程序可以以几种不同的方式使用。以下是一些示例。
内联用法
一旦安装了 intake-satpy
包,您可以通过调用 intake.open_satpy
来使用此驱动程序。在撰写本文时,最好通过传递 scene_kwargs
和 load_kwargs
来尽可能多地提供信息以配置/控制 Satpy。
import intake
from glob import glob
data_source = intake.open_satpy(
glob("/data/satellite/abi/*.nc"),
scene_kwargs={"reader": "abi_l1b"},
load_kwargs={"wishlist": ["C01"]},
)
dataset = data_source.read_chunked()
read_chunked
方法将返回一个包含 Satpy 能够创建的产品的 xarray Dataset
对象。数据将在下面以 dask 数组的形式表示。使用 data_source.to_dask()
方法也会产生相同的结果。使用 data_source.read()
方法将返回相同的 xarray Dataset
对象,但数据将以 numpy 数组的形式加载到内存中。必须注意,Satpy 读取的卫星大格式如果以这种方式加载,会迅速填满您系统的内存。
默认情况下,如果没有提供作为加载关键字参数的 wishlist
(见上文),则将加载所有可用的“读取器”级别产品。这意味着可以直接从文件中读取的产品,不包括 Satpy 的任何“合成”。
默认情况下,加载的数据集使用 Satpy 的“原生”重采样器“重采样”到加载产品的最高分辨率。这允许所有产品存在于单个 xarray Dataset
对象中。可以通过向源创建(open_satpy
调用)提供 resample_kwargs
来自定义此行为。
目录使用 - 本地
satpy
驱动程序还可以用于目录定义。请参阅 examples/local_abi_l1b.yaml 目录定义文件中的示例。使用这样的目录,您可以进行以下操作:
import intake
cat = intake.open_catalog("examples/local_abi_l1b.yaml")
source = cat.abi_l1b(base_dir="/data/satellite/abi")
dataset = source.read_chunked()
在创建源时,可以向源提供要加载的产品愿望单
cat = intake.open_catalog("examples/local_abi_l1b.yaml")
source = cat.abi_l1b(base_dir="/data/satellite/abi", load_kwargs={"wishlist": ["C01"]})
dataset = source.read_chunked()
与内联使用一样,如果没有提供 wishlist
,则将加载所有读取器级别产品。
目录使用 - S3
一些 Satpy 的读取器也可以从远程存储,如 S3 桶中读取数据。在 intake-satpy
存储库的 examples/
目录中包含了一个示例目录。
请注意,目前 Satpy 读取 S3 文件的性能非常慢,但正在改进。它可能不适用于在 S3 存储所在的网络之外加载数据,直到 Satpy 和 NetCDF 的未来更新。
import intake
cat = intake.open_catalog("examples/aws_abi_l1b_20220101_18.yaml")
source = cat.abi_l1b()
dataset = source.read_chunked()
项目详情
intake_satpy-0.1.0.post0.tar.gz 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 10d62d93b2f03cfed64f2471748fd529bf1ccf2b44382d2770d33d45b762c3fd |
|
MD5 | 35fb51f5a157fee737b4ba92df4603c9 |
|
BLAKE2b-256 | 4d070a6c8c249a4a952e974f9ab48dd0e16cf8988944d8ab2f99680457cbccf9 |