Skip to content

Commit

Permalink
Merge pull request #860 from BradleySappington/v1.3.0.rc1
Browse files Browse the repository at this point in the history
V1.3.0.rc1
  • Loading branch information
BradleySappington authored May 28, 2024
2 parents 2140f3c + 49cd483 commit ca25062
Show file tree
Hide file tree
Showing 22 changed files with 219 additions and 125 deletions.
7 changes: 4 additions & 3 deletions dev_utils/master_data_release.sh
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,10 @@ new_directory="$main_directory/webbpsf-data-$VER"
symlink_directory="/grp/jwst/ote/webbpsf-data"

cp "$PWD/webbpsf-data-$VER.tar.gz" "$main_directory"
tar -xzf "$PWD/webbpsf-data-$VER.tar.gz" -C "$main_directory"
mv "$main_directory/webbpsf-data" "$new_directory"
ln -s "$new_directory" "$symlink_directory"
mkdir "$new_directory"
tar -xzf "$PWD/webbpsf-data-$VER.tar.gz" -C "$new_directory"
rm "$symlink_directory"
ln -s "$new_directory/webbpsf-data" "$symlink_directory"

./make-minimal-datafiles.py ${PWD}/webbpsf-data-${VER}.tar.gz $VER

Expand Down
4 changes: 2 additions & 2 deletions docs/README figure.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -701,8 +701,8 @@
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.3"
"pygments_lexer": "python",
"version": "3.10.0"
}
},
"nbformat": 4,
Expand Down
28 changes: 14 additions & 14 deletions docs/available_opds.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,31 +5,31 @@ Appendix: Available Optical Path Difference (OPD) files
On-Orbit OPD Measurements
-------------------------

The default OPD in WebbPSF is now an on-orbit measured OPD from early in cycle 1 science operations:
The default OPD in WebbPSF is now an on-orbit measured OPD from early in cycle 1 science operations:

* `JWST_OTE_OPD_cycle1_example_2022-07-30.fits`: The specific OPD measurement selected, from 2022 July 30, intentionally represents a slightly conservative alignment state (after a couple weeks of relative stability, shortly before a next wavefront correction). This is about a 75th percentile performance level, based on operational experience during the first few months of cycle 1. Most observations will have OPDs similar to this, or slightly better; a smaller number will have not quite as good.
* `JWST_OTE_OPD_cycle1_example_2022-07-30.fits`: The specific OPD measurement selected, from 2022 July 30, intentionally represents a slightly conservative alignment state (after a couple weeks of relative stability, shortly before a next wavefront correction). This is about a 75th percentile performance level, based on operational experience during the first few months of cycle 1. Most observations will have OPDs similar to this, or slightly better; a smaller number will have not quite as good.

This intentionally-slightly-conservative OPD was chosen for use in the cycle 2 ETC and is set as the default here for consistency.
For modeling PSFs of science observations, it is generally best to retrieve and use the
`measured in-flight wavefronts <https://webbpsf.readthedocs.io/en/latest/jwst_measured_opds.html>`_ based on the date of
the science observation.
This intentionally-slightly-conservative OPD was chosen for use in the cycle 2 ETC and is set as the default here for consistency.
For modeling PSFs of science observations, it is generally best to retrieve and use the
`measured in-flight wavefronts <https://webbpsf.readthedocs.io/en/latest/jwst_measured_opds.html>`_ based on the date of
the science observation.




Pre-Launch Model OPDs (Obsolete)
---------------------------------

Prior versions of this page documented the _pre-flight_ models for JWST wavefronts. These models are now happily obsolete, and can be replaced by
Prior versions of this page documented the `_pre-flight_` models for JWST wavefronts. These models are now happily obsolete, and can be replaced by
`actual measured in-flight wavefronts <https://webbpsf.readthedocs.io/en/latest/jwst_measured_opds.html>`_.


Most pre-launch predicted OPDs are no longer included in the WebbPSF data files distribution. The only such files still
included are

* `JWST_OTE_OPD_RevAA_prelaunch_predicted.fits.gz`: This contains predicted OPDs based on the best available optical models at the time of launch, including the calibrated, known surface figures of each mirror as measured in ground testing. For most purposes this is superceded by the on-orbit measurements. It is retained for back-compatibility mostly.
For any cases in which you may need further information about the other pre-launch predicted OPD files,
consult the `older versions of this page hosted on readthedocs<https://webbpsf.readthedocs.io/en/v0.9.0/available_opds.html>`_.
* `JWST_OTE_OPD_RevAA_prelaunch_predicted.fits.gz`: This contains predicted OPDs based on the best available optical models at the time of launch, including the calibrated, known surface figures of each mirror as measured in ground testing. For most purposes this is superceded by the on-orbit measurements. It is retained for back-compatibility mostly.


For any cases in which you may need further information about the other pre-launch predicted OPD files,
consult the `older versions of this page hosted on readthedocs <https://webbpsf.readthedocs.io/en/v0.9.0/available_opds.html>`_.

