Skip to content

Latest commit

 

History

History
171 lines (124 loc) · 6.44 KB

Installing.rst

File metadata and controls

171 lines (124 loc) · 6.44 KB

Installing the software

Hardware requirements

runs in (ANSI) text-mode from a shell. A window system is not necessary for basic operation.

The amount of memory required depends mostly on the size of the input catalogues and on the number of exposures and astrometric “contexts” (stable instruments) involved in the astrometric solution. Each detection in the input catalogues amounts to about 140 bytes, plus a few tens of kbytes for every FITS table. To this one should add the memory space used by the normal equation matrix, which is $8 \times N_{\rm T}^2$ bytes, with, in the default configuration,

$$N_{\rm T} = N_{\rm ast} \times N_{\rm arr} \times N_{\rm P_{arr}} + (N_{\rm exp} - N_{\rm ast}) \times N_{\rm P_{foc}},$$

where $N_{\rm arr}$ is the number of focal plane arrays (extensions) in each exposure, $N_{\rm P_{arr}}$ the number of polynomial terms describing the static distortion pattern of each array (20 for a $3^{\rm rd}$ in x and y), $N_{\rm P_{\rm foc}}$ the number of polynomial terms for the exposure-dependent focal plane distortion pattern, and $N_{\rm exp}$ the number of exposures. Actually one should probably double the memory space used by the normal equation matrix to account for buffers in the ATLAS library. It is not uncommon to see memory usage amounting to gigabytes when many large mosaic exposures are involved. For instance, computing an astrometric solution with $N_{\rm P_{arr}}=60$ and $N_{\rm P_{\rm foc}}=6$ for a set of 500 exposures of a 60-CCD camera, each with 10,000 detections, spread over three runs and five bands, may consume as much as 8GB of memory.

Although multiple CPU cores are not required for running , they can dramatically reduce execution time, especially when the solution is computed over a large number of exposures.

Obtaining

For Linux users, the simplest way to have up and running is to install the standard binary package the comes with your Linux distribution. Run, e.g., apt-get scamp (on Debian) or dnf scamp (Fedora) and , as well as all its dependencies, will automatically be installed. If you decided to install the package this way you may skip the following and move straight to the next section <using_SCAMP>.

However if is not available in your distribution, or to obtain the most recent version, the source package can be downloaded from the official GitHub repository . One may choose one of the stable releases, or for the fearless, a copy of the current master development branch.

Software requirements

has been developed on GNU/Linux machines and should compile on any POSIX-compliant system (this includes _ and Cygwin on _, at the price of some difficulties with the configuration), provided that the development packages of the following libraries have been installed:

  • _ V3.6 and above1,
  • _ V3.0 and above2,
  • _ V5.9 and above.

On Fedora/Redhat distributions for instance, the development packages above are available as atlas-devel, fftw-devel and plplot-devel. is only required for producing diagnostic plots. Note that and are not necessary if is linked with 's _ library.

Installation

To install from the source package, you must first uncompress the archive:

$ unzip scamp-<version>.zip

A new directory called scamp-<version> should now appear at the current location on your disk. Enter the directory and generate the files required by the autotools, which the package relies on:

$ cd scamp-<version>
$ sh autogen.sh

A configure script is created. This script has many options, which may be listed with the --help option:

$ ./configure --help

No options are required for compiling with the default GNU C compiler (gcc) if all the required libraries are installed at their default locations:

$ ./configure

Compared to gcc and the librairies above, the combination of the compiler (icc) and the _ libraries can give the executable a strong boost in performance, thanks to better vectorized code. If icc and the are installed on your system3 , you can take advantage of them using

$ ./configure --enable-mkl

Additionally, if the binary is to be run on a different machine that does not have icc and the installed (e.g., a cluster computing node), you must configure a partially statically linked executable using

$ ./configure --enable-mkl --enable-auto-flags --enable-best-link

In all cases, can now be compiled with

$ make -j

An src/scamp executable is created. For system-wide installation, run the usual

$ sudo make install

You may now check that the software is properly installed by simply typing in your shell:

$ scamp

which will return the version number and other basic information (note that some shells require the rehash command to be run before making a freshly installed executable accessible in the execution path).


  1. Use the --with-atlas and/or --with-atlas-incdir options of the configure script to specify the library and include paths if files are installed at unusual locations.

  2. Make sure that has been compiled with configure options --enable-threads --enable-float.

  3. The Linux versions of the compiler and are available for free to academic researchers, students, educators and open source contributors.