diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..147ada5 --- /dev/null +++ b/.github/workflows/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: /${{ github.event.repository.name }}` + BASE_URL: '' # Not required for 'mgrover1.github.io' domain. Other repos will need to set this! + +# 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@v4 + - name: Setup Pages + uses: actions/configure-pages@v3 + - 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@v1 + with: + path: './_build/html' + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v2 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..ec12de5 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,16 @@ +# Contributor's Guide + +Contributions to the content are more than welcome - please see the instructions below to get started. + +## How to deploy the site locally + +1. Clone the repository (`git clone https://github.com/esgf2-us/esgf2-us.github.io.git`)` +2. Install the require packages (`conda env create -f environment.yml`) +3. Run the website from your command line (`myst start`), see more on the [myst website documentation](https://mystmd.org/guide/quickstart-myst-websites) + +## How to change content +All of the content is written as Jupyter Notebooks or markdown files. Once you make changes to files in the repository (ex. `README.md`), you can do the following: +1. Make sure the file is in the table of contents (`_toc.yml`), if it is not, add it to the list of files +2. Render the website locally (see previous steps) +3. Commit your changes to github on your own fork of the project, creating a dedicated feature branch (see [git branches content here for more details](https://foundations.projectpythia.org/foundations/github/git-branches.html)) + diff --git a/README.md b/README.md index d996a62..658b9e9 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,23 @@ -# esgf2-us.github.io -Future home of the ESGF2-US website, coming soon! +# ESGF2-US + +[![Made with MyST](https://img.shields.io/badge/made%20with-myst-orange)](https://myst.tools) + +Welcome to our the Earth System Grid Federation 2 US (ESGF2-US) Project! + +::::{grid} 1 1 2 3 + +:::{card} +:header: I am looking for data 🔎 +Check out [metagrid](https://aims2.llnl.gov/search), our search interface for finding ESGF Data! +::: + +:::{card} +:header: What is ESGF? 🌐 +Check out the [ESGF2-US Overview](project-overview.md). +::: + +:::{card} +:header: I need examples 💻 +Check out our [ESGF Computational Cookbook](https://esgf2-us.github.io/esgf-cookbook) +::: +:::: diff --git a/_toc.yml b/_toc.yml new file mode 100644 index 0000000..0230352 --- /dev/null +++ b/_toc.yml @@ -0,0 +1,22 @@ +# Table of Contents +# +# Myst will respect: +# 1. New pages +# - file: relative/path/to/page +# 2. New sections without an associated page +# - title: Folder Title +# sections: ... +# 3. New sections with an associated page +# - file: relative/path/to/page +# sections: ... +# +# Note: Titles defined on pages here are not recognized. +# +# This spec is based on the JupyterBook table of contents. +# Learn more at https://jupyterbook.org/customize/toc.html + +format: jb-book +root: README +chapters: + - file: project-overview + - file: CONTRIBUTING diff --git a/environment.yml b/environment.yml new file mode 100644 index 0000000..e3cb140 --- /dev/null +++ b/environment.yml @@ -0,0 +1,6 @@ +name: esgf2-us-dev +channels: + - conda-forge +dependencies: + - mystmd + - nodejs>=20,<21 diff --git a/myst.yml b/myst.yml new file mode 100644 index 0000000..bed0009 --- /dev/null +++ b/myst.yml @@ -0,0 +1,21 @@ +# See docs at: https://mystmd.org/guide/frontmatter +version: 1 +project: + id: esgf2-us-docs + # title: + # description: + keywords: [] + authors: [] + github: https://github.com/esgf2-us/esgf2-us.github.io + # bibliography: [] +site: + template: book-theme + title: Earth System Grid Federation 2.0 + options: + favicon: images/esgf2-us.png + logo: images/ESGF2-US_logo_transparent_word-crop.png + nav: [] + actions: + - title: Learn More + url: https://mystmd.org/guide + domains: [] diff --git a/project-overview.md b/project-overview.md new file mode 100644 index 0000000..ceb97c9 --- /dev/null +++ b/project-overview.md @@ -0,0 +1,16 @@ +# What is ESGF Or ESGF2-US? 🌐 + +## What is the Earth System Grid Federation? + +The Earth System Grid Federation (ESGF) is a global peer-to-peer network of data servers that archives and distributes the planet’s largest collection of Earth system model output for thousands of climate and environmental scientists worldwide. After recently providing data from a variety of climate change scenario projections to inform the United Nations Intergovernmental Panel on Climate Change (IPCC) Sixth Assessment Report (AR6), ESGF will be re-architected to improve its reliability, scalability, and usability for new generations of high resolution global Earth system model outputs from dozens of international modeling centers. + +## What is ESGF2-US? +ESGF2-US is the United States Department of Energy's Office of Science funded project, which supports the development of the Earth System Grid Federation, which is a much wider spanning, interntional collaboration. + +The ESGF2 Project—which brings together Earth, environmental, and computer scientists from Oak Ridge National Laboratory, Argonne National Laboratory, and Lawrence Livermore National Laboratory—will deploy infrastructure to move data as needed among US and international high performance computing centers and across simulation and analysis platforms to enhance the productivity of Earth system scientists. In addition to building out a new data backplane infrastructure, we will employ cloud technologies for offering integrated compute and storage resources to enable “compute-near-the-data” analysis capabilities for climate research supported by the US Department of Energy and the broader research community. In this presentation, we will describe plans for development and deployment of the next generation ESGF and highlight opportunities for community engagement in the design and operation of this international Earth science resource. + +### How is ESGF2-US Structured? + +The ESGF2-US adopted the following governance structure: + +![ESGF2-US Governance Structure](images/esgf2-us-governance.png)