4 changes: 3 additions & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@
extensions = [
"sphinx.ext.mathjax",
"sphinx.ext.autodoc",
"sphinx.ext.graphviz",
"sphinx.ext.intersphinx",
"sphinx.ext.todo",
"sphinx.ext.inheritance_diagram",
Expand All @@ -80,11 +81,12 @@
"sphinx_issues",
"nbsphinx",
"numpydoc",
"astroquery",
]

numpydoc_show_class_members = False

autosummary_generate = True
graphviz_dot = "dot"
# Add any paths that contain templates here, relative to this directory.
templates_path = ["_templates"]

Expand Down
4 changes: 2 additions & 2 deletions docs/field_dependence/multifield_documentation.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -522,8 +522,8 @@
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.7"
"pygments_lexer": "python",
"version": "3.10.0"
}
},
"nbformat": 4,
Expand Down
3 changes: 1 addition & 2 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ WebbPSF is a Python package that computes simulated point spread functions (PSFs


**Contributors:**
WebbPSF has been developed by Marshall Perrin, Marcio Meléndez, Shannon Osborne, Robel Geda, Brad Sappington, Charles-Philippe Lajoie, Joseph Long, Justin Otor, Jarron Leisenring, Neil Zimmerman, Keira Brooks, and Anand Sivaramakrishnan, with contributions from Alden Jurling, Lauren Chambers, Ewan Douglas, and `others <https://github.com/spacetelescope/webbpsf/graphs/contributors>`_.
WebbPSF has been developed by Marshall Perrin, Marcio Meléndez, Shannon Osborne, Robel Geda, Brad Sappington, Charles-Philippe Lajoie, Joseph Long, Justin Otor, Jarron Leisenring, Neil Zimmerman, Keira Brooks, and Anand Sivaramakrishnan, with contributions from Alden Jurling, Lauren Chambers, Ewan Douglas, and `others <https://github.com/spacetelescope/webbpsf/graphs/contributors>`_.

Getting Started with WebbPSF
----------------------------
Expand Down Expand Up @@ -77,7 +77,6 @@ Contents

api_reference.rst
help.rst
performance.rst
sampling.rst
fft_optimization.rst
poppy.rst
Expand Down
2 changes: 1 addition & 1 deletion docs/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ Files containing such information as the JWST pupil shape, instrument throughput
2. Untar ``webbpsf-data-LATEST.tar.gz`` into a directory of your choosing.
3. Set the environment variable ``WEBBPSF_PATH`` to point to that directory. e.g. ::

export WEBBPSF_PATH=$HOME/data/webbpsf-data
export WEBBPSF_PATH=$HOME/data/webbpsf-data

for bash. (You will probably want to add this to your ``.bashrc``.)

Expand Down
27 changes: 16 additions & 11 deletions docs/jwst_detector_effects.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
"metadata": {},
"outputs": [],
"source": [
"import webbpsf \n",
"import webbpsf\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt"
]
Expand Down Expand Up @@ -275,7 +275,7 @@
],
"source": [
"wave_arr = np.array([])\n",
"fwhm_fun_arr_no_effects = np.array([]) \n",
"fwhm_fun_arr_no_effects = np.array([])\n",
"for filters in niriss.filter_list[:-1]:\n",
" niriss = webbpsf.NIRISS()\n",
" niriss.filter = filters\n",
Expand All @@ -286,8 +286,7 @@
" single_webbpsf_niriss_no_effects = niriss.calc_psf(fov_pixels=fov_pixels)\n",
" wave_arr = np.append(wave_arr, single_webbpsf_niriss_no_effects[3].header['WAVELEN'])\n",
" fitted_psf = measure_fwhm(single_webbpsf_niriss_no_effects[3].data)\n",
" fwhm_fun_arr_no_effects = np.append(fwhm_fun_arr_no_effects,np.sqrt(fitted_psf.x_fwhm * fitted_psf.y_fwhm)*niriss.pixelscale)\n",
" "
" fwhm_fun_arr_no_effects = np.append(fwhm_fun_arr_no_effects,np.sqrt(fitted_psf.x_fwhm * fitted_psf.y_fwhm)*niriss.pixelscale)\n"
]
},
{
Expand Down Expand Up @@ -325,7 +324,7 @@
],
"source": [
"wave_arr = np.array([])\n",
"fwhm_fun_arr = np.array([]) \n",
"fwhm_fun_arr = np.array([])\n",
"for filters in niriss.filter_list[:-1]:\n",
" niriss = webbpsf.NIRISS()\n",
" niriss.filter = filters\n",
Expand All @@ -334,8 +333,7 @@
" single_webbpsf_niriss = niriss.calc_psf(fov_pixels=fov_pixels)\n",
" wave_arr = np.append(wave_arr, single_webbpsf_niriss[3].header['WAVELEN'])\n",
" fitted_psf = measure_fwhm(single_webbpsf_niriss[3].data)\n",
" fwhm_fun_arr = np.append(fwhm_fun_arr,np.sqrt(fitted_psf.x_fwhm * fitted_psf.y_fwhm)*niriss.pixelscale)\n",
" "
" fwhm_fun_arr = np.append(fwhm_fun_arr,np.sqrt(fitted_psf.x_fwhm * fitted_psf.y_fwhm)*niriss.pixelscale)\n"
]
},
{
Expand Down Expand Up @@ -379,10 +377,9 @@
"\n",
"for fn in stdpsf:\n",
" hd = fits.open(fn)\n",
" eps_data = ndimage.zoom(hd[0].data[12],0.25) # the ePSF is binned down to detector-sampled \n",
" eps_data = ndimage.zoom(hd[0].data[12],0.25) # the ePSF is binned down to detector-sampled\n",
" fitted_psf_epsf = measure_fwhm(eps_data)\n",
" fwhm_fun_arr_epsf = np.append(fwhm_fun_arr_epsf,np.sqrt(fitted_psf_epsf.x_fwhm * fitted_psf_epsf.y_fwhm)*niriss.pixelscale)\n",
" "
" fwhm_fun_arr_epsf = np.append(fwhm_fun_arr_epsf,np.sqrt(fitted_psf_epsf.x_fwhm * fitted_psf_epsf.y_fwhm)*niriss.pixelscale)\n"
]
},
{
Expand Down Expand Up @@ -466,6 +463,14 @@
"\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "575dd903",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"id": "89334f7b",
Expand Down Expand Up @@ -502,7 +507,7 @@
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"pygments_lexer": "python",
"version": "3.11.7"
}
},
Expand Down
2 changes: 1 addition & 1 deletion docs/jwst_matching_psfs_to_data.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,7 @@
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"pygments_lexer": "python",
"version": "3.11.7"
}
},
Expand Down
2 changes: 1 addition & 1 deletion docs/jwst_measured_opds.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -722,7 +722,7 @@
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"pygments_lexer": "python",
"version": "3.11.7"
}
},
Expand Down
4 changes: 2 additions & 2 deletions docs/jwst_optical_budgets.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -303,8 +303,8 @@
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.7"
"pygments_lexer": "python",
"version": "3.10.0"
}
},
"nbformat": 4,
Expand Down
2 changes: 1 addition & 1 deletion docs/jwst_psf_subtraction.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -630,7 +630,7 @@
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"pygments_lexer": "python",
"version": "3.11.7"
}
},
Expand Down
4 changes: 2 additions & 2 deletions docs/jwst_wavefront_deltas.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -103,8 +103,8 @@
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.10"
"pygments_lexer": "python",
"version": "3.10.0"
}
},
"nbformat": 4,
Expand Down
28 changes: 14 additions & 14 deletions docs/release.rst
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Releasing new data packages
#. Update the URL in ``installation.rst`` under :ref:`data_install`

