创建与ParFlow水文模型接口的Python包。

pftools的Python项目详细描述


pftools公司

这是一个通过Python接口运行ParFlow的包。这个包允许 用户在Python中构建用于构建数据库(.pfidb文件)的脚本 哪个ParFlow读取为输入。在

如何使用此软件包

  1. 使用以下命令安装:

     pip install pftools
    
  2. 在您最喜欢的文本编辑器或IDE中打开一个新的Python脚本。在

    • 您可以在主ParFlow repo的下面找到示例Python脚本 /parflow/test/python/
  3. 在脚本的顶部,确保包含以下行:

    ^{pr2}$

    这将导入包并将运行初始化为对象“runname”

  4. 在ParFlow run对象上设置所需的键和值,例如:

     runname.FileVersion = 4
    

    注意:对于用户定义的键名,请确保您以前定义过这些名称 你用它们作为密钥名。例如:

     runname.GeomInput.Names = 'domain_input'
    

    需要在以下时间之前设置:

     runname.GeomInput.domain_input.InputType = 'SolidFile'
    
  5. 为键指定值后,可以在 ParFlow运行对象:

    • validate():这将验证一组键/值对并打印验证 信息。这不需要ParFlow。在
    • write(file_name=None, file_format='pfidb'):这将写入您的键/值 根据您选择的格式与文件配对(默认为ParFlow数据库pfidb 格式)。作为file_format参数传递的其他可接受格式包括 ymlyaml、和{}。此方法不需要ParFlow。在
    • clone(name):这将使用给定的name生成运行的克隆对象。 请参见parflow/test/python/new_features/serial_runs/serial_runs.py以获取 如何使用这个。在
    • run(working_directory=None, skip_validation=False):这将执行 write()方法。如果skip_validation设置为False,它还将执行 validate()方法。如果您 想更改将写入输出文件的目录,但是 默认为Python脚本的目录。最后,run()将执行 帕弗洛。这将打印环境的数据(ParFlow目录, ParFlow版本、工作目录和生成的ParFlow数据库文件)。 {cd18>如果成功运行,将得到一条消息。 否则,您将收到一条消息ParFlow run failed.,后面是 runname.out.txt文件的内容。在
  6. 完成输入脚本后,保存并通过Python终端运行它 或命令行:

     python3 runname.py
    

    可以将以下一个或多个参数附加到运行:

    • --parflow-directory [None]:重写的环境变量 ^{
    • --parflow-version [None]:重写用于验证的ParFlow的源版本 钥匙。在
    • --working-directory [None]:重写ParFlow运行的工作目录。 这与在run()方法中指定working_directory相同。在
    • --skip-validation [False]:如果设置为True,则跳过validate()方法。这是 与在run()方法中指定skip_validation相同。在
    • --show-line-error [False]:显示设置为True时发生错误的行。在
    • --exit-on-error [False]:当运行遇到错误时 设置为True。在
    • --write-yaml [False]:当设置为True时,将键/值对写入yaml文件。 这与调用方法runname.write(file_format='yaml)相同。在
    • -p [0]:重写Process.Topology.P的值(必须是整数)。在
    • -q [0]:重写Process.Topology.Q的值(必须是整数)。在
    • -r [0]:重写Process.Topology.R的值(必须是整数)。在

如何更新此包(仅限开发人员)

这假设您使用的是pftools包的CMake 包含在主ParFlow repo中(参见https://github.com/parflow/parflow

  1. 更新中的版本号设置.py在

  2. 运行以下命令来创建和测试源归档文件和控制盘 包装分发:

     make PythonCreatePackage
    
  3. 如果分发通过,请运行以下命令来发布这个 分配:

     make PythonPublishPackage
    
  4. 检查PyPI以确保包更新已正确发布。谢谢 感谢你的贡献!在

寻求帮助

如果您对代码有任何问题,请参考 以下选项:

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

推荐PyPI第三方库


热门话题
java JTable无法向新创建的列添加值   java如何调整JEditorPane中编辑区域的大小?   Java通过反射确定未知数组中的数组大小   java Intellij Idea有时无法按其预期的方式构建应用程序   java Swing GUI带有IntelliJ错误“contentPane不能设置为null”从终端编译时   如何将这些通用方法调用从C#转换为Java   在null上找不到java属性或字段“index”   从Java HashMap获取整数值时是否需要调用intValue()方法?   java Android谷歌地图获取相机中的图像块   unix无法捕获JAVA中“who m”命令的输出   java,同时将邮件发送到“收件人”标题“我”中的多个收件人   在java中向链表添加未知数量的节点   无法为Heroku上的discord bot设置java端口   java使用Apache HttpClient进行选项请求   与元素类型“ApplicationName”关联的属性“Application Version”需要java Open quote   Android Studio Java中的两个变量求和