跳转到主要内容

气候数据分析工具的核心组件。本软件基于CDAT-6.0.alpha-g82e6c52和cdunfpp0.13。

项目描述

cdat-lite是一个用于管理和分析气候科学数据的Python包。它是劳伦斯利弗莫尔国家实验室的PCMDI(CDAT)开发的气候数据分析工具(CDAT)的一个子集。

cdat-lite旨在通过专注于其核心数据管理和分析组件,并提供与CDAT截然不同的安装系统来补充CDAT。因此,它要轻得多(这就是其名称的由来):CDAT的源分发大约是1Gb,而cdat-lite小于5Mb。

cdat-lite设计用于与CF checker包一起使用。

1 cdat-lite 版本

cdat-lite是一个跟踪其他两个项目(CDAT和cdunifpp)版本的工程。从6.0rc1版本开始,cdat-lite的版本将不会直接基于CDAT版本。这是因为CDAT很少更新其版本,在包含在cdat-lite中的组件通常稳定期间,CDAT会长时间保持“alpha”发行版。

有关cdat-lite发行版包含的CDAT和cdunifpp版本的详细信息,可在setup.py文件和PKG_INFO元数据中找到。

2 安装 cdat-lite

cdat-lite作为tarball分发,可以从NERC数据网格维基上的cdat-lite主页获取。它也可以使用easy_install工具安装。如果您熟悉easy_install,请尝试以下超快速安装配方

$ export NETCDF_HOME=/usr/local/netcdf
# Required if using a NetCDF4 compiled with HDF5
$ export HDF5_HOME=/usr/local/hdf5
$ easy_install cdat_lite

2.1 依赖关系

要安装cdat-lite,您需要

1. Python 2.5.x。cdat-lite尚未在2.6上进行测试,但可能工作(欢迎反馈)。它不太可能在3.0上工作。

2. setuptools。如果缺少setuptools,cdat-lite将尝试下载和安装它,但最好先安装它。

NetCDF-3.x或更高版本。cdat-lite应与系统上的任何相对现代的NetCDF3安装一起工作,前提是它被编译为共享库。它也可以与以各种方式配置的NetCDF4一起工作,包括嵌入式OPeNDAP模式。

  1. 如果您想运行简短测试套件,则需要nose

2.2 选择您的 NetCDF 安装

cdat-lite可以使用NetCDF3或NetCDF4,但由于它通过共享库(Python C扩展模块)进行引用,因此它必须编译为位置无关代码。如果您有NetCDF4安装,您几乎肯定使用的是共享库,即使您想使用NetCDF3,安装NetCDF作为共享库(在NetCDF configure脚本中使用--enable-shared)可能也更容易。或者,您可以以以下方式配置NetCDF

$ ./configure --with-pic ...

如果您使用NetCDF4,还需要使用--enable-shared--with-pic配置HDF5。

如果您在路径中具有nc-config命令,cdat-lite将检测所有库和包含依赖项。否则,cdat-lite将在几个地方查找NetCDF安装。

如果您将NetCDF安装在不寻常的位置,或者您想选择特定的安装,请设置NETCDF_HOME变量。例如。

# sh users
$ export NETCDF_HOME=/usr/local/netcdf
# csh users
$ setenv NETCDF_HOME /usr/local/netcdf

如果您使用NetCDF4,cdat-lite还将查找您的HDF5安装,您可以以类似的方式配置它

# sh users
$ export HDF5_HOME=/usr/local/hdf5
# csh users
$ setenv HDF5_HOME /usr/local/hdf5

为了与netcdf4-python包兼容,cdat-lite还接受NETCDF4_DIRHDF5_DIR作为这些环境变量的同义词。

注意,运行 cdat_lite 时不需要设置这些环境变量,尽管库必须能被您的系统动态链接器找到。这可以通过设置 LD_LIBRARY_PATH 或使用 ldconfig 来配置。

2.3 运行安装程序

如果您已经安装了所有依赖项,您可以尝试使用 easy_install 自动下载和安装 cdat_lite。确保您有访问互联网的权限,并设置了适当的 HTTP 代理设置,然后

$ easy_install cdat-lite

或者您可能想看看您正在安装的内容。在这种情况下,您可以下载 tarball,或者使用 easy_install 来完成安装

$ easy_install -eb . cdat-lite
# The cdat-lite tarball will be downloaded unpacked into you current directory

现在从发行目录中分别运行构建和安装步骤

$ python setup.py bdist_egg
$ easy_install dist/cdat-lite*.egg

2.4 以非特权用户身份安装

如果您没有对 Python 发行版进行写入访问的权限,可以使用 virtualenv 工具创建一个带有自己的 easy_install 可执行文件的本地 Python 环境,然后使用它来安装 cdat-lite。结合 NETCDF_HOMEHDF5_HOMELD_LIBRARY_PATH,应该可以在本地安装 cdat-lite 的所有依赖项。有关安装详情,请参阅 virtualenv,或者在下载 virtualenv 后尝试这个配方

# From virtualenv distribution directory
$ ./virtualenv.py <virtualenv-path>
$ cd <virtualenv-path>
$ source bin/activate
(venv)$ easy_install cdat-lite

2.5 特定平台安装说明

OS X

Christopher Lee 分享了在 OS X 10.6.7 上安装的经验。

我的 MacBook 使用的是 Intel CPU,Mac 默认编译为 x86_64 架构。为了覆盖这一点(因为 Python 是 32 位,我使用的 netcdf 库也是 32 位),我需要将“-arch i386”传递给编译器。我还需要在编译 netcdf 接口(在 libcdms 中)时使用小端标志‘-DBYTESWAP’。-DBYTESWAP 标志应该包含在 libcdms 的配置脚本中,其中有一个针对‘darwin’(OS X)的部分,但目前它配置时没有 BYTESWAP(第 6182 行)。这里的问题是 OS X 以前在 PowerPC CPU 上运行,不需要 BYTESWAP 标志。我不确定这是您的配置脚本还是来自 cdat 软件包。

我在 libcdms 的 setup.py 中的 setup.py 部分包含了 -arch i386 和 -DBYTESWAP,设置工作正常。

运行 python setup.py build ; python setup.py install;之后,我在导入 cdms2 时仍然遇到错误。这个问题是由 libcdms 连接到 netcdf 库的方式造成的。‘正常’的 Mac 方法是用绝对路径进行链接,但 libcdms 是用相对路径链接的(库通过 @rpath 引用)。结果是 LD_LIBRARY_PATH 环境变量通常为空。我不确定如何在‘Mac’方式中使用绝对路径解决这个问题,但我将我的 $NETCDF_HOME/lib 目录添加到变量中,cdms2 现在可以无错误导入。

3 测试安装

cdat-lite 附带了一组小型测试,用于验证其构建成功。这些测试需要测试框架 nose。一旦安装了 cdat-lite,只需运行

$ nosetests cdat_lite

当从 cdat-lite 的发行目录运行时,nosetests 的运行方式略有不同,运行一些目前已知会失败的测试。要禁用此行为,请

$ nosetests –config=’’

4 常见问题解答

4.1 什么是CDAT?

CDAT 是由 PCMDI 分发的用于管理和分析气候数据的大型开源工具套件。它包括几个可视化组件和图形用户界面 VCDAT。

4.2 CDAT和cdat-lite之间的区别是什么?

CDAT 和 cdat-lite 之间的区别可以分为范围差异,即哪些包被包含在内,以及安装系统。

cdat-lite 包含了‘cdms2’包和几个相关包。它不包括‘vcs’可视化包或 VCDAT 图形用户界面。截至 v5.1.1-0.3pre3,包含的包有

  • cdms2

  • cdtime

  • cdutil

  • genutil

  • ncml

  • 属性

  • regrid2

  • unidataa

  • xmgrace

CDAT将其源分布中的所有依赖项几乎都一起打包在一起,甚至包括Python本身。这样做有其优点,因为它简化了满足依赖项的过程,并避免了依赖项之间的版本冲突。然而,如果您想将CDAT的数据管理组件集成到现有的Python架构中,CDAT可能就过于强大了。

4.3 cdat-lite-4.x和cdat-lite-5.x之间有什么变化?

如果您是cdat-lite-4用户(或CDAT 4用户),您将面临一个巨大的迁移任务。CDAT-4使用已经很长时间未更新和维护的Numeric包来处理数组,它已知在64位架构上存在问题。

4.4 cdat-lite如何跟踪CDAT的变化?

cdat-lite试图在CDAT新版本发布后不久发布主要新版本。有时CDAT-trunk包含重要的修复,应该应用这些修复,以便最新的cdat_lite可以提前于官方CDAT发布运行(尽管有时CDAT建议您仍然从trunk构建)。

唯一的例外是英国气象局PP文件支持,它通常在cdat_lite中更新,在CDAT之前。在所有情况下,CDAT和cdunifpp的确切构建版本都将列在分发版的setup.py文件中。

4.5 如何使用CMOR2与cdat-lite一起使用?

我们愿意听取任何使用cdat-lite与CMOR2有经验的反馈,但它应该像下载分发版并在并行中安装一样简单。

# From the CMOR install directory
$ python setup.py install

4.6 如何使用cdat-lite与OPeNDAP配合?

目前,OPeNDAP支持是cdat-lite的一个实验性功能。与CDAT不同,您在安装过程中不必明确选择OPeNDAP,但cdat-lite将继承嵌入到NetCDF4库中的任何OPeNDAP支持。NetCDF4的最新beta版本提供了一个切换选项,可以透明地使用OPeNDAP。

4.7 如何以非特权用户身份安装cdat-lite?

本地安装

4.8 cdat-lite支持哪些版本的NetCDF?

待办事项

项目详情


下载文件

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

源分发

cdat-lite-6.0.1.tar.gz (4.0 MB 查看散列)

上传时间

由以下机构支持

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