diff --git a/.github/workflows/documentation.yaml b/.github/workflows/documentation.yaml index 0af1c868..ae771cba 100644 --- a/.github/workflows/documentation.yaml +++ b/.github/workflows/documentation.yaml @@ -12,6 +12,7 @@ on: - docs/** pull_request: types: [opened, reopened, synchronize] + workflow_dispatch: jobs: documentation: @@ -21,11 +22,10 @@ jobs: - uses: actions/checkout@v6 - uses: actions/setup-python@v6 with: - python-version: '3.10' + python-version: '3.12' - name: Install dependencies run: | - python -m pip install --upgrade python-dateutil requests sphinx \ - sphinx-gallery matplotlib Pillow sphinx_rtd_theme + python -m pip install --upgrade python-dateutil requests matplotlib Pillow python -m pip install -r docs/requirements.txt - name: Build docs run: ./.github/jobs/build_documentation.sh @@ -40,3 +40,9 @@ jobs: name: documentation_warnings.log path: artifact/doc_warnings.log if-no-files-found: ignore + - name: Check links + uses: dtcenter/metplus-action-linkcheck@v1 + with: + fail-on-broken-links: 'true' + upload-artifact: 'true' + install-package: 'true' diff --git a/.github/workflows/linkcheck.yml b/.github/workflows/linkcheck.yml deleted file mode 100644 index 305c6dce..00000000 --- a/.github/workflows/linkcheck.yml +++ /dev/null @@ -1,19 +0,0 @@ -name: Linkcheck -on: - schedule: - - cron: '0 6 * * 1' - pull_request: - paths: - - 'docs/**' - workflow_dispatch: {} - -jobs: - linkcheck: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v6 - - uses: dtcenter/metplus-action-linkcheck@v1 - with: - fail-on-broken-links: 'true' - upload-artifact: 'true' - install-package: 'true' \ No newline at end of file diff --git a/docs/Users_Guide/bar.rst b/docs/Users_Guide/bar.rst index 4c84c8ae..53337d00 100644 --- a/docs/Users_Guide/bar.rst +++ b/docs/Users_Guide/bar.rst @@ -197,7 +197,7 @@ To generate the above bar plot, perform the following: * Enter the following command: .. code-block:: ini - + python $METPLOTPY_BASE/metplotpy/plots/bar/bar.py $WORKING_DIR/custom_bar.yaml * A **bar.png** output file will be created in the directory that was diff --git a/docs/Users_Guide/box.rst b/docs/Users_Guide/box.rst index d70c9c13..f3a6b5ff 100644 --- a/docs/Users_Guide/box.rst +++ b/docs/Users_Guide/box.rst @@ -103,7 +103,7 @@ Copy this custom config file from the directory where the source code was saved to the working directory: .. code-block:: ini - + cp $METPLOTPY_BASE/test/box/custom_box.yaml $WORKING_DIR/custom_box.yaml Modify the *stat_input* setting in the diff --git a/docs/Users_Guide/contour.rst b/docs/Users_Guide/contour.rst index 4581e337..3692cb93 100644 --- a/docs/Users_Guide/contour.rst +++ b/docs/Users_Guide/contour.rst @@ -180,13 +180,13 @@ perform the following: For the ksh environment: .. code-block:: ini - + export METPLOTPY_BASE=$METPLOTPY_BASE For the csh environment: .. code-block:: ini - + setenv METPLOTPY_BASE $METPLOTPY_BASE Recall that *$METPLOTPY_BASE* is the directory path indicating where the METplotpy source code was saved. diff --git a/docs/Users_Guide/eclv.rst b/docs/Users_Guide/eclv.rst index 5fcebb7d..fff73017 100644 --- a/docs/Users_Guide/eclv.rst +++ b/docs/Users_Guide/eclv.rst @@ -187,13 +187,13 @@ perform the following: For the ksh environment: .. code-block:: ini - + export METPLOTPY_BASE=$METPLOTPY_BASE For the csh environment: .. code-block:: ini - + setenv METPLOTPY_BASE $METPLOTPY_BASE Recall that *$METPLOTPY_BASE* is the directory path indicating where the METplotpy source code was saved. diff --git a/docs/Users_Guide/histogram.rst b/docs/Users_Guide/histogram.rst index 2237edf8..a0900595 100644 --- a/docs/Users_Guide/histogram.rst +++ b/docs/Users_Guide/histogram.rst @@ -268,13 +268,13 @@ perform the following: For the ksh environment: .. code-block:: ini - + export METPLOTPY_BASE=$METPLOTPY_BASE For the csh environment: .. code-block:: ini - + setenv METPLOTPY_BASE $METPLOTPY_BASE Recall that *$METPLOTPY_BASE* is the directory path indicating where the METplotpy source code was saved. @@ -298,7 +298,7 @@ perform the following: command using the **prob_hist.yaml** file: .. code-block:: ini - + python $METPLOTPY_BASE/metplotpy/plots/histogram/prob_hist.py $WORKING_DIR/prob_hist.yaml .. image:: figure/prob_hist.png diff --git a/docs/Users_Guide/histogram_2d.rst b/docs/Users_Guide/histogram_2d.rst index 4f3d20c2..2213e35a 100644 --- a/docs/Users_Guide/histogram_2d.rst +++ b/docs/Users_Guide/histogram_2d.rst @@ -211,14 +211,14 @@ Perform the following: * Clone the METplotpy repository from GitHub. First, make the directory: .. code-block:: ini - + mkdir $METPLOTPY_BASE * *$METPLOTPY_BASE* is the directory where the source code is66TAW saved. Enter the following: .. code-block:: ini - + cd $METPLOTPY_BASE git clone https://github.com/dtcenter/METplotpy diff --git a/docs/Users_Guide/installation.rst b/docs/Users_Guide/installation.rst index fec8f9a1..bdbc8a08 100644 --- a/docs/Users_Guide/installation.rst +++ b/docs/Users_Guide/installation.rst @@ -75,7 +75,7 @@ find the **setup.py** script. From the command line run: .. code-block:: ini - + pip install -e . Do NOT forget the ending period **'.'** This indicates the **setup.py** diff --git a/docs/Users_Guide/line.rst b/docs/Users_Guide/line.rst index 45549dba..56dc444d 100644 --- a/docs/Users_Guide/line.rst +++ b/docs/Users_Guide/line.rst @@ -103,7 +103,7 @@ Copy this custom config file from the directory where the source code was saved to the working directory: .. code-block:: ini - + cp $METPLOTPY_BASE/test/line/custom_line.yaml $WORKING_DIR/custom_line.yaml @@ -225,7 +225,7 @@ To generate the above plot using the **line_defaults.yaml** and For the ksh environment: .. code-block:: ini - + export METPLOTPY_BASE=$METPLOTPY_BASE For the csh environment: diff --git a/docs/Users_Guide/performance_diagram.rst b/docs/Users_Guide/performance_diagram.rst index fcdd85b4..9c6cfdd2 100644 --- a/docs/Users_Guide/performance_diagram.rst +++ b/docs/Users_Guide/performance_diagram.rst @@ -188,7 +188,7 @@ a *plot_filename* in the **minimal_performance_diagram.yaml** file): Copy this file to the working directory: .. code-block:: ini - + cp $METPLOTPY_BASE/test/performance_diagram/minimal_performance_diagram.yaml $WORKING_DIR/minimal_performance_diagram.yaml Add the *stat_input* (input data) and *plot_filename* @@ -245,13 +245,13 @@ perform the following: For the ksh environment: .. code-block:: ini - + export METPLOTPY_BASE=$METPLOTPY_BASE For the csh environment: .. code-block:: ini - + setenv METPLOTPY_BASE $METPLOTPY_BASE Replacing the $METPLOTPY_BASE with the directory where the @@ -273,7 +273,7 @@ perform the following: command using the **custom_performance_diagram.yaml** file: .. code-block:: ini - + python $METPLOTPY_BASE/metplotpy/plots/performance_diagram/performance_diagram.py $WORKING_DIR/custom_performance_diagram.yaml .. image:: figure/performance_diagram_custom.png diff --git a/docs/Users_Guide/reliability_diagram.rst b/docs/Users_Guide/reliability_diagram.rst index b23bd1f5..774feb2f 100644 --- a/docs/Users_Guide/reliability_diagram.rst +++ b/docs/Users_Guide/reliability_diagram.rst @@ -267,7 +267,7 @@ Perform the following: * Enter the following command: .. code-block:: ini - + python $METPLOTPY_BASE/metplotpy/plots/reliability_diagram/reliability.py $WORKING_DIR/custom_reliability_diagram.yaml In this example, this custom config file changes the color of the boxes. diff --git a/docs/Users_Guide/roc_diagram.rst b/docs/Users_Guide/roc_diagram.rst index a1672869..b652311a 100644 --- a/docs/Users_Guide/roc_diagram.rst +++ b/docs/Users_Guide/roc_diagram.rst @@ -288,7 +288,7 @@ Perform the following: * Enter the following command: .. code-block:: ini - + python $METPLOTPY_BASE/metplotpy/plots/roc_diagram/roc_diagram.py $WORKING_DIR/custom_roc_diagram.yaml In this example, this custom config file changes the title and axis diff --git a/docs/Users_Guide/scatter.rst b/docs/Users_Guide/scatter.rst index b940df77..7732e948 100644 --- a/docs/Users_Guide/scatter.rst +++ b/docs/Users_Guide/scatter.rst @@ -123,7 +123,7 @@ Copy this custom config file from the directory where the source code was saved to the working directory: .. code-block:: ini - + cp $METPLOTPY_BASE/test/scatter/test_scatter_mpr.yaml $WORKING_DIR/custom_scatter.yaml @@ -208,7 +208,7 @@ To generate the above plot using the **scatter_defaults.yaml** and For the ksh environment: .. code-block:: ini - + export METPLOTPY_BASE=$METPLOTPY_BASE For the csh environment: diff --git a/docs/Users_Guide/taylor_diagram.rst b/docs/Users_Guide/taylor_diagram.rst index 8b29dea8..c23a0309 100644 --- a/docs/Users_Guide/taylor_diagram.rst +++ b/docs/Users_Guide/taylor_diagram.rst @@ -184,7 +184,7 @@ a *plot_filename* in the **minimal_taylor_diagram.yaml** file): Copy this file to the working directory: .. code-block:: ini - + cp $METPLOTPY_BASE/test/taylor_diagram/minimal_taylor_diagram.yaml $WORKING_DIR/minimal_taylor_diagram.yaml If the *stat_input* and *plot_filename* settings (output file/plot path) are missing, add @@ -226,13 +226,13 @@ perform the following: For the ksh environment: .. code-block:: ini - + export METPLOTPY_BASE=$METPLOTPY_BASE For the csh environment: .. code-block:: ini - + setenv METPLOTPY_BASE $METPLOTPY_BASE Replacing the $METPLOTPY_BASE with the directory where the @@ -254,7 +254,7 @@ perform the following: command (below) using the **taylor_diagram_custom.yaml** file: .. code-block:: ini - + python $METPLOTPY_BASE/metplotpy/plots/taylor_diagram/taylor_diagram.py $WORKING_DIR/taylor_diagram_custom.yaml diff --git a/docs/Users_Guide/tcmpr_plots.rst b/docs/Users_Guide/tcmpr_plots.rst index b0091190..52c1b565 100644 --- a/docs/Users_Guide/tcmpr_plots.rst +++ b/docs/Users_Guide/tcmpr_plots.rst @@ -248,7 +248,7 @@ Copy this custom config file from the directory where the source code was saved to the working directory: .. code-block:: ini - + cp $METPLOTPY_BASE/test/tcmpr_plots/tcmpr_multi_plots.yaml $WORKING_DIR/tcmpr_multi_plots.yaml Set up the custom configuration file: diff --git a/docs/Users_Guide/wind_rose.rst b/docs/Users_Guide/wind_rose.rst index fd769a1d..e9213c9e 100644 --- a/docs/Users_Guide/wind_rose.rst +++ b/docs/Users_Guide/wind_rose.rst @@ -194,7 +194,7 @@ a *plot_filename* in the **minimal_wind_rose.yaml** file): Copy this file to the working directory: .. code-block:: ini - + cp $METPLOTPY_BASE/test/wind_rose/minimal_wind_rose.yaml $WORKING_DIR/minimal_wind_rose.yaml Add the *stat_input* (input data) and *plot_filename* @@ -249,13 +249,13 @@ perform the following: For the ksh environment: .. code-block:: ini - + export METPLOTPY_BASE=$METPLOTPY_BASE For the csh environment: .. code-block:: ini - + setenv METPLOTPY_BASE $METPLOTPY_BASE Replacing the $METPLOTPY_BASE with the directory where the @@ -277,7 +277,7 @@ perform the following: command using the **wind_rose_custom.yaml** file: .. code-block:: ini - + python $METPLOTPY_BASE/metplotpy/plots/wind_rose/wind_rose.py $WORKING_DIR/wind_rose_custom.yaml .. image:: figure/wind_rose_custom.png diff --git a/docs/conf.py b/docs/conf.py index f01bea26..c61bb552 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -106,16 +106,8 @@ linkcheck_workers = 8 linkcheck_ignore = [ - # add regex patterns for URLs that should be skipped, e.g.: - # r'https://dtcenter\.org/.*', # if this site blocks automated requests - # r'https://matplotlib\.org/.*', # occasionally rate-limits automated clients - # r'https://scitools\.org\.uk/cartopy/.*', # occasionally slow - r'https://doi\.org/.*', # DOI redirectors often 403 non-browser requests - # bmcnoldy.rsmas.miami.edu sends an incomplete SSL certificate chain - # (missing intermediate cert). Browsers work around this via AIA - # fetching; curl/Python do not. Confirmed 2026-07 via curl -v - # ("SSL certificate problem: unable to get local issuer certificate"). - # Re-check periodically and remove once fixed server-side. + # incomplete TLS certificate chain that browsers tolerate but Python does not, + # and often unreachable; check by hand r'https://bmcnoldy\.rsmas\.miami\.edu/.*', ] diff --git a/docs/index.rst b/docs/index.rst index 87641ca9..8f1c3f28 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -22,7 +22,7 @@ whose verification libraries formed the basis of MET and whose mathematical brilliance, passion for maps, grid projections, and graphics enriched and inspired new capabilities. -To `Venita Hagerty `_, +To **Venita Hagerty**, for her pivotal expertise, support, and attention to detail that ensured the success of METdataio and METexpress. diff --git a/docs/requirements.txt b/docs/requirements.txt index 5f87dce1..742c23d2 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,5 +1,5 @@ -sphinx-gallery==0.14.0 +sphinx-gallery==0.19.0 sphinxcontrib-bibtex==2.6.1 -sphinx==5.3.0 -sphinx-design==0.3.0 -sphinx_rtd_theme==1.3.0 +sphinx==8.2.3 +sphinx-design==0.6.1 +sphinx-rtd-theme==3.0.1