FIMS: Download and Installation

The FORS Instrumental Mask Simulator (FIMS) is a SkyCat plugin to specify the FORS instrumental setup (e.g. the 19 slit positions in MOS) during Phase 2 Proposal Preparation. FIMS creates and manages the instrumental setup by Target Setup Files (TSFs). These TSFs can be loaded by the p2 tool to become part of an Observation Block (OB) for FORS. For further information, see the FIMS User Manual.



Important Note concerning Releases

The current release of FIMS is P107. It has been updated to use Skycat-3.1.4 (which fixes an issue preventing downloading of images and catalogues from archive.eso.org).

Supported Platforms

The current FIMS release is available via the ESO Software repositories for macOSFedoraScientific Linux and CentOS (if you have already installed ESO pipelines via RPM or Macports, you already have these repositories enabled) See here for details of which versions are currently supported. We are also supporting on an experimental (meaning best-effort-support) basis Redhat Enterprise 7 and some Ubuntu releases. It is also possible to use the Ubuntu or RPM repositories on Debian package or RPM package based systems not directly supported by the above. Please see the Using ESO Mac and Linux software repositories page for more details.

FIMS is also available as a source-only tarball which also includes the appropriate SkyCat version (3.1.4) and an additional plugin for making ESO-compliant finding charts. Users with non-repository-supported versions of Linux (including 32-bit) can use this install method to install FIMS.

In case you encounter problems installing and/or running FIMS, please contact the ESO's User Support Department (USD) for assistance.

Downloading and installing FIMS

As of Period 102 we recommend all users of FORS2 upgarde to the latest version of FIMS.

ESO Mac & Linux software repositories

To install the relevant repository, please follow the relevant instructions at ESO Mac & Linux software repositories, in the final instruction for each OS/distribution replace the generic <package_name> with eso-fors-fims. e.g. one of the following commands, as appropriate for your OS/distribution:

sudo port install eso-fors-fims
sudo dnf install eso-fors-fims
sudo yum install eso-fors-fims
sudo apt-get install eso-fors-fims

Once installed, see the instructions for use here.

Some older versions (with package names eso-fors-fims-P101 & eso-fors-fims-P102) are still available from the ESO repositories for some distributions but these should not be used.

Installation kit and software prerequisites

Please download the following tarball:

The FIMS tool is a plug-in to the Skycat 3.1.4 tool, which itself relies on the Tcl/Tk interpreter. The above tarball is self-contained and includes Skycat and the Tcl/Tk engine, so that you do not need to install those additional pieces of software beforehand.

However the installation and execution of FIMS does require a certain number of system libraries to be pre-installed on your machine. Please make sure the following relevant software packages are installed on your computer before going any further otherwise the installation process will fail.

32 & 64-bit systems

You will need to install a CC and C++ compilers and X11 fonts.

RPM based distributions (e.g. Fedora, Redhat, Scientific Linux)

Assuming you have administrator privileges, then in a terminal execute the following command:

sudo yum install gcc-c++ libXext-devel xorg-x11-fonts-100dpi xorg-x11-fonts-75dpi

Package names and installer commands may vary depending on the distribution, for example on OpenSuse, use:

sudo zypper install gc++ libXext6-dev xorg-x11-fonts

Debian-Pkg based distributions (e.g. Debian, Ubuntu)

Assuming you have administrator privileges, then in a terminal execute the following command:

sudo apt-get install g++ libxext6-dev xfonts-100dpi xfonts-75dpi

