diff --git a/.github/workflows/deploy-book.yml b/.github/workflows/deploy-book.yml deleted file mode 100644 index 97852a4..0000000 --- a/.github/workflows/deploy-book.yml +++ /dev/null @@ -1,42 +0,0 @@ -name: deploy-book - -on: - # Trigger the workflow on push to main branch - push: - branches: - - main - pull_request: - branches: - - main - workflow_dispatch: - -# This job installs dependencies, build the book, and pushes it to `gh-pages` -jobs: - build-and-deploy-book: - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-latest] - python-version: [3.9] - steps: - - uses: actions/checkout@v2 - - # Install dependencies - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v1 - with: - python-version: ${{ matrix.python-version }} - - name: Install dependencies - run: | - pip install -r doc-requirements.txt - # Build the book - - name: Build the book - run: | - jupyter-book build . - # Deploy the book's HTML to gh-pages branch - - name: GitHub Pages action - uses: peaceiris/actions-gh-pages@v3.6.1 - if: github.ref == 'refs/heads/main' - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: _build/html \ No newline at end of file diff --git a/ML_analysis.ipynb b/ML_analysis.ipynb index cefd16f..b411465 100644 --- a/ML_analysis.ipynb +++ b/ML_analysis.ipynb @@ -1,5 +1,21 @@ { "cells": [ + { + "cell_type": "markdown", + "id": "69af69bc", + "metadata": {}, + "source": [ + "\"ARM" + ] + }, + { + "cell_type": "markdown", + "id": "5cc11010", + "metadata": {}, + "source": [ + "# Feature Importance Investigation using Random Forest Model" + ] + }, { "cell_type": "code", "execution_count": 1, diff --git a/README.md b/README.md index dba639e..219d4cd 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,10 @@ -## Model Meets Reality (MMR): A Cross-Comparison of DP-SCREAM and WRF Against ARM Observations +ARM Logo + +# Model Meets Reality (MMR): A Cross-Comparison of DP-SCREAM and WRF Against ARM Observations + +![arms-race](/notebooks/images/model-meets-reality.jpg) + +## [2026 ARM Summer School Project](https://arm-development.github.io/arm-summer-school-2026/) * **Science question(s)**: The upstart DP-SCREAM model is ready to rumble with the long-in-the-tooth WRF model–which one compares better to observations? How do differences in resolution and physics impact cloud representation? * **Project Scope**: We have prepared DP-SCREAM simulations to pair with WRF sims from LASSO-ShCu for three cases. ARM has dozens of measurements that can be used to examine the representativeness of these simulations. Cross compare the two models and put their differences in context with the observations. @@ -34,4 +40,8 @@ ## Structure - Compiled analysis of the group is within main_analysis.ipynb and a preliminary ML analysis for feature importance using Random Forest is in ML_analysis.ipynb - Scratch notebooks with exploration are within notebooks. -- All analysis was done using the base environment on ARM Juypter Hub. \ No newline at end of file +- All analysis was done using the base environment on ARM Juypter Hub. + +## Final Presentation + +- [Link to Final Presentation](./model-meets-reality-cross-comparison-dpscream-wrf.pdf) \ No newline at end of file diff --git a/_config.yml b/_config.yml deleted file mode 100644 index a75c8a9..0000000 --- a/_config.yml +++ /dev/null @@ -1,27 +0,0 @@ -title: Cookbook Template -author: ARM Development Team -logo: notebooks/images/arm_logo.png -execute: - execute_notebooks: "off" -parse: - myst_enable_extensions: - - html_image - - amsmath - - colon_fence - - deflist - - dollarmath - - html_admonition - - html_image - - replacements - - smartquotes - - substitution -html: - comments: - hypothesis: true -repository: - url: https://github.com/ARM-Development/arm-cookbook-template # Online location of your book - path_to_book: notebooks # Optional path to your book, relative to the repository root - branch: main # Which branch of the repository should be used when creating links (optional) -launch_buttons: - jupyterhub_url: https://jupyterhub.arm.gov - notebook_interface: jupyterlab diff --git a/_toc.yml b/_toc.yml deleted file mode 100644 index bebd2ed..0000000 --- a/_toc.yml +++ /dev/null @@ -1,6 +0,0 @@ -format: jb-book -root: README -parts: -- caption: Notebooks - chapters: - - glob: Notebooks/* diff --git a/deploy.yml b/deploy.yml new file mode 100644 index 0000000..cf213c7 --- /dev/null +++ b/deploy.yml @@ -0,0 +1,46 @@ +# This file was created automatically with `myst init --gh-pages` 🪄 💚 + +name: MyST GitHub Pages Deploy +on: + push: + # Runs on pushes targeting the default branch + 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 }} + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +concurrency: + group: 'pages' + cancel-in-progress: false +jobs: + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v7 + - name: Setup Pages + uses: actions/configure-pages@v6 + - uses: actions/setup-node@v6 + 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@v5 + with: + path: './_build/html' + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v5 diff --git a/doc-requirements.txt b/doc-requirements.txt deleted file mode 100644 index 2b13dd7..0000000 --- a/doc-requirements.txt +++ /dev/null @@ -1,3 +0,0 @@ -git+https://github.com/executablebooks/jupyter-book -jupyterlab -ghp-import \ No newline at end of file diff --git a/environment.yml b/environment.yml index aed778b..acff71b 100644 --- a/environment.yml +++ b/environment.yml @@ -1,20 +1,19 @@ -name: arm-cookbook-dev +name: arm-summer-school-2026-dev channels: - conda-forge - - defaults - - pyviz dependencies: - - python=3.9 - - arm_pyart - - matplotlib + - python=3.11 + - mystmd<1.3.21 + - cookiecutter + - act-atmos - jupyterlab + - arm_pyart - cartopy - - numpy - - dask - - distributed - - xarray - - pandas - - fiona - - pip - - pip: - - -r doc-requirements.txt + - matplotlib + - pydda + - jaxopt + - xradar + - tobac + - scikit-learn + - pytorch + - pytz diff --git a/main_analysis.ipynb b/main_analysis.ipynb index e4b4f71..a2256e9 100644 --- a/main_analysis.ipynb +++ b/main_analysis.ipynb @@ -1,5 +1,13 @@ { "cells": [ + { + "cell_type": "markdown", + "id": "06cb4536", + "metadata": {}, + "source": [ + "\"ARM" + ] + }, { "cell_type": "markdown", "id": "intro-md", @@ -7,7 +15,7 @@ "source": [ "# Model meets reality: SGP three-case summary\n", "\n", - "Three case days at the ARM SGP site: 019-05-17, 018-07-09), 2019-09-29. \n", + "Three case days at the ARM SGP site: 2019-05-17, 2018-07-09), 2019-09-29. \n", "Two models: **SCREAM** (5 km doubly-periodic) and **WRF-LASSO** (250 m reference LES). \n", "Observations: ARM ARSCL cloud mask, MWR liquid-water path, downwelling shortwave radiation, and rawinsonde soundings." ] diff --git a/model-meets-reality-cross-comparison-dpscream-wrf.pdf b/model-meets-reality-cross-comparison-dpscream-wrf.pdf new file mode 100644 index 0000000..1265398 Binary files /dev/null and b/model-meets-reality-cross-comparison-dpscream-wrf.pdf differ diff --git a/myst.yml b/myst.yml new file mode 100644 index 0000000..70d42f1 --- /dev/null +++ b/myst.yml @@ -0,0 +1,44 @@ +# See docs at: https://mystmd.org/guide/frontmatter +version: 1 +project: + title: Model Meets Reality (MMR) - A Cross-Comparison of DP-SCREAM and WRF Against ARM Observations + description: 2026 ARM Big Open Data Summer School Project + github: https://github.com/ARM-Synergy/model-meets-reality/ + # keywords: [] + authors: + - name: Maggie Powell + orcid: 0009-0008-8826-1948 + - name: Yijia Sun + orcid: 0000-0003-1539-4877 + - name: Pappu Paul + orcid: 0000-0003-0060-849X + - name: Sijia (Lucia) Liu + orcid: 0000-0002-6958-2868 + - name: Emmanuel Kipchirchir + orcid: 0009-0008-9351-1446 + - name: Luojie (Roger) Dong + orcid: 0009-0007-7911-6012 + - name: Jing Li + orcid: 0009-0001-2473-0468 + - name: Luke Heim + orcid: 0009-0005-1674-8106 + - name: Sining Niu + orcid: 0000-0002-3389-0076 + - name: William (Bill) Gustafson + orcid: 0000-0001-9927-1393 + - name: Hsi-Yen Ma + orcid: 0000-0002-9628-1278 + - name: Joe O'Brien + orcid: 0000-0003-4655-6912 + # To autogenerate a Table of Contents, run "myst init --write-toc" + toc: + - file: README.md + - title: Project Development + children: + - file: ML_analysis.ipynb + - file: main_analysis.ipynb +site: + options: + logo: notebooks/images/arm_logo.png + footer_logos: + ARM: notebooks/images/arm_logo.png diff --git a/notebooks/DPSCREAM_Cloud_Radiation_Pappu.ipynb b/notebooks/DPSCREAM_Cloud_Radiation_Pappu.ipynb index e42ad2b..254cfe6 100644 --- a/notebooks/DPSCREAM_Cloud_Radiation_Pappu.ipynb +++ b/notebooks/DPSCREAM_Cloud_Radiation_Pappu.ipynb @@ -1,5 +1,21 @@ { "cells": [ + { + "cell_type": "markdown", + "id": "ea403c3f", + "metadata": {}, + "source": [ + "\"ARM" + ] + }, + { + "cell_type": "markdown", + "id": "05645050", + "metadata": {}, + "source": [ + "# DPSCREAM Cloud Investigation" + ] + }, { "cell_type": "code", "execution_count": 112, diff --git a/notebooks/Emmanuel_Radiation.ipynb b/notebooks/Emmanuel_Radiation.ipynb index 45e0d5d..8c47ff7 100644 --- a/notebooks/Emmanuel_Radiation.ipynb +++ b/notebooks/Emmanuel_Radiation.ipynb @@ -1,5 +1,13 @@ { "cells": [ + { + "cell_type": "markdown", + "id": "4a336d0a", + "metadata": {}, + "source": [ + "\"ARM" + ] + }, { "cell_type": "markdown", "id": "0dea8e96", diff --git a/notebooks/explore.ipynb b/notebooks/explore.ipynb index 6ab5634..19db52a 100644 --- a/notebooks/explore.ipynb +++ b/notebooks/explore.ipynb @@ -1,20 +1,27 @@ { "cells": [ + { + "cell_type": "markdown", + "id": "62d89805", + "metadata": {}, + "source": [ + "\"ARM" + ] + }, + { + "cell_type": "markdown", + "id": "33a5c933", + "metadata": {}, + "source": [ + "# SGP Case Exploration - LASSO, DPSCREAM, ARSCL" + ] + }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "id": "ebba7d15", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "ROOT = C:\\Users\\yij\\Documents\\Projects\\LASSO\n", - "Cases ready: ['0517', '0709', '0929']\n" - ] - } - ], + "outputs": [], "source": [ "# --- Setup: imports + paths + case metadata + helpers. RUN THIS CELL FIRST. ---\n", "# Self-contained: no _utils.py import; works on any host that has the LASSO repo.\n", diff --git a/notebooks/images/model-meets-reality.jpg b/notebooks/images/model-meets-reality.jpg new file mode 100644 index 0000000..cd64a30 Binary files /dev/null and b/notebooks/images/model-meets-reality.jpg differ diff --git a/notebooks/Potential Temp Profile Comparison (MMR).ipynb b/notebooks/potential_temp_profile_comparison_mmr.ipynb similarity index 100% rename from notebooks/Potential Temp Profile Comparison (MMR).ipynb rename to notebooks/potential_temp_profile_comparison_mmr.ipynb diff --git a/notebooks/Preliminary investigation.ipynb b/notebooks/preliminary_investigation.ipynb similarity index 100% rename from notebooks/Preliminary investigation.ipynb rename to notebooks/preliminary_investigation.ipynb diff --git a/notebooks/sample.py b/notebooks/sample.py new file mode 100644 index 0000000..76a1eb4 --- /dev/null +++ b/notebooks/sample.py @@ -0,0 +1 @@ +print("test this module") \ No newline at end of file diff --git a/notebooks/Scatter plot of 2 models and all cases_Jing_ver2.ipynb b/notebooks/scatter_plot_of_2_models_an_all_cases_Jing_ver2.ipynb similarity index 100% rename from notebooks/Scatter plot of 2 models and all cases_Jing_ver2.ipynb rename to notebooks/scatter_plot_of_2_models_an_all_cases_Jing_ver2.ipynb