diff --git a/content/code/_index.md b/content/code/_index.md index bd2a2fb00..095a47353 100644 --- a/content/code/_index.md +++ b/content/code/_index.md @@ -5,7 +5,7 @@ heroSubHeading: 'Public repository and data access' heroBackground: '/images/photo-1542831371-29b0f74f9713.jpeg' --- -#### Codes + diff --git a/content/code/cm26.md b/content/code/cm26.md new file mode 100644 index 000000000..2aca7c7bc --- /dev/null +++ b/content/code/cm26.md @@ -0,0 +1,13 @@ +--- +title: CM2.6 +jobtitle: Dataset +datasettype: Cloud +--- + diff --git a/content/code/datadrivenparam.md b/content/code/datadrivenparam.md new file mode 100644 index 000000000..5bead7048 --- /dev/null +++ b/content/code/datadrivenparam.md @@ -0,0 +1,6 @@ +--- +title: Generative data-driven approaches for stochastic subgrid parameterizations +jobtitle: Ocean Parameterization +paper: https://arxiv.org/abs/2302.07984 +code: https://github.com/m2lines/pyqg_generative +--- diff --git a/content/code/diffqg.md b/content/code/diffqg.md new file mode 100644 index 000000000..835786d09 --- /dev/null +++ b/content/code/diffqg.md @@ -0,0 +1,6 @@ +--- +title: Differentiable QG model +jobtitle: Model +paper: https://agupubs.onlinelibrary.wiley.com/doi/full/10.1029/2022MS003124 +code: https://github.com/hrkz/torchqg +--- diff --git a/content/code/equationdiscovery.md b/content/code/equationdiscovery.md new file mode 100644 index 000000000..4d72fd74c --- /dev/null +++ b/content/code/equationdiscovery.md @@ -0,0 +1,6 @@ +--- +title: Equation Discovery +jobtitle: Tutorial +paper: https://onlinelibrary.wiley.com/doi/abs/10.1029/2022MS003258 +code: https://github.com/m2lines/EquationDisco +--- diff --git a/content/code/gcm.md b/content/code/gcm.md new file mode 100644 index 000000000..be4134499 --- /dev/null +++ b/content/code/gcm.md @@ -0,0 +1,8 @@ +--- +title: "GCM-Filters: A Python Package for Diffusion-based Spatial Filtering of Gridded Data" +draft: false +jobtitle: Package +paper: https://joss.theoj.org/papers/10.21105/joss.03947 +Website: https://gcm-filters.readthedocs.io/en/latest/index.html +code: https://github.com/ocean-eddy-cpt/gcm-filters +--- diff --git a/content/code/icemodelerrors.md b/content/code/icemodelerrors.md new file mode 100644 index 000000000..6bbb33ad4 --- /dev/null +++ b/content/code/icemodelerrors.md @@ -0,0 +1,6 @@ +--- +title: Deep learning of systematic sea ice model errors from data assimilation increments +jobtitle: Sea Ice Parameterization +paper: https://arxiv.org/abs/2304.03832 +code: https://github.com/m2lines/seaice_DA-ML +--- diff --git a/content/code/lorenz96.md b/content/code/lorenz96.md new file mode 100644 index 000000000..3d851b191 --- /dev/null +++ b/content/code/lorenz96.md @@ -0,0 +1,6 @@ +--- +title: Machine Learning tutorial for Lorenz 96 +jobtitle: Tutorial +Website: https://m2lines.github.io/L96_demo/intro.html +code: https://github.com/m2lines/L96_demo +--- diff --git a/content/code/mom6.md b/content/code/mom6.md new file mode 100644 index 000000000..a3d3ef2d9 --- /dev/null +++ b/content/code/mom6.md @@ -0,0 +1,5 @@ +--- +title: Implementation of data-driven parameterizations in MOM6 +jobtitle: Model +code: https://github.com/NOAA-GFDL/MOM6/pull/356 +--- diff --git a/content/code/momentumforcing.md b/content/code/momentumforcing.md new file mode 100644 index 000000000..53d563f3a --- /dev/null +++ b/content/code/momentumforcing.md @@ -0,0 +1,6 @@ +--- +title: Stochastic parameterization of subgrid momentum forcing +jobtitle: Ocean Parameterization +paper: http://onlinelibrary.wiley.com/doi/abs/10.1029/2021MS002534 +code: https://github.com/m2lines/gz21_ocean_momentum +--- diff --git a/content/code/parampyqg.md b/content/code/parampyqg.md new file mode 100644 index 000000000..5f79c40b3 --- /dev/null +++ b/content/code/parampyqg.md @@ -0,0 +1,6 @@ +--- +title: Implementation of parameterizations in pyqg +jobtitle: Model +code: https://github.com/pyqg/pyqg/pull/266 +paper: https://onlinelibrary.wiley.com/doi/abs/10.1029/2022MS003258 +--- diff --git a/content/code/pyqg.md b/content/code/pyqg.md new file mode 100644 index 000000000..5dfbd60df --- /dev/null +++ b/content/code/pyqg.md @@ -0,0 +1,18 @@ +--- +title: Pyqg parameterization benchmarks +jobtitle: Dataset +datasettype: Benchmark +paper: 'https://onlinelibrary.wiley.com/doi/abs/10.1029/2022MS003258' +website: 'https://m2lines.github.io/MLwithQG/intro.html' +code: 'https://github.com/m2lines/pyqg_parameterization_benchmarks' +--- + + diff --git a/content/code/randomforest.md b/content/code/randomforest.md new file mode 100644 index 000000000..1e820800e --- /dev/null +++ b/content/code/randomforest.md @@ -0,0 +1,6 @@ +--- +title: Random forest to learn atmospheric parameterization +jobtitle: Atmosphere Parameterization +paper: https://www.nature.com/articles/s41467-020-17142-3 +code: https://github.com/m2lines/subgrid_parameterization +--- diff --git a/content/code/shallowwater.md b/content/code/shallowwater.md new file mode 100644 index 000000000..24d3b6034 --- /dev/null +++ b/content/code/shallowwater.md @@ -0,0 +1,6 @@ +--- +title: Stacked shallow water model with stochastic subgrid momentum parameterization +jobTitle: Model +code: https://github.com/arthurBarthe/swe_stochastic_param/tree/0.1 +paper: http://onlinelibrary.wiley.com/doi/abs/10.1029/2021MS002534 +--- diff --git a/content/code/subgridatmosphere.md b/content/code/subgridatmosphere.md new file mode 100644 index 000000000..a10820763 --- /dev/null +++ b/content/code/subgridatmosphere.md @@ -0,0 +1,7 @@ +--- +title: Neural Networks for Stable, Accurate and Physically Consistent Parameterization of Subgrid Atmospheric Processes +jobtitle: Atmosphere Parameterization +paper: https://onlinelibrary.wiley.com/doi/abs/10.1029/2020GL091363 +code: https://github.com/m2lines/convection-parameterization-in-CAM +datasetused: https://drive.google.com/drive/folders/1TRPDL6JkcLjgTHJL9Ib_Z4XuPyvNVIyY +--- diff --git a/content/code/transportatmosphere.md b/content/code/transportatmosphere.md new file mode 100644 index 000000000..aeb1d2d80 --- /dev/null +++ b/content/code/transportatmosphere.md @@ -0,0 +1,7 @@ +--- +title: Neural-Network Parameterization of Subgrid Momentum Transport in the Atmosphere +jobtitle: Atmosphere Parameterization +paper: https://agupubs.onlinelibrary.wiley.com/doi/full/10.1029/2023MS003606 +code: https://github.com/m2lines/momentum_parameterization +datasetused: https://drive.google.com/drive/folders/1TRPDL6JkcLjgTHJL9Ib_Z4XuPyvNVIyY +--- diff --git a/content/publications/_index.md b/content/publications/_index.md index 9f22b602b..11aee1003 100644 --- a/content/publications/_index.md +++ b/content/publications/_index.md @@ -17,7 +17,7 @@ If you are interested in understanding how M²LInES is using machine learning to