Installing FIMS

  • To make it easier to manage the software (e.g., making it easier to remove), we strongly recommend that you "isolate" FIMS in it's own directory, e.g.

    mkdir -pv ${HOME}/FIMS/P107
    cd ${HOME}/FIMS/P107

    The exact location is not important, but the above is a good suggestion. In the following we assume you have created this directory and changed into it, as above.

  • Once you have downloaded the FIMS tarball, unpack it by executing:
    gunzip -c fimsLIN64_P107.0.tar.gz | tar xvf -

    This will create four files in the current working directory:

    fimsLIN64.tar.gz
    fims_install.sh
    bash_library.sh
    README_P102

    Even if you have a 32-bit, system, you still need the 64-bit package (it's the only one) but don't worry, the source code is identical

  • Build and install the software:

    bash
    export HOME=$(pwd)
    ./fims_install.sh $HOME
    exit

    Follow the instructions on the screen. The install script MUST be run from the directory where the FIMS tarball was extracted. If you don't specify the install directory (the $(pwd) argument above) the installation script will first ask you where you want to install the FIMS tool, this directory is referred to below as the FIMS installation directory. The default directory is the current working directory, but you can specify any other directory provided you have write access to it. The script will complain if this condition is not met.

    It will then try to identify the CC and C++ compilers to use. It will then try to guess where the Perl interpreter is located on your machine, so as to adapt two auxiliary scripts to your local configuration. If it doesn't find the perl executable in your path, the script will offer you to provide this information by hand. However, the script language Perl is not mandatory for FIMS. The two scripts are only to create Postscript files from a MXU setup of FORS2. You can thus choose to skip this step (just press <Enter>) if you do not need this functionality.

    The script will then proceed with the installation of the tool. At the end of the installation, the full path to the startup script needed to launch FIMS (fims.sh) is displayed. The script will automatically create a shortcut for you, see the on-screen instructions.
    The script will install the software into the specified directory under a sub-directory (fimsLIN64 even on 32-bit systems) AND a number of additional files in sub-directories of your home directory ($HOME, or ${HOME}/FIMS/P107 if you followed all the instructions above) which it will create if they do not exist.
    bin
    binfims
    .fims
    libfims

  • If you no longer need FIMS, then if you installed into a dedicated directory (as above, ${HOME}/FIMS/P102) you can simply remove that entire directory, e.g.:
    rm -fr ${HOME}/FIMS/P102 Otherwise you can remove the software by following the procedure below:
    1. Change directory to the directory where the FIMS installation directory
    2. Source the uninstall script generated by the fims_install.sh script at the time you installed the software:
      source fimsLIN64/fimsLIN64.uninstall or source fimsLIN32/fimsLIN32.uninstall The uninstall script will remove the files installed into the sub-directories of the HOME directory, i.e bin, binfims and libfims, but not the sub-directories themselves. You might wish to remove those directories manually: rmdir ${HOME}/bin ${HOME}/binfims ${HOME}/libfims If any of these directories fail to be removed, it is probably because the directory is not empty. It will also NOT remove the directory ${HOME}/.fims. You can also remove this directory, or keep it if you think you might use FIMS again sometime in the future.
    3. Remove the installed software: rm -fr bash_library.sh fims_install.sh fimsLIN64 README_P102 or rm -fr bash_library.sh fims_install.sh fimsLIN32 README_P102

Environment variables for FIMS

FIMS uses a number of environment variables, and provides defaults.They are all defined in the startup script <fims-install-directory>/bin/fims.sh Only FC_DIR can be overwritten by the setenv (or export in bash and ksh in Korn shell) command. All other variables are hard coded in the<fims-install-directory>/bin/fims.sh startup script. Running this script for the first time will create the directory ${INS_USER} and its subdirectories, ${LOG_DIR},${SET_DIR},and ${PREP_DIR} with the defaults given below, if these do not exist already.

  • FIMSROOT: points to the FIMS installation directory
  • INS_ROOT (default is $HOME): this is the root directory for all FIMS output
  • INS_USER (default is .fims): this is the project (user)-related subdirectory
  • LOG_DIR (default is $INS_ROOT/$INS_USER/LOG): the directory where FIMS writes the log-file and the control file for automatic positioning (normally ${HOME}/.fims/LOG)
  • SET_DIR (default is $INS_ROOT/$INS_USER/SET): the directory where FIMS writes the acquisition files. This path variable can be redefined during a fims session [SetUpDir] (normally ${HOME}/.fims/SET).
  • PREP_DIR (default is $INS_ROOT/$INS_USER/PREP): the initial directory to select FITS files to be loaded by SkyCat. The initial directory to select local catalogs be loaded by SkyCat (normally ${HOME}/.fims/PREP).
  • FC_DIR (default is the directory from which SKYCAT was started): the directory in which the finding chart tool saves the jpeg files. This variable is not mandatory.

How to Use FIMS

User Manual

The use of FIMS is described in the FIMS User Manual. It is indispensable for you to read this document, particularly if you are not familiar with the tool yet.

Quick start

FIMS can be started with the FIMS startup script. If installed via the package managers (Macports, RPM, apt-get) the script is fims-P<NNN>.sh. If installed via the kit the script is simply fims.sh. In the following we will assume you have installed via the kit.

To start FIMS type: fims.sh [camera] [skycatoptions] [DEBUG]

  • camera is one digit and controls the CCD for which you prepare your masks.
    B: blue FORS camera
    R: red FORS camera
  • skycat option is a list of SkyCat command line options embedded in a pair of ""-characters
  • DEBUG is an optional flag to print all environment variables of fims.shThis flag is only suitable in case of installation errors.

Examples are (for user smith):

  • fims.sh R (red camera)
  • fims.sh B (blue camera)
  • fims.sh R "-float_panel 1 -file /home/smith/.fims/PREP/test.fits -cat /home/smith/.fims/PREP/objects.ptl" DEBUG
    Starts FIMS for the red camera and specify the command line options for SkyCat. (Here SkyCat loads a fits image and a target catalog). Don't forget to use the double quotes. Additionally all environment variables are shown.

When "fims.sh R" is used, output similar to the following will appear:


Configuring FIMS for FORS Red...

  W E L C O M E     T O     F I M S
 -----------------------------------

 +----------------+                +---------------------+
 | FIMS    312116 |----plugin----> | SkyCatTool    3.1.2 |
 +----------------+                +---------------------+

 +------------------------------------------+
 | last checkin : 2018-07-23 GD 01:42:11 UT |
 | now is       : 2021-10-06 GD 12:23:07 UT |
 | FIMS requires: SkyCat 3.1.2              |
 +------------------------------------------+
 INPUT : /home/smith/.fims/PREP
 OUTPUT: /home/smith/.fims/SET
 LOGS  : /home/smith/.fims/LOG


 skycat -with_grid 1 -scrollbars 1 -rtd 0...
 Loading the graphics features plugin....
 Loading the FIMS plugin...

A FITS image taken with FORS2 (tar.gz file; 5.0 Mbytes) is available for practising with FIMS.

Verification of FIMS

  • Verify the SkyCat version: Press [Help] [About SkyCat]. SkyCat version number must be 3.1.2.
  • Verify the FIMS version: Press [Help] [About FIMS]. FIMS Version number must be 236128 (version P91).
  • If not done so far, load a FITS image with World Coordinates, e.g. with[Data-Servers][Image Servers] [DSS] and a image size of 7 arcmin.
  • With FIMS started for the FORS2 instrument, press [FORS2] [Enter Mode] [MOS] to create the FORS mask for Multi Object Spectroscopy. The output in the run-time window should be similar to:

    NEW MASK --> SkyCat V3.1.2 -->  FIMS V236128 2012-11-30 21:47:34 for FORS2+1
    Executing load_instrument ...
    load_instrument /home/smith/fims-P91/fimsLINUXRH9/config/FORS2.isf
    Closed /home/smith/fims-P91/fimsLINUXRH9/config/FORS2.isf

    filter: none
     filter:         none, good = 21, prio =  2 >> OS filter found ok <<
    Wave Limits:
     INS_DISP: 5.00 (nm/mm)
     FOCSCALE: 1.901679 (arcsec/mm)
     PIX:      0.030 (mm/pix) unbinned
     CCDscale_standard: 0.250124 (arcsec/pix)
     CCDscale_highres:  0.1250626 (arcsec/pix)
     
     FORS CCD Frame
     ==============
     >> 500.0 < 500.0 < 500.0 < 500.0 < 500.0
     >> 500.0 < 500.0 < 500.0 < 500.0 < 500.0 none none
     >>  DISP  50.0 A/mmCCD   1.5 A/pix   6.0  12.0 A/''   3.2   6.3 A/mmfoc
     >>  BLU    0.0 A =    0.0 pixel =    0.0 '' =  0.000 ' =     0.000 mmfoc
     >>  RED    0.0 A =    0.0 pixel =    0.0 '' =  0.000 ' =     0.000 mmfoc
     >>  USD    0.0 A =    0.0 pixel =    0.0 '' =  0.000 ' =     0.000 mmfoc
     >>  SPE    0.0 A =    0.0 pixel =    0.0 '' =  0.000 ' =     0.000 mmfoc
     >> Field Stop total range = 2518.5 A (SR) = 2433.8 A (HR)
     >> CCD total range        = 3085.5 A (SR) = 3083.0 A (HR)
     ==============


    WAVE CONFIG MASK by filter none
    WAVE CONFIG MASK END


    grism: none
     Ok     : Filter does match Grism
     grism:         none, good = 21, prio =  2                    
    Wave Limits:
     INS_DISP: 5.00 (nm/mm)
     FOCSCALE: 1.901679 (arcsec/mm)
     PIX:      0.030 (mm/pix) unbinned
     CCDscale_standard: 0.250124 (arcsec/pix)
     CCDscale_highres:  0.1250626 (arcsec/pix)
     
     FORS CCD Frame
     ==============
     >> 500.0 < 500.0 < 500.0 < 500.0 < 500.0
     >> 500.0 < 500.0 < 500.0 < 500.0 < 500.0 none none
     >>  DISP  50.0 A/mmCCD   1.5 A/pix   6.0  12.0 A/''   3.2   6.3 A/mmfoc
     >>  BLU    0.0 A =    0.0 pixel =    0.0 '' =  0.000 ' =     0.000 mmfoc
     >>  RED    0.0 A =    0.0 pixel =    0.0 '' =  0.000 ' =     0.000 mmfoc
     >>  USD    0.0 A =    0.0 pixel =    0.0 '' =  0.000 ' =     0.000 mmfoc
     >>  SPE    0.0 A =    0.0 pixel =    0.0 '' =  0.000 ' =     0.000 mmfoc
     >> Field Stop total range = 2518.5 A (SR) = 2433.8 A (HR)
     >> CCD total range        = 3085.5 A (SR) = 3083.0 A (HR)
     ==============


    WAVE CONFIG MASK by grism none
    WAVE CONFIG MASK END

    WCS: world_x =    world_y =
    Frameless mode...
    FORS2 at UT1
    NOMINAL SCALE : 0.125062''/p = 3.473944e-05 o/p (SR)  0.062531''/p = 1.736981e-05 o/p (HR)  1.901679''/mm ff (UT)
    world2: Dataless mode
    world2: reference pixel   0.0000   0.0000 512.0000 512.0000
    world2: BONSAI ON
    Mask initialized



    The output is explained in the FORS User Manual

Problem and Bug Reports

Please report all FIMS problems and bugs to the ESO User Support Department  (USD).

Can't enter text in FIMS/SkyCat text fields

On some systems, especially "newer" ones, e.g. Ubuntu 16, Fedora 25, FIMS and SkyCat seem to install and run normally, except that it is not possible to enter any text into any of the text-entry fields. It is usually possible to work-around this by issuing the command

ibus exit

before starting FIMS in the usual way.

Alternatively, as lately this also does not seem to help, logging into X then out and back in again does, at least in some cases, seem to help.

If all else fails, using a different window manager seems to help, Gnome seems not to work at all while KDE does.

WCS keywords in wide field mosaics

At present FIMS does not support WCSs where the CRPIXn keyword value is outside the range 0 < CRPIXn <= NAXISn (ie. outside of the field of view). This is ONLY important for you if you, instead of having obtained new pre-imaging with FORS, are going to use a sub-image extracted from a large field, for instance from a mosaic or from wide field imaging.

This means that despite the fact that the global image may have correctly set WCS, if the mosaic is split and only part of it used for mask preparation with FIMS, the error message "Error: out of coordinate range" will appear if that part of the mosaic does not contain the reference pixel of the center (CRPIX1 and CRPIX2 keywords).

Right handed WCS (North up, East to the right)

FIMS does not treat properly the images taken with other telescopes/instruments if they have WCS oriented with North up and East to the right. In order to prepare a correct FIMS setup files a possible work-around is to edit the WCS, and therefore modify the image so that it has the "standard" orientation with North up and East to the left. This should be done with care in case of significant distortions in the images. If unsure of the distortions, it is better to take new pre-images with FOFRS2.

Can’t parse FIMS data

Sometimes when verifying MOS or MXU OBs that contain FIMS files, you may get the following errors:


error (OB): Incorrect format: couldn't parse FIMS data in INS.TARG.SETUP !
error (OB): Incorrect format: couldn't parse FIMS data in INS.FOCF.SETUP !

The cause is thought to be in some hidden characters in the file. An easy way to solve this is to export the OBs, delete them from P2PP and then reimport them.

 


Instrument selector

This page is specific to FORS

FIMS