Details for using `master_data_release.sh`:
-------------------------------------
-------------------------------------------

Invoke ``dev_utils/master_data_release.sh`` one of the following ways to make a gzipped tarred archive of the WebbPSF data suitable for distribution.

Expand All @@ -43,25 +43,25 @@ Releasing new versions
======================

If you are making a release for `poppy` at the same time as a release in WebbPSF, do that first.
Update the dependency requirement to the new version of poppy, in ``webbpsf/pyproject.toml`.
Update the dependency requirement to the new version of poppy, in ``webbpsf/pyproject.toml``.

When you are ready, proceed with the WebbPSF release as follows:

#. Get the `develop` branch into the state that you want, including all PRs merged, updated release notes. This includes all tests passing both locally and on GitHub Actions.
#. Tag the commit with `v<version>`, being sure to sign the tag with the `-s` option.
* ``git tag -s v<version> -m "Release v<version>"``
#. Get the `develop` branch into the state that you want, including all PRs merged, updated release notes. This includes all tests passing both locally and on GitHub Actions.
#. Tag the commit with `v<version>`, being sure to sign the tag with the `-s` option.
* ``git tag -s v<version> -m "Release v<version>"``

#. Push tag to github, on `develop`
#. On github, make a PR from `develop` to `stable` (this can be done ahead of time and left open, until all individual PRs are merged into `develop`.).
#. After verifying that PR is complete and tests pass, merge it. (Once merged, both the `stable` and `develop` branches should match).
#. Release on Github:
#. Push tag to github, on `develop`
#. On github, make a PR from `develop` to `stable` (this can be done ahead of time and left open, until all individual PRs are merged into `develop`.).
#. After verifying that PR is complete and tests pass, merge it. (Once merged, both the `stable` and `develop` branches should match).
#. Release on Github:

#. On Github, click on "[N] Releases".
#. Select "Draft a new release".
#. Specify the version number, title, and brief description of the release.
#. Press "Publish Release".
#. On Github, click on "[N] Releases".
#. Select "Draft a new release".
#. Specify the version number, title, and brief description of the release.
#. Press "Publish Release".

#. Release to PyPI. This should now happen automatically on GitHub Actions. This will be triggered by a GitHub Actions build of a tagged commit on the `stable` branch, so it will happen automatically on the prior step for the PR into `stable`.
#. Release to PyPI. This should now happen automatically on GitHub Actions. This will be triggered by a GitHub Actions build of a tagged commit on the `stable` branch, so it will happen automatically on the prior step for the PR into `stable`.

.. note::

Expand Down
Loading

0 comments on commit ca25062

Please sign in to comment.