Pipeline installation and setup
===============================
The pipeline comprises a single Python file to be run using `CASA `_.
The pipeline script does not require installation per se, but must be executed
when starting a new CASA process or session. The instructions below detail how
to download the script, setup the correct pathes and directories, and execute
the script.
CASA compatibility
------------------
The pipeline script can be used with the "monolithic" versions of CASA v5 (Python 2) or
CASA v6 (Python 3). These are the versions of CASA downloaded from the main website.
The pipeline has been most extensively tested under CASA v5.6 (the current Calibration
Pipeline release), but has been tested to at least nominally work under CASA v6.2.
We recommend using CASA v5.6 (or the latest v5 release) for consistency and accuracy.
The "Standard Products" to be distributed to the ALMA Archive are made using CASA v5.6.
The script may also be run using the
`casatasks `_
and `casatools `_
Python 3 library modules.
The latter may be installed into the user's Python environment by running
``pip install --user casatasks casatools``,
preferably within a project-specific virtual environment.
Downloading the pipeline
------------------------
The pipeline comprises a single Python source file, ``faust_imaging.py``, that
may be downloaded either by downloading the repository from `GitHub
`_ as a Zip archive or by
cloning the repository using Git:
.. code-block:: bash
git clone https://github.com/autocorr/faust_line_imaging
# this will create the directory "faust_line_imaging" in the current
# working directory.
Updates to the script from the main repository can be automatically merged by
running ``git pull`` from the repository. To modify the source and have those
changes reflected in the main repositry, please `fork
`_
the above repository on
GitHub and file a `pull request
`_.
Paths and directory setup
-------------------------
The pipeline script currently requires an explicit directory structure to read
the measurement sets and write out the images. Essential global paths are set
by the user in the configuration file ``faust_imaging.cfg``. The contents of
the template file included in the source repository are written below:
.. code-block:: cfg
# This is the user configuration file for the FAUST archival imaging pipeline.
# Edit this file with settings appropriate for your host system and place it in
# the directory specified by PROD_DIR.
[Paths]
# Specify where the measurement set files/directories are located. The MSs
# for a field should follow the directory structure:
# /-Setup/*.ms
# e.g.,
# /scratch/faust/CB68-Setup1/*.ms
DATA_DIR=/lustre/aoc/users/USER/FAUST/2018.1.01205.L/completed_SBs/
# Specify where CASA is to be run and also the base-path where products
# are to be written.
PROD_DIR=/lustre/aoc/users/USER/faust/faust_alma/data/
Copy the template ``faust_imaging.cfg`` file from the repository into
the directory where CASA is to be run from (``PROD_DIR``) and edit
the paths appropriately for your host system. This file will be read
when the pipeline script is executed in CASA. Sub-directories for images
cubes, moments, and plots will be automatically generated.
Visualizing the directory structure as a tree, the file hierarchy would
be organized:
.. code-block:: none
///DATA_DIR/ <- location on user's system
- CB68-Setup1 <- MS files per target per setup
- CB68-Setup2
- ...
///PROD_DIR/ <- location on user's system
- images/ <- these will be made automatically
+ CB68/ <- image cubes and products per target
+ L1527/
+ ...
- moments/
+ CB68/ <- moment maps per target
+ L1527/
+ ...
- plots/ <- diagnostic and QA plots
Some CASA tasks do not work using absolute paths, so please ensure that the
pipeline script is run from the directory specified by ``PROD_DIR``. The
measurement set files should be present in the directories:
.. code-block:: bash
$DATA_DIR/-Setup1/
$DATA_DIR/-Setup2/
$DATA_DIR/-Setup2/
where ```` is the FAUST target field name, e.g. "CB68" or "L1527".
The calibrated measurement sets may be downloaded from RIKEN. The names may be
found in the ``ALL_TARGET_NAMES`` global variable, I retrieved these values
from the proposal, so they may be inconsistent for some targets. The paths
above may modified directly by editing the format string attribute
``DataSet.ms_fmt``.
Executing the script
--------------------
Ensure that the script can be properly executed from within CASA by starting
CASA from the directory set in ``PROD_DIR``. The pipeline script can then be
executed and all functions/symbols brought into scope using the ``execfile``
command:
.. code-block:: python
# using a relative path
execfile('..//faust_line_imaging/faust_imaging.py')
# or alternatively using an absolute path
execfile('///faust_line_imaging/faust_imaging.py')
This ``execfile`` command needs to be run whenever starting CASA or when
the pipeline script source code is modified. Note that the ``execfile``
command can also be performed within "recipe" scripts that are themselves run
with ``execfile`` in CASA.
Notes for MacOS users
---------------------
MacOS users will likely need to run the command ``ulimit -Sn 8000`` from the
shell before starting CASA. This command increases the maximum number of files
that may be opened at once.
Next steps
----------
Congratulations! Now that the environment is setup, please now refer to the
:doc:`User Guide ` or click the "Next" button for instructions on
running the pipeline.