Package: romancal
Roman Calibration PipelineRoman requires Python 3.9 or above and a C compiler for dependencies.Linux and MacOS platforms are tested and supported. Windows is not currently supported.InstallationThe easiest way to install the latestromancalrelease into a fresh virtualenv or conda environment ispip install romancalDetailed InstallationTheromancalpackage can be installed into a virtualenv or conda environment viapip. We recommend that for each
installation you start by creating a fresh environment that only has Python installed and then install theromancalpackage and its dependencies into that bare environment. If using conda environments, first make sure you have a recent
version of Anaconda or Miniconda installed. If desired, you can create multiple environments to allow for switching
between different versions of theromancalpackage (e.g. a released version versus the current development version).In all cases, the installation is generally a 3-step process:Create a conda environmentActivate that environmentInstall the desired version of theromancalpackage into that environmentDetails are given below on how to do this for different types of installations, including tagged releases, DMS builds
used in operations, and development versions. Remember that all conda operations must be done from within a bash shell.Installing latest releasesYou can install the latest released version viapip. From a bash shell:conda create -n <env_name> python
conda activate <env_name>
pip install romancalNoteAlternatively, you can also usevirtualenvto create an environment;
however, this installation method is not supported by STScI if you encounter issues.You can also install a specific version (fromromancal 0.1.0onward):conda create -n <env_name> python
conda activate <env_name>
pip install romancal==0.10.0Installing the development version from GithubYou can install the latest development version (not as well tested) from the Github main branch:conda create -n <env_name> python
conda activate <env_name>
pip install git+https://github.com/spacetelescope/romancalInstalling for DevelopersIf you want to be able to work on and test the source code with theromancalpackage, the high-level procedure to do
this is to first create a conda environment using the same procedures outlined above, but then install your personal
copy of the code overtop of the original code in that environment. Again, this should be done in a separate conda
environment from any existing environments that you may have already installed with released versions of theromancalpackage.As usual, the first two steps are to create and activate an environment:conda create -n <env_name> python
conda activate <env_name>To install your own copy of the code into that environment, you first need to fork and clone theromancalrepo:cd <where you want to put the repo>
git clone https://github.com/spacetelescope/romancal
cd romancalNoteInstalling viasetup.py(python setup.py install,python setup.py develop, etc.) is deprecated and does not work.Install from your local checked-out copy as an "editable" install:pip install -e .If you want to run the unit or regression tests and/or build the docs, you can make sure those dependencies are
installed too:pip install -e ".[test]"
pip install -e ".[docs]"
pip install -e ".[test,docs]"Note that if you wish to install all the development dependencies (testanddocs) as well as the development
tools used for linting and reproducible environments run:pip install -e ".[dev]"This will installtoxand thepre-committools in addition to all development dependencies.Development versions of dependencies are listed inrequirements-dev-st.txtandrequirements-dev-thirdparty.txt, containing STScI and third-party packages respectively.
To install these dependencies, run the following:pip install -r requirements-dev-st.txt
pip install -r requirements-dev-thirdparty.txtNeed other useful packages in your development environment?pip install ipython pytest-xdistCalibration References Data System (CRDS) SetupCRDS is the system that manages the reference files needed to run the pipeline. Inside the STScI network, the pipeline
works with default CRDS setup with no modifications. To run the pipeline outside the STScI network, CRDS must be
configured by setting two environment variables:export CRDS_PATH=$HOME/crds_cache
export CRDS_SERVER_URL=https://roman-crds.stsci.eduDocumentationDocumentation (built daily from the Githubmainbranch) is available at:https://roman-pipeline.readthedocs.io/en/latest/To build the docs yourself, clone this repository and build the documentation with:pip install -e ".[docs]"
cd docs
make htmlContributions and FeedbackWe welcome contributions and feedback on the project. Please follow thecontributing guidelinesto submit an issue or a pull request.We strive to provide a welcoming community to all of our users by abiding with theCode of Conduct.If you have questions or concerns regarding the software, please open
anissue.Software vs DMS build version maproman tagDMS buildCRDS_CONTEXTDateNotes0.1.00.0003Nov  2020Release for Build 0.00.2.00.1004Mar  2021Release for Build 0.10.3.00.2007May  2021Release for Build 0.20.3.10.2007Jun  2021Release for Build 0.2 CRDS tests0.4.20.3011Sep  2021Release for Build 0.30.5.00.4023Dec  2021Release for Build 0.40.6.00.5030Mar  2022Release for Build 0.50.7.022Q3_B6032May  2022Release for Build 22Q3_B6 (Build 0.6)0.7.122Q3_B6032May  2022Release for Build 22Q3_B6 (Build 0.6)0.8.022Q4_B7038Aug  2022Release for Build 22Q4_B7 (Build 0.7)0.8.122Q4_B7038Aug  2022Release for Build 22Q4_B7 (Build 0.7)0.9.023Q1_B8039Nov  2022Release for Build 23Q1_B8 (Build 8)0.10.023Q2_B9041Feb  2023Release for Build 23Q2_B9 (Build 9)0.11.023Q3_B10047May  2023Release for Build 23Q3_B10 (Build 10)0.12.023Q4_B11051Aug 2023Release for Build 23Q4_B11 (Build 11)0.13.024Q1_B12052Nov 2023Release for Build 24Q1_B12 (Build 12)0.14.024Q2_B13056Feb 2024Release for Build 24Q2_B13 (Build 13)Note: CRDS_CONTEXT values flagged with an asterisk in the above table are estimates
(formal CONTEXT deliveries are only provided with final builds).Unit TestsSetupThe test suite require access to a CRDS cache, but currently (2021-02-09) the shared /grp/crds cache does not include
Roman files. Developers inside the STScI network can sync a cache from roman-crds-test.stsci.edu (if working from home,
be sure to connect to the VPN first):$exportCRDS_SERVER_URL=https://roman-crds-test.stsci.edu
$exportCRDS_PATH=$HOME/roman-crds-test-cache
$crdssync--contextsroman-editThe CRDS_READONLY_CACHE variable should not be set, since references will need to be downloaded to your local cache as
they are requested.NoteIf it is desired to run tests against WebbPSF data, use thepytest --webbpsfflag or the-webbpsftox factor and followthese instructions to download the data files / point to existing files on the shared internal network.Running testsUnit tests can be run viapytest. Within the top level of your localromanrepo checkout:pip install -e ".[test]"
pytestNeed to parallelize your test runs over 8 cores?pip install pytest-xdist
pytest -n 8Regression TestsLatest regression test results can be found here (STScI staff only):https://plwishmaster.stsci.edu:8081/job/RT/job/romancal/To run the regression tests on your local machine, get the test dependencies and set the environment variable
TEST_BIGDATA to our Artifactory server
(STSci staff members only):pip install -e ".[test]"
export TEST_BIGDATA=https://bytesalad.stsci.edu/artifactoryTo run all the regression tests (except the very slow ones):pytest --bigdata romancal/regtestYou can control where the test results are written with the--basetemp=<PATH>arg topytest.NOTE thatpytestwill wipe this directory clean for each test session, so make
sure it is a scratch area.If you would like to run a specific test, find its name or ID and use the-koption:pytest --bigdata romancal/regtest -k test_flatIf developers need to update the truth files in our nightly regression tests, there are instructions in this wiki.https://github.com/spacetelescope/jwst/wiki/Maintaining-Regression-Tests