| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
pymf6 can access MODFLOW variables at run time. This allows a user to access and modify nearly all model data during a run. A typical use case is to change values of boundary conditions based on the current model state. With some basic Python programming, many different problems that may be to difficult to represent with crafting input data in a appropriate manner, may be solved with pymf6. Example usage include:
In order to use pymf6 you need to
pymf6 is a Python package. There are two ways to install pymf6:
The installation via conda is recommended to get the lastest version. This due to newer version of dependencies made available via the hydrocmputing channel. There are different ways to install conda packages. We recommend using Pixi.
Please follow the instructions how to install Pixi. After installing Pixi, the command pixi should be available in a terminal window.
You need to create a Pixi workspace. This can be done either by typing in a terminal window:
pixi init pymf6_project
cd pymf6_projectNow the directory pymf6_project contains a file named pixi.toml that contains the configuration. You need to add the channel hydrocomputing to your Pixi workspace. This can be done either by typing in a terminal window:
pixi workspace channel add --prependor by editing the file pixi.toml, modifying the key channels in the section [workspace] from:
[workspace]
channels = ["conda-forge"]to:
[workspace]
channels = ["hydrocomputing", "conda-forge"]Now you can install pymf6 by typing:
pixi add pymf6Alternatives to using Pixi are Miniforge, Miniconda, or Anaconda. Miniforge is a minimal conda installer with the conda-forge channel as the default channel.
Anaconda is a Python distribution with many Python packages. Miniconda is a much smaller version of the Anaconda Distribution with a few packages. Make sure the Anaconda license works for you before using this option. Otherwise, use Miniforge, or our recommendation Pixi.
After installing Miniconda or Anaconda, the command conda should be available in a terminal window::
conda
usage: conda [-h] [-v] [--no-plugins] [-V] COMMAND ...
conda is a tool for managing and deploying applications, environments and packages.In a terminal window type:
conda config --add channels conda-forge
conda config --add channels hydrocomputingCreate a conda environment by typing:
conda create -n pymf6_313 python=3.13Answer "Yes" to the question(s) and type enter.
Next, type:
conda activate pymf6_313You can use pip to install pymf6 if Pixi or any of the other conda-based install method do not work for you. You may get an older version of pymf6 due to the availability of dependencies.
Install with pip:
pip install pymf6or with uv:
uv pip install pymf6If you know how to use uv, you can also create a Python project. Likely, the options --bare or --no-package are useful to avoid creating files and directory that are not needed:
uv init --bare pymf6_uvor:
uv init --no-package pymf6_uvYou also need a working copy of MODFLOW 6. Please download the version for your operating system from the USGS website. There are also nightly builds with latest version.
While you can specify the path to the DLL and executable for each run, it is highly recommended to create a configuration. You need to create a file named pymf6.ini in your home directory. You can find your home directory with different methods. On Windows, the command:
set HOMEPATHshould work.
On Posix systems such as Linux and MacOSX, the command:
echo $HOMEshould do.
The file pymf6.ini needs have to have this content
on Windows:
[paths]
dll_path = path\to\mf6\bin\libmf6.dll
exe_path = path\to\mf6\bin\mf6.exeon Linux:
[paths]
dll_path = path/to/mf6/bin/libmf6.so
exe_path = path/to/mf6/bin/mf6on MacOSX:
[paths]
dll_path = path/to/mf6/bin/libmf6.dylib
exe_path = path/to/mf6/bin/mf6Replace the path path/to/mf6/bin/ with with your absolute path to the MODFLOW 6 directory bin that contains the shared library and the executable you downloaded from the USGS website (see section "Installation" above).
On the command line type:
pymf6The output should look similar to this on Windows:
========================
pymf6 configuration data
========================
pymf6 version: 1.5.3
xmipy version: 1.3.1
modflowapi version: 0.3.0
ini file path: HOME/pymf6.ini
dll file path: path/to/dll/libmf6.dll
MODFLOW version: 6.7.0
MODFLOW Fortan variable documentation is available.Where <Home> is the your absolute home path. The output on Linux and MacOSX looks slightly different due to different path separators and file extensions (see chapter "Configuration" above).
To test the install run a model with command:
pymf6 path/to/my/model/inputwhere path/to/my/model/ is an absolute or relative path to the directory with the MODFLOW input files, i.e. the directory that contains the file mfsim.nam. For example any model in the directory examples that comes with MODFLOW 6 will do.
The output should look similar to this:
==============================
running path/to/my/model/input
==============================
NORMAL TERMINATION OF SIMULATION
GOOD path/to/my/model/input
==============================Please read the documentation for more details.
| Back | FazBrowse Home | New Git URL |