Aakash Sane, Brandon G. Reichl, Alistair Adcroft, Laure Zanna
- Parameterizing vertical mixing coefficients in the Ocean + Parameterizing vertical mixing coefficients in the Ocean Surface Boundary Layer using Neural Networks
ArXiv 2023. DOI: 10.48550/arXiv.2306.09045

diff --git a/data/code/dataset/CM26.yml b/data/code/dataset/CM26.yml new file mode 100644 index 000000000..453d18661 --- /dev/null +++ b/data/code/dataset/CM26.yml @@ -0,0 +1,11 @@ +name: CM2.6 +type: Cloud +description: | + Datasets: hosted on globus. access e.g.: + ``` + import xarray as xr + import gcsfs + fs = gcsfs.GCSFileSystem() + fs.ls("gs://leap-persistent-ro/groundpepper/GFDL_cm2.6") + ds = xr.open_dataset('gs://leap-persistent-ro/groundpepper/GFDL_cm2.6/GFDL_CM2_6_CONTROL_DAILY_SURF.zarr', engine='zarr') + ``` diff --git a/data/code/dataset/pyqg.yml b/data/code/dataset/pyqg.yml new file mode 100644 index 000000000..772514ec8 --- /dev/null +++ b/data/code/dataset/pyqg.yml @@ -0,0 +1,16 @@ +name: Pyqg parameterization benchmarks (Ross et al., 2023) +type: Benchmark +paper: 'https://onlinelibrary.wiley.com/doi/abs/10.1029/2022MS003258' +website: 'https://m2lines.github.io/MLwithQG/intro.html' +# code: 'https://github.com/m2lines/MLwithQG' +code: 'https://github.com/m2lines/pyqg_parameterization_benchmarks' +description: | + Datasets: hosted on globus, access as described [here](https://github.com/m2lines/pyqg_parameterization_benchmarks/blob/master/notebooks/dataset_description.ipynb), e.g.: + ``` + import xarray as xr + import fsspec + # Datasets are hosted on globus as zarr files + def get_dataset(path, base_url="https://g-402b74.00888.8540.data.globus.org"): + mapper = fsspec.get_mapper(f"{base_url}/{path}.zarr") + return xr.open_zarr(mapper, consolidated=True) + ``` diff --git a/data/code/model/diff_qg.yml b/data/code/model/diff_qg.yml new file mode 100644 index 000000000..d73b25b17 --- /dev/null +++ b/data/code/model/diff_qg.yml @@ -0,0 +1,3 @@ +name: Differentiable QG model +paper: https://agupubs.onlinelibrary.wiley.com/doi/full/10.1029/2022MS003124 +code: https://github.com/hrkz/torchqg diff --git a/data/code/model/shallow_water.yml b/data/code/model/shallow_water.yml new file mode 100644 index 000000000..ab4fcdb7a --- /dev/null +++ b/data/code/model/shallow_water.yml @@ -0,0 +1,3 @@ +name: Stacked shallow water model with stochastic subgrid momentum parameterization +code: https://github.com/arthurBarthe/swe_stochastic_param/tree/0.1 +paper: http://onlinelibrary.wiley.com/doi/abs/10.1029/2021MS002534 diff --git a/data/code/package/gcm_filter.yml b/data/code/package/gcm_filter.yml new file mode 100644 index 000000000..9a98e45f6 --- /dev/null +++ b/data/code/package/gcm_filter.yml @@ -0,0 +1,4 @@ +name: "GCM-Filters: A Python Package for Diffusion-based Spatial Filtering of Gridded Data" +paper: https://joss.theoj.org/papers/10.21105/joss.03947 +website: https://gcm-filters.readthedocs.io/en/latest/index.html +code: https://github.com/ocean-eddy-cpt/gcm-filters diff --git a/data/code/tutorial/equation_discovery.yml b/data/code/tutorial/equation_discovery.yml new file mode 100644 index 000000000..44cdd8a91 --- /dev/null +++ b/data/code/tutorial/equation_discovery.yml @@ -0,0 +1,4 @@ +name: Equation Discovery +jobTitle: Tutorial +paper: https://onlinelibrary.wiley.com/doi/abs/10.1029/2022MS003258 +code: https://github.com/m2lines/EquationDisco diff --git a/data/code/tutorial/lorenz96.yml b/data/code/tutorial/lorenz96.yml new file mode 100644 index 000000000..399dfedc1 --- /dev/null +++ b/data/code/tutorial/lorenz96.yml @@ -0,0 +1,3 @@ +name: Machine Learning tutorial for Lorenz 96 +website: https://m2lines.github.io/L96_demo/intro.html +code: https://github.com/m2lines/L96_demo diff --git a/static/images/publications/pvmc_23.png b/static/images/publications/pvmc_23.png index 63712d01f..0107363bc 100644 Binary files a/static/images/publications/pvmc_23.png and b/static/images/publications/pvmc_23.png differ diff --git a/themes/hugo-hero-theme/layouts/code/list.html b/themes/hugo-hero-theme/layouts/code/list.html index 2f93b27dd..fb5b7c695 100644 --- a/themes/hugo-hero-theme/layouts/code/list.html +++ b/themes/hugo-hero-theme/layouts/code/list.html @@ -1,27 +1,19 @@ -{{ define "header_css" }}{{ end }} -{{ define "body_classes" }}page-work-list{{ end }} + + + {{ define "header_css" }}{{ end }} +{{ define "body_classes" }}page-team-list{{ end }} {{ define "header_classes" }}{{ end }} {{ define "main" }} {{ partial "hero-image-setheight.html" (dict "background" .Params.heroBackground "heading" .Params.heroHeading "subheading" .Params.heroSubHeading "content" .)}} -{{ if .Content }} -
-
-
-
- {{ .Content }} -
-
-
-
-{{ end }} -
-
- {{ range .Pages.ByWeight }} -
{{ .Render "summary" }}
- {{ end }} + +
+
+ +
{{ .Render "summary" }}
+
{{ end }} diff --git a/themes/hugo-hero-theme/layouts/code/single.html b/themes/hugo-hero-theme/layouts/code/single.html deleted file mode 100644 index b8f8fc2c1..000000000 --- a/themes/hugo-hero-theme/layouts/code/single.html +++ /dev/null @@ -1,39 +0,0 @@ -{{ define "header_css" }}{{ end }} -{{ define "body_classes" }}page-work-single{{ end }} -{{ define "header_classes" }}{{ end }} - -{{ define "main" }} -{{ partial "hero-image-setheight.html" (dict "background" .Params.heroBackground "heading" .Params.heroHeading "subheading" .Params.heroSubHeading "section" .Section "content" .)}} -
-
-
-
-
{{.Content}}
-
-
- {{ if .Params.images }} -
-

