Instalación de IRAF y PyRAF en portátil Mac
IRAF (v2.18) y PyRAF se pueden instalar también en un portátil Mac. El procedimiento es algo distinto del que se usa para instalarlo en Ubuntu. Una descripción completa se puede encontrar en https://iraf.noirlab.edu/release, aquí resumimos los pasos importantes con algunas notas.
Requisitos
Esta release de IRAF/PyRAF requiere una versión del sistema operativo OS X 10.15 (Catalina) o posterior.
Funciona tanto en un Mac con procesador Intel como en un Mac de la serie M (M1 a M4) con procesador Apple Silicon.
Es necesario tener instalado XQuartz, se puede descargar de https://www.xquartz.org/.
Nota: después de instalar XQuartz, es necesario salir de sesión y volver a entrar para que se active.
Descarga e instalación del paquete
Descargar el paquete desde https://iraf.noirlab.edu/download/mac/.
Alternativamente, ejecutar el comando:
cURL -OL https://gitlab.com/api/v4/projects/52167765/packages/generic/iraf-mac/2.18/NOIRLab-IRAF-v2.18.dmg.
¡Importante! Para quitar la restricciones de seguridad, ir a la carpeta de la descarga (posiblemente el home o el directorio Downloads o Descargas) y ejecutar el comando:
xattr -c NOIRLab-IRAF-v2.18.dmg
Hacer Doble-click sobre el fichero .dmg para abrirlo.
Arrastrar los varios iconos a la carpeta “Applications”.
Instalación del DS9
También necesitamos el visor de imágenes DS9, que se puede descargar de https://sites.google.com/cfa.harvard.edu/saoimageds9/download?authuser=0.
Es importante escoger la opción “AQUA” correspondiente a la versión del sistema operativo y tipo de CPU que tenemos en nuestro Mac (suponemos que la versión Sonoma valga también para Sequoia). Leer bien el apartado “IMPORTANT- READ ME” y correr los comandos allí comentados.
Primero pasos
Para activar IRAF y PyRAF, es necesario lanzarlos la primera vez directamente desde “Applications” clickeando en el icono correspondiente (debería ser suficiente lanzar IRAF). Esto en teoría configura el entorno del usuario para luego utilizarlos desde línea de comando (aunque parece que a algún usuario del IAC no le ha funcionado correctamente).
Si todo ha funcionado como esperado, en el fichero .zshrc deberíamos tener algunas líneas iguales o similares a las de abajo (obviamente con un nombre de usuario distinto):
# Add iraf setup commands if [ -e /Users/sieadm/.iraf/setup.sh ]; then export iraf=/Applications/IRAF.app/Contents/iraf-v218/ export IRAFARCH=macintel source /Users/sieadm/.iraf/setup.sh fi
Comprobamos además que se ha creado una carpeta llamada .iraf dentro de nuestro home, con el contenido en figura:
Troubleshooting: Si al pinchar sobre la Aplicación IRAF o PyRAF salta un aviso del tipo: “The application Finder does not have permission to open (null)” (o su equivalente en castellano), se trata de alguna nueva medida de seguridad implementada en la versión más reciente de macOS. Según https://forums.macrumors.com/threads/finder-does-not-have-permission-to-open-null.2441374/, la solución es ejecutar los comandos:
codesign --remove-signature /Applications/IRAF.app
codesign --force --deep --sign - /Applications/IRAF.app
y lo mismo para PyRAF.app y eventuales otras aplicaciones que dieran el mismo error.
Parche: si a pesar de los comandos de arriba IRAF siguiera sin funcionar, y salieran mensajes de error al hacer click sobre la aplicación IRAF o PyRAF, se puede intentar usar el parche siguiente (que genera la subcarpeta ~/.iraf con el contenido necesario para usar PyRAF). Bajarse el fichero https://research.iac.es/ensenanza/wikiCCA/uploads/Main/iraf_mac_install_patch.bash, darle permiso de ejecución y luego ejecutarlo
chmod +x iraf_mac_install_patch.bash
./iraf_mac_install_patch.bash
Uso de PyRAF/IRAF
Para lanzar el entorno de Python que incluye IRAF y PyRAF, tecleamos:
pyraf_python
y luego, para comprobar que PyRAF funciona correctamente:
from pyraf import iraf iraf.imstat("dev$pix") # (dev$pix es una imagen de prueba incluida en la distribución # IRAF, y este comando saca la estadística de la imagen).
Parece que esta versión de PyRAF, aunque se lance desde otra carpeta, por defecto usa el directorio home. Por tanto, si tenemos los datos en otro directorio, por ejemplo en /Users/nombreusuario/TOB2024/datos/, nada más arrancar python con el comando de arriba escribiremos:
from pyraf import iraf iraf.cd("/Users/nombreusuario/TOB2024/datos/") # obviamente poner el nombre correcto del directorio. iraf.pwd() # esto para comprobar que estamos en el directorio correcto.
Nota: si al importar iraf nos sale el mensaje: “Could not import aqutil, Limited graphics available on OSX”, en principio no hay que preocuparse, ya que parece que la interacción gráfica funciona correctamente.
También tenemos que usar pyraf_python para ejecutar scripts de
PyRAF desde la terminal, por ejemplo:
pyraf_python script.py
Cambio de algunos parámetros
Conviene cambiar el valor por defecto de algunas variables de IRAF, la mejor forma de hacerlo es editar el fichero ~/.iraf/loginuser.cl y añadir las líneas siguientes:
reset imdir = "HDR$" # default: HDR$pixels/
reset printer = lwcca # impresora del CCA
reset stdplot = psi_land # default: lw (psi_land means: landscape postscript)
reset stdimage = imt8192 # default: imt800
# Preload useful packages
noao
imred
ccdred
onedspec
twodspec
longslit
# Work around IRAF bug when ccdred.instrument is an empty string (fixed by
# simply inserting a blank)
ccdred.instrument=" "
Troubleshooting
epar
Por un bug de PyRAF no funciona iraf.epar(tarea) para cambiar
interactivamente sus parámetros (no se abre ninguna ventana y hay
que matar el proceso). Sin embargo parece que se puede aplicacar
la solución descrita en
<https://github.com/iraf-community/pyraf/issues/144>, en el post de
“monodera on Oct 19, 2022”.
En concreto hay que editar el fichero indicado y reemplazar las líneas
marcada en rojo con las marcadas en verde.
Los ficheros a cambiar son:
“/Applications/PyRAF.app/Contents/pyraf-v2.2.1/miniconda3-apple/lib/python3.8/site-packages/pyraf/tools/editpar.py” (para Mac M1-M3, con procesador ARM)
“/Applications/PyRAF.app/Contents/pyraf-v2.2.1/miniconda3-intel/lib/python3.8/site-packages/pyraf/tools/editpar.py” (para Mac con procesador Intel)
loginuser.cl
Por alguna inconsistencia en el fichero ~/.iraf/login.cl, el fichero loginuser.cl que se halla dentro del directorio ~/.iraf/ es ignorado, y PyRAF lo intenta buscar en el home del usuario. Lo solución más fácil es crear un symlink en el home, de la forma siguiente:
cd ~/
ln -sf .iraf/loginuser.cl
Visualizar ficheros postscript
Antiguamente el comando open de Mac permitía visualizar ficheros
postscript (los que habitualmente tienen extensión .ps o .eps), pero
parece que en las versiones más recientes de macOS ya no. La
mejor solución es instalar y usar el programa Skim
Para que un fichero postscript siempre se abra con este programa, seguir
los pasos indicados en
https://support.apple.com/guide/mac-help/choose-an-app-to-open-a-file-on-mac-mh35597/mac