将带有modflow输入文件的zip转换为包含flopy脚本的zip

flopymetascript的Python项目详细描述


flopymetascript

将带有modflow输入文件的zip转换为包含flopy脚本的zip 以不同的格式。这个flopy(python)脚本可以生成 初始modflow输入文件。

它应该适用于modflow、mt3d和sewat的所有包。为了一个 完整列表,请参阅中的加载支持的包 https://github.com/modflowpy/flopy/blob/develop/docs/supported_packages.md 是的。

作者不能用这个包裹赚钱。作者有 完全没有理由相信这个脚本是正确的 对恶意脚本的内容和后果负责。我是你 发现它有用,请考虑捐赠给慈善机构(在 选择哪一个)并给我发送一个便条(或者创建并关闭一个问题)。 谢谢!作者不隶属于modflow家族,也不隶属于modflow家族 失败。这个转换器/发电机使用了浮点加载功能。任何 flopy加载函数中的错误/错误传播到生成的 脚本。

用例

  • 您来自不同的建模环境,希望 开始使用flopy
  • 清理你的失败脚本/笔记本
  • 将说明(和默认值)添加到参数中
  • 检查其他人的modflow输入文件/flopy脚本
  • 检查家庭作业

优点

  • 返回modflow的.ipynb、py、tex、html、markdown和rst文件 输入文件
  • 使用一致且干净的标记
  • 所有参数都是明确定义的
  • 从flopy包加载和解释描述 直接。与文档中的描述相同 使用(modflowpy.github.io/flopydoc/)。
  • 利用智能广播减小阵列大小 打印到脚本中。

安装

进入终端,

$ pip install https://github.com/bdestombe/flopymetascript/zipball/master

应该省略$-符号,并且只引用命令是 进入bash命令行。添加了flopymetascript包 到系统的$PATH,并且可以从任何目录访问。检查是否 任何东西都可以通过在任何目录中键入来工作,

$ flopymetascript --help

卸载,

$ pip uninstall flopymetascript

请看 https://gehrcke.de/2014/02/distributing-a-python-command-line-application/ 有关包结构的详细信息。

支持

目前只测试了几个modflow和sewaat模型,在 Mac平台。

#已知问题

命令行中的示例用法:

拉链

先试试这个,

$ flopymetascript --outbytesfile output.zip --inbytesfile input.zip --logfile log.txt

input.zip是一个包含modflow输入文件和单个 .nam文件。其内容将被处理并写入output.zip。一些 日志记录被写入log.txt。

使用管道

$ openssl base64 -in input.zip -out input.zip.b64
$ flopymetascript --outbytesfile output.zip --inbase64file input.zip.b64

input.zip编码为base64并用作 浮点脚本

$ flopymetascript --outbytesfile output.zip --inbase64file - < input.zip.b64

input.zip.b64的内容通过流/管道传输到flopymetascript

$ openssl base64 -in input.zip | flopymetascript --outbytesfile output.zip --inbase64file -

与前面所做的相同,但是input.zip是编码的,并且 它不是将其写入文件,而是作为stdin传递给 flopymetascript的inbase64文件参数。

$ openssl base64 -in input.zip | flopymetascript --outbase64file utput.zip --inbase64file - --logfile -

日志文件被打印到stdout。

不能同时将outbase64file和logfile发送到stdout。他们将 混合,结果输出文件不可读。

python中的示例用法

这可能需要一些工作,而且将来可能会有所改变。

fromflopymetascript.flopymetascriptimportprocess# fn = 'input.zip.b64'# inbase64file = open(fn, 'r')# fn = 'output.zip.b64'# outbase64file = open(fn, 'w')fn='input.zip'inbytesfile=open(fn,'rb')# Dont forget the bfn='output.zip'outbytesfile=open(fn,'rb')# Dont forget the bfn='log.txt'logfile=open(fn,'w')process(inbytesfile=inbytesfile,outbytesfile=outbytesfile,logfile=logfile)inbytesfile.close()outbytesfile.close()logfile.close()

待办事项:

  • 添加具有默认值的附加软件包
  • 添加一个开关以打开参数说明
  • 添加线宽作为参数

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

推荐PyPI第三方库


热门话题
序列化反序列化java。awt。颜色>java。木卫一。InvalidClassException   java禁用多个日期范围jDateChooser   java为什么我的特例apper会被扔进泽西/灰熊?   JavaIntelliJ比较两个覆盖率数据   java什么是servletsdefault。你怎么办?   单击几下libgdx后java按钮没有响应   使用java将字符串转换为JSONArray   文件系统在java中刷新fileSystemViewer   java如何在hibernate中避免脏检查   java奇怪的问题,带有分号和“无法解决…”   java将值从子面板传递到父面板   HTML JTextPane CSS的Java FontSizeAction   java文件代码神秘地变成了一堆(0000)