跳转到主要内容

使用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_kwargsload_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 (20.6 KB 查看散列

上传时间

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面