NOAA气候数据记录(CDR)stactools包
项目描述
stactools-noaa-cdr
- 名称:noaa-cdr
- 包:
stactools.noaa_cdr
- stactools-noaa-cdr在PyPI上
- 所有者:@gadomski
- 数据集主页
- 使用的STAC扩展
- 额外字段
noaa_cdr:interval
:数据集的时间分辨率(从time_coverage_resolution
字段派生)。对于过滤多时间分辨率CDR,如海洋热含量,非常有用。noaa_cdr:max_depth
:测量的最大深度。仅用于ocean-heat-content
。
- 以可读形式浏览示例
STAC示例
布局
每个气候数据记录可以有多个子数据集,这些子数据集本身也可以按时间间隔和其他属性进行组织。我们选择为每个CDR创建一个STAC集合,并按时间间隔和时间窗口组织该集合中的项目。子数据集作为COG资产包含在内。
由于每个CDR在其NetCDF中具有不同的数据布局,从NetCDF到STAC集合和项的映射从CDR到CDR各不相同。下面的图表是对这些布局的抽象表示。请注意,类名并不直接对应于代码实体;这是一个严格的概念图。请注意SeaSurfaceTemperatureWHOIItem
和SeaSurfaceTemperatureWHOINetCDF
之间的8-1关系;每个SST-WHOI NetCDF包含八个时间步长,因此每个NetCDF分解为八个STAC项。
classDiagram
direction LR
class OceanHeatContent
<<Collection>> OceanHeatContent
class SeaIceConcentration
<<Collection>> SeaIceConcentration
class SeaSurfaceTemperatureOptimumInterpolation
<<Collection>> SeaSurfaceTemperatureOptimumInterpolation
class SeaSurfaceTemperatureWHOI
<<Collection>> SeaSurfaceTemperatureWHOI
OceanHeatContent "1" --> "n" OceanHeatContentNetCDF
OceanHeatContent "1" --> "0..n" OceanHeatContentItem
SeaIceConcentration "1" --> "0..n" SeaIceConcentrationItem
SeaIceConcentrationItem "1" --> "1" SeaIceConcentrationNetCDF
SeaSurfaceTemperatureOptimumInterpolation "1" --> "0..n" SeaSurfaceTemperatureOptimumInterpolationItem
SeaSurfaceTemperatureOptimumInterpolationItem "1" --> "1" SeaSurfaceTemperatureOptimumInterpolationNetCDF
SeaSurfaceTemperatureWHOI "1" --> "0..n" SeaSurfaceTemperatureWHOIItem
SeaSurfaceTemperatureWHOIItem "8" --> "1" SeaSurfaceTemperatureWHOINetCDF
安装
pip install stactools-noaa-cdr
命令行使用
例如,创建一个集合,用于海洋热含量CDR
stac noaa-cdr ocean-heat-content create-collection examples/ocean-heat-content/collection.json
创建COGs和项
stac noaa-cdr ocean-heat-content create-collection --create-items \
examples/ocean-heat-content/collection.json
仅创建最新数据的COGs和项(例如,创建一个小的示例集合)
stac noaa-cdr ocean-heat-content create-collection --create-items --latest-only \
examples/ocean-heat-content/collection.json
每个CDR都有自己的命令行界面;使用stac noaa-cdr --help
查看支持的CDR列表。
贡献
我们使用pre-commit来检查任何更改。要设置您的开发环境
pip install -e .
pip install -r requirements-dev.txt
pre-commit install
检查所有文件
pre-commit run --all-files
运行测试
pytest
更新静态资源
源树中有几个.json文件,用于在创建集合和项时填充元数据。在scripts/
目录中有两个辅助脚本来更新这些文件。
scripts/create_item_assets.py
scripts/extract_netcdf_asset_metadata.py > src/stactools/noaa_cdr/ocean-heat-content/asset-metadata.json
此外,还有一个脚本来创建examples/
目录
scripts/create_examples.py
关闭
stactools-noaa-cdr-0.2.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | cfae365776271e258cdb4a79bd8ab7358628cb2188e69f6be44deadd37fdf44b |
|
MD5 | 25e3f3e3930b15fbcec0ffb8f4357bd2 |
|
BLAKE2b-256 | 5a60d4ac968f42704fa9e2fad3be308639bd6fb9fd7cfa340654c09e89f83e63 |
关闭
stactools_noaa_cdr-0.2.1-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 640191228eb567e0acde35a1b23d87f8cca28487ece4139974ced842ca37d048 |
|
MD5 | 62a418b432f0b5ad2fa1ababe04d9ce6 |
|
BLAKE2b-256 | 7c18a7303d414abc4995c2849a63a965e8027002a53b99bc53a02fd1d428a6e8 |