diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index f4eba55..17b0129 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -3,16 +3,22 @@ name: MyST GitHub Pages Deploy on: push: - # Runs on pushes targeting the default branch + # Runs on pushes targeting the default branch for deployment branches: [main] + pull_request: + # Runs on pull requests for building/testing only + branches: [main] + env: # `BASE_URL` determines the website is served from, including CSS & JS assets - # You may need to change this to `BASE_URL: ''` - BASE_URL: /${{ github.event.repository.name }} + # This should be dynamic based on whether it's a PR or a push to main + # For pushes to main, use the repository name for GitHub Pages URL structure + BASE_URL: ${{ github.event_name == 'push' && '/' || '' }}${{ github.event.repository.name }} # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages permissions: contents: read + # Only grant pages write permission for pushes (deployments) pages: write id-token: write # Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. @@ -21,24 +27,42 @@ concurrency: group: 'pages' cancel-in-progress: false jobs: - deploy: - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} + build: + # This job runs for both push and pull_request events runs-on: ubuntu-latest steps: - - uses: actions/checkout@v5 - - name: Setup Pages - uses: actions/configure-pages@v5 - - uses: actions/setup-node@v5 + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 with: node-version: 18.x - name: Install MyST Markdown run: npm install -g mystmd - name: Build HTML Assets run: myst build --html - - name: Upload artifact - uses: actions/upload-pages-artifact@v4 + - name: Upload artifact (for PR/build inspection) + uses: actions/upload-artifact@v4 + with: + name: myst-html-artifact + path: './_build/html' + + deploy: + # This job only runs on push events to the 'main' branch + if: github.event_name == 'push' && github.ref == 'refs/heads/main' + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build # Depends on the build job completing successfully + steps: + - name: Setup Pages + uses: actions/configure-pages@v3 + - name: Download artifact (from the build job) + uses: actions/download-artifact@v4 + with: + name: myst-html-artifact + path: './_build/html' + - name: Upload artifact (for GitHub Pages deployment) + uses: actions/upload-pages-artifact@v3 with: path: './_build/html' - name: Deploy to GitHub Pages diff --git a/notebooks/ldquants_analysis.ipynb b/notebooks/ldquants_analysis.ipynb index 7e9c4f9..0d80404 100644 --- a/notebooks/ldquants_analysis.ipynb +++ b/notebooks/ldquants_analysis.ipynb @@ -11,6 +11,8 @@ "cell_type": "markdown", "metadata": {}, "source": [ + "# Exploration of CSAPR-2 Z-R relationships over BNF\n", + "\n", "## Overview\n", "This notebook explores the relationship between radar reflectivity (Z) and rain rate (R) CSAPR2 radar over BNF. Accuracy of ZR relationship is affected by the variability of raindrop size distributions (DSDs). Rainfall also causes attenuation of radar signals, particularly at higher frequencies. This can also be used for rainfall estimation. The LDQUANTS is a laser disdrometer based product from ARM that characterizes DSD. We want to optimized the Z-R relationship over BNF, for more accurate rainfall estimations compared to using generalized or default Z-R relationships. This notebook will demonstrate the derivation of both Z-R and k-R (attenuation-rain rate) relationships using LDQUANTS data." ]