Gallery

-
- {{ range .Params.images }} -
- -
- {{ end }} -
-
- {{ end }} -
-
-{{ end }} - -{{ define "footer_js" }} -{{ $library := resources.Get "js/libs/library.js" }} -{{ $services := resources.Get "js/pages/services.js" }} -{{ $servicesJS := slice $library $services |resources.Concat "js/services.js" }} -{{ if .Site.IsServer }} - - {{ else }} - - {{ end }} -{{ end }} diff --git a/themes/hugo-hero-theme/layouts/code/summary.html b/themes/hugo-hero-theme/layouts/code/summary.html index a320958e0..a3fe2bfee 100644 --- a/themes/hugo-hero-theme/layouts/code/summary.html +++ b/themes/hugo-hero-theme/layouts/code/summary.html @@ -1,13 +1,80 @@ -
- {{ if .Params.thumbnail }} -
- + +
+
+ {{ if .Params.Paper }} +

{{ .Title }}

+ {{ else }} +

{{ .Title }}

+ {{ end }}
- {{ end }} -
-

- {{ .Title }} -

- {{ .Content | truncate 120 "..." }} +
+ {{ if or .Params.Jobtitle .Params.Code .Params.Website .Params.Description .Params.Datasetused }} +
+ {{ with .Params.Website }} + Website + {{ end }} + {{ with .Params.Jobtitle }} + {{ . }} + {{ end }} + {{ with .Params.Datasetused }} + Dataset Used + {{ end }} + {{ with .Params.Datasettype }} + {{ . }} + {{ end }} + {{ with .Params.Code }} + Code + {{ end }} + + +
+
+ {{ .Content | markdownify | safeHTML }} +
+ {{ end }} +
+ + + +