跳转到主要内容

并行Python NetCDF数据集标准化工具

项目描述

https://zenodo.org/badge/DOI/10.5281/zenodo.3895009.svg https://codecov.io/gh/NCAR/PyConform/branch/master/graph/badge.svg https://github.com/NCAR/PyConform/workflows/Tests/badge.svg https://github.com/NCAR/PyConform/workflows/Linting/badge.svg

PyConform

一个用于将NetCDF数据集转换成符合定义格式的包,该格式适用于根据定义的发布标准进行发布。

AUTHORS:

Sheri Mickelson, Kevin Paul

COPYRIGHT:

2020, University Corporation for Atmospheric Research

LICENSE:

有关详细信息,请参阅LICENSE.rst文件

向Kevin Paul(kpaul@ucar.edu)或Sheri Mickelson(mickelso@ucar.edu)发送问题和评论。

概述

PyConform包是一个基于Python的包,用于将模型时间序列数据转换为MIP符合(即标准化)时间序列数据。它专为CMIP6设计,特别是针对NCAR的CESM CMIP6工作流程,但我们试图以通用方式设计代码。PyConform试图将标准化问题规范步骤分为两个独立的部分

  1. 一个关于标准的规范,

  2. 一个关于转换过程的规范。

这种分离是为了使标准可以被(例如)MIP设计者定义,而转换过程可以被模型开发者(即科学家)定义。对于CMIP6,我们使用了dreqpy实用工具来定义标准,然后科学家只需要提供一行定义,说明如何将原始CESM数据转换为所需的标准输出。

目前,在创建定义时需要考虑的主要问题是以下

  1. 物理单位将自动转换,如果可能的话,根据cf_units包进行转换,

  2. 定义 操作产生的结果数据变量的 维度 必须可以映射到标准中指定的请求的维度,并且

  3. 在 PyConform 的 函数 模块中未提供的一些特殊操作/计算可能需要手动编写并在输出变量的 定义 中显式调用。

依赖项

PyConform 包直接依赖于 4 个主要外部包

  • ASAPTools (>=0.6)

  • cf-units

  • dreqpy

  • netCDF4-python

  • ply

  • python-dateutil

这些依赖项意味着以下依赖项

  • numpy (>=1.5)

  • netCDF4

  • MPI

  • UDUNITS2

此外,整个包旨在与 Python v2.7 和更高版本(但不包括 Python v3.0)一起工作。

版本要求尚未进行严格测试,因此早期版本可能实际上可以工作。虽然安装过程中没有提出任何版本要求,但如果已安装这些包的早期版本,则可能会出现问题。

获取源代码

目前,最新开发源代码可以通过 git 从以下网站获取

https://github.com/NCAR/PyConform

检出最新稳定标签。源代码对所有人均以只读模式提供。开发者可以更新源代码并通过 GitHub 提交拉取请求。

从源代码构建和安装

PyConform 包的安装非常简单。从上述 svn 链接检出源代码后,通过

$ git clone https://github.com/NCAR/PyConform

进入新克隆的目录

$ cd PyConform

然后,运行 Python setuptools setup 脚本。在 Unix 上,这涉及

$  python setup.py install [--prefix=/path/to/install/location]

前缀是可选的,默认前缀通常为 Linux 机器上的 /usr/local。但是,您必须有权写入前缀位置,因此您可能希望选择一个您具有写入权限的前缀位置。像大多数 distutils 安装一样,您可以使用“–user”选项安装 PyReshaper,这将自动选择(如果不存在则创建)用于安装的 $HOME/.local 目录。为此,在 Unix 机器上输入

$  python setup.py install --user

这很有用,因为 site-packages 目录对于所有用户安装都是通用的,因此只需将其添加到 PYTHONPATH 一次。

PyConform 的 文档 存储在 GitHub Pages 上。

项目详情


下载文件

下载适合您平台的文件。如果您不确定该选择哪个,请了解更多关于安装包的信息。

源代码分发

PyConform-0.3.0.tar.gz (12.4 MB 查看哈希值)

上传时间 源代码

构建分发

PyConform-0.3.0-py3-none-any.whl (88.9 kB 查看哈希值)

上传时间 Python 3

支持