This page describes the instructions to install and run dsimulator in a Docker container. The installation instructions and dsimulator utilization have been tested on macOS Big Sur v11.5.2.
Installation
Install the Docker Desktop from https://www.docker.com/products/docker-desktop . You can create a Docker account, but it is not a requirement.
Open Docker Desktop → Preferences… → General. UncheckUse gRPC FUSE for file sharing. The Docker will take 100% of the CPU resources if this option is not disabled.Open Docker Desktop → Preferences… → Experimental Features. Uncheck all features.
Install XQuartz for X11 forwarding from https://www.xquartz.org/
Open XQuartz → Preferences… → Security. Select Allow connections from network clients.
Install IRAF/Pyraf Docker container. We are assuming the container will be installed in $HOME:
cd $HOME
cd iraf_docker
./build.sh
Install dsimulator in the iraf_docker directory:
mkdir deimos
cd deimos
Download tarball containing dsimulator (deimos_rev0b.tar) from https://www.keck.hawaii.edu/realpublic/inst/deimos/dsim.html
mv ~/Downloades/deimos_rev0b.tar .
tar -xvf deimos_rev0b.tar
cd ..
Add the following two lines to $HOME/iraf_docker/login.cl
set deimos = "/home/iraf/data/deimos/"
task deimos = deimos$deimos.cl
There may be other options that you might want to set on the $HOME/iraf_docker/login.cl file, such as:
set editor = vi
set stdimage = imt4096
set stdimcur = stdimage
set imtype = "fits"
Running Pyraf in the container
Change to your working data directory and launch Pyraf:
cd $YOUR_WORKING_DATA_DIRECTORY
$HOME/iraf_docker/pyraf2
The Pyraf prompt (
-->
) will appear in a few seconds.Your working data directory will be mounted on the
/home/iraf/data
.pwd
will show/home/iraf/data
.ls
will show all the files and directories within your working data directory.
Load the
deimos
package, edit the dsimulator parameters and launch dsimulatordeimos
epar dsim
dsim
Important notes
The login.cl
file and uparm
directory are located in /home/iraf
. These files are regenerated every time that you exit Pyraf and launch it again. To avoid losing the task parameters you are working on, you will need to use the saveParList()
and setParList()
methods in Pyraf:
To save the current parameters:
iraf.deimos.dsimulator.saveParList("myparams.par")
To set the parameters in
myparams.par
:iraf.deimos.dsimulator.setParList("myparams.par")
To set the parameters in
myparams.par
and launch dsimulator:irad.deimos.dsimulator(ParList="myparams.par")