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
参数:
对于复制比可用内存大的变量,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_variables
和
flattener_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。在
- 项目
标签: