GOTO-OBS / obs_goto

LSST stack interface for GOTO.
7 stars 3 forks source link

An LSST Obs package for the GOTO wide-field survey

This obs package tells the LSST stack how to process data taken with the GOTO telescope. It describes:

and includes various python scripts in python/lsst/obs/goto/ which the stack uses to interact with the data.

To use this obs package, you first need to install the LSST stack on your system. Installation instructions are provided at: https://pipelines.lsst.io/install/lsstsw.html

(Edit: Recently, the lsst-build installation that the above link points to has been failing on our systems, despite us following the same procedures as we did when installing previous versions of the stack. We've instead moved over to the newinstall.sh installation system described at https://pipelines.lsst.io/install/newinstall.html , which seems to work fine).

I prefer to install and run the stack within the Bourne-again shell (bash); when I first started using the LSST stack, I tried to run it under C-shell, but it failed. I could only get it to work using bash, and I've stuck with that ever since. I also recommend that you run the lsstsw/bin/setup.sh script each time you open a new shell by adding the command to your .bashrc file (the following instructions assume that you have done so, and that you're also using bash).

After the install script has finished running, you must clone this repository into the stack. From within the directory you called the install script from, execute the following:

cd lsstsw/stack/Linux64
git clone git@github.com:GOTO-OBS/obs_goto.git

Next, you must tell the stack how to find obs_goto. This is done using the eups versioning system (which is installed as part of the stack). At the (bash) command line execute:

eups declare obs_goto v1 -r /full/path/to/lsstsw/stack/Linux64/obs_goto
eups declare -t current obs_goto v1

With the second command telling the stack to use version v1 by default.

Once obs_goto has been declared, it can be setup, which must be done in order to use it to process your data. Setting up is done using:

setup obs_goto

Once setup, you can use obs_goto to process your GOTO data with the LSST stack.

In summary, the following block of bash commands will:

Assuming all your raw data is contained within ./rawData:

#!/bin/bash
mkdir -p DATA/CALIB
echo "lsst.obs.goto.gotoMapper.GotoMapper" > DATA/_mapper

ingestImages.py DATA ./rawData/*.fits --mode=link --ignore-ingested

constructBias.py DATA --calib DATA/CALIB --output=Cals --id dataType=BIAS --cores=6 --clobber-config
ingestCalibs.py DATA --calib DATA/CALIB 'Cals/BIAS/NONE/*.fits' --validity 180

constructDark.py DATA --calib DATA/CALIB --output=Cals --id dataType=DARK --cores=6 --clobber-config
ingestCalibs.py DATA --calib DATA/CALIB 'Cals/DARK/NONE/*.fits' --validity 180

constructFlat.py DATA --calib DATA/CALIB --output=Cals --id dataType=FLAT filter=G --cores=6 --clobber-config
ingestCalibs.py DATA --calib DATA/CALIB 'Cals/FLAT/*/*.fits' --validity 180 --config clobber=True

singleFrameDriver.py DATA --rerun outSFD --calib DATA/CALIB --id filter=G --clobber-config --cores 6
makeDiscreteSkyMap.py DATA --rerun outSFD:outMDSM --id filter=G --clobber-config
coaddDriver.py DATA --id filter=G --cores 6 --rerun outMDSM:outCD --clobber-config
multiBandDriver.py DATA --id filter=L dateObs=2018-07-22 --cores 6 --rerun outCD:outMBD --clobber-config

Other filters can be processed via filter=X within the --id block.