mHM的Python绑定版。
项目描述
mHM - Python绑定
[目录]
控制mHM的Python绑定。
包装器(mhm/wrapper.f90
)只是mHM提供的接口上的一个薄层,以便与f2py兼容。
安装
有一个PyPI包可以安装最新版本
pip install mhm
安装 mHM Python 包将提供 mhm
命令来以传统方式执行 mHM。
要从头编译 Python 绑定,你需要
- Python 版本至少为 v3.8,以及 pip
- Fortran、C 和 C++ 编译器(相应地设置环境变量
FC
(和F77
),CC
和CXX
)。如果使用 gcc,这可能是这样的export FC="gfortran" export F77="gfortran" export CC="gcc" export CXX="g++"
- NetCDF-Fortran 已安装在你的系统路径中
查看这些依赖项的 编译 指令。
你也可以使用 conda 环境(例如,使用 miniforge 设置)来获取所有内容
conda install -y pip netcdf-fortran fortran-compiler c-compiler cxx-compiler
在克隆/下载后编译所有内容,可以使用 pip
pip install -v .
要从 git 仓库直接安装,可以输入
pip install -v git+https://git.ufz.de/mhm/mhm.git
环境变量
以下环境变量可用于控制 mHM Python 绑定的编译和安装
SKBUILD_CMAKE_BUILD_TYPE=[Release|Debug]
:mhm 库的构建类型(默认:Release
)MHM_BUILD_FORCES_PATH=<path>
:自定义 forces 源目录路径(默认:None)MHM_BUILD_PARALLEL=[0|1]
:是否使用 OpenMP 与 mHM(默认:0
)
测试域下载工具
与 Python 绑定一起提供了一个命令行脚本,用于下载测试域
mhm-download --verbose --branch develop --domain 1 --path mhm_domain/
然后你可以使用以下命令在测试域上运行 mHM
mhm mhm_domain/
使用 mhm-download -h
可以获得有关如何使用此脚本的帮助
$ mhm-download -h
usage: mhm-download [-h] [-V] [-v] [-b BRANCH] [-d {1,2}] [-p PATH]
Download tool to retrieve the test domains for mHM.
optional arguments:
-h, --help show this help message and exit
-V, --version display version information
-v, --verbose be verbose (default: False)
-b BRANCH, --branch BRANCH
branch, tag, or commit of the mHM repository to take the test domain from,
by default tag determined from the mHM version (default: None)
-d {1,2}, --domain {1,2}
test domain '1' or '2' (default: 1)
-p PATH, --path PATH destination path for the downloaded folder,
by default the original folder name in the current directory (default: None)
在 Python 脚本中,你可以使用此工具的 mhm.download_test
。下面是示例。
文档
有关提供的例程的更多信息,请参阅 mhm.tools
和 wrapper.f90
。
示例
如果你已克隆了存储库,你可以按以下方式简单地运行 mhm 而不进行优化
import mhm
# download test domain 1
mhm.download_test(path="example_domain")
# run the downloaded example
mhm.model.init(cwd="example_domain")
mhm.model.run()
mhm.model.finalize()
或者你可以这样做来控制每个时间步
import mhm
# assuming to run from the mhm repo root
mhm.model.init()
mhm.run.prepare()
ndomians = mhm.run.get_ndomains()
for i in range(1, ndomians + 1):
mhm.run.prepare_domain(domain=i) # 0 by default
while not mhm.run.finished():
mhm.run.do_time_step()
mhm.run.write_output()
mhm.run.finalize_domain()
mhm.run.finalize()
mhm.model.finalize()
请参阅 examples
文件夹。
许可证
LGPLv3 (c) 2005-2023 mHM-Developers
项目详情
关闭
mhm-5.13.1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | acd61f906a6c66b0bee71a22d14b5574ad6aa952b626d7b77e65384928823a24 |
|
MD5 | a0cdf6c334968c458eb10e96afa032d6 |
|
BLAKE2b-256 | d235fdb0dd51e92dcc3c23926e0f5da52074df8f0a72ce560b34c442f1609ac6 |
关闭
mhm-5.13.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ed1748f468e517baa60283f2343ac44259ddcb5920b45f5e26d0bd63dca1b1aa |
|
MD5 | 49b6c0ed7f1d92bd0c0355658f8f102e |
|
BLAKE2b-256 | a064191daff97f4c1e356636984dbca7d42141199e9beae22f85af5c56f4c513 |
关闭
mhm-5.13.1-cp311-cp311-macosx_10_9_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1a6521268df250bc843d12e5895ef9828e58c8c8a93a292041ba1d3aa60a0ca8 |
|
MD5 | 8f1572859397b181d4e24916b0f26c93 |
|
BLAKE2b-256 | ce580500d3c2f80b597ff56f1a69c5a9e0db8c860fdbdb44eb81daab8f2d9642 |
关闭
mhm-5.13.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f917039d19f76c2425b9dd821a97d42f927a139895fbb7da0a16dd328360cf9c |
|
MD5 | d855a04f592b0da7c3347bf642218edc |
|
BLAKE2b-256 | f1480e42889157704c1d4cfd60467bec094077d0c75a38eeaa1dc6223ef1feb3 |
关闭
mhm-5.13.1-cp310-cp310-macosx_10_9_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 33435a33187ffecf4b96300b8acac398aa2b8dff55f639eb59f5e18e8b89793c |
|
MD5 | 3fbb705a0c1085de14a679f083d32a02 |
|
BLAKE2b-256 | ad4794519329dc7e231b1153a13a141057fc9d4506e6b5e56ae7593a8cc0735d |
关闭
哈希值 用于 mhm-5.13.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 93d91be1545c40a50d28acf37af9800d96ea8023c281a642009ac4d24c782e26 |
|
MD5 | 5e757b8006e432202a723cfd862ea6c7 |
|
BLAKE2b-256 | f8ad3c242212ddef8b7011c31e03e19edf0100b999105e4219b5341ac14b803e |
关闭
哈希值 用于 mhm-5.13.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | da7010489ebc5f9c9439ecb08b91c68988d1eb8d1504d08d484ff6d90087fbb2 |
|
MD5 | 61349ff543217581653194a8eb37fdec |
|
BLAKE2b-256 | 5835a92312a1d23507efa960acd388289943764e67c6a31b0d354c28a1e1a040 |