跳转到主要内容

MODFLOW的PEST工具

项目描述

PyPestUtils

基于PEST工具集的Python工具套件,支持使用试点点进行参数化、绘制随机实现以及MODFLOW后处理的规则和不规则网格。该软件包包括一个(预)编译的Fortran共享库以及围绕库函数的底层Python包装器。此外,还有一些高级“辅助”函数,用于进一步抽象常见工作流程元素的低级函数调用。

底层函数对参数类型相对严格,这是为了有效地将数组类型数据容器引用传递给Fortran库。因此,底层Python函数执行了相当多的类型检查。高级辅助函数尝试支持多种参数类型,并将尝试强制转换为所需的类型。

该软件包目前处于预alpha开发阶段,不适合使用,但早期采用者欢迎尝试。

示例

有几个使用pypestutils进行规则和四叉树Freyberg模型的Jupyter笔记本示例。这些笔记本依赖于flopypyEMU以帮助可视化和处理。

要使用共享Fortran库的底层Python接口,创建一个PESTUTILSLIB实例,然后可以直接调用共享库例程

from pypestutils.pestutilslib import PestUtilsLib
lib = PestUtilsLib() #the constructor searches for the shared lib
grid_info = lib.install_mf6_grid_from_file("grid","freyberg6.disv.grb")
easting,northing,elev = lib.get_cell_centres_mf6("grid",grid_info["ncells"])

高级辅助函数隐藏了Fortran库的调用,并将多个底层函数调用连接起来

import pypestutils.helpers as helpers
grid_info = helpers.get_grid_info_from_file("freyberg6.disv.grb")

文档

pypestutils的文档可以在此处找到

共享FORTRAN库的文档可以在此处找到

安装

依赖项

pypestutils需要numpypandas

简单方法

使用pip安装Windows、Linux或macOS的构建发行版

pip install pypestutils

要包括可选依赖项,请使用

pip install pypestutils[optional]

从源安装

从源安装需要Fortran编译器和构建工具。有关详细信息,请参阅BUILD.md

免责声明

此软件是初步或临时性的,并可能被修订。它被提供以满足对及时最佳科学的需求。此软件按“原样”和“可用”提供,不对软件做任何形式的表述或保证,无论明确、暗示、法定或其他。这包括但不限于所有权、适销性、特定用途适用性、非侵权、无潜在或其他缺陷、准确性或错误的存在或不存在,无论是否已知或可发现。

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面