diff --git a/LICENSE b/LICENSE index 2ed407bab5..8b7e96aaf0 100644 --- a/LICENSE +++ b/LICENSE @@ -6,7 +6,7 @@ whether written by AURA or third parties. ----- -Copyright (C) 2014-2021 Association of Universities for Research in Astronomy, Inc. (AURA) +Copyright (C) 2014-2024 Association of Universities for Research in Astronomy, Inc. (AURA) Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: diff --git a/README.md b/README.md index bacf271d34..ba543d59e2 100644 --- a/README.md +++ b/README.md @@ -11,18 +11,18 @@ # Current Status -**The stable version is v3.1.0.** +**The stable version is v3.2.0.** -[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.7776065.svg)](https://doi.org/10.5281/zenodo.7776065) DRAGONS is distributed as a conda package, *dragons*, and it is +[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.10841622.svg)](https://doi.org/10.5281/zenodo.10841622) DRAGONS is distributed as a conda package, *dragons*, and it is included in the conda *gemini* stack. -Version 3.1 is recommend for the reduction of **imaging** data from Gemini's -current facility instruments: GMOS, NIRI, Flamingos-2, and GSAOI, and for the -reduction of GMOS longslit spectroscopy data. +Version 3.2 is recommend for the reduction of **imaging** data from Gemini's +current facility instruments: GMOS, NIRI, Flamingos-2, and GSAOI, for the +reduction of GMOS longslit spectroscopy data, and the reduction of GHOST data. To reduce other types of Gemini spectroscopy data, please continue to use -the [Gemini IRAF package](https://gemini.edu/observing/phase-iii/reducing-data/gemini-iraf-data-reduction-software). +the [Gemini IRAF package](https://www.gemini.edu/observing/phase-iii/reducing-data/gemini-iraf-data-reduction-software). To install DRAGONS: @@ -38,7 +38,7 @@ $ conda config --add channels http://astroconda.gemini.edu/public ``` -A list of changes since 3.0 can be found in the [Change Logs](https://dragons.readthedocs.io/en/v3.1.0/changes.html). +A list of changes since 3.1 can be found in the [Change Logs](https://dragons.readthedocs.io/en/v3.2.0/changes.html). --- # What is DRAGONS @@ -51,9 +51,9 @@ reduction of Gemini data. --- # Documentation -Documentation on DRAGONS v3.1 is available on "readthedocs" at: +Documentation on DRAGONS v3.2 is available on "readthedocs" at: -* https://dragons.readthedocs.io/en/v3.1.0/ +* https://dragons.readthedocs.io/en/v3.2.0/ There your will find manuals for Astrodata and the Recipe System, and hands-on tutorials on reducing Gemini imaging data with DRAGONS. @@ -69,12 +69,12 @@ manuals. # Setting up a development environment To run checkouts, first set up a development conda environment. This is what -we are using at this time for the `master` branch and the `release/3.1.x`, -`release/3.2.x` branches. +we are using at this time for the `master` branch and the `release/3.2.x` +branches. ``` -$ conda create -n dgdev3.10_20240201 python=3.10 astropy=6 astroquery matplotlib numpy psutil pytest python-dateutil requests scikit-image scipy sextractor sqlalchemy ds9 gwcs specutils sphinx sphinx_rtd_theme bokeh holoviews cython future astroscrappy=1.1 fitsverify imexam -$ conda activate dgdev3.10_20240201 +$ conda create -n dgdev3.10_20240401 python=3.10 astropy=6 astroquery matplotlib numpy psutil pytest python-dateutil requests scikit-image scipy sextractor sqlalchemy ds9 gwcs specutils sphinx sphinx_rtd_theme bokeh holoviews cython future astroscrappy=1.1 fitsverify imexam +$ conda activate dgdev3.10_20240401 $ pip install git+https://github.com/GeminiDRSoftware/GeminiObsDB.git@release/1.0.x $ pip install git+https://github.com/GeminiDRSoftware/GeminiCalMgr.git@release/1.1.x ``` diff --git a/astrodata/doc/.readthedocs.yaml b/astrodata/doc/.readthedocs.yaml index 292008f502..02f76b790d 100644 --- a/astrodata/doc/.readthedocs.yaml +++ b/astrodata/doc/.readthedocs.yaml @@ -27,4 +27,6 @@ sphinx: python: install: - requirements: requirements.txt - - requirements: doc/requirements.txt \ No newline at end of file + - requirements: doc/requirements.txt + - method: pip + path: . \ No newline at end of file diff --git a/astrodata/doc/cheatsheet.rst b/astrodata/doc/cheatsheet.rst index 7f2822bd53..98c351c159 100644 --- a/astrodata/doc/cheatsheet.rst +++ b/astrodata/doc/cheatsheet.rst @@ -13,7 +13,7 @@ Cheat Sheet A data package is available for download if you wish to run the examples included in this cheat sheet. Download it at: - ``_ + ``_ To unpack:: diff --git a/doc/DRAGONS/changes.rst b/doc/DRAGONS/changes.rst index 591085f79b..1a9f0aef90 100644 --- a/doc/DRAGONS/changes.rst +++ b/doc/DRAGONS/changes.rst @@ -16,10 +16,12 @@ New Features ------------ Full support for the reduction of GHOST data. - This is based on the external GHOSTDR package, with improvements and - changes to the names and scope of primitives to better align with the + This is based on the external GHOSTDR package, with important improvements. + Includes changes to the names and scope of primitives to better align with the other instrument recipes. +Support for new GMOS-S CCDs installed in late 2023. + Improvements ------------ **astrodata.wcs** @@ -28,7 +30,16 @@ Improvements * Support for reading and writing tabular wavelength information to/from FITS. -**geminidr** +**astrodata.provenance** + +* Renamed the ``PROVHISTORY`` table to ``HISTORY``, and changed wording in the +code from "provenance history" to simply "history". + +**astrodata.fits** + +* Support reading ASCII tables when opening FITS files with astrodata + +**geminidr.core** * Creation of new ``skip_primitive`` parameter, e.g., ``reduce -p skyCorrectFromSlit:skip_primitive=True`` which allows any @@ -40,51 +51,47 @@ Improvements ``reduce -p ADUToElectrons:write_outputs=True`` which will write to disk the outputs of the primitive. +* Allow input files to ``shiftImages`` to recognize tabs or multiple + whitespaces as the delimiter + +**geminidr.gsaoi*** + +* Modification to the `nostack` science recipe to not "store" the image but + rather continue and detect sources in the images in anticipation of the likely + stacking that will follow later. The output images will have the + `_sourcesDetected` suffix rather than the `_image` suffix. + +**recipe_system.cal_service** + +* Whitespace now allowed in directory paths (if quoted), e.g., + ``databases = "~/.my dragons/dragons.db"`` + Bug fixes --------- -**geminidr** +**geminidr.core** * Set default ``calculateSensitivity.bandpass`` parameter to 0.001 nm to better handle pure spectra in flux density units. -* Allow ``display`` to handle non-standard extention names, which did not +* Allow ``display`` to handle non-standard extension names, which did not work as intended. +**geminidr.gmos** + +* Fix the QE model selection for the GMOS-S EEV CDDs. **recipe_system** * Set the ``engineering`` flag to False for all data stored in the local calibration database, to ensure that it can be retrieved. +Compatibility +------------- +**geminidr.interactive** -3.1.1 -===== - -Improvements ------------- - -**astrodata.provenance** - -* Renamed the ``PROVHISTORY`` table to ``HISTORY``, and changed wording in the -code from "provenance history" to simply "history". - -**geminidr.core** - -* Allow input files to ``shiftImages`` to recognize tabs or multiple - whitespaces as the delimiter - -**recipe_system.cal_service** - -* Whitespace now allowed in directory paths (if quoted), e.g., - ``databases = "~/.my dragons/dragons.db"`` - -Bug Fixes ---------- - -**geminidr.gmos** +* The interactive tools are now compatible with and require bokeh v3 and above. -* Fix the QE model selection for the GMOS-S EEV CDDs. 3.1.0 diff --git a/doc/DRAGONS/conf.py b/doc/DRAGONS/conf.py index ee2bef1434..acec806647 100644 --- a/doc/DRAGONS/conf.py +++ b/doc/DRAGONS/conf.py @@ -294,6 +294,7 @@ def setup(app): .. |GNIRSImgTut| replace:: :raw-html:`GNIRS Keyhole Imaging Data Reduction Tutorial` .. |GMOSLSTut| replace:: :raw-html:`GMOS Longslit Data Reduction Tutorial` +.. |GHOSTTut| replace:: :raw-html:`GHOST Data Reduction Tutorial` .. |ADMaster| replace:: :raw-html:`Astrodata Manual` .. |ADCheat| replace:: :raw-html:`AstroData Cheat Sheet` diff --git a/doc/DRAGONS/dragonsteam.rst b/doc/DRAGONS/dragonsteam.rst index afb2c97f72..4a53d5d280 100644 --- a/doc/DRAGONS/dragonsteam.rst +++ b/doc/DRAGONS/dragonsteam.rst @@ -10,13 +10,14 @@ Current DRAGONS Team ==================== (Alphabetical order) +* Dan Avner * Daniel Berke * Paul Hirst -* David Jones * Kathleen Labrie * Chris Simpson * Olesja Smirnova * Monika Soraisam +* D.J. Teal * James Turner * Bill Vacca diff --git a/doc/DRAGONS/index.rst b/doc/DRAGONS/index.rst index 15452a499e..c73a012a2b 100644 --- a/doc/DRAGONS/index.rst +++ b/doc/DRAGONS/index.rst @@ -34,8 +34,9 @@ Tutorials - Reducing data with DRAGONS * |GSAOIImgTut| * |GNIRSImgTut| -**Longslit Spectroscopy** +**Spectroscopy** +* |GHOSTTut| * |GMOSLSTut| DRAGONS Manuals diff --git a/doc/DRAGONS/releasenotes.rst b/doc/DRAGONS/releasenotes.rst index de8dfe3802..20d4bb6cfc 100644 --- a/doc/DRAGONS/releasenotes.rst +++ b/doc/DRAGONS/releasenotes.rst @@ -6,6 +6,37 @@ Release Notes ************* +V3.2.0 +====== + +This release adds: + +* Fully integrated support for GHOST +* Support for the new GMOS-S CCDs that were installed in late 2023 + +The release also includes a number of other improvements and bug fixes. +See the :ref:`changes` for all the details. + +With this release, DRAGONS offers support for: + +Science Quality reduction + * GMOS imager + * NIRI imager + * GSAOI imager + * F2 imager + * GMOS longslit spectrograph (including nod-and-shuffle) + * GHOST spectrograph + +For imaging and GMOS longslit spectroscopy, this software should be used +instead of the Gemini IRAF package. + +To install DRAGONS, please follow the installation guide provided in the +Recipe System User Manual: + + |RSUserInstall|. + + + V3.1.0 ====== diff --git a/gemini_instruments/f2/adclass.py b/gemini_instruments/f2/adclass.py index ffbe111a07..dcaccdd2d5 100644 --- a/gemini_instruments/f2/adclass.py +++ b/gemini_instruments/f2/adclass.py @@ -14,7 +14,6 @@ class AstroDataF2(AstroDataGemini): __keyword_dict = dict(central_wavelength='WAVELENG', disperser='GRISM', dispersion='DISPERSI', - focal_plane_mask='MOSPOS', lyot_stop='LYOT', ) @@ -521,13 +520,13 @@ def group_id(self): @astro_data_descriptor def lyot_stop(self): """ - Returns the LYOT filter used for the observation. This works around + Returns the LYOT stop used for the observation. This works around inconsistencies in the header keywords. Returns ------- str - LYOT filter name, or None + LYOT stop name, or None """ lyot = self.phu.get('LYOT', None) @@ -535,6 +534,26 @@ def lyot_stop(self): return lyot return self.phu.get('LYOTPOS', None) + @astro_data_descriptor + def focal_plane_mask(self, stripID=False, pretty=False): + """ + Returns the focal plane mask used for the observation. This is generally + the MASKNAME header. For imaging data, MASKNAME sometimes has strange + values, so we check MOSPOS and if MOSPOS is 'Open' we return that + for consistency. + + The stripID and pretty arguments are ignored. + + Returns + ------- + str + focal plane mask name, or None + + """ + mospos = self.phu.get('MOSPOS', None) + maskname = self.phu.get('MASKNAME', None) + return mospos if mospos == 'Open' else maskname + @returns_list @astro_data_descriptor def nominal_photometric_zeropoint(self): diff --git a/gemini_instruments/test/lut_descriptors.py b/gemini_instruments/test/lut_descriptors.py index 0bf9e423d8..3363726bef 100644 --- a/gemini_instruments/test/lut_descriptors.py +++ b/gemini_instruments/test/lut_descriptors.py @@ -158,6 +158,12 @@ ('telescope_x_offset', -0.0324777684697), ('telescope_y_offset', 1.52706222735), ), + ('F2', 'S20150622S0008.fits'): ( + ('focal_plane_mask', 'GS2011SQ600-02'), + ), + ('F2', 'S20130719S0463.fits'): ( + ('focal_plane_mask', 'Open'), + ), ('GMOS', 'N20160605S0099.fits'): ( ('airmass', 1.269), ('ao_seeing', None), @@ -298,7 +304,7 @@ ('nod_count', None), ('shuffle_pixels', None), ('nominal_atmospheric_extinction', 0.002299999999999991), - ('nominal_photometric_zeropoint', [None, None, None, None]), + ('nominal_photometric_zeropoint', [27.693869869509008, 27.68460698159726, 27.728983802095854, 27.707914081527598]), ('non_linear_level', [65535, 65535, 65535, 65535]), ('object', 'V4077 Sgr'), ('observation_class', 'acq'), diff --git a/recipe_system/doc/rs_ProgManual/.readthedocs.yaml b/recipe_system/doc/rs_ProgManual/.readthedocs.yaml index abca435ad7..d6090eaa96 100644 --- a/recipe_system/doc/rs_ProgManual/.readthedocs.yaml +++ b/recipe_system/doc/rs_ProgManual/.readthedocs.yaml @@ -27,4 +27,6 @@ sphinx: python: install: - requirements: requirements.txt - - requirements: doc/requirements.txt \ No newline at end of file + - requirements: doc/requirements.txt + - method: pip + path: . \ No newline at end of file diff --git a/recipe_system/doc/rs_ProgManual/conf.py b/recipe_system/doc/rs_ProgManual/conf.py index 222fc3db2a..256fecabce 100644 --- a/recipe_system/doc/rs_ProgManual/conf.py +++ b/recipe_system/doc/rs_ProgManual/conf.py @@ -435,4 +435,6 @@ def setup(app): .. |RSUser| replace:: :raw-html:`Recipe System Users Manual` .. |astrodataprog| replace:: :raw-html:`Astrodata Programmer Manual` +.. |DRAGONS| replace:: :raw-html:`DRAGONS` + """.format(v = rtdurl) diff --git a/recipe_system/doc/rs_ProgManual/index.rst b/recipe_system/doc/rs_ProgManual/index.rst index 5ba19a79a3..73c7928d39 100644 --- a/recipe_system/doc/rs_ProgManual/index.rst +++ b/recipe_system/doc/rs_ProgManual/index.rst @@ -10,6 +10,8 @@ Recipe System Programmers Manual PIPE-USER-108_RSProgManual +[Return to the main |DRAGONS| page.] + .. toctree:: :maxdepth: 2 :caption: Table of Contents diff --git a/recipe_system/doc/rs_UsersManual/conf.py b/recipe_system/doc/rs_UsersManual/conf.py index 6372d27441..cb23aedfaa 100644 --- a/recipe_system/doc/rs_UsersManual/conf.py +++ b/recipe_system/doc/rs_UsersManual/conf.py @@ -298,4 +298,6 @@ def setup(app): .. |astrodataprog| replace:: :raw-html:`Astrodata Programmer Manual` .. |RSProg| replace:: :raw-html:`Recipe System Programmers Manual` +.. |DRAGONS| replace:: :raw-html:`DRAGONS` + """.format(v = rtdurl) diff --git a/recipe_system/doc/rs_UsersManual/index.rst b/recipe_system/doc/rs_UsersManual/index.rst index 9928245616..7989a49518 100644 --- a/recipe_system/doc/rs_UsersManual/index.rst +++ b/recipe_system/doc/rs_UsersManual/index.rst @@ -11,6 +11,8 @@ Recipe System User Manual PIPE-USER-109_RSUserManual +[Return to the main |DRAGONS| page.] + .. toctree:: :maxdepth: 2 :caption: Table of Contents diff --git a/recipe_system/doc/rs_UsersManual/install.rst b/recipe_system/doc/rs_UsersManual/install.rst index 4a56996ade..9f78805ab2 100644 --- a/recipe_system/doc/rs_UsersManual/install.rst +++ b/recipe_system/doc/rs_UsersManual/install.rst @@ -4,6 +4,18 @@ https://www.anaconda.com/distribution/#download-section +.. |miniforge_link| raw:: html + + https://github.com/conda-forge/miniforge + +.. |miniforgelinux| raw:: html + + Miniforge3-Linux-x86_64.sh + +.. |miniforgemacosx| raw:: html + + Miniforge3-MacOSX-x86_64.sh + .. |geminiiraf_link| raw:: html https://www.gemini.edu/observing/phase-iii/reducing-data/gemini-iraf-data-reduction-software @@ -14,91 +26,102 @@ Installation ************ -The Recipe System is distributed as part of DRAGONS. DRAGONS is available +The Recipe System is the automation part of DRAGONS. DRAGONS is available as a conda package. The installation instructions below will install all the necessary dependencies. The use of the ``bash`` shell is recommended. -Install Anaconda -================ +Install Miniforge +================= -Download and install Anaconda ------------------------------ -If you already have Anaconda installed, you can skip this step and go to -the :ref:`Install DRAGONS ` section below. If not, then your -first step is to get and install Anaconda. You can download it from the -Anaconda website. We recommend clicking on the "Get Additional Installers" -instead of using the green Download button as it will allow you to do a finer -selection. Here we show how to use the "Command Line Installer" +We recommend using Miniforge instead of Anaconda. It is smaller and installs +contents from conda-forge which is now our main channel for python packages. +The overall size of the installation will therefore be much smaller than +a full Anaconda installation. The instructions below are for Miniforge. + +Anaconda will work just fine too if you prefer or have a business need for +it. We just don't provide instructions for its installation. Whether you use +Miniforge or Anaconda will not impact the DRAGONS installation as long as +your using the correct conda channels. + +Download and install Miniforge +------------------------------ +If you already have Miniforge installed (or Anaconda and don't want to move +to Miniforge), you can skip this step and go to the +:ref:`Install DRAGONS ` section below. -+-----------------------------------------+ -| **Download Anaconda**: |anaconda_link| | -+-----------------------------------------+ +If not, then your first step is to get and install Miniforge. You can download +it from the Miniforge github page. The direct links to the Linux and Mac +installer are provided in the table below. -.. warning:: M1 MacOS Users!!! DRAGONS is not yet built with the M1 - architecture. The x86 build will work anyway. But you have to be careful - when you install Anaconda. ++--------------------------------------------------+ +| **Miniforge Page**: |miniforge_link| | ++--------------------------------------------------+ +| **Linux x64_86 Installer**: |miniforgelinux| | ++--------------------------------------------------+ +| **MacOSX x64_86 Installer**: |miniforgemacosx| | ++--------------------------------------------------+ - We recommend that you use the "64-bit Command Line Installer", ie. the - non-M1 version. This version is the x86 (aka Intel) build. When using - that version, by default, x86 binaries of the various conda packages will - be installed. - M1 can run x86 binaries via the Rosetta interface. It is seamless. +.. warning:: arm64 MacOS Users!!! (That's M1/M2/M etc) DRAGONS is not yet + built with the arm64 architecture. Some dependencies are also either not + available for arm64 or not reliable. The x86 build will work. All you + need to do is install the x64_86 version of Miniforge (or Anaconda). + That way, the x64_86 binaries will automatically be seeked, and found. -The current version of DRAGONS has been tested with Python 3.9 and Python 3.10. -We recommend that you install the standard Python 3 version of Anaconda, the -specific Python version can be adjusted later, if necessary. + arm64 machines can run x86 binaries via the Rosetta interface. It is + seamless. -If you have downloaded the graphical installer, follow the graphical installer -instructions. Install in your home directory. It should be the default. +The current version of DRAGONS has been tested with Python 3.10. At the time +of this writing, Miniforge installs Python 3.10 by default. (Other version +of Python can subsequently be installed.) -If you have downloaded the command-line installer (recommended), type the -following in a terminal, replacing the ``.sh`` file name to the name of the -file you have downloaded. The ``/bin/bash -l`` line is not needed if you are -already using bash. The command-line installer allows for more customization -of the installation. +To install, run the installer that you have downloaded. +Type the following in a terminal, replacing the ``.sh`` file name with the name +of the file you have downloaded. :: - $ /bin/bash -l - $ chmod a+x Anaconda3-2022.10-MacOSX-x86_64.sh - $ ./Anaconda3-2022.10-MacOSX-x86_64.sh + $ /bin/bash Miniforge3-MacOSX-x86_64.sh (``$`` indicates the terminal prompt.) -.. note:: To prevent the Anaconda "base" environment from loading - automatically, do:: +.. note:: For the arm64 Macs, it will tell you that the architecture does not + match. That's okay, type `yes` to accept. - $ conda config --set auto_activate_base false +At ``"Do you wish to update your shell profile to automatically initialize conda?"``, +answer `no`. The script sometimes put the "conda init" information in the +wrong shell file (observed on Mac). To avoid confusion do the initialization +manually:: + $ ~/miniforge3/bin/conda init -Verify Anaconda installation ----------------------------- -We recommend the use of the ``bash`` shell:: +.. note:: To prevent the "base" environment from loading automatically, do:: - $ /bin/bash -l + $ conda config --set auto_activate_base false -Make sure that ``~/anaconda3/bin/conda`` is in your ``PATH`` by doing:: + +Verify Miniforge installation +----------------------------- +Make sure that ``~/miniforge3/bin/conda`` is in your ``PATH`` by doing:: $ which conda -The Anaconda installer should have added conda configurations to the -``~/.bash_profile`` for you. If ``conda`` is not found, try:: +It should show a path with ``miniforge3``, not ``anaconda``. - $ source ~/.bash_profile +.. note:: If you had a previous installation of Anaconda, you might need to + find the Anaconda's "conda initialize" block and comment it out. + Look in files like .bash_profile, .bashrc, .zshrc. -If ``activate`` is still not found, you might have to add -``export PATH=~/anaconda3/bin:$PATH`` to your ``~/.bash_profile`` using your -favorite text editor, and run the ``source`` command above again. +The `conda init` command should have added conda configurations to the +``~/.bash_profile`` for you (or ``.bashrc``, ``.zshrc``). If ``conda`` is not found, +try:: -.. note:: Sometimes the Anaconda installer will install the software in - ``~/anaconda3`` instead of simply ``~/anaconda``. Just - check in your home directory which one of the tow possibilities was used. + $ source ~/.bash_profile -The code Anaconda adds to the .bash_profile will automatically activate -anaconda. To activate or deactivate Anaconda manually:: +The code Miniforge adds to the ``.bash_profile`` will automatically activate +Miniforge. To activate or deactivate Miniforge manually:: $ conda activate $ conda deactivate @@ -108,7 +131,7 @@ anaconda. To activate or deactivate Anaconda manually:: Install DRAGONS =============== -With Anaconda installed and ready to go, now we can install DRAGONS and +With Miniforge installed and ready to go, now we can install DRAGONS and the necessary dependencies. Add conda-forge and the Gemini channel. Those channels host the conda packages @@ -118,11 +141,16 @@ that we will need. $ conda config --add channels conda-forge $ conda config --add channels http://astroconda.gemini.edu/public - $ conda config --set channel_priority disabled + +The content of the `~/.condarc` file should look like this (the order matters):: + + channels: + - http://astroconda.gemini.edu/public + - conda-forge The next step is to create a virtual environment and install the DRAGONS software and its dependencies in it. The name of the environment can be -anything you like. Here we use "dragons" as the name and we install +anything you like. Here we use "dragons" as the name and we request Python 3.10. :: @@ -137,17 +165,17 @@ You will need to activate the environment whenever you start a new shell. If you are planning to use it all the time, you might want to add the command to your ``.bash_profile``, after the "conda init" block. -.. note:: +.. .. note:: For Linux users only. - As a side note, if you are going to use PyRAF regularly, for example to +.. As a side note, if you are going to use PyRAF regularly, for example to reduce Gemini data not yet supported in DRAGONS, you should install the ``iraf-all`` and ``pyraf-all`` conda packages as well. - $ conda create -n geminiconda python=3.10 iraf-all pyraf-all ds9 dragons +.. .. $ conda create -n geminiconda python=3.10 iraf-all pyraf-all ds9 dragons - DRAGONS and the Recipe System do not need IRAF or PyRAF, however. See the - Gemini website for information on how to configure IRAF (|geminiiraf_link|) +.. DRAGONS and the Recipe System do not need IRAF or PyRAF, however. See the +.. Gemini website for information on how to configure IRAF (|geminiiraf_link|) .. _configure: @@ -174,7 +202,7 @@ on your preferences. The path and name of the calibration database can be anything, as long at the path exists. The "get" means that DRAGONS will get calibrations from that database. The "store" option can be added after the "get" to have DRAGONS automatically add new processed calibrations to the -database. See any of the tutorials to see the calibration manager in action. +database. See any of the tutorials to learn how to use the calibration manager. On a new installation, you will need to configure ``ds9`` buffer configurations:: @@ -186,11 +214,11 @@ configurations:: Add this line to the .bash_profile: export IMTOOLRC=~/.imtoolrc -While not specific at all to DRAGONS, it is recommended to increase the -Operating System limit on the number of opened files. We have seen an increase -in reports of the error "Too many open files." +It is recommended to increase the Operating System limit on the number of +opened files. We have seen an increase in reports of the error +"Too many open files" when reducing spectroscopy data. -In your .bash_profile, add the following line to overcome that OS limitation:: +In your `.bash_profile`, add the following line to overcome that OS limitation:: ulimit -n 1024 @@ -215,9 +243,9 @@ are compiled and loaded:: $ reduce --help -This will print the reduce help to the screen. +This will print the ``reduce`` help to the screen. -If you have Gemini FITS files available, you can test that the Recipe System +If you have Gemini FITS files available, you can test that DRAGONS is functioning as expected as follow (replace the file name with the name of your file):: @@ -254,3 +282,5 @@ If all is well, you will see something like:: Wrote N20180106S0700_prepared.fits in output directory reduce completed successfully. + +