Skip to main content

Implementation of the Comparison Model Method

Project description


This is the README file for a collection of Python scripts that implement the Comparison Model Method (CMM, [1], [2], [3] and [4]).

For more details about the tests and the methodology, please see the manuscript “Improving the robustness of the Comparison Model Method for the identification of hydraulic transmissivities” by A.Comunian and M.Giudici (submitted to Computers & Geosciences).


This is a python implementation of the Comparison Model Method (CMM), a direct method to solve inverse problems in hydrogeology, and in particular to compute the hydraulic conductivity T of a confined aquifer given an initial tentative value of T and one or more interpolated hydraulic head fields h. This implementation of the CMM heavily relies on the USGS engines of the Modflow family (and Modflow6 in particular) to solve the forward problem, facilitated by the use of the Python module flopy. Nevertheless, it can be adapted to make use of other engines for the solution of the forward problem.



In addition to the common Python modules numpy, scipy and matplotlib, this codes requires a recent version of flopy.

Download and install

The suggested way is to use pip (which should be also already available with Anaconda).

cmmpy is available at the Python Package Index repository. Therefore, in can be easily installed (together with its dependencies) with the command:

pip install cmmpy

Alternatively, if you prefer to download the sources from, you can:

  1. Clone or download this repository on your hard drive.

  2. If required, unpack it and cd cmmpy.

  3. Inside the project directory, from the command line:

    pip install -e .
  4. To check if it worked, open a Python terminal and try:

    import cmmpy

Run the tests

  1. Move into the folder ŧest.

  2. Then, from the shell, use the script to run the corresponding test by providing the name of the JSON parameter file as unique input argument, like for example:

    ./ template/test.json
  3. This should create (in the folder defined by the wdir variable in the JSON parameter file) all the output of the selected test.

If you want to run multiple test, have a look at the script


This code was developed by the HydroGeophysics Lab. of the University of Milan. Please do not hesitate to contact us should you require more information or interested in contributing.


Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cmmpy-0.1.3.tar.gz (29.6 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page