diff --git a/jwst_validation_notebooks/dark_current/jwst_dark_current_unit_tests.ipynb b/jwst_validation_notebooks/dark_current/jwst_dark_current_unit_tests.ipynb
new file mode 100644
index 00000000..90d498b6
--- /dev/null
+++ b/jwst_validation_notebooks/dark_current/jwst_dark_current_unit_tests.ipynb
@@ -0,0 +1,230 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# JWST Pipeline Validation Notebook: \n",
+ "# calwebb_detector1, dark_current unit tests\n",
+ "\n",
+ " **Instruments Affected**: NIRCam, NIRISS, NIRSpec, MIRI, FGS\n",
+ "\n",
+ "### Table of Contents\n",
+ "\n",
+ "
\n",
+ " \n",
+ "
[Introduction](#intro)\n",
+ "
[JWST Unit Tests](#unit)\n",
+ "
[Defining Terms](#terms)\n",
+ "
[Test Description](#description)\n",
+ "
[Data Description](#data_descr)\n",
+ "
[Imports](#imports)\n",
+ "
[Convenience Functions](#functions)\n",
+ "
[Perform Tests](#testing) \n",
+ "
[About This Notebook](#about)\n",
+ "
\n",
+ "\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Introduction\n",
+ "\n",
+ "This is the validation notebook that displays the unit tests for the Dark Current step in calwebb_detector1. This notebook runs and displays the unit tests that are performed as a part of the normal software continuous integration process. For more information on the pipeline visit the links below. \n",
+ "\n",
+ "* Pipeline description: https://jwst-pipeline.readthedocs.io/en/latest/jwst/dark_current/index.html\n",
+ "\n",
+ "* Pipeline code: https://github.com/spacetelescope/jwst/tree/master/jwst/\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# JWST Unit Tests\n",
+ "\n",
+ "JWST unit tests are located in the \"tests\" folder for each pipeline step within the [GitHub repository](https://github.com/spacetelescope/jwst/tree/master/jwst/), e.g., ```jwst/dark_current/tests```.\n",
+ "\n",
+ "* Unit test README: https://github.com/spacetelescope/jwst#unit-tests\n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Defining Terms\n",
+ "\n",
+ "These are terms or acronymns used in this notebook that may not be known a general audience.\n",
+ "\n",
+ "* JWST: James Webb Space Telescope\n",
+ "\n",
+ "* NIRCam: Near-Infrared Camera\n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Test Description\n",
+ "\n",
+ "Unit testing is a software testing method by which individual units of source code are tested to determine whether they are working sufficiently well. Unit tests do not require a separate data file; the test creates the necessary test data and parameters as a part of the test code. \n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Data Description\n",
+ "\n",
+ "Data used for unit tests is created on the fly within the test itself, and is typically an array in the expected format of JWST data with added metadata needed to run through the pipeline. \n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Imports\n",
+ "\n",
+ "* tempfile for creating temporary output products\n",
+ "* pytest for unit test functions\n",
+ "* jwst for the JWST Pipeline\n",
+ "* IPython.display for display pytest reports\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import tempfile\n",
+ "import pytest\n",
+ "import jwst\n",
+ "from IPython.display import IFrame"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Convenience Functions\n",
+ "\n",
+ "Here we define any convenience functions to help with running the unit tests. \n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def display_report(fname):\n",
+ " '''Convenience function to display pytest report.'''\n",
+ " \n",
+ " return IFrame(src=fname, width=700, height=600)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Perform Tests\n",
+ "\n",
+ "Below we run the unit tests for the Dark Current step. \n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "scrolled": false
+ },
+ "outputs": [],
+ "source": [
+ "with tempfile.TemporaryDirectory() as tmpdir:\n",
+ " !pytest jwst/dark_current -v --ignore=jwst/associations --ignore=jwst/datamodels --ignore=jwst/stpipe --ignore=jwst/regtest --html=tmpdir/unit_report.html --self-contained-html\n",
+ " report = display_report('tmpdir/unit_report.html')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "report"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "## About This Notebook\n",
+ "**Author:** Alicia Canipe, Staff Scientist, NIRCam\n",
+ "
**Updated On:** 01/07/2021"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "[Top of Page](#title_ID)\n",
+ " "
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.9.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 1
+}
diff --git a/jwst_validation_notebooks/dq_init/jwst_dq_init_unit_tests.ipynb b/jwst_validation_notebooks/dq_init/jwst_dq_init_unit_tests.ipynb
new file mode 100644
index 00000000..c152a168
--- /dev/null
+++ b/jwst_validation_notebooks/dq_init/jwst_dq_init_unit_tests.ipynb
@@ -0,0 +1,228 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# JWST Pipeline Validation Notebook: \n",
+ "# calwebb_detector1, dq_init unit tests\n",
+ "\n",
+ " **Instruments Affected**: NIRCam, NIRISS, NIRSpec, MIRI, FGS\n",
+ "\n",
+ "### Table of Contents\n",
+ "\n",
+ " \n",
+ " \n",
+ "
[Introduction](#intro)\n",
+ "
[JWST Unit Tests](#unit)\n",
+ "
[Defining Terms](#terms)\n",
+ "
[Test Description](#description)\n",
+ "
[Data Description](#data_descr)\n",
+ "
[Imports](#imports)\n",
+ "
[Convenience Functions](#functions)\n",
+ "
[Perform Tests](#testing) \n",
+ "
[About This Notebook](#about)\n",
+ "
\n",
+ "\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Introduction\n",
+ "\n",
+ "This is the validation notebook that displays the unit tests for the DQ Initialization step in calwebb_detector1. This notebook runs and displays the unit tests that are performed as a part of the normal software continuous integration process. For more information on the pipeline visit the links below. \n",
+ "\n",
+ "* Pipeline description: https://jwst-pipeline.readthedocs.io/en/latest/jwst/dq_init/index.html\n",
+ "\n",
+ "* Pipeline code: https://github.com/spacetelescope/jwst/tree/master/jwst/\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# JWST Unit Tests\n",
+ "\n",
+ "JWST unit tests are located in the \"tests\" folder for each pipeline step within the [GitHub repository](https://github.com/spacetelescope/jwst/tree/master/jwst/), e.g., ```jwst/dq_init/tests```.\n",
+ "\n",
+ "* Unit test README: https://github.com/spacetelescope/jwst#unit-tests\n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Defining Terms\n",
+ "\n",
+ "These are terms or acronymns used in this notebook that may not be known a general audience.\n",
+ "\n",
+ "* JWST: James Webb Space Telescope\n",
+ "\n",
+ "* NIRCam: Near-Infrared Camera\n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Test Description\n",
+ "\n",
+ "Unit testing is a software testing method by which individual units of source code are tested to determine whether they are working sufficiently well. Unit tests do not require a separate data file; the test creates the necessary test data and parameters as a part of the test code. \n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Data Description\n",
+ "\n",
+ "Data used for unit tests is created on the fly within the test itself, and is typically an array in the expected format of JWST data with added metadata needed to run through the pipeline. \n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Imports\n",
+ "\n",
+ "* tempfile for creating temporary output products\n",
+ "* pytest for unit test functions\n",
+ "* jwst for the JWST Pipeline\n",
+ "* IPython.display for display pytest reports\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import tempfile\n",
+ "import pytest\n",
+ "import jwst\n",
+ "from IPython.display import IFrame"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Convenience Functions\n",
+ "\n",
+ "Here we define any convenience functions to help with running the unit tests. \n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def display_report(fname):\n",
+ " '''Convenience function to display pytest report.'''\n",
+ " \n",
+ " return IFrame(src=fname, width=700, height=600)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Perform Tests\n",
+ "\n",
+ "Below we run the unit tests for the DQ Initialization step. \n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "with tempfile.TemporaryDirectory() as tmpdir:\n",
+ " !pytest jwst/dq_init -v --ignore=jwst/associations --ignore=jwst/datamodels --ignore=jwst/stpipe --ignore=jwst/regtest --html=tmpdir/unit_report.html --self-contained-html\n",
+ " report = display_report('tmpdir/unit_report.html')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "report"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "## About This Notebook\n",
+ "**Author:** Alicia Canipe, Staff Scientist, NIRCam\n",
+ "
**Updated On:** 01/07/2021"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "[Top of Page](#title_ID)\n",
+ " "
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.9.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 1
+}
diff --git a/jwst_validation_notebooks/firstframe/jwst_firstframe_unit_tests.ipynb b/jwst_validation_notebooks/firstframe/jwst_firstframe_unit_tests.ipynb
new file mode 100644
index 00000000..30e5d37b
--- /dev/null
+++ b/jwst_validation_notebooks/firstframe/jwst_firstframe_unit_tests.ipynb
@@ -0,0 +1,232 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# JWST Pipeline Validation Notebook: \n",
+ "# calwebb_detector1, firstframe unit tests\n",
+ "\n",
+ " **Instruments Affected**: MIRI\n",
+ "\n",
+ "### Table of Contents\n",
+ "\n",
+ " \n",
+ " \n",
+ "
[Introduction](#intro)\n",
+ "
[JWST Unit Tests](#unit)\n",
+ "
[Defining Terms](#terms)\n",
+ "
[Test Description](#description)\n",
+ "
[Data Description](#data_descr)\n",
+ "
[Imports](#imports)\n",
+ "
[Convenience Functions](#functions)\n",
+ "
[Perform Tests](#testing) \n",
+ "
[About This Notebook](#about)\n",
+ "
\n",
+ "\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Introduction\n",
+ "\n",
+ "This is the validation notebook that displays the unit tests for the Firstframe step in calwebb_detector1. This notebook runs and displays the unit tests that are performed as a part of the normal software continuous integration process. For more information on the pipeline visit the links below. \n",
+ "\n",
+ "* Pipeline description: https://jwst-pipeline.readthedocs.io/en/latest/jwst/firstframe/index.html\n",
+ "\n",
+ "* Pipeline code: https://github.com/spacetelescope/jwst/tree/master/jwst/\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# JWST Unit Tests\n",
+ "\n",
+ "JWST unit tests are located in the \"tests\" folder for each pipeline step within the [GitHub repository](https://github.com/spacetelescope/jwst/tree/master/jwst/), e.g., ```jwst/firstframe/tests```.\n",
+ "\n",
+ "* Unit test README: https://github.com/spacetelescope/jwst#unit-tests\n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Defining Terms\n",
+ "\n",
+ "These are terms or acronymns used in this notebook that may not be known a general audience.\n",
+ "\n",
+ "* JWST: James Webb Space Telescope\n",
+ "\n",
+ "* NIRCam: Near-Infrared Camera\n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Test Description\n",
+ "\n",
+ "Unit testing is a software testing method by which individual units of source code are tested to determine whether they are working sufficiently well. Unit tests do not require a separate data file; the test creates the necessary test data and parameters as a part of the test code. \n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Data Description\n",
+ "\n",
+ "Data used for unit tests is created on the fly within the test itself, and is typically an array in the expected format of JWST data with added metadata needed to run through the pipeline. \n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Imports\n",
+ "\n",
+ "* tempfile for creating temporary output products\n",
+ "* pytest for unit test functions\n",
+ "* jwst for the JWST Pipeline\n",
+ "* IPython.display for display pytest reports\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import tempfile\n",
+ "import pytest\n",
+ "import jwst\n",
+ "from IPython.display import IFrame"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Convenience Functions\n",
+ "\n",
+ "Here we define any convenience functions to help with running the unit tests. \n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def display_report(fname):\n",
+ " '''Convenience function to display pytest report.'''\n",
+ " \n",
+ " return IFrame(src=fname, width=700, height=600)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Perform Tests\n",
+ "\n",
+ "Below we run the unit tests for the Firstframe step. \n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "scrolled": false
+ },
+ "outputs": [],
+ "source": [
+ "with tempfile.TemporaryDirectory() as tmpdir:\n",
+ " !pytest jwst/firstframe -v --ignore=jwst/associations --ignore=jwst/datamodels --ignore=jwst/stpipe --ignore=jwst/regtest --html=tmpdir/unit_report.html --self-contained-html\n",
+ " report = display_report('tmpdir/unit_report.html')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [],
+ "source": [
+ "report"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "## About This Notebook\n",
+ "**Author:** Alicia Canipe, Staff Scientist, NIRCam\n",
+ "
**Updated On:** 01/07/2021"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "[Top of Page](#title_ID)\n",
+ " "
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.9.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 1
+}
diff --git a/jwst_validation_notebooks/ipc/jwst_ipc_unit_tests.ipynb b/jwst_validation_notebooks/ipc/jwst_ipc_unit_tests.ipynb
new file mode 100644
index 00000000..5108d524
--- /dev/null
+++ b/jwst_validation_notebooks/ipc/jwst_ipc_unit_tests.ipynb
@@ -0,0 +1,228 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# JWST Pipeline Validation Notebook: \n",
+ "# calwebb_detector1, ipc unit tests\n",
+ "\n",
+ " **Instruments Affected**: NIRCam, NIRISS, NIRSpec, MIRI, FGS\n",
+ "\n",
+ "### Table of Contents\n",
+ "\n",
+ " \n",
+ " \n",
+ "
[Introduction](#intro)\n",
+ "
[JWST Unit Tests](#unit)\n",
+ "
[Defining Terms](#terms)\n",
+ "
[Test Description](#description)\n",
+ "
[Data Description](#data_descr)\n",
+ "
[Imports](#imports)\n",
+ "
[Convenience Functions](#functions)\n",
+ "
[Perform Tests](#testing) \n",
+ "
[About This Notebook](#about)\n",
+ "
\n",
+ "\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Introduction\n",
+ "\n",
+ "This is the validation notebook that displays the unit tests for the IPC step in calwebb_detector1. This notebook runs and displays the unit tests that are performed as a part of the normal software continuous integration process. For more information on the pipeline visit the links below. \n",
+ "\n",
+ "* Pipeline description: https://jwst-pipeline.readthedocs.io/en/latest/jwst/ipc/index.html\n",
+ "\n",
+ "* Pipeline code: https://github.com/spacetelescope/jwst/tree/master/jwst/\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# JWST Unit Tests\n",
+ "\n",
+ "JWST unit tests are located in the \"tests\" folder for each pipeline step within the [GitHub repository](https://github.com/spacetelescope/jwst/tree/master/jwst/), e.g., ```jwst/ipc/tests```.\n",
+ "\n",
+ "* Unit test README: https://github.com/spacetelescope/jwst#unit-tests\n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Defining Terms\n",
+ "\n",
+ "These are terms or acronymns used in this notebook that may not be known a general audience.\n",
+ "\n",
+ "* JWST: James Webb Space Telescope\n",
+ "\n",
+ "* NIRCam: Near-Infrared Camera\n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Test Description\n",
+ "\n",
+ "Unit testing is a software testing method by which individual units of source code are tested to determine whether they are working sufficiently well. Unit tests do not require a separate data file; the test creates the necessary test data and parameters as a part of the test code. \n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Data Description\n",
+ "\n",
+ "Data used for unit tests is created on the fly within the test itself, and is typically an array in the expected format of JWST data with added metadata needed to run through the pipeline. \n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Imports\n",
+ "\n",
+ "* tempfile for creating temporary output products\n",
+ "* pytest for unit test functions\n",
+ "* jwst for the JWST Pipeline\n",
+ "* IPython.display for display pytest reports\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import tempfile\n",
+ "import pytest\n",
+ "import jwst\n",
+ "from IPython.display import IFrame"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Convenience Functions\n",
+ "\n",
+ "Here we define any convenience functions to help with running the unit tests. \n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def display_report(fname):\n",
+ " '''Convenience function to display pytest report.'''\n",
+ " \n",
+ " return IFrame(src=fname, width=700, height=600)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Perform Tests\n",
+ "\n",
+ "Below we run the unit tests for the IPC step. \n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "with tempfile.TemporaryDirectory() as tmpdir:\n",
+ " !pytest jwst/ipc -v --ignore=jwst/associations --ignore=jwst/datamodels --ignore=jwst/stpipe --ignore=jwst/regtest --html=tmpdir/unit_report.html --self-contained-html\n",
+ " report = display_report('tmpdir/unit_report.html')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "report"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "## About This Notebook\n",
+ "**Author:** Alicia Canipe, Staff Scientist, NIRCam\n",
+ "
**Updated On:** 01/07/2021"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "[Top of Page](#title_ID)\n",
+ " "
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.9.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 1
+}
diff --git a/jwst_validation_notebooks/jump/jwst_jump_unit_tests.ipynb b/jwst_validation_notebooks/jump/jwst_jump_unit_tests.ipynb
new file mode 100644
index 00000000..19e9f525
--- /dev/null
+++ b/jwst_validation_notebooks/jump/jwst_jump_unit_tests.ipynb
@@ -0,0 +1,232 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# JWST Pipeline Validation Notebook: \n",
+ "# calwebb_detector1, jump unit tests\n",
+ "\n",
+ " **Instruments Affected**: NIRCam, NIRISS, NIRSpec, MIRI, FGS\n",
+ "\n",
+ "### Table of Contents\n",
+ "\n",
+ " \n",
+ " \n",
+ "
[Introduction](#intro)\n",
+ "
[JWST Unit Tests](#unit)\n",
+ "
[Defining Terms](#terms)\n",
+ "
[Test Description](#description)\n",
+ "
[Data Description](#data_descr)\n",
+ "
[Imports](#imports)\n",
+ "
[Convenience Functions](#functions)\n",
+ "
[Perform Tests](#testing) \n",
+ "
[About This Notebook](#about)\n",
+ "
\n",
+ "\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Introduction\n",
+ "\n",
+ "This is the validation notebook that displays the unit tests for the Jump Detection step in calwebb_detector1. This notebook runs and displays the unit tests that are performed as a part of the normal software continuous integration process. For more information on the pipeline visit the links below. \n",
+ "\n",
+ "* Pipeline description: https://jwst-pipeline.readthedocs.io/en/latest/jwst/jump/index.html\n",
+ "\n",
+ "* Pipeline code: https://github.com/spacetelescope/jwst/tree/master/jwst/\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# JWST Unit Tests\n",
+ "\n",
+ "JWST unit tests are located in the \"tests\" folder for each pipeline step within the [GitHub repository](https://github.com/spacetelescope/jwst/tree/master/jwst/), e.g., ```jwst/jump/tests```.\n",
+ "\n",
+ "* Unit test README: https://github.com/spacetelescope/jwst#unit-tests\n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Defining Terms\n",
+ "\n",
+ "These are terms or acronymns used in this notebook that may not be known a general audience.\n",
+ "\n",
+ "* JWST: James Webb Space Telescope\n",
+ "\n",
+ "* NIRCam: Near-Infrared Camera\n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Test Description\n",
+ "\n",
+ "Unit testing is a software testing method by which individual units of source code are tested to determine whether they are working sufficiently well. Unit tests do not require a separate data file; the test creates the necessary test data and parameters as a part of the test code. \n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Data Description\n",
+ "\n",
+ "Data used for unit tests is created on the fly within the test itself, and is typically an array in the expected format of JWST data with added metadata needed to run through the pipeline. \n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Imports\n",
+ "\n",
+ "* tempfile for creating temporary output products\n",
+ "* pytest for unit test functions\n",
+ "* jwst for the JWST Pipeline\n",
+ "* IPython.display for display pytest reports\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import tempfile\n",
+ "import pytest\n",
+ "import jwst\n",
+ "from IPython.display import IFrame"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Convenience Functions\n",
+ "\n",
+ "Here we define any convenience functions to help with running the unit tests. \n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def display_report(fname):\n",
+ " '''Convenience function to display pytest report.'''\n",
+ " \n",
+ " return IFrame(src=fname, width=700, height=600)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Perform Tests\n",
+ "\n",
+ "Below we run the unit tests for the Jump Detection step. \n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "scrolled": false
+ },
+ "outputs": [],
+ "source": [
+ "with tempfile.TemporaryDirectory() as tmpdir:\n",
+ " !pytest jwst/jump -v --ignore=jwst/associations --ignore=jwst/datamodels --ignore=jwst/stpipe --ignore=jwst/regtest --html=tmpdir/unit_report.html --self-contained-html\n",
+ " report = display_report('tmpdir/unit_report.html')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [],
+ "source": [
+ "report"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "## About This Notebook\n",
+ "**Author:** Alicia Canipe, Staff Scientist, NIRCam\n",
+ "
**Updated On:** 01/07/2021"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "[Top of Page](#title_ID)\n",
+ " "
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.9.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 1
+}
diff --git a/jwst_validation_notebooks/lastframe/jwst_lastframe_unit_tests.ipynb b/jwst_validation_notebooks/lastframe/jwst_lastframe_unit_tests.ipynb
new file mode 100644
index 00000000..55c1b63e
--- /dev/null
+++ b/jwst_validation_notebooks/lastframe/jwst_lastframe_unit_tests.ipynb
@@ -0,0 +1,232 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# JWST Pipeline Validation Notebook: \n",
+ "# calwebb_detector1, lastframe unit tests\n",
+ "\n",
+ " **Instruments Affected**: MIRI\n",
+ "\n",
+ "### Table of Contents\n",
+ "\n",
+ " \n",
+ " \n",
+ "
[Introduction](#intro)\n",
+ "
[JWST Unit Tests](#unit)\n",
+ "
[Defining Terms](#terms)\n",
+ "
[Test Description](#description)\n",
+ "
[Data Description](#data_descr)\n",
+ "
[Imports](#imports)\n",
+ "
[Convenience Functions](#functions)\n",
+ "
[Perform Tests](#testing) \n",
+ "
[About This Notebook](#about)\n",
+ "
\n",
+ "\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Introduction\n",
+ "\n",
+ "This is the validation notebook that displays the unit tests for the Lastframe step in calwebb_detector1. This notebook runs and displays the unit tests that are performed as a part of the normal software continuous integration process. For more information on the pipeline visit the links below. \n",
+ "\n",
+ "* Pipeline description: https://jwst-pipeline.readthedocs.io/en/latest/jwst/lastframe/index.html\n",
+ "\n",
+ "* Pipeline code: https://github.com/spacetelescope/jwst/tree/master/jwst/\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# JWST Unit Tests\n",
+ "\n",
+ "JWST unit tests are located in the \"tests\" folder for each pipeline step within the [GitHub repository](https://github.com/spacetelescope/jwst/tree/master/jwst/), e.g., ```jwst/lastframe/tests```.\n",
+ "\n",
+ "* Unit test README: https://github.com/spacetelescope/jwst#unit-tests\n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Defining Terms\n",
+ "\n",
+ "These are terms or acronymns used in this notebook that may not be known a general audience.\n",
+ "\n",
+ "* JWST: James Webb Space Telescope\n",
+ "\n",
+ "* NIRCam: Near-Infrared Camera\n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Test Description\n",
+ "\n",
+ "Unit testing is a software testing method by which individual units of source code are tested to determine whether they are working sufficiently well. Unit tests do not require a separate data file; the test creates the necessary test data and parameters as a part of the test code. \n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Data Description\n",
+ "\n",
+ "Data used for unit tests is created on the fly within the test itself, and is typically an array in the expected format of JWST data with added metadata needed to run through the pipeline. \n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Imports\n",
+ "\n",
+ "* tempfile for creating temporary output products\n",
+ "* pytest for unit test functions\n",
+ "* jwst for the JWST Pipeline\n",
+ "* IPython.display for display pytest reports\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import tempfile\n",
+ "import pytest\n",
+ "import jwst\n",
+ "from IPython.display import IFrame"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Convenience Functions\n",
+ "\n",
+ "Here we define any convenience functions to help with running the unit tests. \n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def display_report(fname):\n",
+ " '''Convenience function to display pytest report.'''\n",
+ " \n",
+ " return IFrame(src=fname, width=700, height=600)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Perform Tests\n",
+ "\n",
+ "Below we run the unit tests for the Lastframe step. \n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [],
+ "source": [
+ "with tempfile.TemporaryDirectory() as tmpdir:\n",
+ " !pytest jwst/lastframe -v --ignore=jwst/associations --ignore=jwst/datamodels --ignore=jwst/stpipe --ignore=jwst/regtest --html=tmpdir/unit_report.html --self-contained-html\n",
+ " report = display_report('tmpdir/unit_report.html')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [],
+ "source": [
+ "report"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "## About This Notebook\n",
+ "**Author:** Alicia Canipe, Staff Scientist, NIRCam\n",
+ "
**Updated On:** 01/07/2021"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "[Top of Page](#title_ID)\n",
+ " "
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.9.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 1
+}
diff --git a/jwst_validation_notebooks/linearity/jwst_linearity_unit_tests.ipynb b/jwst_validation_notebooks/linearity/jwst_linearity_unit_tests.ipynb
new file mode 100644
index 00000000..731cce78
--- /dev/null
+++ b/jwst_validation_notebooks/linearity/jwst_linearity_unit_tests.ipynb
@@ -0,0 +1,230 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# JWST Pipeline Validation Notebook: \n",
+ "# calwebb_detector1, linearity unit tests\n",
+ "\n",
+ " **Instruments Affected**: NIRCam, NIRISS, NIRSpec, MIRI, FGS\n",
+ "\n",
+ "### Table of Contents\n",
+ "\n",
+ " \n",
+ " \n",
+ "
[Introduction](#intro)\n",
+ "
[JWST Unit Tests](#unit)\n",
+ "
[Defining Terms](#terms)\n",
+ "
[Test Description](#description)\n",
+ "
[Data Description](#data_descr)\n",
+ "
[Imports](#imports)\n",
+ "
[Convenience Functions](#functions)\n",
+ "
[Perform Tests](#testing) \n",
+ "
[About This Notebook](#about)\n",
+ "
\n",
+ "\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Introduction\n",
+ "\n",
+ "This is the validation notebook that displays the unit tests for the Linearity step in calwebb_detector1. This notebook runs and displays the unit tests that are performed as a part of the normal software continuous integration process. For more information on the pipeline visit the links below. \n",
+ "\n",
+ "* Pipeline description: https://jwst-pipeline.readthedocs.io/en/latest/jwst/linearity/index.html\n",
+ "\n",
+ "* Pipeline code: https://github.com/spacetelescope/jwst/tree/master/jwst/\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# JWST Unit Tests\n",
+ "\n",
+ "JWST unit tests are located in the \"tests\" folder for each pipeline step within the [GitHub repository](https://github.com/spacetelescope/jwst/tree/master/jwst/), e.g., ```jwst/linearity/tests```.\n",
+ "\n",
+ "* Unit test README: https://github.com/spacetelescope/jwst#unit-tests\n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Defining Terms\n",
+ "\n",
+ "These are terms or acronymns used in this notebook that may not be known a general audience.\n",
+ "\n",
+ "* JWST: James Webb Space Telescope\n",
+ "\n",
+ "* NIRCam: Near-Infrared Camera\n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Test Description\n",
+ "\n",
+ "Unit testing is a software testing method by which individual units of source code are tested to determine whether they are working sufficiently well. Unit tests do not require a separate data file; the test creates the necessary test data and parameters as a part of the test code. \n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Data Description\n",
+ "\n",
+ "Data used for unit tests is created on the fly within the test itself, and is typically an array in the expected format of JWST data with added metadata needed to run through the pipeline. \n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Imports\n",
+ "\n",
+ "* tempfile for creating temporary output products\n",
+ "* pytest for unit test functions\n",
+ "* jwst for the JWST Pipeline\n",
+ "* IPython.display for display pytest reports\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import tempfile\n",
+ "import pytest\n",
+ "import jwst\n",
+ "from IPython.display import IFrame"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Convenience Functions\n",
+ "\n",
+ "Here we define any convenience functions to help with running the unit tests. \n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def display_report(fname):\n",
+ " '''Convenience function to display pytest report.'''\n",
+ " \n",
+ " return IFrame(src=fname, width=700, height=600)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Perform Tests\n",
+ "\n",
+ "Below we run the unit tests for the Linearity step. \n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "scrolled": false
+ },
+ "outputs": [],
+ "source": [
+ "with tempfile.TemporaryDirectory() as tmpdir:\n",
+ " !pytest jwst/linearity -v --ignore=jwst/associations --ignore=jwst/datamodels --ignore=jwst/stpipe --ignore=jwst/regtest --html=tmpdir/unit_report.html --self-contained-html\n",
+ " report = display_report('tmpdir/unit_report.html')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "report"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "## About This Notebook\n",
+ "**Author:** Alicia Canipe, Staff Scientist, NIRCam\n",
+ "
**Updated On:** 01/07/2021"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "[Top of Page](#title_ID)\n",
+ " "
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.9.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 1
+}
diff --git a/jwst_validation_notebooks/persistence/jwst_persistence_unit_tests.ipynb b/jwst_validation_notebooks/persistence/jwst_persistence_unit_tests.ipynb
new file mode 100644
index 00000000..0f624664
--- /dev/null
+++ b/jwst_validation_notebooks/persistence/jwst_persistence_unit_tests.ipynb
@@ -0,0 +1,230 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# JWST Pipeline Validation Notebook: \n",
+ "# calwebb_detector1, persistence unit tests\n",
+ "\n",
+ " **Instruments Affected**: NIRCam, NIRISS, NIRSpec, FGS\n",
+ "\n",
+ "### Table of Contents\n",
+ "\n",
+ " \n",
+ " \n",
+ "
[Introduction](#intro)\n",
+ "
[JWST Unit Tests](#unit)\n",
+ "
[Defining Terms](#terms)\n",
+ "
[Test Description](#description)\n",
+ "
[Data Description](#data_descr)\n",
+ "
[Imports](#imports)\n",
+ "
[Convenience Functions](#functions)\n",
+ "
[Perform Tests](#testing) \n",
+ "
[About This Notebook](#about)\n",
+ "
\n",
+ "\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Introduction\n",
+ "\n",
+ "This is the validation notebook that displays the unit tests for the Persistence step in calwebb_detector1. This notebook runs and displays the unit tests that are performed as a part of the normal software continuous integration process. For more information on the pipeline visit the links below. \n",
+ "\n",
+ "* Pipeline description: https://jwst-pipeline.readthedocs.io/en/latest/jwst/persistence/index.html\n",
+ "\n",
+ "* Pipeline code: https://github.com/spacetelescope/jwst/tree/master/jwst/\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# JWST Unit Tests\n",
+ "\n",
+ "JWST unit tests are located in the \"tests\" folder for each pipeline step within the [GitHub repository](https://github.com/spacetelescope/jwst/tree/master/jwst/), e.g., ```jwst/persistence/tests```.\n",
+ "\n",
+ "* Unit test README: https://github.com/spacetelescope/jwst#unit-tests\n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Defining Terms\n",
+ "\n",
+ "These are terms or acronymns used in this notebook that may not be known a general audience.\n",
+ "\n",
+ "* JWST: James Webb Space Telescope\n",
+ "\n",
+ "* NIRCam: Near-Infrared Camera\n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Test Description\n",
+ "\n",
+ "Unit testing is a software testing method by which individual units of source code are tested to determine whether they are working sufficiently well. Unit tests do not require a separate data file; the test creates the necessary test data and parameters as a part of the test code. \n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Data Description\n",
+ "\n",
+ "Data used for unit tests is created on the fly within the test itself, and is typically an array in the expected format of JWST data with added metadata needed to run through the pipeline. \n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Imports\n",
+ "\n",
+ "* tempfile for creating temporary output products\n",
+ "* pytest for unit test functions\n",
+ "* jwst for the JWST Pipeline\n",
+ "* IPython.display for display pytest reports\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import tempfile\n",
+ "import pytest\n",
+ "import jwst\n",
+ "from IPython.display import IFrame"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Convenience Functions\n",
+ "\n",
+ "Here we define any convenience functions to help with running the unit tests. \n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def display_report(fname):\n",
+ " '''Convenience function to display pytest report.'''\n",
+ " \n",
+ " return IFrame(src=fname, width=700, height=600)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Perform Tests\n",
+ "\n",
+ "Below we run the unit tests for the Persistence step. \n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "scrolled": false
+ },
+ "outputs": [],
+ "source": [
+ "with tempfile.TemporaryDirectory() as tmpdir:\n",
+ " !pytest jwst/persistence -v --ignore=jwst/associations --ignore=jwst/datamodels --ignore=jwst/stpipe --ignore=jwst/regtest --html=tmpdir/unit_report.html --self-contained-html\n",
+ " report = display_report('tmpdir/unit_report.html')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "report"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "## About This Notebook\n",
+ "**Author:** Alicia Canipe, Staff Scientist, NIRCam\n",
+ "
**Updated On:** 01/07/2021"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "[Top of Page](#title_ID)\n",
+ " "
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.9.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 1
+}
diff --git a/jwst_validation_notebooks/ramp_fitting/jwst_ramp_fitting_unit_tests.ipynb b/jwst_validation_notebooks/ramp_fitting/jwst_ramp_fitting_unit_tests.ipynb
new file mode 100644
index 00000000..6d9bf6b3
--- /dev/null
+++ b/jwst_validation_notebooks/ramp_fitting/jwst_ramp_fitting_unit_tests.ipynb
@@ -0,0 +1,232 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# JWST Pipeline Validation Notebook: \n",
+ "# calwebb_detector1, ramp_fitting unit tests\n",
+ "\n",
+ " **Instruments Affected**: NIRCam, NIRISS, NIRSpec, MIRI, FGS\n",
+ "\n",
+ "### Table of Contents\n",
+ "\n",
+ " \n",
+ " \n",
+ "
[Introduction](#intro)\n",
+ "
[JWST Unit Tests](#unit)\n",
+ "
[Defining Terms](#terms)\n",
+ "
[Test Description](#description)\n",
+ "
[Data Description](#data_descr)\n",
+ "
[Imports](#imports)\n",
+ "
[Convenience Functions](#functions)\n",
+ "
[Perform Tests](#testing) \n",
+ "
[About This Notebook](#about)\n",
+ "
\n",
+ "\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Introduction\n",
+ "\n",
+ "This is the validation notebook that displays the unit tests for the Ramp Fitting step in calwebb_detector1. This notebook runs and displays the unit tests that are performed as a part of the normal software continuous integration process. For more information on the pipeline visit the links below. \n",
+ "\n",
+ "* Pipeline description: https://jwst-pipeline.readthedocs.io/en/latest/jwst/ramp_fitting/index.html\n",
+ "\n",
+ "* Pipeline code: https://github.com/spacetelescope/jwst/tree/master/jwst/\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# JWST Unit Tests\n",
+ "\n",
+ "JWST unit tests are located in the \"tests\" folder for each pipeline step within the [GitHub repository](https://github.com/spacetelescope/jwst/tree/master/jwst/), e.g., ```jwst/ramp_fitting/tests```.\n",
+ "\n",
+ "* Unit test README: https://github.com/spacetelescope/jwst#unit-tests\n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Defining Terms\n",
+ "\n",
+ "These are terms or acronymns used in this notebook that may not be known a general audience.\n",
+ "\n",
+ "* JWST: James Webb Space Telescope\n",
+ "\n",
+ "* NIRCam: Near-Infrared Camera\n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Test Description\n",
+ "\n",
+ "Unit testing is a software testing method by which individual units of source code are tested to determine whether they are working sufficiently well. Unit tests do not require a separate data file; the test creates the necessary test data and parameters as a part of the test code. \n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Data Description\n",
+ "\n",
+ "Data used for unit tests is created on the fly within the test itself, and is typically an array in the expected format of JWST data with added metadata needed to run through the pipeline. \n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Imports\n",
+ "\n",
+ "* tempfile for creating temporary output products\n",
+ "* pytest for unit test functions\n",
+ "* jwst for the JWST Pipeline\n",
+ "* IPython.display for display pytest reports\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import tempfile\n",
+ "import pytest\n",
+ "import jwst\n",
+ "from IPython.display import IFrame"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Convenience Functions\n",
+ "\n",
+ "Here we define any convenience functions to help with running the unit tests. \n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def display_report(fname):\n",
+ " '''Convenience function to display pytest report.'''\n",
+ " \n",
+ " return IFrame(src=fname, width=700, height=600)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Perform Tests\n",
+ "\n",
+ "Below we run the unit tests for the Ramp Fitting step. \n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "scrolled": false
+ },
+ "outputs": [],
+ "source": [
+ "with tempfile.TemporaryDirectory() as tmpdir:\n",
+ " !pytest jwst/ramp_fitting -v --ignore=jwst/associations --ignore=jwst/datamodels --ignore=jwst/stpipe --ignore=jwst/regtest --html=tmpdir/unit_report.html --self-contained-html\n",
+ " report = display_report('tmpdir/unit_report.html')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "scrolled": false
+ },
+ "outputs": [],
+ "source": [
+ "report"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "## About This Notebook\n",
+ "**Author:** Alicia Canipe, Staff Scientist, NIRCam\n",
+ "
**Updated On:** 01/07/2021"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "[Top of Page](#title_ID)\n",
+ " "
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.9.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 1
+}
diff --git a/jwst_validation_notebooks/refpix/jwst_refpix_unit_tests.ipynb b/jwst_validation_notebooks/refpix/jwst_refpix_unit_tests.ipynb
new file mode 100644
index 00000000..c5540d75
--- /dev/null
+++ b/jwst_validation_notebooks/refpix/jwst_refpix_unit_tests.ipynb
@@ -0,0 +1,230 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# JWST Pipeline Validation Notebook: \n",
+ "# calwebb_detector1, refpix unit tests\n",
+ "\n",
+ " **Instruments Affected**: NIRCam, NIRISS, NIRSpec, FGS\n",
+ "\n",
+ "### Table of Contents\n",
+ "\n",
+ " \n",
+ " \n",
+ "
[Introduction](#intro)\n",
+ "
[JWST Unit Tests](#unit)\n",
+ "
[Defining Terms](#terms)\n",
+ "
[Test Description](#description)\n",
+ "
[Data Description](#data_descr)\n",
+ "
[Imports](#imports)\n",
+ "
[Convenience Functions](#functions)\n",
+ "
[Perform Tests](#testing) \n",
+ "
[About This Notebook](#about)\n",
+ "
\n",
+ "\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Introduction\n",
+ "\n",
+ "This is the validation notebook that displays the unit tests for the Reference Pixel Correction in calwebb_detector1. This notebook runs and displays the unit tests that are performed as a part of the normal software continuous integration process. For more information on the pipeline visit the links below. \n",
+ "\n",
+ "* Pipeline description: https://jwst-pipeline.readthedocs.io/en/latest/jwst/refpix/index.html\n",
+ "\n",
+ "* Pipeline code: https://github.com/spacetelescope/jwst/tree/master/jwst/\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# JWST Unit Tests\n",
+ "\n",
+ "JWST unit tests are located in the \"tests\" folder for each pipeline step within the [GitHub repository](https://github.com/spacetelescope/jwst/tree/master/jwst/), e.g., ```jwst/refpix/tests```.\n",
+ "\n",
+ "* Unit test README: https://github.com/spacetelescope/jwst#unit-tests\n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Defining Terms\n",
+ "\n",
+ "These are terms or acronymns used in this notebook that may not be known a general audience.\n",
+ "\n",
+ "* JWST: James Webb Space Telescope\n",
+ "\n",
+ "* NIRCam: Near-Infrared Camera\n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Test Description\n",
+ "\n",
+ "Unit testing is a software testing method by which individual units of source code are tested to determine whether they are working sufficiently well. Unit tests do not require a separate data file; the test creates the necessary test data and parameters as a part of the test code. \n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Data Description\n",
+ "\n",
+ "Data used for unit tests is created on the fly within the test itself, and is typically an array in the expected format of JWST data with added metadata needed to run through the pipeline. \n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Imports\n",
+ "\n",
+ "* tempfile for creating temporary output products\n",
+ "* pytest for unit test functions\n",
+ "* jwst for the JWST Pipeline\n",
+ "* IPython.display for display pytest reports\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import tempfile\n",
+ "import pytest\n",
+ "import jwst\n",
+ "from IPython.display import IFrame"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Convenience Functions\n",
+ "\n",
+ "Here we define any convenience functions to help with running the unit tests. \n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def display_report(fname):\n",
+ " '''Convenience function to display pytest report.'''\n",
+ " \n",
+ " return IFrame(src=fname, width=700, height=600)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Perform Tests\n",
+ "\n",
+ "Below we run the unit tests for the Reference Pixel Correction. \n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "scrolled": false
+ },
+ "outputs": [],
+ "source": [
+ "with tempfile.TemporaryDirectory() as tmpdir:\n",
+ " !pytest jwst/refpix -v --ignore=jwst/associations --ignore=jwst/datamodels --ignore=jwst/stpipe --ignore=jwst/regtest --html=tmpdir/unit_report.html --self-contained-html\n",
+ " report = display_report('tmpdir/unit_report.html')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "report"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "## About This Notebook\n",
+ "**Author:** Alicia Canipe, Staff Scientist, NIRCam\n",
+ "
**Updated On:** 01/07/2021"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "[Top of Page](#title_ID)\n",
+ " "
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.9.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 1
+}
diff --git a/jwst_validation_notebooks/rscd/jwst_rscd_unit_tests.ipynb b/jwst_validation_notebooks/rscd/jwst_rscd_unit_tests.ipynb
new file mode 100644
index 00000000..f99b6d6d
--- /dev/null
+++ b/jwst_validation_notebooks/rscd/jwst_rscd_unit_tests.ipynb
@@ -0,0 +1,232 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# JWST Pipeline Validation Notebook: \n",
+ "# calwebb_detector1, rscd unit tests\n",
+ "\n",
+ " **Instruments Affected**: MIRI\n",
+ "\n",
+ "### Table of Contents\n",
+ "\n",
+ " \n",
+ " \n",
+ "
[Introduction](#intro)\n",
+ "
[JWST Unit Tests](#unit)\n",
+ "
[Defining Terms](#terms)\n",
+ "
[Test Description](#description)\n",
+ "
[Data Description](#data_descr)\n",
+ "
[Imports](#imports)\n",
+ "
[Convenience Functions](#functions)\n",
+ "
[Perform Tests](#testing) \n",
+ "
[About This Notebook](#about)\n",
+ "
\n",
+ "\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Introduction\n",
+ "\n",
+ "This is the validation notebook that displays the unit tests for the RSCD step in calwebb_detector1. This notebook runs and displays the unit tests that are performed as a part of the normal software continuous integration process. For more information on the pipeline visit the links below. \n",
+ "\n",
+ "* Pipeline description: https://jwst-pipeline.readthedocs.io/en/latest/jwst/rscd/index.html\n",
+ "\n",
+ "* Pipeline code: https://github.com/spacetelescope/jwst/tree/master/jwst/\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# JWST Unit Tests\n",
+ "\n",
+ "JWST unit tests are located in the \"tests\" folder for each pipeline step within the [GitHub repository](https://github.com/spacetelescope/jwst/tree/master/jwst/), e.g., ```jwst/rscd/tests```.\n",
+ "\n",
+ "* Unit test README: https://github.com/spacetelescope/jwst#unit-tests\n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Defining Terms\n",
+ "\n",
+ "These are terms or acronymns used in this notebook that may not be known a general audience.\n",
+ "\n",
+ "* JWST: James Webb Space Telescope\n",
+ "\n",
+ "* NIRCam: Near-Infrared Camera\n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Test Description\n",
+ "\n",
+ "Unit testing is a software testing method by which individual units of source code are tested to determine whether they are working sufficiently well. Unit tests do not require a separate data file; the test creates the necessary test data and parameters as a part of the test code. \n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Data Description\n",
+ "\n",
+ "Data used for unit tests is created on the fly within the test itself, and is typically an array in the expected format of JWST data with added metadata needed to run through the pipeline. \n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Imports\n",
+ "\n",
+ "* tempfile for creating temporary output products\n",
+ "* pytest for unit test functions\n",
+ "* jwst for the JWST Pipeline\n",
+ "* IPython.display for display pytest reports\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import tempfile\n",
+ "import pytest\n",
+ "import jwst\n",
+ "from IPython.display import IFrame"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Convenience Functions\n",
+ "\n",
+ "Here we define any convenience functions to help with running the unit tests. \n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def display_report(fname):\n",
+ " '''Convenience function to display pytest report.'''\n",
+ " \n",
+ " return IFrame(src=fname, width=700, height=600)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Perform Tests\n",
+ "\n",
+ "Below we run the unit tests for the RSCD step. \n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [],
+ "source": [
+ "with tempfile.TemporaryDirectory() as tmpdir:\n",
+ " !pytest jwst/rscd -v --ignore=jwst/associations --ignore=jwst/datamodels --ignore=jwst/stpipe --ignore=jwst/regtest --html=tmpdir/unit_report.html --self-contained-html\n",
+ " report = display_report('tmpdir/unit_report.html')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [],
+ "source": [
+ "report"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "## About This Notebook\n",
+ "**Author:** Alicia Canipe, Staff Scientist, NIRCam\n",
+ "
**Updated On:** 01/07/2021"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "[Top of Page](#title_ID)\n",
+ " "
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.9.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 1
+}
diff --git a/jwst_validation_notebooks/saturation/jwst_saturation_unit_tests.ipynb b/jwst_validation_notebooks/saturation/jwst_saturation_unit_tests.ipynb
new file mode 100644
index 00000000..e9d11699
--- /dev/null
+++ b/jwst_validation_notebooks/saturation/jwst_saturation_unit_tests.ipynb
@@ -0,0 +1,228 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# JWST Pipeline Validation Notebook: \n",
+ "# calwebb_detector1, saturation unit tests\n",
+ "\n",
+ " **Instruments Affected**: NIRCam, NIRISS, NIRSpec, MIRI, FGS\n",
+ "\n",
+ "### Table of Contents\n",
+ "\n",
+ " \n",
+ " \n",
+ "
[Introduction](#intro)\n",
+ "
[JWST Unit Tests](#unit)\n",
+ "
[Defining Terms](#terms)\n",
+ "
[Test Description](#description)\n",
+ "
[Data Description](#data_descr)\n",
+ "
[Imports](#imports)\n",
+ "
[Convenience Functions](#functions)\n",
+ "
[Perform Tests](#testing) \n",
+ "
[About This Notebook](#about)\n",
+ "
\n",
+ "\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Introduction\n",
+ "\n",
+ "This is the validation notebook that displays the unit tests for the Saturation step in calwebb_detector1. This notebook runs and displays the unit tests that are performed as a part of the normal software continuous integration process. For more information on the pipeline visit the links below. \n",
+ "\n",
+ "* Pipeline description: https://jwst-pipeline.readthedocs.io/en/latest/jwst/saturation/index.html\n",
+ "\n",
+ "* Pipeline code: https://github.com/spacetelescope/jwst/tree/master/jwst/\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# JWST Unit Tests\n",
+ "\n",
+ "JWST unit tests are located in the \"tests\" folder for each pipeline step within the [GitHub repository](https://github.com/spacetelescope/jwst/tree/master/jwst/), e.g., ```jwst/saturation/tests```.\n",
+ "\n",
+ "* Unit test README: https://github.com/spacetelescope/jwst#unit-tests\n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Defining Terms\n",
+ "\n",
+ "These are terms or acronymns used in this notebook that may not be known a general audience.\n",
+ "\n",
+ "* JWST: James Webb Space Telescope\n",
+ "\n",
+ "* NIRCam: Near-Infrared Camera\n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Test Description\n",
+ "\n",
+ "Unit testing is a software testing method by which individual units of source code are tested to determine whether they are working sufficiently well. Unit tests do not require a separate data file; the test creates the necessary test data and parameters as a part of the test code. \n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Data Description\n",
+ "\n",
+ "Data used for unit tests is created on the fly within the test itself, and is typically an array in the expected format of JWST data with added metadata needed to run through the pipeline. \n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Imports\n",
+ "\n",
+ "* tempfile for creating temporary output products\n",
+ "* pytest for unit test functions\n",
+ "* jwst for the JWST Pipeline\n",
+ "* IPython.display for display pytest reports\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import tempfile\n",
+ "import pytest\n",
+ "import jwst\n",
+ "from IPython.display import IFrame"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Convenience Functions\n",
+ "\n",
+ "Here we define any convenience functions to help with running the unit tests. \n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def display_report(fname):\n",
+ " '''Convenience function to display pytest report.'''\n",
+ " \n",
+ " return IFrame(src=fname, width=700, height=600)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Perform Tests\n",
+ "\n",
+ "Below we run the unit tests for the Saturation step. \n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "with tempfile.TemporaryDirectory() as tmpdir:\n",
+ " !pytest jwst/saturation -v --ignore=jwst/associations --ignore=jwst/datamodels --ignore=jwst/stpipe --ignore=jwst/regtest --html=tmpdir/unit_report.html --self-contained-html\n",
+ " report = display_report('tmpdir/unit_report.html')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "report"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "## About This Notebook\n",
+ "**Author:** Alicia Canipe, Staff Scientist, NIRCam\n",
+ "
**Updated On:** 01/07/2021"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "[Top of Page](#title_ID)\n",
+ " "
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.9.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 1
+}
diff --git a/jwst_validation_notebooks/superbias/jwst_superbias_unit_tests.ipynb b/jwst_validation_notebooks/superbias/jwst_superbias_unit_tests.ipynb
new file mode 100644
index 00000000..d72c795a
--- /dev/null
+++ b/jwst_validation_notebooks/superbias/jwst_superbias_unit_tests.ipynb
@@ -0,0 +1,228 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# JWST Pipeline Validation Notebook: \n",
+ "# calwebb_detector1, superbias unit tests\n",
+ "\n",
+ " **Instruments Affected**: NIRCam, NIRISS, NIRSpec, MIRI, FGS\n",
+ "\n",
+ "### Table of Contents\n",
+ "\n",
+ " \n",
+ " \n",
+ "
[Introduction](#intro)\n",
+ "
[JWST Unit Tests](#unit)\n",
+ "
[Defining Terms](#terms)\n",
+ "
[Test Description](#description)\n",
+ "
[Data Description](#data_descr)\n",
+ "
[Imports](#imports)\n",
+ "
[Convenience Functions](#functions)\n",
+ "
[Perform Tests](#testing) \n",
+ "
[About This Notebook](#about)\n",
+ "
\n",
+ "\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Introduction\n",
+ "\n",
+ "This is the validation notebook that displays the unit tests for the Superbias step in calwebb_detector1. This notebook runs and displays the unit tests that are performed as a part of the normal software continuous integration process. For more information on the pipeline visit the links below. \n",
+ "\n",
+ "* Pipeline description: https://jwst-pipeline.readthedocs.io/en/latest/jwst/superbias/index.html\n",
+ "\n",
+ "* Pipeline code: https://github.com/spacetelescope/jwst/tree/master/jwst/\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# JWST Unit Tests\n",
+ "\n",
+ "JWST unit tests are located in the \"tests\" folder for each pipeline step within the [GitHub repository](https://github.com/spacetelescope/jwst/tree/master/jwst/), e.g., ```jwst/superbias/tests```.\n",
+ "\n",
+ "* Unit test README: https://github.com/spacetelescope/jwst#unit-tests\n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Defining Terms\n",
+ "\n",
+ "These are terms or acronymns used in this notebook that may not be known a general audience.\n",
+ "\n",
+ "* JWST: James Webb Space Telescope\n",
+ "\n",
+ "* NIRCam: Near-Infrared Camera\n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Test Description\n",
+ "\n",
+ "Unit testing is a software testing method by which individual units of source code are tested to determine whether they are working sufficiently well. Unit tests do not require a separate data file; the test creates the necessary test data and parameters as a part of the test code. \n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Data Description\n",
+ "\n",
+ "Data used for unit tests is created on the fly within the test itself, and is typically an array in the expected format of JWST data with added metadata needed to run through the pipeline. \n",
+ "\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Imports\n",
+ "\n",
+ "* tempfile for creating temporary output products\n",
+ "* pytest for unit test functions\n",
+ "* jwst for the JWST Pipeline\n",
+ "* IPython.display for display pytest reports\n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import tempfile\n",
+ "import pytest\n",
+ "import jwst\n",
+ "from IPython.display import IFrame"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Convenience Functions\n",
+ "\n",
+ "Here we define any convenience functions to help with running the unit tests. \n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def display_report(fname):\n",
+ " '''Convenience function to display pytest report.'''\n",
+ " \n",
+ " return IFrame(src=fname, width=700, height=600)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Perform Tests\n",
+ "\n",
+ "Below we run the unit tests for the Superbias step. \n",
+ "\n",
+ "[Top of Page](#title_ID)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "with tempfile.TemporaryDirectory() as tmpdir:\n",
+ " !pytest jwst/superbias -v --ignore=jwst/associations --ignore=jwst/datamodels --ignore=jwst/stpipe --ignore=jwst/regtest --html=tmpdir/unit_report.html --self-contained-html\n",
+ " report = display_report('tmpdir/unit_report.html')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "report"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "## About This Notebook\n",
+ "**Author:** Alicia Canipe, Staff Scientist, NIRCam\n",
+ "
**Updated On:** 01/07/2021"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "[Top of Page](#title_ID)\n",
+ " "
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.9.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 1
+}