netcdfflatener包

netcdf-flattener的Python项目详细描述


netcdf平坦器

按照CF惯例1.8第2.7章中的描述,展平netCDF文件,同时保留引用。在

使用

扁平化器将NetCDF Dataset对象作为输入和输出,用户可以从“.nc”文件中创建或打开这些对象 使用netcdf4api。要将名为“input_Dataset”的数据集展平到名为“output_Dataset”的数据集,请使用 听从命令。在大多数情况下,“output_dataset”将是一个空数据集。在

import netcdf_flattener
netcdf_flattener.flatten(input_dataset, output_dataset)

默认情况下,扁平化器处于严格模式,如果来自变量的内部引用,则返回异常 无法解析维度或变量的属性。使用继续展平过程的lax模式 如果出现警告,请指定lax_mode参数:

^{pr2}$

对于复制比可用内存大的变量,copy_slices参数允许 指定复制变量时要使用的切片。它们是在字典中为每个变量指定的。切片形状 是使用默认切片值的None,或者是相同维度元组形式的自定义切片形状 作为变量。如果数据集中的变量不包含在dict中,则不会正常切片和复制该变量。在

切片形状应该足够小以适合内存,但不要太小,小切片上的大循环会退化 表现非常出色。通常,10^6到10^8大小的切片是合适的。在

netcdf_flattener.flatten(input_dataset, output_dataset, copy_slices={"/grp1/var1": (1000,1000,500,), "/grp1/var3": None})

限制

当输入数据集中的CF坐标变量位于不同的 分组到其对应的维度,输出中的同一变量 扁平化数据集将不再是CF坐标变量,因为 名称的前缀将与 尺寸。在这种情况下,由用户应用proximal and lateral search alogrithms, 结合中定义的映射 flattener_name_mapping_variablesflattener_name_mapping_dimensions全局属性,以查找 netCDF变量是,在 扁平化数据集。在

例如,如果输入数据集的根中有维度lat/grp1中的组和坐标变量lat(lat),则 扁平化数据集将包含维度lat和变量 grp1__lat(lat),都在其根组中。在这种情况下 flattener_name_mapping_variables扁平化的全局属性 数据集将包含映射"grp1__lat: /grp1/lat"flattener_name_mapping_dimensions全局属性将包含 映射"lat: /lat"。在

部署

从PyPi

netCDF-flattener可与pip一起安装,例如:

pip install netcdf-flattener

来源

安装生成依赖项:

python3 -m pip install --upgrade pip setuptools wheel

从下载源代码 https://gitlab.eumetsat.int/open-source/netcdf-flattener并编译 通过从存储库根目录运行以下命令,控制盘文件:

python3 setup.py bdist_wheel

使用pip安装控制盘文件:

python3 -m pip install dist/netcdf_flattener-*.whl

支持

问题和问题应在 规范源代码库: https://gitlab.eumetsat.int/open-source/netcdf-flattener

自动化测试

依赖性

运行测试需要安装NetCDF4库(需要ncdump和ncgen应用程序)。你可以 使用包管理器安装它们,或者 build them from the source。在

在CentOS:sudo yum install netcdf

安装Pytest:

python3 -m pip install pytest

所有其他依赖项由pip管理,并使用OSI批准的许可证。在

运行测试

从存储库的根目录运行Pytest:

python3 -m pytest

文件

提供了一个Sphinx项目来从代码生成HTML文档。在

安装狮身人面像:

python3 -m pip install sphinx

从“doc”文件夹构建文档:

cd doc
sphinx-build -b html . build

文档的入口点是doc/build/索引.html文件。在

许可证

这段代码是在Apache2.0许可下编写的。请参阅LICENSE以获取完整的许可证文本。在

作者

有关详细信息,请参见AUTHORS。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
空间计数器在Java中不起作用   json在java中表示XPath列表的最佳方式   java报警服务接收器安卓   java注入bean在自定义的all存储库中   java从迁移到Spring MVC 4+Hibernate5   JavaEclipseIDE透视图被缓存,更改没有任何影响   java Hibernate:在将对象插入Derby嵌入式数据库时引发SQLGrammerException   适用于mp4或mp3文件的java Exoplayer自动流媒体质量   安卓如何在java的静态方法中使用这个关键字?   SSL服务器端的spring主机名验证+Tomcat和Java 8   java Eclipse强制刷新IDs   java有可能返回Mono。只是从GetMapping(“/”)处理程序中获取(“索引”)吗?   arraylist当我用java编程时,我遇到了这个错误,有人能告诉我到底出了什么问题吗?   java如何更改Apache CXF web服务中的日期时间格式   Jfoenix ChipView中的java多线程   java任务在Spark上不可序列化