installation de flopy / modflow

On se propose ici d’installer flopy et les programmes USGS nécessaires, dans le but d’utiliser non seulement MODFLOW, mais aussi le code MT3DMS qui permettra de mettre en œuvre des simulations de transport de contaminants en milieu poreux.

flopy étant une librairie pour python 3, il vous faudra disposer de python 3 sur votre machine pour l’utiliser.

installer python

Si vous n'avez pas encore python sur votre machine, installez python 3.

Sous windows, l'installation la plus légère se fait avec l'installeur (python-3.8.2-amd64.exe par exemple) à télécharger sur
https://www.python.org/downloads/release

Il existe des solutions plus complètes, qui sont des environnements de programmation en python, comme anaconda, spyder, pycharm, etc. mais elles peuvent paraissent surdimensionnées et sont plutôt dédiées à une utilisation intensive de python.

Si vous avez python mais que c'est une version python 2 (c’est le cas sur Mac, python est présent dans OS X, mais c’est a priori python 2), il faut installer python 3, nécessaire pour les versions récentes de flopy.

(de manière générale, python 2 ayant arrêté son développement fin 2019, il est préférable de passer à python 3 comme version principale; il existe un utilitaire, 2to3, qui vous permettra de transformer en version 3 vos scripts python 2)

installer pip

pip est l’outil indispensable pour installer les librairies (package) python (sauf pour les utilisateurs d’Anaconda, qui utiliseront conda). Il va servir à installer flopy et les librairies nécessaires à son fonctionnement: numpy et matplotlib.

Si on a une version suffisamment récente de python 3 (à partir de la 3.4), alors le 'package manager' pip est inclus dans python. Sinon, on peut mettre à jour python 3, ou installer pip (aller sur https://pypi.org/project/pip/).

Pour vérifier que pip est installé, ouvrir une “session dos” (c'est à dire l'interface en lignes de commande, par la commande cmd.exe), et taper

C:\...>pip --version

attention: si vous avez python 2.7 encore actif sur votre machine, il se peut que le pip actif installe les librairies pour python 2, alors que les versions récentes de flopy demandent python 3.5 au moins. Il faudra alors utiliser pip3 et non pip. Pour voir à quelle version correspond le pip par défaut, la commande 'pip show pip' (et 'pip3 show pip') affichera dans quel répertoire, celui de python 2 ou de python 3, se trouve pip (ou pip3). Sur ma machine, par exemple, c'est encore Python 2.7 qui est le python par défaut, j'utilise donc pip3 pour installer numpy, matplotlib, flopy pour travailler sous python 3 ...

installer flopy

pour installer une librairie pour python, il suffit alors, toujours dans une session en ligne de commande, de taper

pip install librairie

en l'occurence :


C:\...>pip install numpy
C:\...>pip install matplotlib
C:\...>pip install flopy

(il est possible que la dernière commande suffise: c’est pip qui se chargera de vérifier que les librairies nécessaires à flopy sont présentes, et dans des versions suffisamment récentes, et qui installera ces librairies si nécessaire)

Dans le cas où on utilise une distribution Anaconda, on passe par conda pour installer flopy:

conda install -c conda-forge flopy

installer les programmes USGS

Flopy permet de construire les fichiers d’entrée de MODFLOW et autres programmes USGS et d’en exploiter les résultats, mais ne contient pas les programmes eux-mêmes: il va devoir lancer les exécutables (mf2005.exe, mt3dms.exe, etc) qui auront été au préalable enregistrés sur votre machine.

Ces exécutables ont été regroupés par l’USGS sur un dépôt github:

https://github.com/MODFLOW-USGS/executables

Il faut télécharger le fichier zip correspondant à votre système (windows 64 ou 32 bits, ou Mac, ou Linux). Créer un répertoire, par exemple C:\MyProgs\USGS\ et y décompresser ce zip.

On a le choix ici entre différentes options.

Caveat: il est préférable de créer un répertoire spécifique pour les scripts python - flopy. Il faut que ce répertoire soit dans une zone pour laquelle vous avez les droits d’écriture, par exemple dans ‘mes documents’ ou équivalent. On m’a signalé que par exemple quand tutorial01.py est dans C:\Program Files\USGS\ il y a risque d’erreur du type ‘permission denied’.