将带有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()
待办事项:
- 添加具有默认值的附加软件包
- 添加一个开关以打开参数说明
- 添加线宽作为参数