Pyclaw输入/输出包

Pyclaw支持以下输入和输出格式:

  • ASCII码-ASCII文件I/O,支持传统的抓取格式文件

  • 二元的-用于读取包含32或64字节浮点数的二进制输出文件

  • HDF5型-HDF5文件I/O

  • 净CDF-NetCDF文件I/O,支持NetCDF3和NetCDF4文件

每个模块包含两个主要例程读取<格式>write_<格式>哪一个解决方案可以用适当的<格式>。为了创建新的文件I/O扩展名,调用签名必须匹配

读取_<格式>(解决方案,框架,路径,文件_前缀,写入_辅助,选项)
其中输入是
输入:
  • 解决方案- (解决方案)Pyclaw对象为输出

  • 框架-(int)帧编号

  • 路径-(string)根路径

  • 文件_前缀-(string)文件名的前缀。

  • 写入_辅助-(bool)布尔值,控制关联的应该写出辅助数组。

  • 选项-(dict)可选参数字典

写入_<格式>(解决方案,框架,路径,文件_前缀,写入_辅助,选项)
其中输入是
输入:
  • 解决方案- (解决方案)Pyclaw对象为输出

  • 框架-(int)帧编号

  • 路径-(string)根路径

  • 文件_前缀-(string)文件名的前缀。

  • 写入_辅助-(bool)布尔值,控制关联的应该写出辅助数组。

  • 选项-(dict)可选参数字典。

请注意,两者都允许选项特定于格式的字典并应详细记录。有关此用法的示例,请参阅HDF5型净CDF模块。

HDF5型净CDF支持需要安装库才能工作,请有关如何获取和安装需要库。

注释

Pyclaw自动检测HDF5和NetCDF文件的可用性如果您尝试在没有适当的库。

pyclaw.fileio.ascii公司

读取和写入ascii输出文件的例程

抓包.pyclaw.fileio.ascii。阅读(解决方案,框架,路径='./',文件_前缀=“堡垒”,读_助=False(错误),选项={})

读取ascii格式文件的帧,并将数据输入解决方案对象。

此例程读取与经典文件相对应的ascii格式文件抓取格式“fort.txxxx”、“fort.qxxxx”和“fort.axxxx”或“fort.aux”请注意,fort前缀可以更改。

输入:
  • 解决方案- (解决方案)解决方案对象到将数据读入。

  • 框架-(int)要读取的帧编号

  • 路径-(string)文件当前目录的路径

  • 文件_前缀-(string)要读入的文件的前缀。违约 = “堡垒”

  • 读_助(bool)是否尝试读取辅助文件英寸。违约 = False(错误)

  • 选项-(dict)依赖于的可选参数字典正在读取的格式。违约 = {}

抓包.pyclaw.fileio.ascii。读取数组(_A)((f),状态,数值_var)

从ASCII输出文件f读入数组。

这里的变量q实际上可能指q或aux。

