Reason should handle outputs better
Originally reported by: **The yt Project (Bitbucket: [yt_analysis](https://bitbucket.org/yt_analysis), GitHub: Unknown)**

----------------------------------------

== Imported Ticket ==
 * **Summary:** Reason should handle outputs better
 * **Component:** reason
 * **Milestone:** 1.0
 * **Reporter:** mturk
 * **Owner:** mturk
 * **Resolution: fixed
 * **Status:** closed
 * **Created:** 1211496193000000
 * **Description:** In the absence of a fido that really works for the new public enzo release, one should be able to add outputs to reason easily (recursively?) and with the ability to store them between runs.

=== Update to Ticket ===
 * **Author:** mturk
 * **Changetime:** 1211582179000000
 * **Field:** status
 * **Oldvalue:** new
 * **Newvalue:** assigned


=== Update to Ticket ===
 * **Author:** mturk
 * **Changetime:** 1211582179000000
 * **Field:** summary
 * **Oldvalue:** Reason should store outputs
 * **Newvalue:** Reason should handle outputs better


=== Update to Ticket ===
 * **Author:** mturk
 * **Changetime:** 1211582179000000
 * **Field:** comment
 * **Oldvalue:** 1
 * **Newvalue:** Additionally, I want to have a one- or two-level recursive glob.  Or, maybe, a fairly heavy-duty window that asks for location and for directory depth to look for hierarchy files, which it then extrapolates back into parameter files.


=== Update to Ticket ===
 * **Author:** mturk
 * **Changetime:** 1212423223000000
 * **Field:** comment
 * **Oldvalue:** 2
 * **Newvalue:** SQLite is probably the way to go.


=== Update to Ticket ===
 * **Author:** mturk
 * **Changetime:** 1212473207000000
 * **Field:** comment
 * **Oldvalue:** 3
 * **Newvalue:** Actually, forget SQLite for ''now,'' until the schema from RW and DC comes online.  I will be satisfied by a GUI for the following:

 * importing a directory ala the fimport command
 * removing an output from an OutputCollection
 * adding an output to an OutputCollection
 * removing an OutputCollection


=== Update to Ticket ===
 * **Author:** mturk
 * **Changetime:** 1213909025000000
 * **Field:** comment
 * **Oldvalue:** 4
 * **Newvalue:** Might be fixed in r576.


=== Update to Ticket ===
 * **Author:** mturk
 * **Changetime:** 1213913311000000
 * **Field:** status
 * **Oldvalue:** assigned
 * **Newvalue:** closed


=== Update to Ticket ===
 * **Author:** mturk
 * **Changetime:** 1213913311000000
 * **Field:** resolution
 * **Oldvalue:** 
 * **Newvalue:** fixed


=== Update to Ticket ===
 * **Author:** mturk
 * **Changetime:** 1213913311000000
 * **Field:** comment
 * **Oldvalue:** 5
 * **Newvalue:** Works for me.  Closing.

----------------------------------------
- Bitbucket: https://bitbucket.org/yt_analysis/yt/issue/101

diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst
index 89228632f..e82986f1c 100644
--- a/CONTRIBUTING.rst
+++ b/CONTRIBUTING.rst
@@ -1,5 +1,5 @@
 .. This document is rendered in HTML with cross-reference links filled in at
-   http://yt-project.org/doc/developing/
+   https://yt-project.org/doc/developing/developing.html
 
 .. _getting-involved:
 
@@ -20,16 +20,16 @@ There are five main communication channels for yt:
 
  * We have an IRC channel, on ``irc.freenode.net`` in ``#yt``.
    You can connect through our web
-   gateway without any special client, at http://yt-project.org/irc.html .
+   gateway without any special client, at https://yt-project.org/irc.html .
    *IRC is the first stop for conversation!*
  * Many yt developers participate in the yt Slack community. Slack is a free
    chat service that many teams use to organize their work. You can get an
    invite to yt's Slack organization by clicking the "Join us @ Slack" button
-   on this page: http://yt-project.org/community.html
- * `yt-users <https://mail.python.org/mm3/archives/list/yt-users@python.org/>`_
+   on this page: https://yt-project.org/community.html
+ * `yt-users <https://mail.python.org/archives/list/yt-users@python.org/>`_
    is a relatively high-traffic mailing list where people are encouraged to ask
    questions about the code, figure things out and so on.
- * `yt-dev <https://mail.python.org/mm3/archives/list/yt-dev@python.org/>`_ is
+ * `yt-dev <https://mail.python.org/archives/list/yt-dev@python.org/>`_ is
    a much lower-traffic mailing list designed to focus on discussions of
    improvements to the code, ideas about planning, development issues, and so
    on.
@@ -62,12 +62,12 @@ Gallery Images and Videos
 
 If you have an image or video you'd like to display in the image or video
 galleries, getting it included it easy!  You can either fork the `yt homepage
-repository <http://github.com/yt-project/website>`_ and add it there, or
+repository <https://github.com/yt-project/website>`_ and add it there, or
 email it to us and we'll add it to the `Gallery
-<http://yt-project.org/gallery.html>`_.
+<https://yt-project.org/gallery.html>`_.
 
 We're eager to show off the images and movies you make with yt, so please feel
-free to drop `us <https://mail.python.org/mm3/archives/list/yt-dev@python.org/>`_
+free to drop `us <https://mail.python.org/archives/list/yt-dev@python.org/>`_
 a line and let us know if you've got something great!
 
 Technical Contributions
@@ -100,15 +100,15 @@ Word of Mouth
 
 If you're using yt and it has increased your productivity, please feel
 encouraged to share that information.  Cite our `paper
-<http://adsabs.harvard.edu/abs/2011ApJS..192....9T>`_, tell your colleagues,
+<https://ui.adsabs.harvard.edu/abs/2011ApJS..192....9T>`_, tell your colleagues,
 and just spread word of mouth.  By telling people about your successes, you'll
 help bring more eyes and hands to the table -- in this manner, by increasing
 participation, collaboration, and simply spreading the limits of what the code
 is asked to do, we hope to help scale the utility and capability of yt with the
 community size.
 
-Feel free to `blog <http://blog.yt-project.org/>`_ about, `tweet
-<http://twitter.com/yt_astro>`_ about and talk about what you are up to!
+Feel free to `blog <https://blog.yt-project.org/>`_ about, `tweet
+<https://twitter.com/yt_astro>`_ about and talk about what you are up to!
 
 Long-Term Projects
 ------------------
@@ -196,7 +196,7 @@ associated social events, and one-to-one interactions.
 
 The yt Community Code of Conduct was adapted from the
 `Astropy Community Code of Conduct
-<http://www.astropy.org/code_of_conduct.html>`_,
+<https://www.astropy.org/code_of_conduct.html>`_,
 which was partially inspired by the PSF code of conduct.
 
 .. _contributing-code:
@@ -211,7 +211,7 @@ the community!  yt is developed using git, primarily because it enables
 very easy and straightforward submission of revisions.  We're eager to hear
 from you, and if you are developing yt, we encourage you to subscribe to the
 `developer mailing list
-<https://mail.python.org/mm3/archives/list/yt-dev@python.org/>`_. Please feel
+<https://mail.python.org/archives/list/yt-dev@python.org/>`_. Please feel
 free to hack around, commit changes, and send them upstream.
 
 .. note:: If you already know how to use the `git version control system
@@ -252,7 +252,7 @@ Submitting Changes
 ------------------
 
 We provide a brief introduction to submitting changes here.  yt thrives on the
-strength of its communities (http://arxiv.org/abs/1301.7064 has further
+strength of its communities (https://arxiv.org/abs/1301.7064 has further
 discussion) and we encourage contributions from any user.  While we do not
 discuss version control, git, or the advanced usage of GitHub in detail
 here, we do provide an outline of how to submit changes and we are happy to
@@ -261,7 +261,7 @@ provide further assistance or guidance.
 Licensing
 +++++++++
 
-yt is `licensed <http://blog.yt-project.org/post/Relicensing/>`_ under the
+yt is `licensed <https://blog.yt-project.org/post/Relicensing/>`_ under the
 BSD 3-clause license.  Versions previous to yt-2.6 were released under the GPLv3.
 
 All contributed code must be BSD-compatible.  If you'd rather not license in
@@ -462,7 +462,7 @@ which have different requirements for acceptance into the code base.  These
 requirements are in place for a few reasons -- to make sure that the code is
 maintainable, testable, and that we can easily include information about
 changes in changelogs during the release procedure.  (See `YTEP-0008
-<https://ytep.readthedocs.org/en/latest/YTEPs/YTEP-0008.html>`_ for more
+<https://ytep.readthedocs.io/en/latest/YTEPs/YTEP-0008.html>`_ for more
 detail.)
 
 * New Features
@@ -636,7 +636,7 @@ Here's a more detailed flowchart of how to submit changes.
      For consistency, all commands we list in this document will use the HTTPS
      protocol.
 
-     .. _SSH key: https://help.github.com/articles/connecting-to-github-with-ssh/
+     .. _SSH key: https://help.github.com/en/articles/connecting-to-github-with-ssh/
 #. Issue a pull request at https://github.com/yt-project/yt/pull/new/master A
    pull request is essentially just asking people to review and accept the
    modifications you have made to your personal version of the code.
@@ -721,7 +721,7 @@ triggers. The errors will be in your newly added code because we have already
 cleaned up the rest of the yt codebase of the errors and warnings detected by
 the `flake8` tool. Note that this will only trigger a subset of the `full flake8
 error and warning list
-<http://flake8.readthedocs.io/en/latest/user/error-codes.html>`_, since we explicitly
+<https://flake8.readthedocs.io/en/latest/user/error-codes.html>`_, since we explicitly
 blacklist a large number of the full list of rules that are checked by
 ``flake8`` by default.
 
@@ -729,7 +729,7 @@ Source code style guide
 -----------------------
 
  * In general, follow PEP-8 guidelines.
-   http://www.python.org/dev/peps/pep-0008/
+   https://www.python.org/dev/peps/pep-0008/
  * Classes are ``ConjoinedCapitals``, methods and functions are
    ``lowercase_with_underscores``.
  * Use 4 spaces, not tabs, to represent indentation.
@@ -805,7 +805,8 @@ Docstrings
 The following is an example docstring. You can use it as a template for
 docstrings in your code and as a guide for how we expect docstrings to look and
 the level of detail we are looking for. Note that we use NumPy style docstrings
-written in `Sphinx restructured text format <http://sphinx-doc.org/rest.html>`_.
+written in `Sphinx restructured text format
+<http://www.sphinx-doc.org/es/master/usage/restructuredtext/>`_.
 
 .. code-block:: rest
 
diff --git a/COPYING.txt b/COPYING.txt
index 2f6144a02..f957134df 100644
--- a/COPYING.txt
+++ b/COPYING.txt
@@ -45,7 +45,7 @@ diverse institutions, scientific, and technical backgrounds.
 Until the fall of 2013, yt was licensed under the GPLv3.  However, with consent
 from all developers and on a public mailing list, yt has been relicensed under
 the BSD 3-clause under a shared copyright model.  For more information, see:
-https://mail.python.org/mm3/archives/list/yt-dev@python.org/thread/G4DJDDGB4PSZFJVPWRSHNOSUMTISXC4X/
+https://mail.python.org/archives/list/yt-dev@python.org/thread/G4DJDDGB4PSZFJVPWRSHNOSUMTISXC4X/
 All versions of yt prior to this licensing change are available under the
 GPLv3; all subsequent versions are available under the BSD 3-clause license.
 
diff --git a/README.md b/README.md
index 2c8600b07..2a5dc9e0f 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
 # The yt Project
 
-[![Users' Mailing List](https://img.shields.io/badge/Users-List-lightgrey.svg)](https://mail.python.org/mm3/archives/list/yt-users@python.org//)
-[![Devel Mailing List](https://img.shields.io/badge/Devel-List-lightgrey.svg)](https://mail.python.org/mm3/archives/list/yt-dev@python.org//)
+[![Users' Mailing List](https://img.shields.io/badge/Users-List-lightgrey.svg)](https://mail.python.org/archives/list/yt-users@python.org//)
+[![Devel Mailing List](https://img.shields.io/badge/Devel-List-lightgrey.svg)](https://mail.python.org/archives/list/yt-dev@python.org//)
 [![Build Status](https://img.shields.io/travis/yt-project/yt.svg?branch=master)](https://travis-ci.org/yt-project/yt)
 [![codecov](https://codecov.io/gh/yt-project/yt/branch/master/graph/badge.svg)](https://codecov.io/gh/yt-project/yt)
 [![Latest Documentation](https://img.shields.io/badge/docs-latest-brightgreen.svg)](http://yt-project.org/docs/dev/)
@@ -21,7 +21,7 @@ oceanography. Composed of a friendly community of users and developers, we want
 to make it easy to use and develop - we'd love it if you got involved!
 
 We've written a [method
-paper](http://adsabs.harvard.edu/abs/2011ApJS..192....9T) you may be interested
+paper](https://ui.adsabs.harvard.edu/abs/2011ApJS..192....9T) you may be interested
 in; if you use yt in the preparation of a publication, please consider citing
 it.
 
@@ -34,7 +34,7 @@ guide](http://yt-project.org/docs/dev/developing/developing.html#yt-community-co
 ## Installation
 
 You can install the most recent stable version of yt either with conda from
-[conda-forge](http://conda-forge.github.io/):
+[conda-forge](https://conda-forge.org/):
 
 ```
 conda install -c conda-forge yt
@@ -154,10 +154,10 @@ We have some community and documentation resources available.
  * Our latest documentation is always at http://yt-project.org/docs/dev/ and it
    includes recipes, tutorials, and API documentation
  * The [discussion mailing
-   list](https://mail.python.org/mm3/archives/list/yt-users@python.org//)
+   list](https://mail.python.org/archives/list/yt-users@python.org//)
    should be your first stop for general questions
  * The [development mailing
-   list](https://mail.python.org/mm3/archives/list/yt-dev@python.org//) is
+   list](https://mail.python.org/archives/list/yt-dev@python.org//) is
    better suited for more development issues
  * You can also join us on Slack at yt-project.slack.com ([request an
-   invite](http://yt-project.org/slack.html))
+   invite](https://yt-project.org/slack.html))
diff --git a/doc/README b/doc/README
index 345f37bd7..97370b9e9 100644
--- a/doc/README
+++ b/doc/README
@@ -7,4 +7,4 @@ http://www.sphinx-doc.org/en/master/
 Because the documentation requires a number of dependencies, we provide
 pre-built versions online, accessible here:
 
-http://yt-project.org/docs/dev/
+https://yt-project.org/docs/dev/
diff --git a/doc/cheatsheet.tex b/doc/cheatsheet.tex
index 685836b15..c65f0eec3 100644
--- a/doc/cheatsheet.tex
+++ b/doc/cheatsheet.tex
@@ -101,7 +101,7 @@ For everything yt please see \url{http://yt-project.org}.
 Documentation \url{http://yt-project.org/doc/index.html}.
 Need help? Start here \url{http://yt-project.org/doc/help/} and then
 try the IRC chat room \url{http://yt-project.org/irc.html},
-or the mailing list \url{https://mail.python.org/mm3/archives/list/yt-users@python.org/}. \\
+or the mailing list \url{https://mail.python.org/archives/list/yt-users@python.org/}. \\
 
 \subsection{Installing yt} The easiest way to install yt is to use the
 installation script found on the yt homepage or the docs linked above.  If you
@@ -313,23 +313,29 @@ applications.
 (such as halos or clumps).\\
 
 
-\subsection{Mercurial}
+\subsection{Git}
 \settowidth{\MyLen}{\texttt{multicol}}
-Please see \url{http://mercurial.selenic.com/} for the full Mercurial documentation.
-
-\texttt{hg clone https://bitbucket.org/yt\_analysis/yt} \textemdash\ Clone a copy of yt. \\
-\texttt{hg status} \textemdash\ Files changed in working directory.\\
-\texttt{hg diff} \textemdash\ Print diff of all changed files in working directory. \\
-\texttt{hg diff -r\textit{RevX} -r\textit{RevY}} \textemdash\ Print diff of all changes between revision \textit{RevX} and \textit{RevY}.\\
-\texttt{hg log} \textemdash\ History of changes.\\
-\texttt{hg cat -r\textit{RevX file}} \textemdash\ Print the contents of \textit{file} from revision \textit{RevX}.\\
-\texttt{hg heads} \textemdash\ Print all the current heads. \\
-\texttt{hg revert -r\textit{RevX file}} \textemdash\ Revert \textit{file} to revision \textit{RevX}. On-disk changed version is
-moved to \textit{file.orig}. \\
-\texttt{hg commit} \textemdash\ Commit changes to repository. \\
-\texttt{hg push} \textemdash\ Push changes to default remote repository. \\
-\texttt{hg pull} \textemdash\ Pull changes from default remote repository. \\
-\texttt{hg serve} \textemdash\ Launch a webserver on the local machine to examine the repository in a web browser. \\
+Please see \url{https://git-scm.com/} for the latest Git documentation.
+
+\texttt{git clone https://github.com/yt-project/yt} \textemdash\ Clone the yt
+repository. \\
+\texttt{git status} \textemdash\ Show status of working tree.\\
+\texttt{git diff} \textemdash\ Show changed files in the working tree. \\
+\texttt{git log} \textemdash\ Show a log of changes in reverse chronological
+oder.\\
+\texttt{git revert <commit>} \textemdash\ Revert the changes in an existing
+commit and create a new commit with reverted changes. \\
+\texttt{git add <pathspec>} \textemdash\ Stage changes in the working tree to
+the index. \\
+\texttt{git commit} \textemdash\ Commit staged changes to the repository. \\
+\texttt{git merge <branch>} Merge the revisions from the specified branch on
+top of the current branch.\\
+\texttt{git push <remote>} \textemdash\ Push changes to remote repository. \\
+\texttt{git push <remote> <branch>} \textemdash\ Push changes in specified
+branch to remote repository. \\
+\texttt{git pull <remote> <branch>} \textemdash\ Pull changes from the
+specified branch of the remote repository. This is equivalent to \texttt{git
+fetch <remote>} and then \texttt{git merge <remote>/<branch>}.\\
 
 \subsection{FAQ}
 \settowidth{\MyLen}{\texttt{multicol}}
diff --git a/doc/install_script.sh b/doc/install_script.sh
index bc664ab18..9560a9c5c 100644
--- a/doc/install_script.sh
+++ b/doc/install_script.sh
@@ -678,7 +678,7 @@ echo "    http://yt-project.org/"
 echo "    http://yt-project.org/data/      (Sample data)"
 echo "    http://yt-project.org/doc/       (Docs)"
 echo
-echo "    https://mail.python.org/mm3/archives/list/yt-users@python.org/"
+echo "    https://mail.python.org/archives/list/yt-users@python.org/"
 echo
 echo "You must now prepend the following folder to your PATH environment variable:"
 echo 
diff --git a/doc/source/_templates/layout.html b/doc/source/_templates/layout.html
index 3a069d9a6..be462b92f 100644
--- a/doc/source/_templates/layout.html
+++ b/doc/source/_templates/layout.html
@@ -1,7 +1,7 @@
 {% extends '!layout.html' %}
 
 {%- block linktags %}
-    <link href="http://yt-project.org/doc/{{ pagename }}.html" rel="canonical" />
+    <link href="https://yt-project.org/doc/{{ pagename }}.html" rel="canonical" />
     {{ super() }}
 {%- endblock %}
 
diff --git a/doc/source/about/index.rst b/doc/source/about/index.rst
index 139f950f3..4d2c246c0 100644
--- a/doc/source/about/index.rst
+++ b/doc/source/about/index.rst
@@ -16,7 +16,7 @@ written to analyze 3D grid-based astrophysical simulation data,
 it has grown to handle any kind of data represented in a 2D or 3D volume.
 yt is an Python-based open source project and is open for anyone to use or
 contribute code.  The entire source code and history is available to all
-at http://github.com/yt-project/yt .
+at https://github.com/yt-project/yt .
 
 .. _who-is-yt:
 
@@ -28,7 +28,7 @@ In September of 2014, the yt developer community collectively decided to endow
 the title of *member* on individuals who had contributed in a significant way
 to the project.  For a list of those members and a description of their
 contributions to the code, see
-`our members website. <http://yt-project.org/members.html>`_
+`our members website. <https://yt-project.org/members.html>`_
 
 For an up-to-date list of everyone who has contributed to the yt codebase,
 see the current `CREDITS <https://github.com/yt-project/yt/blob/master/CREDITS>`_ file.
@@ -57,7 +57,7 @@ How do I contact yt?
 --------------------
 
 If you have any questions about the code, please contact the `yt users email
-list <https://mail.python.org/mm3/archives/list/yt-users@python.org/>`_.  If
+list <https://mail.python.org/archives/list/yt-users@python.org/>`_.  If
 you're having other problems, please follow the steps in
 :ref:`asking-for-help`.
 
@@ -66,7 +66,7 @@ How do I cite yt?
 
 If you use yt in a publication, we'd very much appreciate a citation!  You
 should feel free to cite the `ApJS paper
-<http://adsabs.harvard.edu/abs/2011ApJS..192....9T>`_ with the following BibTeX
+<https://ui.adsabs.harvard.edu/abs/2011ApJS..192....9T>`_ with the following BibTeX
 entry: ::
 
    @ARTICLE{2011ApJS..192....9T,
@@ -84,6 +84,6 @@ entry: ::
          eid = {9},
        pages = {9},
          doi = {10.1088/0067-0049/192/1/9},
-      adsurl = {http://adsabs.harvard.edu/abs/2011ApJS..192....9T},
+      adsurl = {https://ui.adsabs.harvard.edu/abs/2011ApJS..192....9T},
      adsnote = {Provided by the SAO/NASA Astrophysics Data System}
    }
diff --git a/doc/source/analyzing/analysis_modules/XrayEmissionFields.ipynb b/doc/source/analyzing/analysis_modules/XrayEmissionFields.ipynb
index e350c713b..9576b42d7 100644
--- a/doc/source/analyzing/analysis_modules/XrayEmissionFields.ipynb
+++ b/doc/source/analyzing/analysis_modules/XrayEmissionFields.ipynb
@@ -5,7 +5,7 @@
    "metadata": {},
    "source": [
     "> Note: If you came here trying to figure out how to create simulated X-ray photons and observations,\n",
-    "  you should go [here](analysis_modules/photon_simulator.html) instead."
+    "  you should go [here](photon_simulator.html) instead."
    ]
   },
   {
diff --git a/doc/source/analyzing/analysis_modules/absorption_spectrum.rst b/doc/source/analyzing/analysis_modules/absorption_spectrum.rst
index b857f533b..71e3d25f2 100644
--- a/doc/source/analyzing/analysis_modules/absorption_spectrum.rst
+++ b/doc/source/analyzing/analysis_modules/absorption_spectrum.rst
@@ -1,12 +1,5 @@
 .. _absorption_spectrum:
 
-.. note::
-
-    Development of the AbsorptionSpectrum module has been moved to the
-    Trident package. This version is deprecated and will be removed from yt
-    in a future release. See https://github.com/trident-project/trident
-    for further information.
-
 Creating Absorption Spectra
 ===========================
 
@@ -58,9 +51,9 @@ steps through each element of the
 :class:`~yt.analysis_modules.cosmological_observation.light_ray.light_ray.LightRay`'s
 arrays and calculates the column density for desired ion by multiplying its
 number density with the path length through the cell.  Using these column
-densities along with temperatures to calculate thermal broadening, voigt
+densities along with temperatures to calculate thermal broadening, Voigt
 profiles are deposited on to a featureless background spectrum.  By default,
-the peculiar velocity of the gas is included as a doppler redshift in addition
+the peculiar velocity of the gas is included as a Doppler redshift in addition
 to any cosmological redshift of the data dump itself.
 
 Subgrid Deposition
@@ -167,7 +160,7 @@ hdf5, and ascii.  The file format used is based on the extension provided
 in the ``output_file`` keyword: ``.fits`` for a fits file,
 ``.h5`` for an hdf5 file, and anything else for an ascii file.
 
-.. note:: To write out a fits file, you must install the `astropy <http://www.astropy.org>`_ python library in order to access the astropy.io.fits module.  You can usually do this by simply running `pip install astropy` at the command line.
+.. note:: To write out a fits file, you must install the `astropy <https://www.astropy.org>`_ python library in order to access the astropy.io.fits module.  You can usually do this by simply running `pip install astropy` at the command line.
 
 Generating Spectra in Parallel
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -188,7 +181,7 @@ Fitting Absorption Spectra
 This tool can be used to fit absorption spectra, particularly those
 generated using the (``AbsorptionSpectrum``) tool. For more details
 on its uses and implementation please see (`Egan et al. (2013)
-<http://arxiv.org/abs/1307.2244>`_). If you find this tool useful we
+<https://arxiv.org/abs/1307.2244>`_). If you find this tool useful we
 encourage you to cite accordingly.
 
 Loading an Absorption Spectrum
@@ -221,12 +214,12 @@ OVI doublet). The number of lines is also specified on its own.
 
 To fine tune the fitting procedure and give results in a minimal
 number of optimizing steps, we specify expected maximum and minimum
-values for the column density, doppler parameter, and redshift. These
+values for the column density, Doppler parameter, and redshift. These
 values can be well outside the range of expected values for a typical line
 and are mostly to prevent the algorithm from fitting to negative values
 or becoming numerically unstable.
 
-Common initial guesses for doppler parameter and column density should also
+Common initial guesses for Doppler parameter and column density should also
 be given. These values will not affect the specific values generated by
 the fitting algorithm, provided they are in a reasonably appropriate range
 (ie: within the range given by the max and min values for the parameter).
@@ -286,7 +279,7 @@ The parameters of the lines that are needed to fit the spectrum are contained
 in the ``fitted_lines`` variable. Each species given in ``orderFits`` will
 be a key in the ``fitted_lines`` dictionary. The entry for each species
 key will be another dictionary containing entries for 'N','b','z', and
-'group#' which are the column density, doppler parameter, redshift,
+'group#' which are the column density, Doppler parameter, redshift,
 and associate line complex respectively. The i :superscript:`th` line
 of a given species is then given by the parameters ``N[i]``, ``b[i]``,
 and ``z[i]`` and is part of the same complex (and was fitted at the same time)
diff --git a/doc/source/analyzing/analysis_modules/ellipsoid_analysis.rst b/doc/source/analyzing/analysis_modules/ellipsoid_analysis.rst
index e25a04b5f..1eb73e93c 100644
--- a/doc/source/analyzing/analysis_modules/ellipsoid_analysis.rst
+++ b/doc/source/analyzing/analysis_modules/ellipsoid_analysis.rst
@@ -137,7 +137,7 @@ cut.  Many things listed here will be amended when I have time.
   center of mass that contains all the particles, but sometimes people
   prefer an inertial tensor triaxial ellipsoid described in
   `Dubinski, Carlberg 1991
-  <http://adsabs.harvard.edu/abs/1991ApJ...378..496D>`_.  I have that
+  <https://ui.adsabs.harvard.edu/abs/1991ApJ...378..496D>`_.  I have that
   method composed but it is not fully tested yet.
 * The method to obtain information from the halo still uses the center
   of mass as the center of the ellipsoid, so it is not making the
diff --git a/doc/source/analyzing/analysis_modules/halo_catalogs.rst b/doc/source/analyzing/analysis_modules/halo_catalogs.rst
index 5d4a8ef69..ea7cfe109 100644
--- a/doc/source/analyzing/analysis_modules/halo_catalogs.rst
+++ b/doc/source/analyzing/analysis_modules/halo_catalogs.rst
@@ -23,12 +23,12 @@ perform further analysis, skip to :ref:`halo_catalog_analysis`.
 Three halo finding methods exist within yt.  These are:
 
 * :ref:`fof_finding`: a basic friend-of-friends algorithm (e.g. `Efstathiou et al. (1985)
-  <http://adsabs.harvard.edu/abs/1985ApJS...57..241E>`_)
+  <https://ui.adsabs.harvard.edu/abs/1985ApJS...57..241E>`_)
 * :ref:`hop_finding`: `Eisenstein and Hut (1998)
-  <http://adsabs.harvard.edu/abs/1998ApJ...498..137E>`_.
+  <https://ui.adsabs.harvard.edu/abs/1998ApJ...498..137E>`_.
 * :ref:`rockstar_finding`: a 6D phase-space halo finder developed by Peter Behroozi that
   scales well and does substructure finding (`Behroozi et al.
-  2011 <http://adsabs.harvard.edu/abs/2011arXiv1110.4372B>`_)
+  2011 <https://ui.adsabs.harvard.edu/abs/2013ApJ...762..109B>`_)
 
 Halo finding is performed through the creation of a
 :class:`~yt.analysis_modules.halo_analysis.halo_catalog.HaloCatalog`
@@ -76,7 +76,7 @@ FOF
 
 This is a basic friends-of-friends algorithm.  See
 `Efstathiou et al. (1985)
-<http://adsabs.harvard.edu/abs/1985ApJS...57..241E>`_ for more
+<https://ui.adsabs.harvard.edu/abs/1985ApJS...57..241E>`_ for more
 details as well as
 :class:`~yt.analysis_modules.halo_finding.halo_objects.FOFHaloFinder`.
 
@@ -87,7 +87,7 @@ HOP
 
 The version of HOP used in yt is an upgraded version of the
 `publicly available HOP code
-<http://cmb.as.arizona.edu/~eisenste/hop/hop.html>`_. Support
+<https://www.cfa.harvard.edu/~deisenst/hop/>`_. Support
 for 64-bit floats and integers has been added, as well as
 parallel analysis through spatial decomposition. HOP builds
 groups in this fashion:
@@ -107,7 +107,7 @@ groups in this fashion:
    threshold parameter. The default is 160.0.
 
 See the `HOP method paper
-<http://adsabs.harvard.edu/abs/1998ApJ...498..137E>`_ for
+<https://ui.adsabs.harvard.edu/abs/1998ApJ...498..137E>`_ for
 full details as well as
 :class:`~yt.analysis_modules.halo_finding.halo_objects.HOPHaloFinder`.
 
@@ -122,7 +122,7 @@ allows for robust (grid-independent, shape-independent, and noise-
 resilient) tracking of substructure. The code is prepackaged with yt,
 but also `separately available <https://bitbucket.org/gfcstanford/rockstar>`_. The lead
 developer is Peter Behroozi, and the methods are described in
-`Behroozi et al. 2011 <http://adsabs.harvard.edu/abs/2011arXiv1110.4372B>`_.
+`Behroozi et al. 2011 <https://ui.adsabs.harvard.edu/abs/2013ApJ...762..109B>`_.
 In order to run the Rockstar halo finder in yt, make sure you've
 :ref:`installed it so that it can integrate with yt <rockstar-installation>`.
 
diff --git a/doc/source/analyzing/analysis_modules/halo_mass_function.rst b/doc/source/analyzing/analysis_modules/halo_mass_function.rst
index aa2de0a6c..33cb7aa90 100644
--- a/doc/source/analyzing/analysis_modules/halo_mass_function.rst
+++ b/doc/source/analyzing/analysis_modules/halo_mass_function.rst
@@ -43,11 +43,11 @@ Analytical Fits
 
 There are five analytical fits to choose from.
 
-  1. `Press-Schechter (1974) <http://adsabs.harvard.edu/abs/1974ApJ...187..425P>`_
-  2. `Jenkins (2001) <http://adsabs.harvard.edu/abs/2001MNRAS.321..372J>`_
-  3. `Sheth-Tormen (2002) <http://adsabs.harvard.edu/abs/2002MNRAS.329...61S>`_
-  4. `Warren (2006) <http://adsabs.harvard.edu/abs/2006ApJ...646..881W>`_
-  5. `Tinker (2008) <http://adsabs.harvard.edu/abs/2008ApJ...688..709T>`_
+  1. `Press-Schechter (1974) <https://ui.adsabs.harvard.edu/abs/1974ApJ...187..425P>`_
+  2. `Jenkins (2001) <https://ui.adsabs.harvard.edu/abs/2001MNRAS.321..372J>`_
+  3. `Sheth-Tormen (2002) <https://ui.adsabs.harvard.edu/abs/2002MNRAS.329...61S>`_
+  4. `Warren (2006) <https://ui.adsabs.harvard.edu/abs/2006ApJ...646..881W>`_
+  5. `Tinker (2008) <https://ui.adsabs.harvard.edu/abs/2008ApJ...688..709T>`_
 
 We encourage reading each of the primary sources.
 In general, we recommend the Warren fitting function because it matches
diff --git a/doc/source/analyzing/analysis_modules/halo_merger_tree.rst b/doc/source/analyzing/analysis_modules/halo_merger_tree.rst
index 73517db85..c66e32248 100644
--- a/doc/source/analyzing/analysis_modules/halo_merger_tree.rst
+++ b/doc/source/analyzing/analysis_modules/halo_merger_tree.rst
@@ -6,7 +6,7 @@ Halo Merger Tree
 The ``yt`` merger tree was removed as of :code:`yt-3.0`.  This
 functionality can still be found in :code:`yt-2.x`.  However,
 the recommended option is to use the
-`ytree <http://ytree.readthedocs.io>`_ package, which can be
+`ytree <https://ytree.readthedocs.io/en/latest/>`_ package, which can be
 installed via pip:
 
 .. code-block:: bash
@@ -14,4 +14,4 @@ installed via pip:
     pip install ytree
 
 For more information on ``ytree``, see the documentation
-`here <http://ytree.readthedocs.io>`__.
+`here <https://ytree.readthedocs.io/en/latest/>`__.
diff --git a/doc/source/analyzing/analysis_modules/index.rst b/doc/source/analyzing/analysis_modules/index.rst
index 1f974486a..23d7a2c48 100644
--- a/doc/source/analyzing/analysis_modules/index.rst
+++ b/doc/source/analyzing/analysis_modules/index.rst
@@ -7,7 +7,7 @@ These semi-autonomous analysis modules are unique to specific subject matter
 like tracking halos, generating synthetic observations, exporting output to
 external visualization routines, and more.  Because they are somewhat
 specialized, they exist in their own corners of yt, and they do not get loaded
-by default when you "import yt".  Read up on these advanced tools below.
+by default when you :code:`import yt`.  Read up on these advanced tools below.
 
 .. toctree::
    :maxdepth: 2
diff --git a/doc/source/analyzing/analysis_modules/light_ray_generator.rst b/doc/source/analyzing/analysis_modules/light_ray_generator.rst
index 05b5d5a94..6a638e8b6 100644
--- a/doc/source/analyzing/analysis_modules/light_ray_generator.rst
+++ b/doc/source/analyzing/analysis_modules/light_ray_generator.rst
@@ -1,12 +1,5 @@
 .. _light-ray-generator:
 
-.. note::
-
-    Development of the LightRay module has been moved to the Trident
-    package. This version is deprecated and will be removed from yt
-    in a future release. See https://github.com/trident-project/trident
-    for further information.
-
 Light Ray Generator
 ===================
 
diff --git a/doc/source/analyzing/analysis_modules/photon_simulator.rst b/doc/source/analyzing/analysis_modules/photon_simulator.rst
index 4da212f9c..c1dcf1d0c 100644
--- a/doc/source/analyzing/analysis_modules/photon_simulator.rst
+++ b/doc/source/analyzing/analysis_modules/photon_simulator.rst
@@ -25,14 +25,14 @@ For detailed information about the design of the algorithm in yt, check
 out `the SciPy 2014 Proceedings. <http://conference.scipy.org/proceedings/scipy2014/zuhone.html>`_.
 
 The algorithm is based off of that implemented in
-`PHOX <http://www.mpa-garching.mpg.de/~kdolag/Phox/>`_ for SPH datasets
+`PHOX <https://wwwmpa.mpa-garching.mpg.de/~kdolag/Phox/>`_ for SPH datasets
 by Veronica Biffi and Klaus Dolag. There are two relevant papers:
 
 `Biffi, V., Dolag, K., Bohringer, H., & Lemson, G. 2012, MNRAS, 420,
-3545 <http://adsabs.harvard.edu/abs/2012MNRAS.420.3545B>`_
+3545 <https://ui.adsabs.harvard.edu/abs/2012MNRAS.420.3545B>`_
 
 `Biffi, V., Dolag, K., Bohringer, H. 2013, MNRAS, 428,
-1395 <http://adsabs.harvard.edu/abs/2013MNRAS.428.1395B>`_
+1395 <https://ui.adsabs.harvard.edu/abs/2013MNRAS.428.1395B>`_
 
 The basic procedure is as follows:
 
@@ -106,7 +106,7 @@ cold fronts.
 
    To work out the following examples, you should install
    `AtomDB <http://www.atomdb.org>`_ and get the files from the
-   `xray_data <http://yt-project.org/data/xray_data.tar.gz>`_ auxiliary
+   `xray_data <https://yt-project.org/data/xray_data.tar.gz>`_ auxiliary
    data package (see the :ref:`xray_data_README` for details on the latter). 
    Make sure that in what follows you specify the full path to the locations 
    of these files.
@@ -134,7 +134,7 @@ use any thermal model that is known to
     mekal_model = XSpecThermalModel("mekal", 0.01, 10.0, 2000)
 
 This requires XSPEC and
-`PyXspec <http://heasarc.gsfc.nasa.gov/xanadu/xspec/python/html/>`_ to
+`PyXspec <https://heasarc.gsfc.nasa.gov/xanadu/xspec/python/html/>`_ to
 be installed. The second option, ``TableApecModel``, utilizes the data
 from the `AtomDB <http://www.atomdb.org>`_ tables. We'll use this one
 here:
@@ -390,7 +390,7 @@ placed in the image:
 
 The resulting FITS image will have WCS coordinates in RA and Dec. It
 should be suitable for plotting in
-`ds9 <http://hea-www.harvard.edu/RD/ds9/site/Home.html>`_, for example.
+`ds9 <http://ds9.si.edu/site/Home.html>`_, for example.
 There is also a great project for opening astronomical images in Python,
 called `APLpy <http://aplpy.github.io>`_:
 
@@ -466,7 +466,7 @@ created using different data sources:
 
 Finally, a new ``EventList`` can be created from a subset of an existing ``EventList``,
 defined by a ds9 region (this functionality requires the
-`pyregion <http://pyregion.readthedocs.org>`_ package to be installed):
+`pyregion <https://pyregion.readthedocs.io/en/latest/>`_ package to be installed):
 
 .. code:: python
 
@@ -590,7 +590,7 @@ Storing events for future use and for reading-in by telescope simulators
 If you want a more accurate representation of an observation taken by a
 particular instrument, there are tools available for such purposes. For
 the *Chandra* telescope, there is the venerable
-`MARX <http://space.mit.edu/ASC/MARX/>`_. For a wide range of
+`MARX <https://space.mit.edu/ASC/MARX/>`_. For a wide range of
 instruments, both existing and future, there is
 `SIMX <http://hea-www.harvard.edu/simx/>`_. We'll discuss two ways
 to store your event files so that they can be input by these and other
@@ -612,7 +612,7 @@ simple:
    events = EventList.from_h5_file("my_events.h5")
 
 You can use event data written to HDF5 files to input events into MARX
-using `this code <http://bitbucket.org/jzuhone/yt_marx_source>`_.
+using `this code <https://bitbucket.org/jzuhone/yt_marx_source>`_.
 
 The second option, for use with SIMX, is to dump the events into a
 SIMPUT file:
diff --git a/doc/source/analyzing/analysis_modules/radmc3d_export.rst b/doc/source/analyzing/analysis_modules/radmc3d_export.rst
index b897e3804..bacfccef9 100644
--- a/doc/source/analyzing/analysis_modules/radmc3d_export.rst
+++ b/doc/source/analyzing/analysis_modules/radmc3d_export.rst
@@ -38,7 +38,7 @@ by default:
 Next, load up a dataset and instantiate the :class:`~yt.analysis_modules.radmc3d_export.RadMC3DInterface.RadMC3DWriter`.
 For this example, we'll use the "StarParticle" dataset,
 available `here
-<http://yt-project.org/data/>`_.
+<https://yt-project.org/data/>`_.
 
 .. code-block:: python
 
@@ -181,7 +181,7 @@ The file format required for line emission is slightly different. The
 following script will generate two files, one called "numderdens_co.inp",
 which contains the number density of CO molecules for every cell in the index,
 and another called "gas-velocity.inp", which is useful if you want to include
-doppler broadening.
+Doppler broadening.
 
 .. code-block:: python
 
diff --git a/doc/source/analyzing/analysis_modules/star_analysis.rst b/doc/source/analyzing/analysis_modules/star_analysis.rst
index 8c8a61ba7..a026ac5d7 100644
--- a/doc/source/analyzing/analysis_modules/star_analysis.rst
+++ b/doc/source/analyzing/analysis_modules/star_analysis.rst
@@ -129,7 +129,7 @@ Synthetic Spectrum Generator
 Based on code generously provided by Kentaro Nagamine <kn@physics.unlv.edu>,
 this will generate a synthetic spectrum for the stars using the publicly-available
 tables of Bruzual & Charlot (hereafter B&C). Please see their `2003 paper
-<http://adsabs.harvard.edu/abs/2003MNRAS.344.1000B>`_ for more information
+<https://ui.adsabs.harvard.edu/abs/2003MNRAS.344.1000B>`_ for more information
 and the `main data
 distribution page <http://www.bruzual.org/bc03/>`_ for the original data.
 Based on the mass, age and metallicity of each star, a cumulative spectrum is
@@ -140,7 +140,7 @@ This analysis toolkit reads in the B&C data from HDF5 files that have been
 converted from the original ASCII files (available at the link above). The
 HDF5 files are one-quarter the size of the ASCII files, and greatly reduce
 the time required to read the data off disk. The HDF5 files are available from
-the main yt website `here <http://yt-project.org/data/bc03.tar.gz>`_.
+the main yt website `here <https://yt-project.org/data/bc03.tar.gz>`_.
 Both the Salpeter and Chabrier models have been converted,
 and it is simplest to download all the files to the same location.
 Please read the original B&C sources for information on the differences between
diff --git a/doc/source/analyzing/analysis_modules/xray_data_README.rst b/doc/source/analyzing/analysis_modules/xray_data_README.rst
index 04f40f447..2e88962e9 100644
--- a/doc/source/analyzing/analysis_modules/xray_data_README.rst
+++ b/doc/source/analyzing/analysis_modules/xray_data_README.rst
@@ -3,7 +3,7 @@
 Auxiliary Data Files for use with yt's Photon Simulator
 =======================================================
 
-Included in the `xray_data <http://yt-project.org/data/xray_data.tar.gz>`_ package are a number of files that you may find
+Included in the `xray_data <https://yt-project.org/data/xray_data.tar.gz>`_ package are a number of files that you may find
 useful when working with yt's X-ray `photon_simulator
 <photon_simulator.html>`_  analysis module. They have been tested to give spectral fitting results
 consistent with input parameters.
@@ -52,12 +52,12 @@ Other Useful Things Not Included Here
   FITS table data for emission lines and continuum emission. Must have
   it installed to use the TableApecModel spectral model.
 
-* PyXspec: http://heasarc.gsfc.nasa.gov/xanadu/xspec/python/html/
+* PyXspec: https://heasarc.gsfc.nasa.gov/xanadu/xspec/python/html/
 
   Python interface to the XSPEC spectral-fitting program. Two of the
   spectral models for the photon simulator use it.
 
-* MARX: http://space.mit.edu/ASC/MARX/
+* MARX: https://space.mit.edu/ASC/MARX/
 
   Detailed ray-trace simulations of Chandra.
 
diff --git a/doc/source/analyzing/fields.rst b/doc/source/analyzing/fields.rst
index 262a0b340..a22581f7c 100644
--- a/doc/source/analyzing/fields.rst
+++ b/doc/source/analyzing/fields.rst
@@ -49,7 +49,7 @@ information about the field and things like units and so on.  You can use this
 for tab-completing as well as easier access to information.
 
 Additionally, if you have `ipywidgets
-<https://ipywidgets.readthedocs.io/en/stable/`_ installed and are in a `Jupyter
+<https://ipywidgets.readthedocs.io/en/stable/>`_ installed and are in a `Jupyter
 environment <https://jupyter.org/>`_, you can view the rich representation of
 the fields (including source code) by either typing `ds.fields` as the last
 item in a cell or by calling `display(ds.fields)`.  The resulting output will
diff --git a/doc/source/analyzing/parallel_computation.rst b/doc/source/analyzing/parallel_computation.rst
index 3ff569209..846c0e33f 100644
--- a/doc/source/analyzing/parallel_computation.rst
+++ b/doc/source/analyzing/parallel_computation.rst
@@ -221,7 +221,7 @@ Parallelization over Multiple Objects and Datasets
 
 If you have a set of computational steps that need to apply identically and
 independently to several different objects or datasets, a so-called
-`embarrassingly parallel <http://en.wikipedia.org/wiki/Embarrassingly_parallel>`_
+`embarrassingly parallel <https://en.wikipedia.org/wiki/Embarrassingly_parallel>`_
 task, yt can do that easily.  See the sections below on
 :ref:`parallelizing-your-analysis` and :ref:`parallel-time-series-analysis`.
 
@@ -649,7 +649,7 @@ Additional Tips
 * Remember that if the script handles disk IO explicitly, and does not use
   a built-in yt function to write data to disk,
   care must be taken to
-  avoid `race-conditions <http://en.wikipedia.org/wiki/Race_conditions>`_.
+  avoid `race-conditions <https://en.wikipedia.org/wiki/Race_conditions>`_.
   Be explicit about which MPI task writes to disk using a construction
   something like this:
 
diff --git a/doc/source/analyzing/units/comoving_units_and_code_units.rst b/doc/source/analyzing/units/comoving_units_and_code_units.rst
index 7d902edba..aef984b7e 100644
--- a/doc/source/analyzing/units/comoving_units_and_code_units.rst
+++ b/doc/source/analyzing/units/comoving_units_and_code_units.rst
@@ -30,7 +30,7 @@ Using the parsec as an example,
     Comoving parsecs, :math:`\rm{pc}/(1+z)`.
 
 ``pccm/h``
-    Comoving parsecs normalized by the scaled hubble constant, :math:`\rm{pc}/h/(1+z)`.
+    Comoving parsecs normalized by the scaled Hubble constant, :math:`\rm{pc}/h/(1+z)`.
 
 ``pc/h``
-    Proper parsecs, normalized by the scaled hubble constant, :math:`\rm{pc}/h`.
+    Proper parsecs, normalized by the scaled Hubble constant, :math:`\rm{pc}/h`.
diff --git a/doc/source/analyzing/units/index.rst b/doc/source/analyzing/units/index.rst
index 4b30cc9db..3e1dc9258 100644
--- a/doc/source/analyzing/units/index.rst
+++ b/doc/source/analyzing/units/index.rst
@@ -39,7 +39,7 @@ Here are the notebooks, which have been filled in for inspection:
 .. note::
 
    The notebooks use sample datasets that are available for download at
-   http://yt-project.org/data.  See :ref:`quickstart-introduction` for more
+   https://yt-project.org/data.  See :ref:`quickstart-introduction` for more
    details.
 
 Let us know if you would like to contribute other example notebooks, or have
diff --git a/doc/source/conf.py b/doc/source/conf.py
index c91f413a4..abf08b2e0 100644
--- a/doc/source/conf.py
+++ b/doc/source/conf.py
@@ -61,7 +61,7 @@ master_doc = 'index'
 
 # General information about the project.
 project = u'The yt Project'
-copyright = u'2013-2018, the yt Project'
+copyright = u'2013-2019, the yt Project'
 
 # The version info for the project you're documenting, acts as replacement for
 # |version| and |release|, also used in various other places throughout the
@@ -246,11 +246,11 @@ man_pages = [
 
 
 # Example configuration for intersphinx: refer to the Python standard library.
-intersphinx_mapping = {'http://docs.python.org/': None,
-                       'http://ipython.readthedocs.io/en/stable/': None,
-                       'http://docs.scipy.org/doc/numpy/': None,
-                       'http://matplotlib.org/': None,
-                       'http://docs.astropy.org/en/stable': None,
+intersphinx_mapping = {'https://docs.python.org/3/': None,
+                       'https://ipython.readthedocs.io/en/stable/': None,
+                       'https://docs.scipy.org/doc/numpy/': None,
+                       'https://matplotlib.org/': None,
+                       'https://docs.astropy.org/en/stable': None,
                        }
 
 if not on_rtd:
diff --git a/doc/source/cookbook/complex_plots.rst b/doc/source/cookbook/complex_plots.rst
index e22cdd21e..4646200a8 100644
--- a/doc/source/cookbook/complex_plots.rst
+++ b/doc/source/cookbook/complex_plots.rst
@@ -21,7 +21,7 @@ Multipanel with Axes Labels
 This illustrates how to use a SlicePlot to control a multipanel plot.  This
 plot uses axes labels to illustrate the length scales in the plot.
 See :ref:`slice-plots` and the
-`Matplotlib AxesGrid Object <http://matplotlib.org/mpl_toolkits/axes_grid/api/axes_grid_api.html>`_
+`Matplotlib AxesGrid Object <https://matplotlib.org/mpl_toolkits/axes_grid/api/axes_grid_api.html>`_
 for more information.
 
 .. yt_cookbook:: multiplot_2x2.py
@@ -31,7 +31,7 @@ Multipanel with PhasePlot
 
 This illustrates how to use PhasePlot in a multipanel plot.
 See :ref:`how-to-make-2d-profiles` and the
-`Matplotlib AxesGrid Object <http://matplotlib.org/mpl_toolkits/axes_grid/api/axes_grid_api.html>`_
+`Matplotlib AxesGrid Object <https://matplotlib.org/mpl_toolkits/axes_grid/api/axes_grid_api.html>`_
 for more information.
 
 .. yt_cookbook:: multiplot_phaseplot.py
@@ -41,7 +41,7 @@ Time Series Multipanel
 
 This illustrates how to create a multipanel plot of a time series dataset.
 See :ref:`projection-plots`, :ref:`time-series-analysis`, and the
-`Matplotlib AxesGrid Object <http://matplotlib.org/mpl_toolkits/axes_grid/api/axes_grid_api.html>`_
+`Matplotlib AxesGrid Object <https://matplotlib.org/mpl_toolkits/axes_grid/api/axes_grid_api.html>`_
 for more information.
 
 .. yt_cookbook:: multiplot_2x2_time_series.py
@@ -53,7 +53,7 @@ This illustrates how to create a multipanel plot of slices along the coordinate
 axes.  To focus on what's happening in the x-y plane, we make an additional
 Temperature slice for the bottom-right subpanel.
 See :ref:`slice-plots` and the
-`Matplotlib AxesGrid Object <http://matplotlib.org/mpl_toolkits/axes_grid/api/axes_grid_api.html>`_
+`Matplotlib AxesGrid Object <https://matplotlib.org/mpl_toolkits/axes_grid/api/axes_grid_api.html>`_
 for more information.
 
 .. yt_cookbook:: multiplot_2x2_coordaxes_slice.py
diff --git a/doc/source/cookbook/constructing_data_objects.rst b/doc/source/cookbook/constructing_data_objects.rst
index f594e6977..d0cf9906f 100644
--- a/doc/source/cookbook/constructing_data_objects.rst
+++ b/doc/source/cookbook/constructing_data_objects.rst
@@ -21,7 +21,8 @@ Identifying Clumps
 This is a recipe to show how to find topologically connected sets of cells
 inside a dataset.  It returns these clumps and they can be inspected or
 visualized as would any other data object.  More detail on this method can be
-found in `astro-ph/0806.1653`.
+found in `Smith et al. 2009
+<https://ui.adsabs.harvard.edu/abs/2009ApJ...691..441S>`_.
 
 .. yt_cookbook:: find_clumps.py
 
diff --git a/doc/source/cookbook/index.rst b/doc/source/cookbook/index.rst
index 67801bdf6..1908dfd4a 100644
--- a/doc/source/cookbook/index.rst
+++ b/doc/source/cookbook/index.rst
@@ -15,7 +15,7 @@ Getting the Sample Data
 -----------------------
 
 All of the data used in the cookbook is freely available
-`here <http://yt-project.org/data/>`_, where you will find links to download
+`here <https://yt-project.org/data/>`_, where you will find links to download
 individual datasets.
 
 .. note:: To contribute your own recipes, please follow the instructions
diff --git a/doc/source/developing/building_the_docs.rst b/doc/source/developing/building_the_docs.rst
index cdc04e18b..9bfc3df69 100644
--- a/doc/source/developing/building_the_docs.rst
+++ b/doc/source/developing/building_the_docs.rst
@@ -39,11 +39,11 @@ You will have to figure out where your new/modified doc fits into this, but
 browsing through the existing documentation is a good way to sort that out.
 
 All the source for the documentation is written in
-`Sphinx <http://sphinx-doc.org/>`_, which uses ReST for markup.  ReST is very
+`Sphinx <http://www.sphinx-doc.org/en/master/>`_, which uses ReST for markup.  ReST is very
 straightforward to markup in a text editor, and if you are new to it, we
 recommend just using other .rst files in the existing yt documentation as
 templates or checking out the
-`ReST reference documentation <http://sphinx-doc.org/rest.html>`_.
+`ReST reference documentation <http://www.sphinx-doc.org/en/master/usage/restructuredtext/>`_.
 
 New cookbook recipes (see :ref:`cookbook`) are very helpful for the community
 as they provide simple annotated recipes on how to use specific functionality.
@@ -54,7 +54,7 @@ in the ``source/cookbook/`` directory, and then link to it explicitly in one
 of the relevant ``.rst`` files in that directory (e.g. ``complex_plots.rst``,
 ``cosmological_analysis.rst``, etc.), and add some description of what the script
 actually does.  We recommend that you use one of the
-`sample data sets <http://yt-project.org/data>`_ in your recipe.  When the full
+`sample data sets <https://yt-project.org/data>`_ in your recipe.  When the full
 docs are built, each of the cookbook recipes is executed dynamically on
 a system which has access to all of the sample datasets.  Any output images
 generated by your script will then be attached inline in the built documentation
@@ -117,7 +117,7 @@ You will need to have the yt repository available on your computer, which
 is done by default if you have yt installed.  In addition, you need a
 current version of Sphinx_ (1.1.3) documentation software installed, as
 well as the Sphinx
-`Bootstrap theme <https://pypi.python.org/pypi/sphinx-bootstrap-theme/>`_,
+`Bootstrap theme <https://pypi.org/project/sphinx-bootstrap-theme/>`_,
 which can be installed via ``pip install sphinx_bootstrap_theme``.
 
 In order to tell Sphinx not to do all of the dynamic building, you must set the
@@ -171,15 +171,15 @@ used to generate the yt documentation during the release of yt 3.2 in 2015.
 * ffmpeg_ 2.7.1 (compiled with libvpx support)
 * Astropy_ 0.4.4
 
-.. _SZpack: http://www.cita.utoronto.ca/~jchluba/Science_Jens/SZpack/SZpack.html
-.. _Astropy: http://astropy.org/
-.. _Sphinx: http://sphinx-doc.org/
-.. _pandoc: http://johnmacfarlane.net/pandoc/
+.. _SZpack: http://www.jb.man.ac.uk/~jchluba/Science/SZpack/SZpack.html
+.. _Astropy: https://www.astropy.org/
+.. _Sphinx: http://www.sphinx-doc.org/en/master/
+.. _pandoc: https://pandoc.org/
 .. _ffmpeg: http://www.ffmpeg.org/
 .. _IPython: https://ipython.org/
 
 You will also need the full yt suite of `yt test data
-<http://yt-project.org/data/>`_, including the larger datasets that are not used
+<https://yt-project.org/data/>`_, including the larger datasets that are not used
 in the answer tests.
 
 You will need to ensure that your testing configuration is properly
diff --git a/doc/source/developing/creating_frontend.rst b/doc/source/developing/creating_frontend.rst
index 94ae7a552..c77e7044e 100644
--- a/doc/source/developing/creating_frontend.rst
+++ b/doc/source/developing/creating_frontend.rst
@@ -31,7 +31,7 @@ Data Meaning Structures
 -----------------------
 
 If you are interested in adding a new code, be sure to drop us a line on
-`yt-dev <https://mail.python.org/mm3/archives/list/yt-dev@python.org/>`_!
+`yt-dev <https://mail.python.org/archives/list/yt-dev@python.org/>`_!
 
 To get started, make a new directory in ``yt/frontends`` with the name
 of your code and add the name into ``yt/frontends/api.py``.
@@ -276,6 +276,6 @@ fashion, but the ``yt.frontends.boxlib.io.IOHandlerBoxlib`` is a
 decent place to start.
 
 And that just about covers it. Please feel free to email
-`yt-users <https://mail.python.org/mm3/archives/list/yt-users@python.org/>`_ or
-`yt-dev <https://mail.python.org/mm3/archives/list/yt-dev@python.org/>`_ with
+`yt-users <https://mail.python.org/archives/list/yt-users@python.org/>`_ or
+`yt-dev <https://mail.python.org/archives/list/yt-dev@python.org/>`_ with
 any questions, or to let us know you're thinking about adding a new code to yt.
diff --git a/doc/source/developing/debugdrive.rst b/doc/source/developing/debugdrive.rst
index 17e670a04..b398f89b5 100644
--- a/doc/source/developing/debugdrive.rst
+++ b/doc/source/developing/debugdrive.rst
@@ -89,7 +89,7 @@ Remote and Disconnected Debugging
 
 If you are running a parallel job that fails, often it can be difficult to do a
 post-mortem analysis to determine what went wrong.  To facilitate this, yt
-has implemented an `XML-RPC <http://en.wikipedia.org/wiki/XML-RPC>`_ interface
+has implemented an `XML-RPC <https://en.wikipedia.org/wiki/XML-RPC>`_ interface
 to the Python debugger (``pdb``) event loop.
 
 Running with the ``--rpdb`` command will cause any uncaught exception during
diff --git a/doc/source/developing/extensions.rst b/doc/source/developing/extensions.rst
index 93613b7eb..636ca024a 100644
--- a/doc/source/developing/extensions.rst
+++ b/doc/source/developing/extensions.rst
@@ -4,7 +4,7 @@ Extension Packages
 ==================
 
 .. note:: For some additional discussion, see `YTEP-0029
-          <http://ytep.readthedocs.io/en/latest/YTEPs/YTEP-0029.html>`_, where
+          <https://ytep.readthedocs.io/en/latest/YTEPs/YTEP-0029.html>`_, where
           this plan was designed.
 
 As of version 3.3 of yt, we have put into place new methods for easing the
@@ -43,7 +43,7 @@ code to an extension module) can be found at
 https://github.com/yt-project/yt_extension_template .
 
 To get started, download a zipfile of the template (
-https://github.com/yt-project/yt_extension_template/archive/master.zip ) and
+https://codeload.github.com/yt-project/yt_extension_template/zip/master ) and
 follow the directions in ``README.md`` to modify the metadata.
 
 Distributing Extensions
diff --git a/doc/source/developing/external_analysis.rst b/doc/source/developing/external_analysis.rst
index b268cea3b..059108cc9 100644
--- a/doc/source/developing/external_analysis.rst
+++ b/doc/source/developing/external_analysis.rst
@@ -69,7 +69,7 @@ you would like to include it in the base distribution of yt, we would be happy
 to do so; drop us a line or see :ref:`contributing-code` for more information.
 
 To accomplish the process of linking Python with our external code, we will be
-using a language called `Cython <http://www.cython.org/>`_, which is
+using a language called `Cython <https://cython.org/>`_, which is
 essentially a superset of Python that compiles down to C.  It is aware of NumPy
 arrays, and it is able to massage data between the interpreted language Python
 and C, Fortran or C++.  It will be much easier to utilize routines and analysis
@@ -201,7 +201,7 @@ figured out how to build it, which is halfway to being able to test that it
 works, and we now need to start writing Cython code.
 
 For a more detailed introduction to Cython, see the Cython documentation at
-http://docs.cython.org/ .  We'll cover a few of the basics for wrapping code
+http://docs.cython.org/en/latest/ .  We'll cover a few of the basics for wrapping code
 however.
 
 To start out with, we need to open up and edit our file,
diff --git a/doc/source/developing/releasing.rst b/doc/source/developing/releasing.rst
index 048a309e5..5e6b89a9c 100644
--- a/doc/source/developing/releasing.rst
+++ b/doc/source/developing/releasing.rst
@@ -2,7 +2,7 @@ How to Do a Release
 -------------------
 
 Periodically, the yt development community issues new releases. Since yt follows
-`semantic versioning <http://semver.org/>`_, the type of release can be read off
+`semantic versioning <https://semver.org/>`_, the type of release can be read off
 from the version number used. Version numbers should follow the scheme
 ``MAJOR.MINOR.PATCH``. There are three kinds of possible releases:
 
@@ -141,7 +141,7 @@ current yt developers for access to the webserver running yt-project.org if you
 do not already have it. You will need a copy of your SSH public key so that your
 key can be added to the list of authorized keys. Once you login, use
 e.g. ``scp`` to upload a copy of the souce distribution tarball to
-http://yt-project.org/sdist, like so::
+https://yt-project.org/sdist, like so::
 
   $ scp dist/yt-3.5.1.tar.gz yt_analysis@dickenson.dreamhost.com:yt-project.org/sdist
 
diff --git a/doc/source/developing/testing.rst b/doc/source/developing/testing.rst
index 431f710e7..1ab431954 100644
--- a/doc/source/developing/testing.rst
+++ b/doc/source/developing/testing.rst
@@ -32,7 +32,7 @@ What do Unit Tests Do
 
 Unit tests are tests that operate on some small set of machinery, and verify
 that the machinery works.  yt uses the `Nose
-<http://nose.readthedocs.org/en/latest/>`_ framework for running unit tests.  In
+<https://nose.readthedocs.io/en/latest/>`_ framework for running unit tests.  In
 practice, what this means is that we write scripts that assert statements, and
 Nose identifies those scripts, runs them, and verifies that the assertions are
 true and the code runs without crashing.
@@ -73,16 +73,24 @@ run:
 Handling yt dependencies
 ^^^^^^^^^^^^^^^^^^^^^^^^
 
-We attempt to make yt compatible with a wide variety of downstream software versions. However, sometimes a specific version of a project that yt depends on causes some breakage and must be blacklisted in the tests or a more experimental project that yt depends on optionally might change sufficiently that the yt community decides not to support an old version of that project.
+We attempt to make yt compatible with a wide variety of upstream software
+versions. However, sometimes a specific version of a project that yt depends on
+causes some breakage and must be blacklisted in the tests or a more
+experimental project that yt depends on optionally might change sufficiently
+that the yt community decides not to support an old version of that project.
 
-To handle cases like this, the versions of downstream software projects installed on the machines running the yt test suite are pinned to specific version numbers that must be updated manually. This prevents breaking the yt tests when a new version of a downstream dependency is released and allows us to manage updates in downstream projects at our pace.
+To handle cases like this, the versions of upstream software projects installed
+on the machines running the yt test suite are pinned to specific version
+numbers that must be updated manually. This prevents breaking the yt tests when
+a new version of an upstream dependency is released and allows us to manage
+updates in upstream projects at our pace.
 
 If you would like to add a new dependency for yt (even an optional dependency)
-or would like to update a version of a yt depdendency, you must edit the
+or would like to update a version of a yt dependency, you must edit the
 ``tests/test_requirements.txt`` file, this path is relative to the root of the
-repository. This file contains an enumerated list of direct depdnencies and
+repository. This file contains an enumerated list of direct dependencies and
 pinned version numbers. For new dependencies, simply append the name of the new
-depdendency to the end of the file, along with a pin to the latest version
+dependency to the end of the file, along with a pin to the latest version
 number of the package. To update a package's version, simply update the version
 number in the entry for that package.
 
@@ -210,7 +218,7 @@ directory with the test data you want to test with, e.g.:
 
 We use a number of real-world datasets for the tests that must be downloaded and
 unzipped in the ``test_data_dir`` path you have set. The test datasets, can be
-downloaded from http://yt-project.org/data/. We do not explicitly list the
+downloaded from https://yt-project.org/data/. We do not explicitly list the
 datasets we use in the tests here because the list of necessary datasets changes
 regularly, instead you should take a look at the tests you would like to run and
 make sure that the necessary data files are downloaded before running the tests.
@@ -407,7 +415,7 @@ Enabling Answer Tests on Jenkins
 Before any code is added to or modified in the yt codebase, each incoming
 changeset is run against all available unit and answer tests on our `continuous
 integration server <https://tests.yt-project.org>`_. While unit tests are
-autodiscovered by `nose <http://nose.readthedocs.org/en/latest/>`_ itself,
+autodiscovered by `nose <https://nose.readthedocs.io/en/latest/>`_ itself,
 answer tests require definition of which set of tests constitute to a given
 answer. Configuration for the integration server is stored in
 *tests/tests.yaml* in the main yt repository:
diff --git a/doc/source/examining/loading_data.rst b/doc/source/examining/loading_data.rst
index 8c2a0a7e6..9902b6064 100644
--- a/doc/source/examining/loading_data.rst
+++ b/doc/source/examining/loading_data.rst
@@ -552,7 +552,7 @@ file:
    ds = yt.load("MOOSE_sample_data/out.e-s010", step=0)
 
 Because Exodus II datasets can have multiple steps (which can correspond to time steps,
-picard iterations, non-linear solve iterations, etc...), you can also specify a step
+Picard iterations, non-linear solve iterations, etc...), you can also specify a step
 argument when you load an Exodus II data that defines the index at which to look when
 you read data from the file. Omitting this argument is the same as passing in 0, and
 setting ``step=-1`` selects the last time output in the file.
@@ -688,7 +688,7 @@ FITS Data
 ---------
 
 FITS data is *mostly* supported and cared for by John ZuHone. In order to
-read FITS data, `AstroPy <http://www.astropy.org>`_ must be installed. FITS
+read FITS data, `AstroPy <https://www.astropy.org>`_ must be installed. FITS
 data cubes can be loaded in the same way by yt as other datasets. yt
 can read FITS image files that have the following (case-insensitive) suffixes:
 
@@ -838,7 +838,7 @@ The third way is if auxiliary files are included along with the main file, like
 The image blocks in each of these files will be loaded as a separate field,
 provided they have the same dimensions as the image blocks in the main file.
 
-Additionally, fields corresponding to the WCS coordinates will be generated.
+Additionally, fields corresponding to the WCS coordinates will be generated
 based on the corresponding ``CTYPEx`` keywords. When queried, these fields
 will be generated from the pixel coordinates in the file using the WCS
 transformations provided by AstroPy.
@@ -962,7 +962,7 @@ improves it will be utilized more here.
 .. note::
 
   The following functionality requires the
-  `spectral-cube <http://spectral-cube.readthedocs.org>`_ library to be
+  `spectral-cube <https://spectral-cube.readthedocs.io/en/latest/>`_ library to be
   installed.
 
 If you have a spectral intensity dataset of some sort, and would like to
@@ -1931,7 +1931,7 @@ available here are similar to other catalogs.  Any addition
 openPMD Data
 ------------
 
-`openPMD <http://www.openpmd.org>`_ is an open source meta-standard and naming
+`openPMD <https://www.openpmd.org>`_ is an open source meta-standard and naming
 scheme for mesh based data and particle data. It does not actually define a file
 format.
 
@@ -1985,7 +1985,7 @@ PyNE Data
 `PyNE <http://pyne.io/>`_ is an open source nuclear engineering toolkit
 maintained by the PyNE development team (pyne-dev@googlegroups.com).
 PyNE meshes utilize the Mesh-Oriented datABase
-`(MOAB) <http://trac.mcs.anl.gov/projects/ITAPS/wiki/MOAB/>`_ and can be
+`(MOAB) <https://press3.mcs.anl.gov/sigma/moab-library/>`_ and can be
 Cartesian or tetrahedral. In addition to field data, pyne meshes store pyne
 Material objects which provide a rich set of capabilities for nuclear
 engineering tasks. PyNE Cartesian (Hex8) meshes are supported by yt.
@@ -2215,7 +2215,7 @@ There are three way to make yt detect all the particle fields. For example, if y
 Customizing the particle type association
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-In verions of RAMSES more recent than December 2017, particles carry
+In versions of RAMSES more recent than December 2017, particles carry
 along a ``family`` array. The value of this array gives the kind of
 the particle, e.g. 1 for dark matter. It is possible to customize the
 association between particle type and family by customizing the yt
@@ -2263,7 +2263,7 @@ of the various particle formation time and age fields:
 
 +------------------+--------------------------+--------------------------------+
 | Simulation type  | Field name               | Description                    |
-|==================+==========================+================================+
++==================+==========================+================================+
 | cosmological     | ``conformal_birth_time`` | Formation time in conformal    |
 |                  |                          | units (dimensionless)          |
 +------------------+--------------------------+--------------------------------+
diff --git a/doc/source/faq/index.rst b/doc/source/faq/index.rst
index f36e36958..126061b4f 100644
--- a/doc/source/faq/index.rst
+++ b/doc/source/faq/index.rst
@@ -20,7 +20,7 @@ How can I tell what version of yt I'm using?
 If you run into problems with yt and you're writing to the mailing list
 or contacting developers on IRC, they will likely want to know what version of
 yt you're using.  Oftentimes, you'll want to know both the yt version,
-as well as the last changeset that was comitted to the branch you're using.
+as well as the last changeset that was committed to the branch you're using.
 To reveal this, go to a command line and type:
 
 .. code-block:: bash
@@ -124,7 +124,7 @@ cc is the mpi-enabled C compiler (and it is in my path), so I run:
 And voila!  It installs!  If this *still* fails for you, then you can
 build and install from source and specify the mpi-enabled c and c++
 compilers in the mpi.cfg file.  See the
-`mpi4py installation page <http://mpi4py.scipy.org/docs/usrman/install.html>`_
+`mpi4py installation page <https://mpi4py.readthedocs.io/en/stable/install.html>`_
 for details.
 
 
@@ -370,7 +370,7 @@ Miscellaneous
 How can I get some sample data for yt?
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-Many different sample datasets can be found at http://yt-project.org/data/ .
+Many different sample datasets can be found at https://yt-project.org/data/ .
 These can be downloaded, unarchived, and they will each create their own
 directory.  It is generally straight forward to load these datasets, but if
 you have any questions about loading data from a code with which you are
@@ -469,7 +469,7 @@ How do I cite yt?
 
 If you use yt in a publication, we'd very much appreciate a citation!  You
 should feel free to cite the `ApJS paper
-<http://adsabs.harvard.edu/abs/2011ApJS..192....9T>`_ with the following BibTeX
+<https://ui.adsabs.harvard.edu/abs/2011ApJS..192....9T>`_ with the following BibTeX
 entry: ::
 
    @ARTICLE{2011ApJS..192....9T,
@@ -487,6 +487,6 @@ entry: ::
          eid = {9},
        pages = {9},
          doi = {10.1088/0067-0049/192/1/9},
-      adsurl = {http://adsabs.harvard.edu/abs/2011ApJS..192....9T},
+      adsurl = {https://ui.adsabs.harvard.edu/abs/2011ApJS..192....9T},
      adsnote = {Provided by the SAO/NASA Astrophysics Data System}
    }
diff --git a/doc/source/help/index.rst b/doc/source/help/index.rst
index 934d168ae..1764efc01 100644
--- a/doc/source/help/index.rst
+++ b/doc/source/help/index.rst
@@ -184,14 +184,14 @@ If you want a fast, interactive experience, you could try jumping into our Slack
 or IRC channels to get your questions answered in a chatroom style environment.
 
 To join our slack channel you will need to request an invite by going to
-http://yt-project.org/development.html, click the "Join as @ Slack!" button, and
+https://yt-project.org/development.html, click the "Join as @ Slack!" button, and
 fill out the form. You will get an invite as soon as an administrator approves
 your request.
 
 Alternatively you can go to our IRC channel, which does not require an
 invite. You don't even need to have any special IRC client in order to join the
 IRC channel.  We are the #yt channel on irc.freenode.net, but you can also
-connect using your web browser by going to http://yt-project.org/irc.html .
+connect using your web browser by going to https://yt-project.org/irc.html .
 There are usually 2-8 members of the user base and development team online, so
 you'll probably get your answers quickly.  Remember to bring the information
 from the :ref:`last step <isolate_and_document>`.
@@ -203,8 +203,8 @@ Ask the mailing list
 
 If you still haven't yet found a solution, feel free to
 write to the mailing list regarding your problems.  There are two mailing lists,
-`yt-users <https://mail.python.org/mm3/archives/list/yt-users@python.org/>`_ and
-`yt-dev <https://mail.python.org/mm3/archives/list/yt-dev@python.org/>`_.  The
+`yt-users <https://mail.python.org/archives/list/yt-users@python.org/>`_ and
+`yt-dev <https://mail.python.org/archives/list/yt-dev@python.org/>`_.  The
 first should be used for asking for help, suggesting features and so on, and
 the latter has more chatter about the way the code is developed and discussions
 of changes and feature improvements.
diff --git a/doc/source/index.rst b/doc/source/index.rst
index 0ffad7aea..3339c93af 100644
--- a/doc/source/index.rst
+++ b/doc/source/index.rst
@@ -11,16 +11,6 @@ yt supports :ref:`many different code formats <code-support>`, and we provide
 :ref:`sample data for each format <getting-sample-data>` with
 :ref:`instructions on how to load and examine each data type <examining-data>`.
 
-.. raw:: html
-
-   <form action="search.html" method="get" _lpchecked="1">
-     <div class="form-group">
-       <input type="text" name="q" class="form-control" placeholder="Search" style="width: 70%">
-     </div>
-     <input type="hidden" name="check_keywords" value="yes">
-     <input type="hidden" name="area" value="default">
-   </form>
-
 
 
 Table of Contents
diff --git a/doc/source/installing.rst b/doc/source/installing.rst
index b4b9e961c..f92008bc6 100644
--- a/doc/source/installing.rst
+++ b/doc/source/installing.rst
@@ -20,11 +20,11 @@ will work best for you depends on your precise situation:
   python packages, or are working on a supercomputer or cluster computer, you
   will probably want to use the bash all-in-one installation script.  This
   creates a python environment using the `miniconda python
-  distribution <http://conda.pydata.org/miniconda.html>`_ and the
-  `conda <http://conda.pydata.org/docs/>`_ package manager inside of a single
+  distribution <https://docs.conda.io/en/latest/miniconda.html>`_ and the
+  `conda <https://conda.io/en/latest/>`_ package manager inside of a single
   folder in your home directory. See :ref:`install-script` for more details.
 
-* If you use the `Anaconda <https://store.continuum.io/cshop/anaconda/>`_ python
+* If you use the `Anaconda <https://www.anaconda.com/distribution/>`_ python
   distribution and already have ``conda`` installed, see
   :ref:`anaconda-installation` for details on how to install yt using the
   ``conda`` package manager. Note that this is currently the only supported
@@ -34,7 +34,7 @@ will work best for you depends on your precise situation:
   compilers and know your way around python packaging,
   :ref:`source-installation` will probably be the best choice. If you have set
   up python using a source-based package manager like `Homebrew
-  <http://brew.sh>`_ or `MacPorts <http://www.macports.org/>`_ this choice will
+  <https://brew.sh>`_ or `MacPorts <https://www.macports.org/>`_ this choice will
   let you install yt using the python installed by the package
   manager. Similarly, this will also work for python environments set up via
   Linux package managers so long as you have the necessary compilers installed
@@ -107,9 +107,9 @@ If you do not have ``wget``, the following should also work:
   $ curl -OL https://raw.githubusercontent.com/yt-project/yt/master/doc/install_script.sh
 
 By default, the bash install script will create a python environment based on
-the `miniconda python distribution <http://conda.pydata.org/miniconda.html>`_,
+the `miniconda python distribution <https://docs.conda.io/en/latest/miniconda.html>`_,
 and will install yt's dependencies using the `conda
-<http://conda.pydata.org/docs/>`_ package manager. To avoid needing a
+<https://conda.io/en/latest/>`_ package manager. To avoid needing a
 compilation environment to run the install script, yt itself will also be
 installed using `conda`.
 
@@ -124,8 +124,8 @@ yt git repository and build yt form source. The default is
 In addition, you can tell the install script to download and install some
 additional packages --- currently these include
 `PyX <http://pyx.sourceforge.net/>`_, the `Rockstar halo
-finder <http://arxiv.org/abs/1110.4372>`_, `SciPy <https://www.scipy.org/>`_,
-`Astropy <http://www.astropy.org/>`_, 
+finder <https://arxiv.org/abs/1110.4372>`_, `SciPy <https://www.scipy.org/>`_,
+`Astropy <https://www.astropy.org/>`_, 
 `Cartopy <https://scitools.org.uk/cartopy/docs/latest/>`_, 
 and the necessary dependencies for
 :ref:`unstructured mesh rendering <unstructured_mesh_rendering>`. The script has
@@ -264,8 +264,8 @@ packages, simply remove ``-c conda-forge`` during conda installation.
 
 Location of our channel can be added to ``.condarc`` to avoid retyping it during
 each *conda* invocation. Please refer to `Conda Manual
-<http://conda.pydata.org/docs/config.html#channel-locations-channels>`_ for
-detailed instructions.
+<https://conda.io/projects/conda/en/latest/user-guide/configuration/use-condarc.html#channel-locations-channels>`_
+for detailed instructions.
 
 .. _conda-source-build:
 
@@ -422,7 +422,7 @@ development version of yt instead of the latest stable release, you will need
   OS-level python installation, you can leave off ``--user --install-option="--prefix="``, although
   you might need ``sudo`` depending on where python is installed. See `This
   StackOverflow discussion
-  <http://stackoverflow.com/questions/4495120/combine-user-with-prefix-error-with-setup-py-install>`_
+  <https://stackoverflow.com/questions/4495120/combine-user-with-prefix-error-with-setup-py-install>`_
   if you are curious why ``--install-option="--prefix="`` is necessary on some systems.
 
 This will install yt into a folder in your home directory
@@ -432,7 +432,7 @@ the ``setuptools`` documentation for the additional options.
 
 If you are unable to locate the ``yt`` executable (i.e. executing ``yt version``
 at the bash command line fails), then you likely need to add the
-``$HOME/.local/bin`` (or the equivalent on your OS) to your PATH. Some linux
+``$HOME/.local/bin`` (or the equivalent on your OS) to your PATH. Some Linux
 distributions do not include this directory in the default search path.
 
 If you choose this installation method, you do not need to run any activation
diff --git a/doc/source/intro/index.rst b/doc/source/intro/index.rst
index 92ff94b78..f69d243d5 100644
--- a/doc/source/intro/index.rst
+++ b/doc/source/intro/index.rst
@@ -62,7 +62,7 @@ analysis modules <analysis-modules>`.
 Visualization
 ^^^^^^^^^^^^^
 
-yt provides many tools for :ref:`visualizing-data <visualizing>`, and herein
+yt provides many tools for :ref:`visualizing data <visualizing>`, and herein
 we highlight a few of them.  yt can create :ref:`slice plots <slice-plots>`,
 wherein a three-dimensional volume (or any of the :ref:`data objects
 <data-objects>`) is *sliced* by a plane to return the two-dimensional field
@@ -177,7 +177,7 @@ Getting Started
 ^^^^^^^^^^^^^^^
 
 We have detailed :ref:`installation instructions <getting-and-installing-yt>`
-and support for a number of platforms including unix, linux, MacOS, and
+and support for a number of platforms including Unix, Linux, MacOS, and
 Windows.  If you are new to yt, check out the :ref:`yt Quickstart
 <quickstart>` and the :ref:`cookbook <cookbook>` for a demonstration of yt's
 capabilities.  If you previously used yt version 2, check out our guide
diff --git a/doc/source/quickstart/1)_Introduction.ipynb b/doc/source/quickstart/1)_Introduction.ipynb
index 5f19d572b..0f5dccd5e 100644
--- a/doc/source/quickstart/1)_Introduction.ipynb
+++ b/doc/source/quickstart/1)_Introduction.ipynb
@@ -43,15 +43,15 @@
    "source": [
     "download_datasets = False\n",
     "if download_datasets:\n",
-    "    !curl -sSO http://yt-project.org/data/enzo_tiny_cosmology.tar.gz\n",
+    "    !curl -sSO https://yt-project.org/data/enzo_tiny_cosmology.tar.gz\n",
     "    print (\"Got enzo_tiny_cosmology\")\n",
     "    !tar xzf enzo_tiny_cosmology.tar.gz\n",
     "    \n",
-    "    !curl -sSO http://yt-project.org/data/Enzo_64.tar.gz\n",
+    "    !curl -sSO https://yt-project.org/data/Enzo_64.tar.gz\n",
     "    print (\"Got Enzo_64\")\n",
     "    !tar xzf Enzo_64.tar.gz\n",
     "    \n",
-    "    !curl -sSO http://yt-project.org/data/IsolatedGalaxy.tar.gz\n",
+    "    !curl -sSO https://yt-project.org/data/IsolatedGalaxy.tar.gz\n",
     "    print (\"Got IsolatedGalaxy\")\n",
     "    !tar xzf IsolatedGalaxy.tar.gz\n",
     "    \n",
diff --git a/doc/source/quickstart/4)_Data_Objects_and_Time_Series.ipynb b/doc/source/quickstart/4)_Data_Objects_and_Time_Series.ipynb
index 5bf6c68a7..eaac3c15b 100644
--- a/doc/source/quickstart/4)_Data_Objects_and_Time_Series.ipynb
+++ b/doc/source/quickstart/4)_Data_Objects_and_Time_Series.ipynb
@@ -150,7 +150,7 @@
     "pylab.semilogx(zs, mass, '-xb')\n",
     "pylab.xlabel(\"Redshift\")\n",
     "pylab.ylabel(\"Mass in halos / Total mass\")\n",
-    "pylab.xlim(max(zs), min(zs))\n",
+    "pylab.xlim(right=max(zs))\n",
     "pylab.ylim(-0.01, .18)"
    ]
   },
diff --git a/doc/source/quickstart/5)_Derived_Fields_and_Profiles.ipynb b/doc/source/quickstart/5)_Derived_Fields_and_Profiles.ipynb
index ebaee82a9..363fcd0b3 100644
--- a/doc/source/quickstart/5)_Derived_Fields_and_Profiles.ipynb
+++ b/doc/source/quickstart/5)_Derived_Fields_and_Profiles.ipynb
@@ -41,7 +41,7 @@
    },
    "outputs": [],
    "source": [
-    "@derived_field(name = \"dinosaurs\", units = \"K * cm/s\")\n",
+    "@derived_field(name=\"dinosaurs\", units=\"K * cm/s\", sampling_type=\"cell\")\n",
     "def _dinos(field, data):\n",
     "    return data[\"temperature\"] * data[\"velocity_magnitude\"]"
    ]
diff --git a/doc/source/quickstart/index.rst b/doc/source/quickstart/index.rst
index 602b86841..34310e86f 100644
--- a/doc/source/quickstart/index.rst
+++ b/doc/source/quickstart/index.rst
@@ -64,7 +64,7 @@ Here are the notebooks, which have been filled in for inspection:
 .. note::
 
    The notebooks use sample datasets that are available for download at
-   http://yt-project.org/data.  See :ref:`quickstart-introduction` for more
+   https://yt-project.org/data.  See :ref:`quickstart-introduction` for more
    details.
 
 Let us know if you would like to contribute other example notebooks, or have
diff --git a/doc/source/reference/changelog.rst b/doc/source/reference/changelog.rst
index f5778f083..2291a318a 100644
--- a/doc/source/reference/changelog.rst
+++ b/doc/source/reference/changelog.rst
@@ -210,7 +210,7 @@ Additional Improvements
   incorrect answer. See `PR 1856
   <https://github.com/yt-project/yt/pull/1856>`__.
 - Systematically added validation for inputs to data object initializers. See
-  `PR 1871 <https://github.com/yt-project/yt/pull>`__.
+  `PR 1871 <https://github.com/yt-project/yt/pull/1871>`__.
 - It is now possible to select only a specific particle type in the particle
   trajectories analysis module. See `PR 1887
   <https://github.com/yt-project/yt/pull/1887>`__.
@@ -309,8 +309,8 @@ Minor Enhancements and Bugfixes
 - Correct typo in WarpX field definitions. See `PR 1583
   <https://github.com/yt-project/yt/pull/1583>`__.
 - Avoid crashing when loading an Enzo dataset with a parameter file that has
-  commented out parameters. See `PR 1584
-  <https://github.com/yt-project/yt/pull/1584>`__.
+  commented out parameters. See `PR 1586
+  <https://github.com/yt-project/yt/pull/1586>`__.
 - Fix a corner case in the clump finding machinery where the reference to the
   parent clump is invalid after pruning a child clump that has no siblings. See
   `PR 1587 <https://github.com/yt-project/yt/pull/1587>`__.
@@ -334,7 +334,7 @@ Minor Enhancements and Bugfixes
 - Added a cookbook example for a multipanel phase plot. See `PR 1605
   <https://github.com/yt-project/yt/pull/1605>`__.
 - Boolean simulation parameters in the Boxlib frontend will now be interpreted
-  correctly. See `PR 1618 <https://github.com/yt-project/yt/pull/1618>`__.
+  correctly. See `PR 1619 <https://github.com/yt-project/yt/pull/1619>`__.
 - The ``ds.particle_type_counts`` attribute will now be populated correctly for
   AMReX data.
 - The ``"rad"`` unit (added for compatibility with astropy) now has the correct
@@ -617,7 +617,7 @@ pull requests from 44 contributors including 18 new contributors.
    ``OffAxisProjectionPlot``. See `Bitbucket PR
    2490 <https://bitbucket.org/yt_analysis/yt/pull-requests/2490>`__.
 -  Added a ``yt download`` command-line helper to download test data
-   from http://yt-project.org/data. For more information see
+   from https://yt-project.org/data. For more information see
    ``yt download --help`` at the bash command line. See `Bitbucket PR
    2495 <https://bitbucket.org/yt_analysis/yt/pull-requests/2495>`__ and
    `Bitbucket PR
@@ -627,7 +627,7 @@ pull requests from 44 contributors including 18 new contributors.
    command line. See `Github PR
    1471 <https://github.com/yt-project/yt/pull/1471>`__.
 -  If it's installed, colormaps from the `cmocean
-   package <http://matplotlib.org/cmocean/>`__ will be made available as
+   package <https://matplotlib.org/cmocean/>`__ will be made available as
    yt colormaps. See `Bitbucket PR
    2439 <https://bitbucket.org/yt_analysis/yt/pull-requests/2439>`__.
 -  It is now possible to visualize unstructured mesh fields defined on
@@ -1798,7 +1798,7 @@ Version 1.6
 Version 1.6 is a point release, primarily notable for the new parallel halo
 finder (see :ref:`halo-analysis`)
 
- * (New) Parallel HOP ( http://arxiv.org/abs/1001.3411 , :ref:`halo-analysis` )
+ * (New) Parallel HOP ( https://arxiv.org/abs/1001.3411 , :ref:`halo-analysis` )
  * (Beta) Software ray casting and volume rendering
    (see :ref:`volume_rendering`)
  * Rewritten, faster and better contouring engine for clump identification
diff --git a/doc/source/reference/command-line.rst b/doc/source/reference/command-line.rst
index 97b85d64f..65af04709 100644
--- a/doc/source/reference/command-line.rst
+++ b/doc/source/reference/command-line.rst
@@ -210,7 +210,7 @@ upload_notebook
 
 This command will accept the filename of a ``.ipynb`` file (generated from an
 IPython notebook session) and upload it to the `yt hub
-<https://hub.yt/>`__ where others will be able to view it, and
+<https://girder.hub.yt/>`__ where others will be able to view it, and
 download it.  This is an easy method for recording a sequence of commands,
 their output, narrative information, and then sharing that with others.  These
 notebooks will be viewable online, and the appropriate URLs will be returned on
@@ -254,7 +254,7 @@ share a piece of code that generates an image, or you're trying to
 debug image-generation scripts, it can be useful to send your
 co-authors a link to the image.  This subcommand makes such sharing
 a breeze.  By specifying the image to share, ``upload_image`` automatically
-uploads it anonymously to the website `imgur.com <http://imgur.com/>`_ and
+uploads it anonymously to the website `imgur.com <https://imgur.com/>`_ and
 provides you with a link to share with your collaborators.  Note that the
 image *must* be in the PNG format in order to use this function.
 
@@ -263,13 +263,13 @@ delete_image
 
 The image uploaded using ``upload_image`` is assigned with a unique hash that
 can be used to remove it. This subcommand provides an easy way to send a delete
-request directly to the `imgur.com <http://imgur.com/>`_.
+request directly to the `imgur.com <https://imgur.com/>`_.
 
 Hub helper
 ~~~~~~~~~~
 
 The :code:`yt hub` command-line tool allows to interact with the `yt hub
-<https://hub.yt>`__. The following subcommands are currently available:
+<https://girder.hub.yt>`__. The following subcommands are currently available:
 
 .. config_help:: yt hub
 
@@ -277,14 +277,14 @@ register
 ++++++++
 
 This subcommand starts an interactive process of creating an account on the `yt
-hub <https://hub.yt/>`__. Please note that the yt Hub also supports multiple OAuth
+hub <https://girder.hub.yt/>`__. Please note that the yt Hub also supports multiple OAuth
 providers such as Google, Bitbucket and GitHub for authentication. 
 See :ref:`hub-APIkey` for more information.
 
 start
 +++++
 
-This subcommand launches the Jupyter Notebook on the `yt Hub <https://hub.yt>`__
+This subcommand launches the Jupyter Notebook on the `yt Hub <https://girder.hub.yt>`__
 with a chosen Hub folder mounted to the ``/data`` directory inside the notebook.
 If no path is given all the `example yt datasets
 <https://yt-project.org/data>`_ are mounted by default. The appropriate URL
@@ -300,7 +300,7 @@ Example:
 download
 ~~~~~~~~
 
-This subcommand downloads a file from http://yt-project.org/data. Using ``yt download``, 
+This subcommand downloads a file from https://yt-project.org/data. Using ``yt download``, 
 one can download a file to:
 
 * ``"test_data_dir"``: Save the file to the location specified in 
diff --git a/doc/source/reference/python_introduction.rst b/doc/source/reference/python_introduction.rst
index 0b3d66869..b12db3ea8 100644
--- a/doc/source/reference/python_introduction.rst
+++ b/doc/source/reference/python_introduction.rst
@@ -643,7 +643,7 @@ covers mechanisms for combining arrays of different shapes and sizes, which can
 be tricky but also extremely powerful.  We won't discuss the idea of
 broadcasting here, simply because I don't know that I could do it justice!  The
 NumPy Docs have a great `section on broadcasting
-<http://docs.scipy.org/doc/numpy/user/basics.broadcasting.html>`_.
+<https://docs.scipy.org/doc/numpy/user/basics.broadcasting.html>`_.
 
 Scripted Usage
 ++++++++++++++
@@ -735,9 +735,9 @@ perspective and interactively.
 
 Python and Related References
 +++++++++++++++++++++++++++++
-    * `Python quickstart <http://docs.python.org/tutorial/>`_
-    * `Learn Python the Hard Way <http://learnpythonthehardway.org/book/>`_
-    * `Byte of Python <http://www.swaroopch.com/notes/Python>`_
+    * `Python quickstart <https://docs.python.org/3/tutorial/>`_
+    * `Learn Python the Hard Way <https://learnpythonthehardway.org/book/>`_
+    * `Byte of Python <https://python.swaroopch.com/>`_
     * `Dive Into Python <http://diveintopython.org>`_
-    * `Numpy docs <http://docs.scipy.org/doc/numpy/>`_
-    * `Matplotlib docs <http://matplotlib.org>`_
+    * `Numpy docs <https://docs.scipy.org/doc/numpy/>`_
+    * `Matplotlib docs <https://matplotlib.org>`_
diff --git a/doc/source/sharing_data.rst b/doc/source/sharing_data.rst
index 815bd515a..ff216ced2 100644
--- a/doc/source/sharing_data.rst
+++ b/doc/source/sharing_data.rst
@@ -60,7 +60,7 @@ After the API Key is created you can obtain it by clicking *show* link:
    :width: 50 %
 
 For more information about API keys please see `this document
-<http://girder.readthedocs.io/en/latest/user-guide.html?highlight=API%20keys#api-keys>`__.
+<https://girder.readthedocs.io/en/latest/user-guide.html?highlight=API%20keys#api-keys>`__.
 
 After you have gotten your API key, update your config file:
 
@@ -92,7 +92,7 @@ Currently, the yt hub can accept these types of data:
 
  * Raw data files, scripts.
  * IPython notebooks: these are stored on the hub and are made available for
-   download and via the IPython `nbviewer <http://nbviewer.jupyter.org/>`_
+   download and via the IPython `nbviewer <https://nbviewer.jupyter.org/>`_
    service.
 
 How to Upload Data
@@ -100,7 +100,7 @@ How to Upload Data
 
 Uploading data can be performed using the ``girder-cli`` command tool or
 directly via the web interface. Please refer to ``girder-cli`` `documentation page
-<http://girder.readthedocs.io/en/latest/python-client.html>`_ for additional
+<https://girder.readthedocs.io/en/latest/python-client.html>`_ for additional
 information.
 
 Uploading Notebooks
diff --git a/doc/source/visualizing/callbacks.rst b/doc/source/visualizing/callbacks.rst
index f6deb72ed..c21c7622a 100644
--- a/doc/source/visualizing/callbacks.rst
+++ b/doc/source/visualizing/callbacks.rst
@@ -473,6 +473,7 @@ Overplotting Particle Positions
 To plot only the central particles
 
 .. python-script::
+
    import yt
    ds = yt.load("Enzo_64/DD0043/data0043")
    p = yt.ProjectionPlot(ds, "x", "density", center='m', width=(10, 'Mpc'))
diff --git a/doc/source/visualizing/colormaps/index.rst b/doc/source/visualizing/colormaps/index.rst
index 0ec6faa42..8bc1aa9ad 100644
--- a/doc/source/visualizing/colormaps/index.rst
+++ b/doc/source/visualizing/colormaps/index.rst
@@ -56,7 +56,7 @@ Colormaps from cmocean
 ~~~~~~~~~~~~~~~~~~~~~~
 
 In addition to ``palettable``, yt will also import colormaps defined in the
-`cmocean <http://matplotlib.org/cmocean>`_ package. These colormaps are
+`cmocean <https://matplotlib.org/cmocean>`_ package. These colormaps are
 `perceptually uniform <http://bids.github.io/colormap/>`_ and were originally
 designed for oceanography applications, but can be used for any kind of plots.
 
@@ -171,6 +171,6 @@ To give the reader a better feel for how a colormap appears once it is applied
 to a dataset, below we provide a library of identical projections of an
 isolated galaxy where only the colormap has changed.  They use the sample
 dataset "IsolatedGalaxy" available at
-`http://yt-project.org/data <http://yt-project.org/data>`_.
+`https://yt-project.org/data <https://yt-project.org/data>`_.
 
 .. yt_colormaps:: cmap_images.py
diff --git a/doc/source/visualizing/interactive_data_visualization.rst b/doc/source/visualizing/interactive_data_visualization.rst
index 5b3f94a5b..2dce380b8 100644
--- a/doc/source/visualizing/interactive_data_visualization.rst
+++ b/doc/source/visualizing/interactive_data_visualization.rst
@@ -32,9 +32,9 @@ Installation
 ^^^^^^^^^^^^
 
 In order to use Interactive Data Visualization (IDV) you need to install
-`PyOpenGL <https://pypi.python.org/pypi/PyOpenGL>`_ and `cyglfw3
-<https://pypi.python.org/pypi/cyglfw3/>`_ along with their respective
-dependencies, e.g. `glfw3 <http://www.glfw.org/>`_ is required to be installed
+`PyOpenGL <https://pypi.org/project/PyOpenGL>`_ and `cyglfw3
+<https://pypi.org/project/cyglfw3/>`_ along with their respective
+dependencies, e.g. `glfw3 <https://www.glfw.org/>`_ is required to be installed
 before you can ``pip install cyglfw3``. Please carefully read installation
 instructions provided on pypi pages of both packages. 
 
diff --git a/doc/source/visualizing/mapserver.rst b/doc/source/visualizing/mapserver.rst
index 0c179dbfe..d0eeb5006 100644
--- a/doc/source/visualizing/mapserver.rst
+++ b/doc/source/visualizing/mapserver.rst
@@ -4,7 +4,7 @@ Mapserver - A Google-Maps-like Interface to your Data
 -----------------------------------------------------
 
 The mapserver is a new, experimental feature.  It's based on `Leaflet
-<http://leafletjs.com/>`_, a library written to create zoomable,
+<https://leafletjs.com/>`_, a library written to create zoomable,
 map-tile interfaces.  (Similar to Google Maps.)  yt provides everything you
 need to start up a web server that will interactively re-pixelize an adaptive
 image.  This means you can explore your datasets in a fully pan-n-zoom
diff --git a/doc/source/visualizing/plots.rst b/doc/source/visualizing/plots.rst
index 632415cfa..178435d69 100644
--- a/doc/source/visualizing/plots.rst
+++ b/doc/source/visualizing/plots.rst
@@ -9,7 +9,7 @@ of simulation data, derived fields, and the data produced by yt
 analysis objects.  For details about the data extraction and
 algorithms used to produce the image and analysis data, please see the
 yt `method paper
-<http://adsabs.harvard.edu/abs/2011ApJS..192....9T>`_.  There are also
+<https://ui.adsabs.harvard.edu/abs/2011ApJS..192....9T>`_.  There are also
 many example scripts in :ref:`cookbook`.
 
 The :class:`~yt.visualization.plot_window.PlotWindow` interface is useful for
@@ -61,8 +61,8 @@ of fixed size. This is accomplished behind the scenes using
 
 The :class:`~yt.visualization.plot_window.PlotWindow` class exposes the
 underlying matplotlib
-`figure <http://matplotlib.org/api/figure_api.html#matplotlib.figure.Figure>`_
-and `axes <http://matplotlib.org/api/axes_api.html#matplotlib.axes.Axes>`_
+`figure <https://matplotlib.org/api/_as_gen/matplotlib.figure.Figure.html#matplotlib.figure.Figure>`_
+and `axes <https://matplotlib.org/api/axes_api.html#matplotlib.axes.Axes>`_
 objects, making it easy to customize your plots and
 add new annotations.  See :ref:`matplotlib-customization` for more information.
 
@@ -837,8 +837,8 @@ accessed via the ``plots`` dictionary attached to each
 In this example ``dens_plot`` is an instance of
 :class:`~yt.visualization.plot_window.WindowPlotMPL`, an object that wraps the
 matplotlib
-`figure <http://matplotlib.org/api/figure_api.html#matplotlib.figure.Figure>`_
-and `axes <http://matplotlib.org/api/axes_api.html#matplotlib.axes.Axes>`_
+`figure <https://matplotlib.org/api/_as_gen/matplotlib.figure.Figure.html#matplotlib.figure.Figure>`_
+and `axes <https://matplotlib.org/api/axes_api.html#matplotlib.axes.Axes>`_
 objects.  We can access these matplotlib primitives via attributes of
 ``dens_plot``.
 
@@ -849,8 +849,8 @@ objects.  We can access these matplotlib primitives via attributes of
     colorbar_axes = dens_plot.cax
 
 These are the
-`figure <http://matplotlib.org/api/figure_api.html#matplotlib.figure.Figure>`_
-and `axes <http://matplotlib.org/api/axes_api.html#matplotlib.axes.Axes>`_
+`figure <https://matplotlib.org/api/_as_gen/matplotlib.figure.Figure.html#matplotlib.figure.Figure>`_
+and `axes <https://matplotlib.org/api/axes_api.html#matplotlib.axes.Axes>`_
 objects that control the actual drawing of the plot.  Arbitrary plot
 customizations are possible by manipulating these objects.  See
 :ref:`matplotlib-primitives` for an example.
@@ -1795,7 +1795,7 @@ visualize your data, publishers often require figures to be in PDF or
 EPS format.  While the matplotlib supports vector graphics and image
 compression in PDF formats, it does not support compression in EPS
 formats.  The :class:`~yt.visualization.eps_writer.DualEPS` module
-provides an interface with the `PyX <http://pyx.sourceforge.net/>`_,
+provides an interface with the `PyX <https://pyx-project.org/>`_,
 which is a Python abstraction of the PostScript drawing model with a
 LaTeX interface.  It is optimal for publications to provide figures
 with vector graphics to avoid rasterization of the lines and text,
@@ -1823,7 +1823,7 @@ EPS or PDF figure.  For example,
 
 The ``eps_fig`` object exposes all of the low-level functionality of
 ``PyX`` for further customization (see the `PyX documentation
-<http://pyx.sourceforge.net/manual/index.html>`_).  There are a few
+<https://pyx-project.org/manual/>`_).  There are a few
 convenience routines in ``eps_writer``, such as drawing a circle,
 
 .. code-block:: python
diff --git a/doc/source/visualizing/sketchfab.rst b/doc/source/visualizing/sketchfab.rst
index af98e6185..179452924 100644
--- a/doc/source/visualizing/sketchfab.rst
+++ b/doc/source/visualizing/sketchfab.rst
@@ -37,8 +37,7 @@ isocontour in density and calculate the mass flux over that isocontour.  It
 also means you can export a surface from yt and view it in something like
 `Blender <https://www.blender.org/>`__, `MeshLab
 <http://www.meshlab.net>`__, or even on your Android or iOS device in
-`MeshPad <http://www.meshpad.org/>`__ or `MeshLab Android
-<https://play.google.com/store/apps/details?id=it.isticnr.meshlab&hl=en>`__.
+`MeshPad <http://www.meshpad.org/>`__.
 
 To extract geometry or sample a field, call
 :meth:`~yt.data_objects.data_containers.YTSelectionContainer3D.extract_isocontours`.  To
@@ -175,7 +174,7 @@ galaxy simulation:
        surf.export_obj(filename, transparency = trans[i], color_field='temperature', plot_index = i)
 
 The calling sequence is fairly similar to the ``export_ply`` function
-`previously used <http://blog.yt-project.org/post/3DSurfacesAndSketchFab.html>`__
+`previously used <https://blog.yt-project.org/post/3DSurfacesAndSketchFab/>`__
 to export 3D surfaces.  However, one can now specify a transparency for each
 surface of interest, and each surface is enumerated in the OBJ files with ``plot_index``.
 This means one could potentially add surfaces to a previously
@@ -216,9 +215,9 @@ Importing to MeshLab and Blender
 --------------------------------
 
 The new OBJ formatting will produce multi-colored surfaces in both
-`MeshLab <http://meshlab.sourceforge.net/>`__ and `Blender <http://www.blender.org/>`__,
+`MeshLab <http://www.meshlab.net/>`__ and `Blender <https://www.blender.org/>`__,
 a feature not possible with the
-`previous PLY exporter <http://blog.yt-project.org/post/3DSurfacesAndSketchFab.html>`__.
+`previous PLY exporter <https://blog.yt-project.org/post/3DSurfacesAndSketchFab/>`__.
 To see colors in MeshLab go to the "Render" tab and
 select "Color -> Per Face".  Note in both MeshLab and Blender, unlike Sketchfab, you can't see
 transparencies until you render.
@@ -281,7 +280,7 @@ in the function "create_materials" with:
    # ...
 
 To use this in Blender, you might create a
-`Blender script <http://cgcookie.com/blender/2011/08/26/introduction-to-scripting-with-python-in-blender/>`__
+`Blender script <https://docs.blender.org/manual/en/latest/advanced/scripting/introduction.html>`__
 like the following:
 
 .. code-block:: python
diff --git a/doc/source/visualizing/unstructured_mesh_rendering.rst b/doc/source/visualizing/unstructured_mesh_rendering.rst
index a3fb80522..d17b0a280 100644
--- a/doc/source/visualizing/unstructured_mesh_rendering.rst
+++ b/doc/source/visualizing/unstructured_mesh_rendering.rst
@@ -7,7 +7,7 @@ Beginning with version 3.3, yt has the ability to volume render unstructured
 mesh data like that created by finite element calculations. No additional 
 dependencies are required in order to use this feature. However, it is 
 possible to speed up the rendering operation by installing with 
-`Embree <https://embree.github.io>`_ support. Embree is a fast ray-tracing
+`Embree <https://www.embree.org>`_ support. Embree is a fast ray-tracing
 library from Intel that can substantially speed up the mesh rendering operation
 on large datasets. You can read about how to install yt with Embree support 
 below, or you can skip to the examples.
@@ -33,7 +33,7 @@ and then run like so:
 Alternatively, you can install the additional dependencies by hand.
 First, you will need to install Embree, either by compiling from source 
 or by using one of the pre-built binaries available at Embree's 
-`downloads <https://embree.github.io/downloads.html>`_ page.
+`downloads <https://www.embree.org/downloads.html>`_ page.
 
 Second, the python bindings for Embree (called
 `pyembree <https://github.com/scopatz/pyembree>`_) must also be installed. To
diff --git a/doc/source/visualizing/visualizing_particle_datasets_with_firefly.rst b/doc/source/visualizing/visualizing_particle_datasets_with_firefly.rst
index 2b9c7ebf2..7093a1587 100644
--- a/doc/source/visualizing/visualizing_particle_datasets_with_firefly.rst
+++ b/doc/source/visualizing/visualizing_particle_datasets_with_firefly.rst
@@ -2,16 +2,16 @@
 
 Visualizing Particle Datasets with Firefly
 ==========================================
-`Firefly <https://www.github.com/ageller/Firefly>`_
+`Firefly <https://github.com/ageller/Firefly>`_
 is an interactive, browser-based,
 particle visualization platform that allows you to filter, colormap, and fly 
 through their data. The user interface can be entirely customized through the
-`python api <https:/www.github.com/agurvich/firefly_api>`_
+`python api <https://github.com/agurvich/firefly_api>`_
 yt offers to ability
 to export your data to Firefly's JSON format through the  
 :meth:`~yt.data_objects.data_containers.YTDataContainer.create_firefly_object`
 method. You will still need to clone the
-`repository <https://www.github.com/ageller/Firefly>`_
+`repository <https://github.com/ageller/Firefly>`_
 and ensure these data files are stored in the ``Firefly/data`` directory,
 this is easily done using the 
 ``path_to_firefly`` argument of 
diff --git a/yt/__init__.py b/yt/__init__.py
index e8046a743..76eb47af6 100644
--- a/yt/__init__.py
+++ b/yt/__init__.py
@@ -1,10 +1,10 @@
 """
 yt is a toolkit for analyzing and visualizing volumetric data.
 
-* Website: http://yt-project.org
-* Documentation: http://yt-project.org/doc
-* Data hub: http://hub.yt
-* Contribute: http://github.com/yt-project/yt
+* Website: https://yt-project.org
+* Documentation: https://yt-project.org/doc
+* Data hub: https://girder.hub.yt
+* Contribute: https://github.com/yt-project/yt
 
 """
 
diff --git a/yt/analysis_modules/halo_finding/rockstar/rockstar.py b/yt/analysis_modules/halo_finding/rockstar/rockstar.py
index 3ba20c7b0..10f042598 100644
--- a/yt/analysis_modules/halo_finding/rockstar/rockstar.py
+++ b/yt/analysis_modules/halo_finding/rockstar/rockstar.py
@@ -196,7 +196,7 @@ class RockstarHaloFinder(ParallelAnalysisInterface):
             particle_mass=None, min_halo_size=25):
         if is_root():
             mylog.info("The citation for the Rockstar halo finder can be found at")
-            mylog.info("http://adsabs.harvard.edu/abs/2013ApJ...762..109B")
+            mylog.info("https://ui.adsabs.harvard.edu/abs/2013ApJ...762..109B")
         ParallelAnalysisInterface.__init__(self)
         # Decide how we're working.
         if ytcfg.getboolean("yt", "inline") is True:
diff --git a/yt/analysis_modules/photon_simulator/photon_models.py b/yt/analysis_modules/photon_simulator/photon_models.py
index 8d76dd9c9..7882e07dc 100644
--- a/yt/analysis_modules/photon_simulator/photon_models.py
+++ b/yt/analysis_modules/photon_simulator/photon_models.py
@@ -2,15 +2,15 @@
 Classes for specific photon models
 
 The algorithms used here are based off of the method used by the
-PHOX code (http://www.mpa-garching.mpg.de/~kdolag/Phox/),
+PHOX code (https://wwwmpa.mpa-garching.mpg.de/~kdolag/Phox/),
 developed by Veronica Biffi and Klaus Dolag. References for
 PHOX may be found at:
 
 Biffi, V., Dolag, K., Bohringer, H., & Lemson, G. 2012, MNRAS, 420, 3545
-http://adsabs.harvard.edu/abs/2012MNRAS.420.3545B
+https://ui.adsabs.harvard.edu/abs/2012MNRAS.420.3545B
 
 Biffi, V., Dolag, K., Bohringer, H. 2013, MNRAS, 428, 1395
-http://adsabs.harvard.edu/abs/2013MNRAS.428.1395B
+https://ui.adsabs.harvard.edu/abs/2013MNRAS.428.1395B
 
 """
 
diff --git a/yt/analysis_modules/photon_simulator/photon_simulator.py b/yt/analysis_modules/photon_simulator/photon_simulator.py
index dbd9510b4..93df67f2b 100644
--- a/yt/analysis_modules/photon_simulator/photon_simulator.py
+++ b/yt/analysis_modules/photon_simulator/photon_simulator.py
@@ -6,15 +6,15 @@ The SciPy Proceeding that describes this module in detail may be found at:
 http://conference.scipy.org/proceedings/scipy2014/zuhone.html
 
 The algorithms used here are based off of the method used by the
-PHOX code (http://www.mpa-garching.mpg.de/~kdolag/Phox/),
+PHOX code (https://wwwmpa.mpa-garching.mpg.de/~kdolag/Phox/),
 developed by Veronica Biffi and Klaus Dolag. References for
 PHOX may be found at:
 
 Biffi, V., Dolag, K., Bohringer, H., & Lemson, G. 2012, MNRAS, 420, 3545
-http://adsabs.harvard.edu/abs/2012MNRAS.420.3545B
+https://ui.adsabs.harvard.edu/abs/2012MNRAS.420.3545B
 
 Biffi, V., Dolag, K., Bohringer, H. 2013, MNRAS, 428, 1395
-http://adsabs.harvard.edu/abs/2013MNRAS.428.1395B
+https://ui.adsabs.harvard.edu/abs/2013MNRAS.428.1395B
 """
 
 #-----------------------------------------------------------------------------
diff --git a/yt/analysis_modules/sunrise_export/sunrise_exporter.py b/yt/analysis_modules/sunrise_export/sunrise_exporter.py
index 32600d78e..b3f55528e 100644
--- a/yt/analysis_modules/sunrise_export/sunrise_exporter.py
+++ b/yt/analysis_modules/sunrise_export/sunrise_exporter.py
@@ -37,7 +37,7 @@ def export_to_sunrise(ds, fn, star_particle_type, fc, fwidth, ncells_wide=None,
     file.  This octree will be written to a FITS file.  It will probably be
     quite big, so use this function with caution!  Sunrise is a tool for
     generating synthetic spectra, available at
-    http://sunrise.googlecode.com/ .
+    https://bitbucket.org/lutorm/sunrise/ .
 
     Parameters
     ----------
@@ -58,7 +58,7 @@ def export_to_sunrise(ds, fn, star_particle_type, fc, fwidth, ncells_wide=None,
 
     Note that the process of generating simulated images from Sunrise will
     require substantial user input; see the Sunrise wiki at
-    http://sunrise.googlecode.com/ for more information.
+    https://bitbucket.org/lutorm/sunrise/ for more information.
 
     """
     fc = np.array(fc)
diff --git a/yt/analysis_modules/sunyaev_zeldovich/projection.py b/yt/analysis_modules/sunyaev_zeldovich/projection.py
index 449d792a2..a7242132e 100644
--- a/yt/analysis_modules/sunyaev_zeldovich/projection.py
+++ b/yt/analysis_modules/sunyaev_zeldovich/projection.py
@@ -2,7 +2,7 @@
 Projection class for the Sunyaev-Zeldovich effect. Requires SZpack (at least
 version 1.1.1) to be downloaded and installed:
 
-http://www.chluba.de/SZpack/
+http://www.jb.man.ac.uk/~jchluba/Science/SZpack/SZpack.html
 
 For details on the computations involved please refer to the following references:
 
diff --git a/yt/data_objects/construction_data_containers.py b/yt/data_objects/construction_data_containers.py
index 3df44a744..f2365a7d4 100644
--- a/yt/data_objects/construction_data_containers.py
+++ b/yt/data_objects/construction_data_containers.py
@@ -1099,12 +1099,12 @@ class YTSurface(YTSelectionContainer3D):
     of the Triangles in that isocontour.
 
     This object simply returns the vertices of all the triangles calculated by
-    the `marching cubes <http://en.wikipedia.org/wiki/Marching_cubes>`_
+    the `marching cubes <https://en.wikipedia.org/wiki/Marching_cubes>`_
     algorithm; for more complex operations, such as identifying connected sets
     of cells above a given threshold, see the extract_connected_sets function.
     This is more useful for calculating, for instance, total isocontour area, or
     visualizing in an external program (such as `MeshLab
-    <http://meshlab.sf.net>`_.)  The object has the properties .vertices and
+    <http://www.meshlab.net>`_.)  The object has the properties .vertices and
     will sample values if a field is requested.  The values are interpolated to
     the center of a given face.
 
@@ -1215,7 +1215,7 @@ class YTSurface(YTSelectionContainer3D):
         r"""This calculates the flux over the surface.
 
         This function will conduct `marching cubes
-        <http://en.wikipedia.org/wiki/Marching_cubes>`_ on all the cells in a
+        <https://en.wikipedia.org/wiki/Marching_cubes>`_ on all the cells in a
         given data container (grid-by-grid), and then for each identified
         triangular segment of an isocontour in a given cell, calculate the
         gradient (i.e., normal) in the isocontoured field, interpolate the local
@@ -1254,7 +1254,7 @@ class YTSurface(YTSelectionContainer3D):
         References
         ----------
 
-        .. [1] Marching Cubes: http://en.wikipedia.org/wiki/Marching_cubes
+        .. [1] Marching Cubes: https://en.wikipedia.org/wiki/Marching_cubes
 
         Examples
         --------
diff --git a/yt/data_objects/data_containers.py b/yt/data_objects/data_containers.py
index 5afc4edaf..4de114556 100644
--- a/yt/data_objects/data_containers.py
+++ b/yt/data_objects/data_containers.py
@@ -633,7 +633,7 @@ class YTDataContainer(object):
     def to_glue(self, fields, label="yt", data_collection=None):
         """
         Takes specific *fields* in the container and exports them to
-        Glue (http://www.glueviz.org) for interactive
+        Glue (http://glueviz.org) for interactive
         analysis. Optionally add a *label*. If you are already within
         the Glue environment, you can pass a *data_collection* object,
         otherwise Glue will be started.
@@ -2410,12 +2410,12 @@ class YTSelectionContainer3D(YTSelectionContainer):
 
         This function simply returns the vertices of all the triangles
         calculated by the `marching cubes
-        <http://en.wikipedia.org/wiki/Marching_cubes>`_ algorithm; for more
+        <https://en.wikipedia.org/wiki/Marching_cubes>`_ algorithm; for more
         complex operations, such as identifying connected sets of cells above a
         given threshold, see the extract_connected_sets function.  This is more
         useful for calculating, for instance, total isocontour area, or
         visualizing in an external program (such as `MeshLab
-        <http://meshlab.sf.net>`_.)
+        <http://www.meshlab.net>`_.)
 
         Parameters
         ----------
@@ -2509,7 +2509,7 @@ class YTSelectionContainer3D(YTSelectionContainer):
         those contours.
 
         This function will conduct `marching cubes
-        <http://en.wikipedia.org/wiki/Marching_cubes>`_ on all the cells in a
+        <https://en.wikipedia.org/wiki/Marching_cubes>`_ on all the cells in a
         given data container (grid-by-grid), and then for each identified
         triangular segment of an isocontour in a given cell, calculate the
         gradient (i.e., normal) in the isocontoured field, interpolate the local
diff --git a/yt/data_objects/image_array.py b/yt/data_objects/image_array.py
index ffd3b62c8..59e4ad742 100644
--- a/yt/data_objects/image_array.py
+++ b/yt/data_objects/image_array.py
@@ -328,7 +328,7 @@ class ImageArray(YTArray):
             The min and max to scale between.  Outlying values will be clipped.
         cmap_name : string, optional
             An acceptable colormap.  See either yt.visualization.color_maps or
-            http://www.scipy.org/Cookbook/Matplotlib/Show_colormaps .
+            https://scipy-cookbook.readthedocs.io/items/Matplotlib_Show_colormaps.html .
         func : function, optional
             A function to transform the buffer before applying a colormap.
 
diff --git a/yt/frontends/fits/misc.py b/yt/frontends/fits/misc.py
index 60e636669..522c681e5 100644
--- a/yt/frontends/fits/misc.py
+++ b/yt/frontends/fits/misc.py
@@ -81,7 +81,7 @@ def create_spectral_slabs(filename, slab_centers, slab_width,
     slabs as separate yt fields. Useful for extracting individual 
     lines from a spectral cube and separating them out as different fields. 
 
-    Requires the SpectralCube (http://spectral-cube.readthedocs.org)
+    Requires the SpectralCube (https://spectral-cube.readthedocs.io/en/latest/)
     library.
 
     All keyword arguments will be passed on to the `FITSDataset` constructor.
@@ -140,7 +140,7 @@ def create_spectral_slabs(filename, slab_centers, slab_width,
 def ds9_region(ds, reg, obj=None, field_parameters=None):
     r"""
     Create a data container from a ds9 region file. Requires the pyregion
-    package (http://leejjoon.github.io/pyregion/) to be installed.
+    package (https://pyregion.readthedocs.io/en/latest/) to be installed.
 
     Parameters
     ----------
diff --git a/yt/funcs.py b/yt/funcs.py
index 72acb245b..570abbab1 100644
--- a/yt/funcs.py
+++ b/yt/funcs.py
@@ -1019,7 +1019,7 @@ def get_hash(infile, algorithm='md5', BLOCKSIZE=65536):
     """Generate file hash without reading in the entire file at once.
 
     Original code licensed under MIT.  Source:
-    http://pythoncentral.io/hashing-files-with-python/
+    https://www.pythoncentral.io/hashing-files-with-python/
 
     Parameters
     ----------
diff --git a/yt/mods.py b/yt/mods.py
index 212093e43..15f54c609 100644
--- a/yt/mods.py
+++ b/yt/mods.py
@@ -27,7 +27,7 @@ from yt import *
 # also attempt to parse the command line and set up the global state of various
 # operations.  The variable unparsed_args is not used internally but is
 # provided as a convenience for users who wish to parse arguments in scripts.
-# https://mail.python.org/mm3/archives/list/yt-dev@python.org/thread/L6AQPJ3OIMJC5SNKVM7CJG32YVQZRJWA/
+# https://mail.python.org/archives/list/yt-dev@python.org/thread/L6AQPJ3OIMJC5SNKVM7CJG32YVQZRJWA/
 import yt.startup_tasks as __startup_tasks
 unparsed_args = __startup_tasks.unparsed_args
 
diff --git a/yt/utilities/command_line.py b/yt/utilities/command_line.py
index 826cc1528..99be722da 100644
--- a/yt/utilities/command_line.py
+++ b/yt/utilities/command_line.py
@@ -492,7 +492,7 @@ class YTBugreportCmd(YTCommand):
         print("simply be a misunderstanding that could be cleared up by")
         print("visiting the yt irc channel or getting advice on the email list:")
         print("   http://yt-project.org/irc.html")
-        print("   https://mail.python.org/mm3/archives/list/yt-users@python.org/")
+        print("   https://mail.python.org/archives/list/yt-users@python.org/")
         print()
         summary = input("Press <enter> if you remain firm in your conviction to continue.")
         print()
diff --git a/yt/utilities/cosmology.py b/yt/utilities/cosmology.py
index 7fcaf7357..0453e2476 100644
--- a/yt/utilities/cosmology.py
+++ b/yt/utilities/cosmology.py
@@ -34,7 +34,7 @@ class Cosmology(object):
     Create a cosmology calculator to compute cosmological distances and times.
 
     For an explanation of the various cosmological measures, see, for example 
-    Hogg (1999, http://xxx.lanl.gov/abs/astro-ph/9905116).
+    Hogg (1999, https://arxiv.org/abs/astro-ph/9905116).
 
     WARNING: Cosmological distance calculations return values that are either
     in the comoving or proper frame, depending on the specific quantity.  For
diff --git a/yt/utilities/lru_cache.py b/yt/utilities/lru_cache.py
index 181039170..3076cce1b 100644
--- a/yt/utilities/lru_cache.py
+++ b/yt/utilities/lru_cache.py
@@ -64,7 +64,7 @@ def lru_cache(maxsize=100, typed=False, make_key = _make_key):
     View the cache statistics named tuple (hits, misses, maxsize, currsize) with
     f.cache_info().  Clear the cache and statistics with f.cache_clear().
     Access the underlying function with f.__wrapped__.
-    See:  http://en.wikipedia.org/wiki/Cache_algorithms#Least_Recently_Used
+    See: <https://en.wikipedia.org/wiki/Cache_replacement_policies#Least_recently_used_(LRU)>
     """
 
     # Users should only access the lru_cache through its public API:
diff --git a/yt/utilities/math_utils.py b/yt/utilities/math_utils.py
index df3b5489d..bc6d8ed60 100644
--- a/yt/utilities/math_utils.py
+++ b/yt/utilities/math_utils.py
@@ -811,7 +811,7 @@ def get_perspective_matrix(fovy, aspect, z_near, z_far):
     hardware that automatically performs the divide by w operation.
     See the following for more details about the OpenGL perspective matrices.
 
-    http://www.tomdalling.com/blog/modern-opengl/explaining-homogenous-coordinates-and-projective-geometry/
+    https://www.tomdalling.com/blog/modern-opengl/explaining-homogenous-coordinates-and-projective-geometry/
     http://www.songho.ca/opengl/gl_projectionmatrix.html
 
     """
@@ -883,7 +883,7 @@ def get_orthographic_matrix(maxr, aspect, z_near, z_far):
     See the following for more details about the OpenGL perspective matrices.
 
     http://www.scratchapixel.com/lessons/3d-basic-rendering/perspective-and-orthographic-projection-matrix/orthographic-projection-matrix
-    http://www.tomdalling.com/blog/modern-opengl/explaining-homogenous-coordinates-and-projective-geometry/
+    https://www.tomdalling.com/blog/modern-opengl/explaining-homogenous-coordinates-and-projective-geometry/
     http://www.songho.ca/opengl/gl_projectionmatrix.html
 
     """
diff --git a/yt/utilities/parallel_tools/parallel_analysis_interface.py b/yt/utilities/parallel_tools/parallel_analysis_interface.py
index 59cac81f9..7baf7d60b 100644
--- a/yt/utilities/parallel_tools/parallel_analysis_interface.py
+++ b/yt/utilities/parallel_tools/parallel_analysis_interface.py
@@ -89,7 +89,7 @@ def enable_parallelism(suppress_logging=False, communicator=None):
     """
     This method is used inside a script to turn on MPI parallelism, via
     mpi4py.  More information about running yt in parallel can be found
-    here: http://yt-project.org/docs/3.0/analyzing/parallel_computation.html
+    here: https://yt-project.org/docs/3.0/analyzing/parallel_computation.html
 
     Parameters
     ----------
diff --git a/yt/utilities/sdf.py b/yt/utilities/sdf.py
index f5c49461e..a6145dcb6 100644
--- a/yt/utilities/sdf.py
+++ b/yt/utilities/sdf.py
@@ -251,7 +251,7 @@ class SDFRead(dict):
     def __init__(self, filename = None, header=None):
         r""" Read an SDF file, loading parameters and variables.
 
-        Given an SDF file (see http://bitbucket.org/JohnSalmon/sdf), parse the
+        Given an SDF file (see https://bitbucket.org/JohnSalmon/sdf), parse the
         ASCII header and construct numpy memmap array
         access.
 
@@ -274,7 +274,7 @@ class SDFRead(dict):
         SDF is described here:
 
             J. K. Salmon and M. S. Warren. Self-Describing File (SDF) Library.
-            Zenodo, Jun 2014. URL http://bitbucket.org/JohnSalmon/sdf.
+            Zenodo, Jun 2014. URL https://bitbucket.org/JohnSalmon/sdf.
 
         Examples
         --------
@@ -425,7 +425,7 @@ class HTTPSDFRead(SDFRead):
 
     r""" Read an SDF file hosted on the internet.
 
-    Given an SDF file (see http://bitbucket.org/JohnSalmon/sdf), parse the
+    Given an SDF file (see https://bitbucket.org/JohnSalmon/sdf), parse the
     ASCII header and construct numpy memmap array
     access.
 
@@ -447,7 +447,7 @@ class HTTPSDFRead(SDFRead):
     SDF is described here:
 
         J. K. Salmon and M. S. Warren. Self-Describing File (SDF) Library.
-        Zenodo, Jun 2014. URL http://bitbucket.org/JohnSalmon/sdf.
+        Zenodo, Jun 2014. URL https://bitbucket.org/JohnSalmon/sdf.
 
     Examples
     --------
@@ -486,7 +486,7 @@ class HTTPSDFRead(SDFRead):
 def load_sdf(filename, header=None):
     r""" Load an SDF file.
 
-    Given an SDF file (see http://bitbucket.org/JohnSalmon/sdf), parse the
+    Given an SDF file (see https://bitbucket.org/JohnSalmon/sdf), parse the
     ASCII header and construct numpy memmap array access. The file can
     be either local (on a hard drive, for example), or remote (on the World
     Wide Web).
@@ -509,7 +509,7 @@ def load_sdf(filename, header=None):
     SDF is described here:
 
         J. K. Salmon and M. S. Warren. Self-Describing File (SDF) Library.
-        Zenodo, Jun 2014. URL http://bitbucket.org/JohnSalmon/sdf.
+        Zenodo, Jun 2014. URL https://bitbucket.org/JohnSalmon/sdf.
 
     Examples
     --------
diff --git a/yt/visualization/fits_image.py b/yt/visualization/fits_image.py
index b9a9ff08f..2ca350477 100644
--- a/yt/visualization/fits_image.py
+++ b/yt/visualization/fits_image.py
@@ -352,7 +352,7 @@ class FITSImageData(object):
     def to_glue(self, label="yt", data_collection=None):
         """
         Takes the data in the FITSImageData instance and exports it to
-        Glue (http://www.glueviz.org) for interactive analysis. Optionally 
+        Glue (http://glueviz.org) for interactive analysis. Optionally 
         add a *label*. If you are already within the Glue environment, you 
         can pass a *data_collection* object, otherwise Glue will be started.
         """
diff --git a/yt/visualization/image_writer.py b/yt/visualization/image_writer.py
index 606efb21b..b9cc72d8b 100644
--- a/yt/visualization/image_writer.py
+++ b/yt/visualization/image_writer.py
@@ -191,7 +191,7 @@ def write_image(image, filename, color_bounds = None, cmap_name = None, func = l
         The min and max to scale between.  Outlying values will be clipped.
     cmap_name : string, optional
         An acceptable colormap.  See either yt.visualization.color_maps or
-        http://www.scipy.org/Cookbook/Matplotlib/Show_colormaps .
+        https://scipy-cookbook.readthedocs.io/items/Matplotlib_Show_colormaps.html .
     func : function, optional
         A function to transform the buffer before applying a colormap. 
 
@@ -232,7 +232,7 @@ def apply_colormap(image, color_bounds = None, cmap_name = None, func=lambda x:
         The min and max to scale between.  Outlying values will be clipped.
     cmap_name : string, optional
         An acceptable colormap.  See either yt.visualization.color_maps or
-        http://www.scipy.org/Cookbook/Matplotlib/Show_colormaps .
+        https://scipy-cookbook.readthedocs.io/items/Matplotlib_Show_colormaps.html .
     func : function, optional
         A function to transform the buffer before applying a colormap. 
 
diff --git a/yt/visualization/plot_container.py b/yt/visualization/plot_container.py
index a048bf7b1..f93f5f774 100644
--- a/yt/visualization/plot_container.py
+++ b/yt/visualization/plot_container.py
@@ -378,7 +378,7 @@ class PlotContainer(object):
               demi, bold, heavy, extra bold, or black
 
             See the matplotlib font manager API documentation for more details.
-            http://matplotlib.org/api/font_manager_api.html
+            https://matplotlib.org/api/font_manager_api.html
 
         Notes
         -----
diff --git a/yt/visualization/plot_modifications.py b/yt/visualization/plot_modifications.py
index 87e9caffd..5b2e3b45a 100644
--- a/yt/visualization/plot_modifications.py
+++ b/yt/visualization/plot_modifications.py
@@ -1549,7 +1549,7 @@ class HaloCatalogCallback(PlotCallback):
 
     Parameters
     ----------
-    halo_catalog : Dataset, DataContainer, or HaloCatalog
+    halo_catalog : Dataset, DataContainer, or ~yt.analysis_modules.halo_analysis.halo_catalog.HaloCatalog
         The object containing halos to be overplotted. This can
         be a HaloCatalog object, a loaded halo catalog dataset,
         or a data container from a halo catalog dataset.
diff --git a/yt/visualization/profile_plotter.py b/yt/visualization/profile_plotter.py
index 326f75a39..817a3a803 100644
--- a/yt/visualization/profile_plotter.py
+++ b/yt/visualization/profile_plotter.py
@@ -1304,7 +1304,7 @@ class PhasePlot(ImagePlotContainer):
               demi, bold, heavy, extra bold, or black
 
             See the matplotlib font manager API documentation for more details.
-            http://matplotlib.org/api/font_manager_api.html
+            https://matplotlib.org/api/font_manager_api.html
 
         Notes
         -----
diff --git a/yt/visualization/volume_rendering/render_source.py b/yt/visualization/volume_rendering/render_source.py
index d6258eee7..1fdf60af1 100644
--- a/yt/visualization/volume_rendering/render_source.py
+++ b/yt/visualization/volume_rendering/render_source.py
@@ -762,7 +762,7 @@ class MeshSource(OpaqueSource):
         ----------
         cmap_name : string, optional
             An acceptable colormap.  See either yt.visualization.color_maps or
-            http://www.scipy.org/Cookbook/Matplotlib/Show_colormaps .
+            https://scipy-cookbook.readthedocs.io/items/Matplotlib_Show_colormaps.html .
         color_bounds : tuple of floats, optional
             The min and max to scale between.  Outlying values will be clipped.
 
diff --git a/yt/visualization/volume_rendering/transfer_functions.py b/yt/visualization/volume_rendering/transfer_functions.py
index 1d1130946..024e7a15e 100644
--- a/yt/visualization/volume_rendering/transfer_functions.py
+++ b/yt/visualization/volume_rendering/transfer_functions.py
@@ -650,7 +650,7 @@ class ColorTransferFunction(MultiVariateTransferFunction):
             The alpha value height for the Gaussian
         colormap : string, optional
             An acceptable colormap.  See either yt.visualization.color_maps or
-            http://www.scipy.org/Cookbook/Matplotlib/Show_colormaps .
+            https://scipy-cookbook.readthedocs.io/items/Matplotlib_Show_colormaps.html .
         col_bounds: array_like, optional
             Limits ([min, max]) the values over which the colormap spans to
             these values.  Useful for sampling an entire colormap over a range
@@ -698,7 +698,7 @@ class ColorTransferFunction(MultiVariateTransferFunction):
             Larger values will be more opaque.
         colormap : string, optional
             An acceptable colormap.  See either yt.visualization.color_maps or
-            http://www.scipy.org/Cookbook/Matplotlib/Show_colormaps .
+            https://scipy-cookbook.readthedocs.io/items/Matplotlib_Show_colormaps.html .
         scale_func: function(:obj:`!value`, :obj:`!minval`, :obj:`!maxval`), optional
             A user-defined function that can be used to scale the alpha channel
             as a function of the TransferFunction field values. Function maps
@@ -765,7 +765,7 @@ class ColorTransferFunction(MultiVariateTransferFunction):
             set as 1.0 everywhere.
         colormap : string, optional
             An acceptable colormap.  See either yt.visualization.color_maps or
-            http://www.scipy.org/Cookbook/Matplotlib/Show_colormaps .
+            https://scipy-cookbook.readthedocs.io/items/Matplotlib_Show_colormaps.html .
         col_bounds: array_like, optional
             Limits ([min, max]) the values over which the colormap spans to
             these values.  Useful for sampling an entire colormap over a range
['doc/source/analyzing/analysis_modules/halo_catalogs.rst', 'yt/analysis_modules/sunyaev_zeldovich/projection.py', 'yt/utilities/cosmology.py', 'doc/source/quickstart/5)_Derived_Fields_and_Profiles.ipynb', 'doc/source/about/index.rst', 'doc/source/quickstart/4)_Data_Objects_and_Time_Series.ipynb', 'doc/source/analyzing/units/index.rst', 'doc/source/_templates/layout.html', 'yt/analysis_modules/photon_simulator/photon_models.py', 'doc/source/visualizing/sketchfab.rst', 'yt/visualization/plot_modifications.py', 'doc/source/conf.py', 'doc/source/developing/extensions.rst', 'yt/analysis_modules/sunrise_export/sunrise_exporter.py', 'doc/source/index.rst', 'doc/source/analyzing/analysis_modules/ellipsoid_analysis.rst', 'yt/utilities/parallel_tools/parallel_analysis_interface.py', 'yt/funcs.py', 'doc/source/cookbook/index.rst', 'yt/utilities/command_line.py', 'doc/source/cookbook/complex_plots.rst', 'doc/source/visualizing/interactive_data_visualization.rst', 'doc/source/quickstart/1)_Introduction.ipynb', 'doc/source/developing/debugdrive.rst', 'yt/visualization/fits_image.py', 'yt/__init__.py', 'doc/source/analyzing/analysis_modules/light_ray_generator.rst', 'yt/visualization/volume_rendering/render_source.py', 'README.md', 'yt/visualization/image_writer.py', 'doc/cheatsheet.tex', 'doc/source/faq/index.rst', 'doc/source/analyzing/analysis_modules/photon_simulator.rst', 'CONTRIBUTING.rst', 'doc/source/developing/creating_frontend.rst', 'doc/source/analyzing/units/comoving_units_and_code_units.rst', 'doc/source/visualizing/plots.rst', 'yt/analysis_modules/photon_simulator/photon_simulator.py', 'doc/source/developing/building_the_docs.rst', 'doc/source/quickstart/index.rst', 'doc/source/analyzing/analysis_modules/index.rst', 'doc/source/analyzing/analysis_modules/halo_merger_tree.rst', 'doc/source/help/index.rst', 'doc/source/analyzing/analysis_modules/radmc3d_export.rst', 'yt/visualization/profile_plotter.py', 'yt/frontends/fits/misc.py', 'doc/source/visualizing/unstructured_mesh_rendering.rst', 'doc/source/analyzing/analysis_modules/halo_mass_function.rst', 'doc/source/analyzing/analysis_modules/XrayEmissionFields.ipynb', 'yt/visualization/plot_container.py', 'yt/utilities/lru_cache.py', 'doc/source/developing/testing.rst', 'yt/utilities/math_utils.py', 'yt/data_objects/construction_data_containers.py', 'yt/data_objects/image_array.py', 'doc/README', 'doc/source/analyzing/analysis_modules/xray_data_README.rst', 'yt/utilities/sdf.py', 'doc/source/visualizing/visualizing_particle_datasets_with_firefly.rst', 'doc/source/reference/python_introduction.rst', 'doc/source/analyzing/analysis_modules/star_analysis.rst', 'yt/data_objects/data_containers.py', 'doc/source/developing/external_analysis.rst', 'doc/source/sharing_data.rst', 'doc/source/cookbook/constructing_data_objects.rst', 'doc/source/analyzing/fields.rst', 'yt/mods.py', 'yt/visualization/volume_rendering/transfer_functions.py', 'doc/source/analyzing/parallel_computation.rst', 'COPYING.txt', 'doc/source/examining/loading_data.rst', 'doc/source/visualizing/colormaps/index.rst', 'doc/source/installing.rst', 'doc/source/analyzing/analysis_modules/absorption_spectrum.rst', 'doc/source/visualizing/mapserver.rst', 'doc/install_script.sh', 'doc/source/reference/command-line.rst', 'doc/source/developing/releasing.rst', 'doc/source/visualizing/callbacks.rst', 'doc/source/reference/changelog.rst', 'yt/analysis_modules/halo_finding/rockstar/rockstar.py', 'doc/source/intro/index.rst']