气候数据分析工具的核心组件。本软件基于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模式。
如果您想运行简短测试套件,则需要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_DIR和HDF5_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_HOME、HDF5_HOME 和 LD_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的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 092ae4ff1fb03dee00096e8dd595b769b422759ce972d96525950adf8e1c9374 |
|
MD5 | 6d5a6e86f15ce15291d25feab8793248 |
|
BLAKE2b-256 | 270f793dc6c152b4281613417243728ff580c691b68d710544e06118f6eed4b5 |