此例程支持以下可能性:q[:,i,j,k](对于固定的i,j有些包每行只写4个值。对于Clawback 6.0,我们计划让所有包都写单行上的q[:,i,j,k]。然后可以简化此例程。

抓包.pyclaw.fileio.ascii。读取patch_header((f),数字_尺寸)

阅读描述下一个补丁的标题

输入:
  • (f)-(file)打开文件的句柄

  • 数字_尺寸-(int)尺寸数

输出:
  • 补丁-(clawpack.pyclaw.getometry.Patch)表示的初始化补丁通过标题数据。

爪包装。爪包装。文件。科学。读取(_t)(框架,路径='./',文件_前缀=“堡垒”)

只读fort-t文件并返回数据。

请注意,此文件始终为ascii,现在包含一行,表示fileformat,因此我们可以在导入解决方案数据的适当读取功能。

为了向后兼容,如果缺少file_format行,则return None并在调用它的地方处理它。

此版本还读取num_ghost,因此如果数据是二进制的,我们只能提取相关的数据(因为鬼细胞包括)。

输入:
  • 框架-(int)要读取的帧编号

  • 路径-(string)文件当前目录的路径

  • 文件_前缀-(string)要读入的文件的前缀。违约 = “堡垒”

输出:
  • (list)输出变量列表

  • t吨-(int)帧时间

  • 数量(_eqn)-(int)框架中的方程式数量

  • nstates公司-(int)状态数

  • 数字_辅助-(int)框架中的辅助值

  • 数字_尺寸-(int)q和aux中的尺寸数

  • 数字_ghost-(int)每一侧的重影单元数

  • 文件格式(_F)-(str)“ascii”,“binary32”,“二进制64”

抓包.pyclaw.fileio.ascii。(解决方案,框架,路径,文件_前缀=“堡垒”,写入_辅助=False(错误),选项={},写入_p=False(错误))

写出ascii数据文件

写出一个与fortran clawpack文件格式相同的ascii文件如有必要,包括写出fort.t、fort.q和fort.aux。注释假设每个补丁都有一些相同的参数这种格式对实际数据对象来说不一定正确。确保如果使用此输出格式,所有补丁程序都会共享num_dim、num_eqn、num_aux和t的适当值。仅支持高达3维。

输入:
  • 解决方案- (解决方案)Pyclaw对象输出。

  • 框架-(int)帧编号

  • 路径-(string)根路径

  • 文件_前缀-(string)文件名的前缀。违约 = “堡垒”

  • 写入_辅助-(bool)布尔值,控制关联的应该写出辅助数组。违约 = False(错误)

  • 选项-(dict)依赖于的可选参数字典正在写入的格式。违约 = {}

抓包.pyclaw.fileio.ascii。write_array(写入数组)((f),补丁,q个)

写入单个数组以ASCII文本的形式输出文件f。

这里的变量q实际上可能指q或aux。

pyclaw.fileio.binary公司

从AMRClaw读取原始二进制输出文件的例程。注意,PyClaw中没有相应的输出选项,这就是为什么这里没有“write”函数(在Fortran的AMRClaw中写入这些文件)。

抓取.pyclaw.fileio.binary。阅读(解决方案,框架,路径='./',文件_前缀=“堡垒”,读_助=False(错误),选项={})

读入一组原始二进制文件

此例程读取二进制格式的文件fort.txxxx包含有关帧的信息fort.qxxxx仍然包含每个网格补丁的标题fort.bxxxx是来自所有补丁的二进制数据转储。fort.xxxx是所有补丁的辅助数组的二进制转储。

请注意,fort前缀可以更改。

输入:
  • 解决方案- (解决方案)解决方案对象到将数据读入。

  • 框架-(int)要读取的帧编号

  • 路径-(string)文件当前目录的路径

  • 文件_前缀-(string)要读入的文件的前缀。违约 = “堡垒”

  • 读_助(bool)是否从fort.xxxx读取辅助数据。违约 = False(错误)

  • 选项-(dict)依赖于的可选参数字典正在读取的格式。违约 = {}

pyclaw.fileio.hdf5型

读取和写入HDF5输出文件的例程

此模块通过以下任一模块读取和写入hdf5文件:

h5py型-http://code.google.com/p/h5py/Py表-http://www.pytables.org/moin网站

它将首先尝试h5py,然后尝试PyTables,并使用正确的调用根据系统上存在的任何一个。我们建议您使用h5py,因为它是HDF5库的最小包装器。

要安装其中之一,还必须从以下网站安装hdf5库:

http://www.hdfgroup.org/HDF5/release/obtain5.html

抓包.pyclaw.fileio.hdf5。阅读(解决方案,框架,路径='./',文件_前缀=“爪”,读_助=真的,选项={})

将HDF5文件读入解决方案

输入:
  • 解决方案- (解决方案)Pyclaw对象为输出

  • 框架-(int)帧编号

  • 路径-(string)根路径

  • 文件_前缀-(string)文件名的前缀。违约 = “爪”

  • 写入_辅助-(bool)布尔值,控制关联的应该写出辅助数组。违约 = False(错误)

  • 选项-(dict)可选参数字典,不用于阅读。

抓包.pyclaw.fileio.hdf5。(解决方案,框架,路径,文件_前缀=“爪”,写入_辅助=False(错误),选项={},写入(p)=False(错误))

写出HDF5文件的解决方案。

输入:
  • 解决方案- (解决方案)Pyclaw溶液要输入的对象

  • 框架-(int)帧编号

  • 路径-(string)根路径

  • 文件_前缀-(string)文件名的前缀。违约 = “爪”

  • 写入_辅助-(bool)布尔值,控制关联的应该写出辅助数组。违约 = False(错误)

  • 选项-(dict)可选参数字典,请参阅HDF5选项表

钥匙

价值

压缩

(无,字符串[“gzip”|“lzf”|“szip”]或int 0-9)启用数据集压缩。除霜、LZF和(其中可用)支持SZIP。整数是解释为向后的GZIP级别兼容性。

压缩点(_O)

(无,或特殊值)压缩设置滤波器;每个过滤器类型的合法值为:

  • gzip公司-(整数)0-9

  • 里兹夫-不允许使用

  • szip公司-(tuple)2-tuple('ec'|'nn',偶数整数

    0-32)

有关的详细说明,请参阅过滤器模块每个过滤器。

大块

(None、True或shape tuple)将数据集存储在分块格式。如果任何给出了其他关键字选项。如果您不提供一个形状元组,库将为您猜测一个。

洗牌

(True/False)启用/禁用数据洗牌,这可以提高压缩性能。自动使用压缩时启用。

弗莱彻32

(真/假)启用Fletcher32错误检测;可以无论有无压缩都可以使用。

pyclaw.fileio.netcdf

读取和写入NetCDF输出文件的例程

通过以下任一方式读取和写入NetCDF输出文件的例程

这些接口非常相似,因此如果需要使用不同的模块,它很可能只需花费很少的精力就可以插入。

此模块将首先尝试导入基于的netcdf4-python模块关于编译的库,如果失败,将尝试导入纯python接口pupynere不需要库。

要安装netCDF 4库,请参阅:

http://www.unidata.ucar.edu/software/netcdf/

作者:

Kyle T.Mandli(2009-02-17)初始版本

抓包.pyclaw.fileio.netcdf。阅读(解决方案,框架,路径='./',文件_前缀=“爪”,读_助=真的,选项={})

将NetCDF数据文件读入解决方案

输入:
  • 解决方案- (解决方案)Pyclaw对象为输出

  • 框架-(int)帧编号

  • 路径-(string)根路径

  • 文件_前缀-(string)文件名的前缀。违约 = “爪”

  • 写入_辅助-(bool)布尔值,控制关联的应该写出辅助数组。违约 = False(错误)

  • 选项-(dict)可选参数字典,未用于阅读。

爪包.pyclaw.fileio.netcdf。(解决方案,框架,路径,文件_前缀=“爪”,写入_辅助=False(错误),选项={},写入_p=False(错误))

写出解决方案的NetCDF数据文件表示

输入:
  • 解决方案- (解决方案)Pyclaw对象为输出

  • 框架-(int)帧编号

  • 路径-(string)根路径

  • 文件_前缀-(string)文件名的前缀。违约 = “爪”

  • 写入_辅助-(bool)布尔值,控制关联的应该写出辅助数组。违约 = False(错误)

  • 选项-(dict)可选参数字典,请参阅NetCDF选项表

钥匙

价值

描述

键/值对字典作为属性附加到根组,即{“时间”:3}

格式

可以是以下netCDF风格之一:NETCDF3_类,NETCDF_3_64位,NETCDF4_CLASSIC和NETCDF4违约 = 网络cdf4

痛打

如果为True(默认),则文件将被覆盖,如果为False,将引发异常

zlib公司

如果为True,则分配给变量的数据实例已压缩到磁盘上。违约 = False(错误)

复合层

要使用的zlib压缩级别(1是最快但最差的压缩是9最慢但最好的压缩)。忽略如果zlib=False。违约 = 6

洗牌

如果为True,则应用HDF5洗牌过滤器以提高压缩性能。忽略,如果zlib=假。违约 = 真的

活页夹32

如果为True(默认为False),则Fletcher32校验和算法用于错误检测。

相邻的

如果为True(默认为False),则变量数据连续存储在磁盘上。设置为对于不受限制的变量为True维度将触发错误。违约 = False(错误)

块状大小

可用于指定HDF5块大小对于变量的每个维度。A类详细讨论HDF分块和I/O这里提供性能。基本上,您需要每个维度的块大小尽可能地匹配用户将从中读取的数据块文件。如果continuous=True。

最小有效位数

如果指定,变量数据将为截断(量化)。zlib=True这会产生“有损”,但是显著提高压缩效率。例如,如果least_significant_digit=1,数据将使用around进行量化(刻度*数据)/刻度,其中刻度=2**位,并确定位,以便保留0.1(在这种情况下,位=4)。违约 = ,或不进行量化。

字节存储次序

可用于控制数据是否以小端或大端格式存储在磁盘。可能的值有小、大或本机(默认)。图书馆将自动处理endian转换数据被读取,但如果数据总是将在计算机上用与用于创建的格式相反文件,可能有一些性能通过设置末日意识。

fill_value(填充值)

如果指定,默认netCDF_FillValue(填充变量的值在写入任何数据之前)替换为该值。如果fill_value为设置为False,则变量不是预先填充。

注释

zlib、complevel、shuffle、fletcher32、continuous、chunksize和对于不使用使用HDF5。