Instalando PHREEQC en Linux
Un programa que utilizo habitualmente durante el desarrollo de mi investigación es PHREEQC. Sirve para hacer modelado hidrogeoquímico para el estudio de aguas naturales o para el estudio de soluciones en laboratorio. Yo la he utilizado principalmente para preparar soluciones con unas sobresaturaciones concretas, para estudiar la evolución de formulaciones de fertilización foliar con diferentes concentraciones minerales y para estudiar la evolución de una solución en contacto con el CO2 atmosférico, por mencionar solo algunos ejemplos. Pero el software es mucho más potente y yo solo sé utilizar una pequeña parte (poco más que la punta del iceberg que es este programa). En Windows hay dos versiones, la versión con una bonita interfaz gráfica (que no me gusta) y la versión integrada en Notepad++ (que es la que he utilizado siempre). La versión de Notepad++ me permite tener un flujo de trabajo que me resulta muy cómodo, el código aparece con un código de colores para su fácil identificación y, además, tiene la función de autocompletar con el tabulador. ¿Y en Linux, qué opciones tenemos? PHREEQC no ofrece una interfaz gráfica como en Windows, pero he encontrado un modo de tener algo similar.
Instalar PHREEQC
Seguro que hay un modo mucho más elegante de instalar PHREEQC en Linux (en Arch se encuentra disponible en su repositorio oficial), pero yo he utilizado este método para instalarlo en Linux Mint.
Lo primero que tenemos que hacer es descargar la última versión para Linux desde github. Descomprimimos el archivo y abrimos una terminal en esa carpeta. Ejecutamos lo siguiente:
./configure
make
sudo make install
Ya está instalado. Podemos ejecutarlo desde la terminal escribiendo phreeqc NOMBRE_ARCHIVO. Para que phreeqc se pueda ejecutar de este modo, el fichero .dat, de la base de datos que se quiere utilizar, tiene que estar en la misma carpeta donde tenemos guardado el archivo de entrada. El archivo de salida se guarda en el mismo directorio. De este modo, podemos utilizar cualquier editor de texto para crear y modificar los ficheros de entrada y para leer los ficheros de salida. Sin embargo, el código de phreeqc no aparece marcado, algo que dificulta la lectura e interpretación del fichero de entrada.
Emacs
Para poder tener el código de phreeqc marcado podemos utilizar Emacs. Para ello, descargamos el fichero .el del repositorio de Arch. Lo guardamos en la carpeta de configuración de Emacs, en mi caso, [Carpeta Personal]/.emacs.d/lisp. Posteriormente, en el fichero init.el añadimos el siguiente código:
(add-to-list 'load-path (expand-file-name "~/.emacs.d/lisp"))
(setq phreeqc-compile-command "/usr/local/bin/phreeqc")
(setq phreeqc-database "/usr/local/share/doc/phreeqc/database/phreeqc.dat")
(setq phreeqc-manual-fn "/usr/local/share/doc/phreeqc/Phreeqc_3_2013_manual.pdf")
(autoload 'phreeqc-mode "phreeqc" "PhreeqC editing mode" t)
(setq auto-mode-alist (append '(("\\.\\(phrq\\|pqi\\|phr\\)$" . phreeqc-mode)) auto-mode-alist))
He tenido que añadir las líneas 2 a 4 porque los directorios donde se alojan los datos de phreeqc varían en Arch y Linux Mint. También he modificado la última línea con respecto a lo indicado en el fichero .el de phreeqc, para poder abrir también los ficheros phr (creo que no tengo ningún fichero pqi, porque es de la versión con interfaz gráfica de Windows).
Una vez añadido el código al fichero init, pulsamos escape+x y escribimos eval-buffer.
Para ejecutar phreeqc solo hay que pulsar control+c y, de nuevo, control+c. Por defecto, phreeqc utilizará la base de datos que hayamos especificado en (setq phreeqc-database "/usr/local/share/doc/phreeqc/database/phreeqc.dat"). Si queremos utilizar una base de datos diferente, se puede añadir como primera línea del fichero .phr, DATABASE /usr/local/share/doc/phreeqc/database/BASE_DE_DATOS_ESPECIFICA.dat. Al ejecutar de nuevo phreeqc leerá la nueva base de datos.
Para visualizar el fichero de salida hay que pulsar control+c seguido de control+v.
También se puede ejecutar phreeqc como si lo hiciésemos desde la terminal con escape+mayúsculas+1 y escribiendo phreeqc NOMBRE_ARCHIVO. En ese caso tenemos que seguir incluyendo el archivo de la base de datos en el directorio donde tenemos guardado el fichero de entrada.
De nuevo, seguro que hay muchos más modos de tener phreeqc con el código marcado. Y seguro que hay algún modo de hacer que Emacs, además de marcar el código, haga sugerencias de como terminar de escribir (tal y como hace notepad++ para phreeqc). Pero tengo que seguir investigando como hacerlo.
Si te ha gustado esta entrada puedes enviarme tus comentarios en Mastodon: @doclomieu@masto.es
Puedes seguir este blog desde cualquier red del fediverso o mediante RSS.
También puedes seguir todas las publicaciones de Escritura Social mediante RSS.
